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

(!version  "4.9.x 20150123 (prerelease)")
(!srcdir  "/var/tmp/portage/cross-arm-none-eabi/gcc-4.9.2-r278/work/gcc-4.9.2/gcc-4.9/gcc")
(!languages 9 ada c cp fortran go java lto objc objcp)
(!fileslist 193
 (!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/arm/unknown-elf.h")
 (!srcfile 511  "config/arm/elf.h")
 (!srcfile 511  "config/arm/bpabi.h")
 (!srcfile 511  "config/newlib-stdint.h")
 (!srcfile 511  "config/arm/aout.h")
 (!srcfile 511  "config/vxworks-dummy.h")
 (!srcfile 511  "config/arm/arm.h")
 (!srcfile 511  "config/linux-android.h")
 (!srcfile 511  "config/initfini-array.h")
 (!srcfile 511  "defaults.h")
 (!srcfile 511  "../include/hashtab.h")
 (!srcfile 511  "../include/splay-tree.h")
 (!srcfile 511  "bitmap.h")
 (!srcfile 511  "alias.h")
 (!srcfile 511  "coverage.c")
 (!srcfile 511  "rtl.h")
 (!srcfile 511  "optabs.h")
 (!srcfile 511  "tree.h")
 (!srcfile 511  "tree-core.h")
 (!srcfile 511  "libfuncs.h")
 (!srcfile 511  "../libcpp/include/symtab.h")
 (!srcfile 511  "../include/obstack.h")
 (!srcfile 511  "real.h")
 (!srcfile 511  "function.h")
 (!srcfile 511  "insn-addr.h")
 (!srcfile 511  "hwint.h")
 (!srcfile 511  "fixed-value.h")
 (!srcfile 511  "output.h")
 (!srcfile 511  "cfgloop.h")
 (!srcfile 511  "cselib.h")
 (!srcfile 511  "basic-block.h")
 (!srcfile 511  "ipa-ref.h")
 (!srcfile 511  "cgraph.h")
 (!srcfile 511  "reload.h")
 (!srcfile 511  "caller-save.c")
 (!srcfile 511  "symtab.c")
 (!srcfile 511  "alias.c")
 (!srcfile 511  "bitmap.c")
 (!srcfile 511  "cselib.c")
 (!srcfile 511  "cgraph.c")
 (!srcfile 511  "ipa-prop.c")
 (!srcfile 511  "ipa-cp.c")
 (!srcfile 511  "ipa-utils.h")
 (!srcfile 511  "dbxout.c")
 (!srcfile 511  "dwarf2out.h")
 (!srcfile 511  "dwarf2asm.c")
 (!srcfile 511  "dwarf2cfi.c")
 (!srcfile 511  "dwarf2out.c")
 (!srcfile 511  "tree-vect-generic.c")
 (!srcfile 511  "dojump.c")
 (!srcfile 511  "l-ipo.c")
 (!srcfile 511  "emit-rtl.c")
 (!srcfile 511  "except.h")
 (!srcfile 511  "explow.c")
 (!srcfile 511  "expr.c")
 (!srcfile 511  "expr.h")
 (!srcfile 511  "function.c")
 (!srcfile 511  "except.c")
 (!srcfile 511  "gcse.c")
 (!srcfile 511  "godump.c")
 (!srcfile 511  "lists.c")
 (!srcfile 511  "optabs.c")
 (!srcfile 511  "profile.c")
 (!srcfile 511  "mcf.c")
 (!srcfile 511  "reg-stack.c")
 (!srcfile 511  "cfgrtl.c")
 (!srcfile 511  "sdbout.c")
 (!srcfile 511  "stor-layout.c")
 (!srcfile 511  "stringpool.c")
 (!srcfile 511  "tree.c")
 (!srcfile 511  "varasm.c")
 (!srcfile 511  "gimple.h")
 (!srcfile 511  "gimple-ssa.h")
 (!srcfile 511  "tree-ssanames.c")
 (!srcfile 511  "tree-eh.c")
 (!srcfile 511  "tree-ssa-address.c")
 (!srcfile 511  "tree-cfg.c")
 (!srcfile 511  "tree-dfa.c")
 (!srcfile 511  "tree-iterator.c")
 (!srcfile 511  "gimple-expr.c")
 (!srcfile 511  "tree-chrec.h")
 (!srcfile 511  "tree-scalar-evolution.c")
 (!srcfile 511  "tree-ssa-operands.h")
 (!srcfile 511  "tree-profile.c")
 (!srcfile 511  "tree-nested.c")
 (!srcfile 511  "tree-parloops.c")
 (!srcfile 511  "omp-low.c")
 (!srcfile 511  "targhooks.c")
 (!srcfile 511  "config/arm/arm.c")
 (!srcfile 511  "passes.c")
 (!srcfile 511  "cgraphunit.c")
 (!srcfile 511  "cgraphclones.c")
 (!srcfile 511  "tree-ssa-propagate.c")
 (!srcfile 511  "tree-phinodes.c")
 (!srcfile 511  "tree-ssa-alias.h")
 (!srcfile 511  "tree-ssanames.h")
 (!srcfile 511  "ipa-prop.h")
 (!srcfile 511  "trans-mem.c")
 (!srcfile 511  "lto-streamer.h")
 (!srcfile 511  "target-globals.h")
 (!srcfile 511  "ipa-inline.h")
 (!srcfile 511  "vtable-verify.c")
 (!srcfile 511  "asan.c")
 (!srcfile 511  "ubsan.c")
 (!srcfile 511  "tsan.c")
 (!srcfile 511  "sancov.c")
 (!srcfile 511  "ipa-devirt.c")
 (!srcfile 511  "internal-fn.h")
 (!srcfile 1  "ada/gcc-interface/ada-tree.h")
 (!srcfile 1  "ada/gcc-interface/gigi.h")
 (!srcfile 1  "ada/gcc-interface/decl.c")
 (!srcfile 1  "ada/gcc-interface/trans.c")
 (!srcfile 1  "ada/gcc-interface/utils.c")
 (!srcfile 1  "ada/gcc-interface/misc.c")
 (!srcfile 2  "c/c-lang.c")
 (!srcfile 130  "c/c-tree.h")
 (!srcfile 130  "c/c-decl.c")
 (!srcfile 390  "c-family/c-common.c")
 (!srcfile 390  "c-family/c-common.h")
 (!srcfile 390  "c-family/c-objc.h")
 (!srcfile 386  "c-family/c-cppbuiltin.c")
 (!srcfile 390  "c-family/c-pragma.h")
 (!srcfile 390  "c-family/c-pragma.c")
 (!srcfile 130  "c/c-objc-common.c")
 (!srcfile 130  "c/c-parser.c")
 (!srcfile 130  "c/c-lang.h")
 (!srcfile 260  "cp/rtti.c")
 (!srcfile 260  "cp/mangle.c")
 (!srcfile 260  "cp/name-lookup.h")
 (!srcfile 260  "cp/name-lookup.c")
 (!srcfile 260  "cp/cp-tree.h")
 (!srcfile 260  "cp/decl.h")
 (!srcfile 260  "cp/call.c")
 (!srcfile 260  "cp/decl.c")
 (!srcfile 260  "cp/decl2.c")
 (!srcfile 260  "cp/pt.c")
 (!srcfile 260  "cp/repo.c")
 (!srcfile 260  "cp/semantics.c")
 (!srcfile 260  "cp/tree.c")
 (!srcfile 260  "cp/parser.h")
 (!srcfile 260  "cp/parser.c")
 (!srcfile 260  "cp/method.c")
 (!srcfile 260  "cp/typeck2.c")
 (!srcfile 260  "c-family/c-lex.c")
 (!srcfile 260  "cp/class.c")
 (!srcfile 260  "cp/cp-objcp-common.c")
 (!srcfile 4  "cp/cp-lang.c")
 (!srcfile 4  "cp/except.c")
 (!srcfile 4  "cp/vtable-class-hierarchy.c")
 (!srcfile 8  "fortran/f95-lang.c")
 (!srcfile 8  "fortran/trans-decl.c")
 (!srcfile 8  "fortran/trans-intrinsic.c")
 (!srcfile 8  "fortran/trans-io.c")
 (!srcfile 8  "fortran/trans-stmt.c")
 (!srcfile 8  "fortran/trans-types.c")
 (!srcfile 8  "fortran/trans-types.h")
 (!srcfile 8  "fortran/trans.h")
 (!srcfile 8  "fortran/trans-const.h")
 (!srcfile 16  "go/go-lang.c")
 (!srcfile 16  "go/go-c.h")
 (!srcfile 32  "java/java-tree.h")
 (!srcfile 32  "java/jcf.h")
 (!srcfile 32  "java/parse.h")
 (!srcfile 32  "java/builtins.c")
 (!srcfile 32  "java/class.c")
 (!srcfile 32  "java/constants.c")
 (!srcfile 32  "java/decl.c")
 (!srcfile 32  "java/expr.c")
 (!srcfile 32  "java/jcf-parse.c")
 (!srcfile 32  "java/lang.c")
 (!srcfile 32  "java/mangle.c")
 (!srcfile 32  "java/resource.c")
 (!srcfile 64  "lto/lto-tree.h")
 (!srcfile 64  "lto/lto-lang.c")
 (!srcfile 64  "lto/lto.c")
 (!srcfile 64  "lto/lto.h")
 (!srcfile 384  "objc/objc-map.h")
 (!srcfile 384  "objc/objc-act.h")
 (!srcfile 384  "objc/objc-act.c")
 (!srcfile 384  "objc/objc-runtime-shared-support.c")
 (!srcfile 384  "objc/objc-gnu-runtime-abi-01.c")
 (!srcfile 384  "objc/objc-next-runtime-abi-01.c")
 (!srcfile 384  "objc/objc-next-runtime-abi-02.c")
)
(!structures 1102
 
 (!type user_struct 1 
  (!type pointer 2 nil  gc_used
   (!type already_seen 1)
  )
  gc_pointed_to "vec<ivarref_entry,va_gc>"
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 2765)
  (!fields 2 
   (!pair  "va_gc"
    (!type undefined 3 nil  gc_unused "va_gc"
     (!srcfileloc  "rtl.h" 238)
    )
    (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 2765)
    nil )
   (!pair  "ivarref_entry"
    (!type struct 4 nil  gc_used "ivarref_entry"
     (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 2763)
     (!fields 2 
      (!pair  "decl"
       (!type pointer 5 
        (!type pointer 6 nil  gc_used
         (!type already_seen 5)
        )
        gc_pointed_to
        (!type union 7 
         (!type already_seen 5)
         gc_pointed_to "tree_node"
         (!srcfileloc  "tree-core.h" 1652)
         (!fields 38 
          (!pair  "base"
           (!type struct 8 nil  gc_used "tree_base"
            (!srcfileloc  "tree-core.h" 780)
            (!fields 18 
             (!pair  "code"
              (!type scalar_nonchar 9 
               (!type pointer 10 
                (!type pointer 11 nil  gc_unused
                 (!type already_seen 10)
                )
                gc_used
                (!type already_seen 9)
               )
               gc_pointed_to)
              (!srcfileloc  "tree-core.h" 714)
              nil )
             (!pair  "side_effects_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 716)
              nil )
             (!pair  "constant_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 717)
              nil )
             (!pair  "addressable_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 718)
              nil )
             (!pair  "volatile_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 719)
              nil )
             (!pair  "readonly_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 720)
              nil )
             (!pair  "asm_written_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 721)
              nil )
             (!pair  "nowarning_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 722)
              nil )
             (!pair  "visited"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 723)
              nil )
             (!pair  "used_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 725)
              nil )
             (!pair  "nothrow_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 726)
              nil )
             (!pair  "static_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 727)
              nil )
             (!pair  "public_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 728)
              nil )
             (!pair  "private_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 729)
              nil )
             (!pair  "protected_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 730)
              nil )
             (!pair  "deprecated_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 731)
              nil )
             (!pair  "default_def_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 732)
              nil )
             (!pair  "u"
              (!type union 12 nil  gc_unused "anonymous:/var/tmp/portage/cross-arm-none-eabi/gcc-4.9.2-r278/work/gcc-4.9.2/gcc-4.9/gcc/tree-core.h:734"
               (!srcfileloc  "tree-core.h" 779)
               (!fields 4 
                (!pair  "bits"
                 (!type struct 13 nil  gc_unused "anonymous:/var/tmp/portage/cross-arm-none-eabi/gcc-4.9.2-r278/work/gcc-4.9.2/gcc-4.9/gcc/tree-core.h:737"
                  (!srcfileloc  "tree-core.h" 761)
                  (!fields 17 
                   (!pair  "lang_flag_0"
                    (!type already_seen 9)
                    (!srcfileloc  "tree-core.h" 738)
                    nil )
                   (!pair  "lang_flag_1"
                    (!type already_seen 9)
                    (!srcfileloc  "tree-core.h" 739)
                    nil )
                   (!pair  "lang_flag_2"
                    (!type already_seen 9)
                    (!srcfileloc  "tree-core.h" 740)
                    nil )
                   (!pair  "lang_flag_3"
                    (!type already_seen 9)
                    (!srcfileloc  "tree-core.h" 741)
                    nil )
                   (!pair  "lang_flag_4"
                    (!type already_seen 9)
                    (!srcfileloc  "tree-core.h" 742)
                    nil )
                   (!pair  "lang_flag_5"
                    (!type already_seen 9)
                    (!srcfileloc  "tree-core.h" 743)
                    nil )
                   (!pair  "lang_flag_6"
                    (!type already_seen 9)
                    (!srcfileloc  "tree-core.h" 744)
                    nil )
                   (!pair  "saturating_flag"
                    (!type already_seen 9)
                    (!srcfileloc  "tree-core.h" 745)
                    nil )
                   (!pair  "expr_folded_flag"
                    (!type already_seen 9)
                    (!srcfileloc  "tree-core.h" 746)
                    nil )
                   (!pair  "unsigned_flag"
                    (!type already_seen 9)
                    (!srcfileloc  "tree-core.h" 748)
                    nil )
                   (!pair  "packed_flag"
                    (!type already_seen 9)
                    (!srcfileloc  "tree-core.h" 749)
                    nil )
                   (!pair  "user_align"
                    (!type already_seen 9)
                    (!srcfileloc  "tree-core.h" 750)
                    nil )
                   (!pair  "nameless_flag"
                    (!type already_seen 9)
                    (!srcfileloc  "tree-core.h" 751)
                    nil )
                   (!pair  "atomic_flag"
                    (!type already_seen 9)
                    (!srcfileloc  "tree-core.h" 752)
                    nil )
                   (!pair  "spare0"
                    (!type already_seen 9)
                    (!srcfileloc  "tree-core.h" 753)
                    nil )
                   (!pair  "spare1"
                    (!type already_seen 9)
                    (!srcfileloc  "tree-core.h" 755)
                    nil )
                   (!pair  "address_space"
                    (!type already_seen 9)
                    (!srcfileloc  "tree-core.h" 760)
                    nil )
                  )
                  nil 511 nil nil )
                 (!srcfileloc  "tree-core.h" 761)
                 nil )
                (!pair  "length"
                 (!type already_seen 9)
                 (!srcfileloc  "tree-core.h" 766)
                 nil )
                (!pair  "version"
                 (!type already_seen 9)
                 (!srcfileloc  "tree-core.h" 768)
                 nil )
                (!pair  "dependence_info"
                 (!type struct 14 nil  gc_unused "anonymous:/var/tmp/portage/cross-arm-none-eabi/gcc-4.9.2-r278/work/gcc-4.9.2/gcc-4.9/gcc/tree-core.h:775"
                  (!srcfileloc  "tree-core.h" 778)
                  (!fields 2 
                   (!pair  "clique"
                    (!type already_seen 9)
                    (!srcfileloc  "tree-core.h" 776)
                    nil )
                   (!pair  "base"
                    (!type already_seen 9)
                    (!srcfileloc  "tree-core.h" 777)
                    nil )
                  )
                  nil 511 nil nil )
                 (!srcfileloc  "tree-core.h" 778)
                 nil )
               )
               nil 511 nil )
              (!srcfileloc  "tree-core.h" 779)
              (!options 
               (!option skip string  "")
              )
             )
            )
            nil 511 nil nil )
           (!srcfileloc  "tree-core.h" 1610)
           (!options 
            (!option tag string  "TS_BASE")
           )
          )
          (!pair  "typed"
           (!type struct 15 nil  gc_used "tree_typed"
            (!srcfileloc  "tree-core.h" 1063)
            (!fields 2 
             (!pair  "base"
              (!type already_seen 8)
              (!srcfileloc  "tree-core.h" 1061)
              nil )
             (!pair  "type"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1062)
              nil )
            )
            nil 511 nil nil )
           (!srcfileloc  "tree-core.h" 1611)
           (!options 
            (!option tag string  "TS_TYPED")
           )
          )
          (!pair  "common"
           (!type struct 16 nil  gc_used "tree_common"
            (!srcfileloc  "tree-core.h" 1068)
            (!fields 2 
             (!pair  "typed"
              (!type already_seen 15)
              (!srcfileloc  "tree-core.h" 1066)
              nil )
             (!pair  "chain"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1067)
              nil )
            )
            nil 511 nil nil )
           (!srcfileloc  "tree-core.h" 1612)
           (!options 
            (!option tag string  "TS_COMMON")
           )
          )
          (!pair  "int_cst"
           (!type struct 17 nil  gc_used "tree_int_cst"
            (!srcfileloc  "tree-core.h" 1073)
            (!fields 2 
             (!pair  "typed"
              (!type already_seen 15)
              (!srcfileloc  "tree-core.h" 1071)
              nil )
             (!pair  "int_cst"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1072)
              nil )
            )
            nil 511 nil nil )
           (!srcfileloc  "tree-core.h" 1613)
           (!options 
            (!option tag string  "TS_INT_CST")
           )
          )
          (!pair  "real_cst"
           (!type struct 18 nil  gc_used "tree_real_cst"
            (!srcfileloc  "tree-core.h" 1079)
            (!fields 2 
             (!pair  "typed"
              (!type already_seen 15)
              (!srcfileloc  "tree-core.h" 1077)
              nil )
             (!pair  "real_cst_ptr"
              (!type pointer 19 nil  gc_used
               (!type struct 20 
                (!type already_seen 19)
                gc_pointed_to "real_value"
                (!srcfileloc  "real.h" 52)
                (!fields 7 
                 (!pair  "cl"
                  (!type already_seen 9)
                  (!srcfileloc  "real.h" 45)
                  nil )
                 (!pair  "decimal"
                  (!type already_seen 9)
                  (!srcfileloc  "real.h" 46)
                  nil )
                 (!pair  "sign"
                  (!type already_seen 9)
                  (!srcfileloc  "real.h" 47)
                  nil )
                 (!pair  "signalling"
                  (!type already_seen 9)
                  (!srcfileloc  "real.h" 48)
                  nil )
                 (!pair  "canonical"
                  (!type already_seen 9)
                  (!srcfileloc  "real.h" 49)
                  nil )
                 (!pair  "uexp"
                  (!type already_seen 9)
                  (!srcfileloc  "real.h" 50)
                  nil )
                 (!pair  "sig"
                  (!type array 21 nil  gc_used "SIGSZ" 
                   (!type already_seen 9)
                  )
                  (!srcfileloc  "real.h" 51)
                  nil )
                )
                nil 511 nil nil )
              )
              (!srcfileloc  "tree-core.h" 1078)
              nil )
            )
            nil 511 nil nil )
           (!srcfileloc  "tree-core.h" 1614)
           (!options 
            (!option tag string  "TS_REAL_CST")
           )
          )
          (!pair  "fixed_cst"
           (!type struct 22 nil  gc_used "tree_fixed_cst"
            (!srcfileloc  "tree-core.h" 1084)
            (!fields 2 
             (!pair  "typed"
              (!type already_seen 15)
              (!srcfileloc  "tree-core.h" 1082)
              nil )
             (!pair  "fixed_cst_ptr"
              (!type pointer 23 nil  gc_used
               (!type struct 24 
                (!type already_seen 23)
                gc_pointed_to "fixed_value"
                (!srcfileloc  "fixed-value.h" 31)
                (!fields 2 
                 (!pair  "data"
                  (!type already_seen 9)
                  (!srcfileloc  "fixed-value.h" 29)
                  nil )
                 (!pair  "mode"
                  (!type already_seen 9)
                  (!srcfileloc  "fixed-value.h" 30)
                  nil )
                )
                nil 511 nil nil )
              )
              (!srcfileloc  "tree-core.h" 1083)
              nil )
            )
            nil 511 nil nil )
           (!srcfileloc  "tree-core.h" 1615)
           (!options 
            (!option tag string  "TS_FIXED_CST")
           )
          )
          (!pair  "vector"
           (!type struct 25 nil  gc_used "tree_vector"
            (!srcfileloc  "tree-core.h" 1101)
            (!fields 2 
             (!pair  "typed"
              (!type already_seen 15)
              (!srcfileloc  "tree-core.h" 1099)
              nil )
             (!pair  "elts"
              (!type array 26 nil  gc_used "1" 
               (!type already_seen 5)
              )
              (!srcfileloc  "tree-core.h" 1100)
              (!options 
               (!option length string  "TYPE_VECTOR_SUBPARTS (TREE_TYPE ((tree)&%h))")
              )
             )
            )
            nil 511 nil nil )
           (!srcfileloc  "tree-core.h" 1616)
           (!options 
            (!option tag string  "TS_VECTOR")
           )
          )
          (!pair  "string"
           (!type struct 27 nil  gc_used "tree_string"
            (!srcfileloc  "tree-core.h" 1090)
            (!fields 3 
             (!pair  "typed"
              (!type already_seen 15)
              (!srcfileloc  "tree-core.h" 1087)
              nil )
             (!pair  "length"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1088)
              nil )
             (!pair  "str"
              (!type array 28 nil  gc_used "1" 
               (!type scalar_char 29 
                (!type pointer 30 
                 (!type pointer 31 nil  gc_unused
                  (!type already_seen 30)
                 )
                 gc_unused
                 (!type already_seen 29)
                )
                gc_used)
              )
              (!srcfileloc  "tree-core.h" 1089)
              nil )
            )
            nil 511 nil nil )
           (!srcfileloc  "tree-core.h" 1617)
           (!options 
            (!option tag string  "TS_STRING")
           )
          )
          (!pair  "complex"
           (!type struct 32 nil  gc_used "tree_complex"
            (!srcfileloc  "tree-core.h" 1096)
            (!fields 3 
             (!pair  "typed"
              (!type already_seen 15)
              (!srcfileloc  "tree-core.h" 1093)
              nil )
             (!pair  "real"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1094)
              nil )
             (!pair  "imag"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1095)
              nil )
            )
            nil 511 nil nil )
           (!srcfileloc  "tree-core.h" 1618)
           (!options 
            (!option tag string  "TS_COMPLEX")
           )
          )
          (!pair  "identifier"
           (!type struct 33 nil  gc_used "tree_identifier"
            (!srcfileloc  "tree-core.h" 1106)
            (!fields 2 
             (!pair  "common"
              (!type already_seen 16)
              (!srcfileloc  "tree-core.h" 1104)
              nil )
             (!pair  "id"
              (!type struct 34 
               (!type pointer 35 
                (!type pointer 36 nil  gc_unused
                 (!type already_seen 35)
                )
                gc_unused
                (!type already_seen 34)
               )
               gc_used "ht_identifier"
               (!srcfileloc  "../libcpp/include/symtab.h" 35)
               (!fields 3 
                (!pair  "str"
                 (!type string 37 nil  gc_used)
                 (!srcfileloc  "../libcpp/include/symtab.h" 32)
                 nil )
                (!pair  "len"
                 (!type already_seen 9)
                 (!srcfileloc  "../libcpp/include/symtab.h" 33)
                 nil )
                (!pair  "hash_value"
                 (!type already_seen 9)
                 (!srcfileloc  "../libcpp/include/symtab.h" 34)
                 nil )
               )
               nil 511 nil nil )
              (!srcfileloc  "tree-core.h" 1105)
              nil )
            )
            nil 511 nil nil )
           (!srcfileloc  "tree-core.h" 1619)
           (!options 
            (!option tag string  "TS_IDENTIFIER")
           )
          )
          (!pair  "decl_minimal"
           (!type struct 38 nil  gc_used "tree_decl_minimal"
            (!srcfileloc  "tree-core.h" 1340)
            (!fields 5 
             (!pair  "common"
              (!type already_seen 16)
              (!srcfileloc  "tree-core.h" 1335)
              nil )
             (!pair  "locus"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1336)
              nil )
             (!pair  "uid"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1337)
              nil )
             (!pair  "name"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1338)
              nil )
             (!pair  "context"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1339)
              nil )
            )
            nil 511 nil nil )
           (!srcfileloc  "tree-core.h" 1620)
           (!options 
            (!option tag string  "TS_DECL_MINIMAL")
           )
          )
          (!pair  "decl_common"
           (!type struct 39 nil  gc_used "tree_decl_common"
            (!srcfileloc  "tree-core.h" 1406)
            (!fields 35 
             (!pair  "common"
              (!type already_seen 38)
              (!srcfileloc  "tree-core.h" 1343)
              nil )
             (!pair  "size"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1344)
              nil )
             (!pair  "mode"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1346)
              nil )
             (!pair  "nonlocal_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1348)
              nil )
             (!pair  "virtual_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1349)
              nil )
             (!pair  "ignored_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1350)
              nil )
             (!pair  "abstract_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1351)
              nil )
             (!pair  "artificial_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1352)
              nil )
             (!pair  "preserve_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1353)
              nil )
             (!pair  "debug_expr_is_from"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1354)
              nil )
             (!pair  "lang_flag_0"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1356)
              nil )
             (!pair  "lang_flag_1"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1357)
              nil )
             (!pair  "lang_flag_2"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1358)
              nil )
             (!pair  "lang_flag_3"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1359)
              nil )
             (!pair  "lang_flag_4"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1360)
              nil )
             (!pair  "lang_flag_5"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1361)
              nil )
             (!pair  "lang_flag_6"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1362)
              nil )
             (!pair  "lang_flag_7"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1363)
              nil )
             (!pair  "lang_flag_8"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1364)
              nil )
             (!pair  "decl_flag_0"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1367)
              nil )
             (!pair  "decl_flag_1"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1371)
              nil )
             (!pair  "decl_flag_2"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1375)
              nil )
             (!pair  "decl_flag_3"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1377)
              nil )
             (!pair  "gimple_reg_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1380)
              nil )
             (!pair  "decl_by_reference_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1382)
              nil )
             (!pair  "decl_read_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1384)
              nil )
             (!pair  "decl_nonshareable_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1386)
              nil )
             (!pair  "off_align"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1389)
              nil )
             (!pair  "align"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1394)
              nil )
             (!pair  "pt_uid"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1397)
              nil )
             (!pair  "size_unit"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1399)
              nil )
             (!pair  "initial"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1400)
              nil )
             (!pair  "attributes"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1401)
              nil )
             (!pair  "abstract_origin"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1402)
              nil )
             (!pair  "lang_specific"
              (!type pointer 40 nil  gc_used
               (!type lang_struct 41 
                (!type already_seen 40)
                gc_pointed_to "lang_decl"
                (!srcfileloc  "ada/gcc-interface/ada-tree.h" 41)
                (!fields 0 )
                (!options 
                 (!option variable_size string  "")
                )
                511 
                (!homotypes 7
                 (!type struct 42 nil  gc_pointed_to "lang_decl"
                  (!srcfileloc  "lto/lto-tree.h" 34)
                  (!fields 1 
                   (!pair  "dummy"
                    (!type already_seen 9)
                    (!srcfileloc  "lto/lto-tree.h" 33)
                    nil )
                  )
                  (!options 
                   (!option variable_size string  "")
                  )
                  64 
                  (!type already_seen 41)
                  nil )
                 
                 (!type struct 43 nil  gc_pointed_to "lang_decl"
                  (!srcfileloc  "java/java-tree.h" 818)
                  (!fields 2 
                   (!pair  "desc"
                    (!type already_seen 9)
                    (!srcfileloc  "java/java-tree.h" 812)
                    nil )
                   (!pair  "u"
                    (!type union 44 nil  gc_used "lang_decl_u"
                     (!srcfileloc  "java/java-tree.h" 817)
                     (!fields 2 
                      (!pair  "f"
                       (!type struct 45 nil  gc_used "lang_decl_func"
                        (!srcfileloc  "java/java-tree.h" 744)
                        (!fields 20 
                         (!pair  "code_offset"
                          (!type already_seen 9)
                          (!srcfileloc  "java/java-tree.h" 717)
                          nil )
                         (!pair  "code_length"
                          (!type already_seen 9)
                          (!srcfileloc  "java/java-tree.h" 718)
                          nil )
                         (!pair  "linenumbers_offset"
                          (!type already_seen 9)
                          (!srcfileloc  "java/java-tree.h" 719)
                          nil )
                         (!pair  "localvariables_offset"
                          (!type already_seen 9)
                          (!srcfileloc  "java/java-tree.h" 720)
                          nil )
                         (!pair  "arg_slots"
                          (!type already_seen 9)
                          (!srcfileloc  "java/java-tree.h" 721)
                          nil )
                         (!pair  "max_locals"
                          (!type already_seen 9)
                          (!srcfileloc  "java/java-tree.h" 722)
                          nil )
                         (!pair  "max_stack"
                          (!type already_seen 9)
                          (!srcfileloc  "java/java-tree.h" 723)
                          nil )
                         (!pair  "arg_slot_count"
                          (!type already_seen 9)
                          (!srcfileloc  "java/java-tree.h" 724)
                          nil )
                         (!pair  "last_line"
                          (!type already_seen 9)
                          (!srcfileloc  "java/java-tree.h" 725)
                          nil )
                         (!pair  "throws_list"
                          (!type pointer 46 nil  gc_used
                           (!type user_struct 47 
                            (!type already_seen 46)
                            gc_pointed_to "vec<tree,va_gc>"
                            (!srcfileloc  "tree-core.h" 1254)
                            (!fields 2 
                             (!pair  "va_gc"
                              (!type already_seen 3)
                              (!srcfileloc  "tree-core.h" 1254)
                              nil )
                             (!pair  "tree"
                              (!type already_seen 5)
                              (!srcfileloc  "tree-core.h" 1254)
                              nil )
                            )
                           )
                          )
                          (!srcfileloc  "java/java-tree.h" 726)
                          nil )
                         (!pair  "exc_obj"
                          (!type already_seen 5)
                          (!srcfileloc  "java/java-tree.h" 727)
                          nil )
                         (!pair  "init_test_table"
                          (!type pointer 48 nil  gc_used
                           (!type param_struct 49 
                            (!type already_seen 48)
                            gc_pointed_to
                            (!type struct 50 
                             (!type pointer 51 nil  gc_unused
                              (!type already_seen 50)
                             )
                             gc_used "htab"
                             (!srcfileloc  "../include/hashtab.h" 142)
                             (!fields 15 
                              (!pair  "hash_f"
                               (!type already_seen 9)
                               (!srcfileloc  "../include/hashtab.h" 102)
                               nil )
                              (!pair  "eq_f"
                               (!type already_seen 9)
                               (!srcfileloc  "../include/hashtab.h" 105)
                               nil )
                              (!pair  "del_f"
                               (!type already_seen 9)
                               (!srcfileloc  "../include/hashtab.h" 108)
                               nil )
                              (!pair  "entries"
                               (!type already_seen 11)
                               (!srcfileloc  "../include/hashtab.h" 111)
                               (!options 
                                (!option length string  "%h.size")
                                (!option use_param string  "")
                               )
                              )
                              (!pair  "size"
                               (!type already_seen 9)
                               (!srcfileloc  "../include/hashtab.h" 114)
                               nil )
                              (!pair  "n_elements"
                               (!type already_seen 9)
                               (!srcfileloc  "../include/hashtab.h" 117)
                               nil )
                              (!pair  "n_deleted"
                               (!type already_seen 9)
                               (!srcfileloc  "../include/hashtab.h" 120)
                               nil )
                              (!pair  "searches"
                               (!type already_seen 9)
                               (!srcfileloc  "../include/hashtab.h" 124)
                               nil )
                              (!pair  "collisions"
                               (!type already_seen 9)
                               (!srcfileloc  "../include/hashtab.h" 128)
                               nil )
                              (!pair  "alloc_f"
                               (!type already_seen 9)
                               (!srcfileloc  "../include/hashtab.h" 131)
                               nil )
                              (!pair  "free_f"
                               (!type already_seen 9)
                               (!srcfileloc  "../include/hashtab.h" 132)
                               nil )
                              (!pair  "alloc_arg"
                               (!type already_seen 10)
                               (!srcfileloc  "../include/hashtab.h" 135)
                               (!options 
                                (!option skip string  "")
                               )
                              )
                              (!pair  "alloc_with_arg_f"
                               (!type already_seen 9)
                               (!srcfileloc  "../include/hashtab.h" 136)
                               nil )
                              (!pair  "free_with_arg_f"
                               (!type already_seen 9)
                               (!srcfileloc  "../include/hashtab.h" 137)
                               nil )
                              (!pair  "size_prime_index"
                               (!type already_seen 9)
                               (!srcfileloc  "../include/hashtab.h" 141)
                               nil )
                             )
                             nil 511 nil nil )
                            
                            (!type pointer 52 nil  gc_used
                             (!type struct 53 
                              (!type already_seen 52)
                              gc_pointed_to "treetreehash_entry"
                              (!srcfileloc  "java/java-tree.h" 749)
                              (!fields 2 
                               (!pair  "key"
                                (!type already_seen 5)
                                (!srcfileloc  "java/java-tree.h" 747)
                                nil )
                               (!pair  "value"
                                (!type already_seen 5)
                                (!srcfileloc  "java/java-tree.h" 748)
                                nil )
                              )
                              nil 32 nil nil )
                            )
                            nil nil nil nil nil nil nil nil nil nil )
                          )
                          (!srcfileloc  "java/java-tree.h" 730)
                          (!options 
                           (!option param_is type 
                            (!type already_seen 53)
                           )
                          )
                         )
                         (!pair  "ict"
                          (!type pointer 54 nil  gc_used
                           (!type param_struct 55 
                            (!type already_seen 54)
                            gc_pointed_to
                            (!type already_seen 50)
                            
                            (!type already_seen 5)
                            nil nil nil nil nil nil nil nil nil nil )
                          )
                          (!srcfileloc  "java/java-tree.h" 733)
                          (!options 
                           (!option param_is type 
                            (!type already_seen 7)
                           )
                          )
                         )
                         (!pair  "native"
                          (!type already_seen 9)
                          (!srcfileloc  "java/java-tree.h" 735)
                          nil )
                         (!pair  "strictfp"
                          (!type already_seen 9)
                          (!srcfileloc  "java/java-tree.h" 736)
                          nil )
                         (!pair  "invisible"
                          (!type already_seen 9)
                          (!srcfileloc  "java/java-tree.h" 737)
                          nil )
                         (!pair  "dummy"
                          (!type already_seen 9)
                          (!srcfileloc  "java/java-tree.h" 740)
                          nil )
                         (!pair  "local_cni"
                          (!type already_seen 9)
                          (!srcfileloc  "java/java-tree.h" 741)
                          nil )
                         (!pair  "bridge"
                          (!type already_seen 9)
                          (!srcfileloc  "java/java-tree.h" 742)
                          nil )
                         (!pair  "varargs"
                          (!type already_seen 9)
                          (!srcfileloc  "java/java-tree.h" 743)
                          nil )
                        )
                        nil 32 nil nil )
                       (!srcfileloc  "java/java-tree.h" 815)
                       (!options 
                        (!option tag string  "LANG_DECL_FUNC")
                       )
                      )
                      (!pair  "v"
                       (!type struct 56 nil  gc_used "lang_decl_var"
                        (!srcfileloc  "java/java-tree.h" 805)
                        (!fields 10 
                         (!pair  "slot_number"
                          (!type already_seen 9)
                          (!srcfileloc  "java/java-tree.h" 795)
                          nil )
                         (!pair  "start_pc"
                          (!type already_seen 9)
                          (!srcfileloc  "java/java-tree.h" 796)
                          nil )
                         (!pair  "end_pc"
                          (!type already_seen 9)
                          (!srcfileloc  "java/java-tree.h" 797)
                          nil )
                         (!pair  "slot_chain"
                          (!type already_seen 5)
                          (!srcfileloc  "java/java-tree.h" 798)
                          nil )
                         (!pair  "owner"
                          (!type already_seen 5)
                          (!srcfileloc  "java/java-tree.h" 799)
                          nil )
                         (!pair  "freed"
                          (!type already_seen 9)
                          (!srcfileloc  "java/java-tree.h" 800)
                          nil )
                         (!pair  "local_slot"
                          (!type already_seen 9)
                          (!srcfileloc  "java/java-tree.h" 801)
                          nil )
                         (!pair  "class_field"
                          (!type already_seen 9)
                          (!srcfileloc  "java/java-tree.h" 802)
                          nil )
                         (!pair  "vtable"
                          (!type already_seen 9)
                          (!srcfileloc  "java/java-tree.h" 803)
                          nil )
                         (!pair  "field_enum"
                          (!type already_seen 9)
                          (!srcfileloc  "java/java-tree.h" 804)
                          nil )
                        )
                        nil 32 nil nil )
                       (!srcfileloc  "java/java-tree.h" 816)
                       (!options 
                        (!option tag string  "LANG_DECL_VAR")
                       )
                      )
                     )
                     nil 32 
                     (!type lang_struct 57 nil  gc_used "lang_decl_u"
                      (!srcfileloc  "cp/cp-tree.h" 2084)
                      (!fields 0 )
                      (!options 
                       (!option desc string  "%h.base.selector")
                      )
                      292 
                      (!homotypes 2
                       (!type already_seen 44)
                       
                       (!type union 58 nil  gc_used "lang_decl_u"
                        (!srcfileloc  "cp/cp-tree.h" 2084)
                        (!fields 5 
                         (!pair  "base"
                          (!type struct 59 nil  gc_used "lang_decl_base"
                           (!srcfileloc  "cp/cp-tree.h" 1963)
                           (!fields 12 
                            (!pair  "selector"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 1950)
                             nil )
                            (!pair  "language"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 1951)
                             nil )
                            (!pair  "use_template"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 1952)
                             nil )
                            (!pair  "not_really_extern"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 1953)
                             nil )
                            (!pair  "initialized_in_class"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 1954)
                             nil )
                            (!pair  "repo_available_p"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 1955)
                             nil )
                            (!pair  "threadprivate_or_deleted_p"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 1956)
                             nil )
                            (!pair  "anticipated_p"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 1957)
                             nil )
                            (!pair  "friend_attr"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 1958)
                             nil )
                            (!pair  "template_conv_p"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 1959)
                             nil )
                            (!pair  "odr_used"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 1960)
                             nil )
                            (!pair  "u2sel"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 1961)
                             nil )
                           )
                           nil 260 nil nil )
                          (!srcfileloc  "cp/cp-tree.h" 2079)
                          (!options 
                           (!option default string  "")
                          )
                         )
                         (!pair  "min"
                          (!type struct 60 nil  gc_used "lang_decl_min"
                           (!srcfileloc  "cp/cp-tree.h" 1995)
                           (!fields 3 
                            (!pair  "base"
                             (!type already_seen 59)
                             (!srcfileloc  "cp/cp-tree.h" 1977)
                             nil )
                            (!pair  "template_info"
                             (!type already_seen 5)
                             (!srcfileloc  "cp/cp-tree.h" 1984)
                             nil )
                            (!pair  "u2"
                             (!type union 61 nil  gc_used "lang_decl_u2"
                              (!srcfileloc  "cp/cp-tree.h" 1994)
                              (!fields 2 
                               (!pair  "access"
                                (!type already_seen 5)
                                (!srcfileloc  "cp/cp-tree.h" 1990)
                                (!options 
                                 (!option tag string  "0")
                                )
                               )
                               (!pair  "discriminator"
                                (!type already_seen 9)
                                (!srcfileloc  "cp/cp-tree.h" 1993)
                                (!options 
                                 (!option tag string  "1")
                                )
                               )
                              )
                              nil 260 nil )
                             (!srcfileloc  "cp/cp-tree.h" 1994)
                             (!options 
                              (!option desc string  "%0.u.base.u2sel")
                             )
                            )
                           )
                           nil 260 nil nil )
                          (!srcfileloc  "cp/cp-tree.h" 2080)
                          (!options 
                           (!option tag string  "0")
                          )
                         )
                         (!pair  "fn"
                          (!type struct 62 nil  gc_used "lang_decl_fn"
                           (!srcfileloc  "cp/cp-tree.h" 2056)
                           (!fields 22 
                            (!pair  "min"
                             (!type already_seen 60)
                             (!srcfileloc  "cp/cp-tree.h" 2000)
                             nil )
                            (!pair  "operator_code"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 2004)
                             nil )
                            (!pair  "global_ctor_p"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 2006)
                             nil )
                            (!pair  "global_dtor_p"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 2007)
                             nil )
                            (!pair  "constructor_attr"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 2008)
                             nil )
                            (!pair  "destructor_attr"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 2009)
                             nil )
                            (!pair  "assignment_operator_p"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 2010)
                             nil )
                            (!pair  "static_function"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 2011)
                             nil )
                            (!pair  "pure_virtual"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 2012)
                             nil )
                            (!pair  "defaulted_p"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 2013)
                             nil )
                            (!pair  "has_in_charge_parm_p"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 2015)
                             nil )
                            (!pair  "has_vtt_parm_p"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 2016)
                             nil )
                            (!pair  "pending_inline_p"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 2017)
                             nil )
                            (!pair  "nonconverting"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 2018)
                             nil )
                            (!pair  "thunk_p"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 2019)
                             nil )
                            (!pair  "this_thunk_p"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 2020)
                             nil )
                            (!pair  "hidden_friend_p"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 2021)
                             nil )
                            (!pair  "omp_declare_reduction_p"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 2022)
                             nil )
                            (!pair  "befriending_classes"
                             (!type already_seen 5)
                             (!srcfileloc  "cp/cp-tree.h" 2028)
                             nil )
                            (!pair  "context"
                             (!type already_seen 5)
                             (!srcfileloc  "cp/cp-tree.h" 2036)
                             nil )
                            (!pair  "u5"
                             (!type union 63 nil  gc_used "lang_decl_u5"
                              (!srcfileloc  "cp/cp-tree.h" 2047)
                              (!fields 2 
                               (!pair  "cloned_function"
                                (!type already_seen 5)
                                (!srcfileloc  "cp/cp-tree.h" 2042)
                                (!options 
                                 (!option tag string  "0")
                                )
                               )
                               (!pair  "fixed_offset"
                                (!type already_seen 9)
                                (!srcfileloc  "cp/cp-tree.h" 2046)
                                (!options 
                                 (!option tag string  "1")
                                )
                               )
                              )
                              nil 260 nil )
                             (!srcfileloc  "cp/cp-tree.h" 2047)
                             (!options 
                              (!option desc string  "%1.thunk_p")
                             )
                            )
                            (!pair  "u"
                             (!type union 64 nil  gc_used "lang_decl_u3"
                              (!srcfileloc  "cp/cp-tree.h" 2054)
                              (!fields 2 
                               (!pair  "pending_inline_info"
                                (!type pointer 65 nil  gc_used
                                 (!type struct 66 
                                  (!type already_seen 65)
                                  gc_pointed_to "cp_token_cache"
                                  (!srcfileloc  "cp/parser.h" 125)
                                  (!fields 2 
                                   (!pair  "first"
                                    (!type pointer 67 nil  gc_unused
                                     (!type struct 68 
                                      (!type already_seen 67)
                                      gc_used "cp_token"
                                      (!srcfileloc  "cp/parser.h" 71)
                                      (!fields 9 
                                       (!pair  "type"
                                        (!type already_seen 9)
                                        (!srcfileloc  "cp/parser.h" 44)
                                        nil )
                                       (!pair  "keyword"
                                        (!type already_seen 9)
                                        (!srcfileloc  "cp/parser.h" 47)
                                        nil )
                                       (!pair  "flags"
                                        (!type already_seen 29)
                                        (!srcfileloc  "cp/parser.h" 49)
                                        nil )
                                       (!pair  "pragma_kind"
                                        (!type already_seen 9)
                                        (!srcfileloc  "cp/parser.h" 51)
                                        nil )
                                       (!pair  "implicit_extern_c"
                                        (!type already_seen 9)
                                        (!srcfileloc  "cp/parser.h" 53)
                                        nil )
                                       (!pair  "ambiguous_p"
                                        (!type already_seen 9)
                                        (!srcfileloc  "cp/parser.h" 57)
                                        nil )
                                       (!pair  "purged_p"
                                        (!type already_seen 9)
                                        (!srcfileloc  "cp/parser.h" 61)
                                        nil )
                                       (!pair  "location"
                                        (!type already_seen 9)
                                        (!srcfileloc  "cp/parser.h" 63)
                                        nil )
                                       (!pair  "u"
                                        (!type union 69 nil  gc_used "cp_token_value"
                                         (!srcfileloc  "cp/parser.h" 70)
                                         (!fields 2 
                                          (!pair  "tree_check_value"
                                           (!type pointer 70 nil  gc_used
                                            (!type struct 71 
                                             (!type already_seen 70)
                                             gc_pointed_to "tree_check"
                                             (!srcfileloc  "cp/parser.h" 38)
                                             (!fields 3 
                                              (!pair  "value"
                                               (!type already_seen 5)
                                               (!srcfileloc  "cp/parser.h" 32)
                                               nil )
                                              (!pair  "checks"
                                               (!type pointer 72 nil  gc_used
                                                (!type user_struct 73 
                                                 (!type already_seen 72)
                                                 gc_pointed_to "vec<deferred_access_check,va_gc>"
                                                 (!srcfileloc  "cp/semantics.c" 135)
                                                 (!fields 2 
                                                  (!pair  "va_gc"
                                                   (!type already_seen 3)
                                                   (!srcfileloc  "cp/semantics.c" 135)
                                                   nil )
                                                  (!pair  "deferred_access_check"
                                                   (!type struct 74 nil  gc_used "deferred_access_check"
                                                    (!srcfileloc  "cp/cp-tree.h" 5720)
                                                    (!fields 4 
                                                     (!pair  "binfo"
                                                      (!type already_seen 5)
                                                      (!srcfileloc  "cp/cp-tree.h" 5713)
                                                      nil )
                                                     (!pair  "decl"
                                                      (!type already_seen 5)
                                                      (!srcfileloc  "cp/cp-tree.h" 5715)
                                                      nil )
                                                     (!pair  "diag_decl"
                                                      (!type already_seen 5)
                                                      (!srcfileloc  "cp/cp-tree.h" 5717)
                                                      nil )
                                                     (!pair  "loc"
                                                      (!type already_seen 9)
                                                      (!srcfileloc  "cp/cp-tree.h" 5719)
                                                      nil )
                                                    )
                                                    nil 260 nil nil )
                                                   (!srcfileloc  "cp/semantics.c" 135)
                                                   nil )
                                                 )
                                                )
                                               )
                                               (!srcfileloc  "cp/parser.h" 34)
                                               nil )
                                              (!pair  "qualifying_scope"
                                               (!type already_seen 5)
                                               (!srcfileloc  "cp/parser.h" 37)
                                               nil )
                                             )
                                             nil 260 nil nil )
                                           )
                                           (!srcfileloc  "cp/parser.h" 67)
                                           (!options 
                                            (!option tag string  "1")
                                           )
                                          )
                                          (!pair  "value"
                                           (!type already_seen 5)
                                           (!srcfileloc  "cp/parser.h" 69)
                                           (!options 
                                            (!option tag string  "0")
                                           )
                                          )
                                         )
                                         nil 260 nil )
                                        (!srcfileloc  "cp/parser.h" 70)
                                        (!options 
                                         (!option desc string  "(%1.type == CPP_TEMPLATE_ID) || (%1.type == CPP_NESTED_NAME_SPECIFIER)")
                                        )
                                       )
                                      )
                                      nil 260 nil nil )
                                    )
                                    (!srcfileloc  "cp/parser.h" 121)
                                    (!options 
                                     (!option skip string  "")
                                    )
                                   )
                                   (!pair  "last"
                                    (!type already_seen 67)
                                    (!srcfileloc  "cp/parser.h" 124)
                                    (!options 
                                     (!option skip string  "")
                                    )
                                   )
                                  )
                                  nil 260 nil nil )
                                )
                                (!srcfileloc  "cp/cp-tree.h" 2051)
                                (!options 
                                 (!option tag string  "1")
                                )
                               )
                               (!pair  "saved_language_function"
                                (!type pointer 75 nil  gc_used
                                 (!type lang_struct 76 
                                  (!type already_seen 75)
                                  gc_pointed_to "language_function"
                                  (!srcfileloc  "ada/gcc-interface/trans.c" 139)
                                  (!fields 0 )
                                  nil 511 
                                  (!homotypes 7
                                   (!type struct 77 nil  gc_pointed_to "language_function"
                                    (!srcfileloc  "lto/lto-tree.h" 44)
                                    (!fields 1 
                                     (!pair  "dummy"
                                      (!type already_seen 9)
                                      (!srcfileloc  "lto/lto-tree.h" 43)
                                      nil )
                                    )
                                    nil 64 
                                    (!type already_seen 76)
                                    nil )
                                   
                                   (!type struct 78 nil  gc_pointed_to "language_function"
                                    (!srcfileloc  "java/lang.c" 119)
                                    (!fields 1 
                                     (!pair  "unused"
                                      (!type already_seen 9)
                                      (!srcfileloc  "java/lang.c" 118)
                                      nil )
                                    )
                                    nil 32 
                                    (!type already_seen 76)
                                    nil )
                                   
                                   (!type struct 79 nil  gc_pointed_to "language_function"
                                    (!srcfileloc  "go/go-lang.c" 83)
                                    (!fields 1 
                                     (!pair  "dummy"
                                      (!type already_seen 9)
                                      (!srcfileloc  "go/go-lang.c" 82)
                                      nil )
                                    )
                                    nil 16 
                                    (!type already_seen 76)
                                    nil )
                                   
                                   (!type struct 80 nil  gc_pointed_to "language_function"
                                    (!srcfileloc  "fortran/f95-lang.c" 75)
                                    (!fields 1 
                                     (!pair  "binding_level"
                                      (!type pointer 81 nil  gc_used
                                       (!type lang_struct 82 
                                        (!type already_seen 81)
                                        gc_pointed_to "binding_level"
                                        (!srcfileloc  "fortran/f95-lang.c" 318)
                                        (!fields 0 )
                                        nil 40 
                                        (!homotypes 2
                                         (!type struct 83 nil  gc_pointed_to "binding_level"
                                          (!srcfileloc  "java/decl.c" 423)
                                          (!fields 10 
                                           (!pair  "names"
                                            (!type already_seen 5)
                                            (!srcfileloc  "java/decl.c" 391)
                                            nil )
                                           (!pair  "shadowed"
                                            (!type already_seen 5)
                                            (!srcfileloc  "java/decl.c" 397)
                                            nil )
                                           (!pair  "blocks"
                                            (!type already_seen 5)
                                            (!srcfileloc  "java/decl.c" 402)
                                            nil )
                                           (!pair  "level_chain"
                                            (!type already_seen 81)
                                            (!srcfileloc  "java/decl.c" 405)
                                            nil )
                                           (!pair  "end_pc"
                                            (!type already_seen 9)
                                            (!srcfileloc  "java/decl.c" 408)
                                            nil )
                                           (!pair  "start_pc"
                                            (!type already_seen 9)
                                            (!srcfileloc  "java/decl.c" 410)
                                            nil )
                                           (!pair  "stmts"
                                            (!type already_seen 5)
                                            (!srcfileloc  "java/decl.c" 413)
                                            nil )
                                           (!pair  "exception_range"
                                            (!type pointer 84 nil  gc_unused
                                             (!type struct 85 
                                              (!type already_seen 84)
                                              gc_unused "eh_range"nil 
                                              (!fields 0 )
                                              nil 0 nil nil )
                                            )
                                            (!srcfileloc  "java/decl.c" 416)
                                            (!options 
                                             (!option skip string  "")
                                            )
                                           )
                                           (!pair  "binding_depth"
                                            (!type already_seen 9)
                                            (!srcfileloc  "java/decl.c" 419)
                                            nil )
                                           (!pair  "loc"
                                            (!type already_seen 9)
                                            (!srcfileloc  "java/decl.c" 422)
                                            nil )
                                          )
                                          nil 32 
                                          (!type already_seen 82)
                                          nil )
                                         
                                         (!type struct 86 nil  gc_pointed_to "binding_level"
                                          (!srcfileloc  "fortran/f95-lang.c" 318)
                                          (!fields 3 
                                           (!pair  "names"
                                            (!type already_seen 5)
                                            (!srcfileloc  "fortran/f95-lang.c" 312)
                                            nil )
                                           (!pair  "blocks"
                                            (!type already_seen 5)
                                            (!srcfileloc  "fortran/f95-lang.c" 315)
                                            nil )
                                           (!pair  "level_chain"
                                            (!type already_seen 81)
                                            (!srcfileloc  "fortran/f95-lang.c" 317)
                                            nil )
                                          )
                                          nil 8 
                                          (!type already_seen 82)
                                          nil )
                                        )
                                       )
                                      )
                                      (!srcfileloc  "fortran/f95-lang.c" 74)
                                      nil )
                                    )
                                    nil 8 
                                    (!type already_seen 76)
                                    nil )
                                   
                                   (!type struct 87 nil  gc_pointed_to "language_function"
                                    (!srcfileloc  "cp/cp-tree.h" 1168)
                                    (!fields 21 
                                     (!pair  "base"
                                      (!type struct 88 nil  gc_used "c_language_function"
                                       (!srcfileloc  "c-family/c-common.h" 515)
                                       (!fields 2 
                                        (!pair  "x_stmt_tree"
                                         (!type struct 89 
                                          (!type pointer 90 nil  gc_unused
                                           (!type already_seen 89)
                                          )
                                          gc_used "stmt_tree_s"
                                          (!srcfileloc  "c-family/c-common.h" 500)
                                          (!fields 2 
                                           (!pair  "x_cur_stmt_list"
                                            (!type already_seen 46)
                                            (!srcfileloc  "c-family/c-common.h" 488)
                                            nil )
                                           (!pair  "stmts_are_full_exprs_p"
                                            (!type already_seen 9)
                                            (!srcfileloc  "c-family/c-common.h" 499)
                                            nil )
                                          )
                                          nil 390 nil nil )
                                         (!srcfileloc  "c-family/c-common.h" 510)
                                         nil )
                                        (!pair  "local_typedefs"
                                         (!type already_seen 46)
                                         (!srcfileloc  "c-family/c-common.h" 514)
                                         nil )
                                       )
                                       nil 390 nil nil )
                                      (!srcfileloc  "cp/cp-tree.h" 1140)
                                      nil )
                                     (!pair  "x_cdtor_label"
                                      (!type already_seen 5)
                                      (!srcfileloc  "cp/cp-tree.h" 1142)
                                      nil )
                                     (!pair  "x_current_class_ptr"
                                      (!type already_seen 5)
                                      (!srcfileloc  "cp/cp-tree.h" 1143)
                                      nil )
                                     (!pair  "x_current_class_ref"
                                      (!type already_seen 5)
                                      (!srcfileloc  "cp/cp-tree.h" 1144)
                                      nil )
                                     (!pair  "x_eh_spec_block"
                                      (!type already_seen 5)
                                      (!srcfileloc  "cp/cp-tree.h" 1145)
                                      nil )
                                     (!pair  "x_in_charge_parm"
                                      (!type already_seen 5)
                                      (!srcfileloc  "cp/cp-tree.h" 1146)
                                      nil )
                                     (!pair  "x_vtt_parm"
                                      (!type already_seen 5)
                                      (!srcfileloc  "cp/cp-tree.h" 1147)
                                      nil )
                                     (!pair  "x_return_value"
                                      (!type already_seen 5)
                                      (!srcfileloc  "cp/cp-tree.h" 1148)
                                      nil )
                                     (!pair  "x_auto_return_pattern"
                                      (!type already_seen 5)
                                      (!srcfileloc  "cp/cp-tree.h" 1149)
                                      nil )
                                     (!pair  "returns_value"
                                      (!type already_seen 9)
                                      (!srcfileloc  "cp/cp-tree.h" 1151)
                                      nil )
                                     (!pair  "returns_null"
                                      (!type already_seen 9)
                                      (!srcfileloc  "cp/cp-tree.h" 1152)
                                      nil )
                                     (!pair  "returns_abnormally"
                                      (!type already_seen 9)
                                      (!srcfileloc  "cp/cp-tree.h" 1153)
                                      nil )
                                     (!pair  "infinite_loop"
                                      (!type already_seen 9)
                                      (!srcfileloc  "cp/cp-tree.h" 1154)
                                      nil )
                                     (!pair  "x_in_function_try_handler"
                                      (!type already_seen 9)
                                      (!srcfileloc  "cp/cp-tree.h" 1155)
                                      nil )
                                     (!pair  "x_in_base_initializer"
                                      (!type already_seen 9)
                                      (!srcfileloc  "cp/cp-tree.h" 1156)
                                      nil )
                                     (!pair  "can_throw"
                                      (!type already_seen 9)
                                      (!srcfileloc  "cp/cp-tree.h" 1159)
                                      nil )
                                     (!pair  "x_named_labels"
                                      (!type pointer 91 nil  gc_used
                                       (!type param_struct 92 
                                        (!type already_seen 91)
                                        gc_pointed_to
                                        (!type already_seen 50)
                                        
                                        (!type pointer 93 nil  gc_used
                                         (!type struct 94 
                                          (!type already_seen 93)
                                          gc_pointed_to "named_label_entry"
                                          (!srcfileloc  "cp/decl.c" 238)
                                          (!fields 8 
                                           (!pair  "label_decl"
                                            (!type already_seen 5)
                                            (!srcfileloc  "cp/decl.c" 215)
                                            nil )
                                           (!pair  "binding_level"
                                            (!type pointer 95 nil  gc_used
                                             (!type struct 96 
                                              (!type already_seen 95)
                                              gc_pointed_to "cp_binding_level"
                                              (!srcfileloc  "cp/name-lookup.h" 267)
                                              (!fields 20 
                                               (!pair  "names"
                                                (!type already_seen 5)
                                                (!srcfileloc  "cp/name-lookup.h" 188)
                                                nil )
                                               (!pair  "namespaces"
                                                (!type already_seen 5)
                                                (!srcfileloc  "cp/name-lookup.h" 191)
                                                nil )
                                               (!pair  "static_decls"
                                                (!type already_seen 46)
                                                (!srcfileloc  "cp/name-lookup.h" 194)
                                                nil )
                                               (!pair  "usings"
                                                (!type already_seen 5)
                                                (!srcfileloc  "cp/name-lookup.h" 197)
                                                nil )
                                               (!pair  "using_directives"
                                                (!type already_seen 5)
                                                (!srcfileloc  "cp/name-lookup.h" 201)
                                                nil )
                                               (!pair  "class_shadowed"
                                                (!type pointer 97 nil  gc_used
                                                 (!type user_struct 98 
                                                  (!type already_seen 97)
                                                  gc_pointed_to "vec<cp_class_binding,va_gc>"
                                                  (!srcfileloc  "cp/name-lookup.h" 205)
                                                  (!fields 2 
                                                   (!pair  "va_gc"
                                                    (!type already_seen 3)
                                                    (!srcfileloc  "cp/name-lookup.h" 205)
                                                    nil )
                                                   (!pair  "cp_class_binding"
                                                    (!type struct 99 nil  gc_used "cp_class_binding"
                                                     (!srcfileloc  "cp/name-lookup.h" 148)
                                                     (!fields 2 
                                                      (!pair  "base"
                                                       (!type pointer 100 nil  gc_used
                                                        (!type struct 101 
                                                         (!type already_seen 100)
                                                         gc_pointed_to "cxx_binding"
                                                         (!srcfileloc  "cp/name-lookup.h" 76)
                                                         (!fields 6 
                                                          (!pair  "previous"
                                                           (!type already_seen 100)
                                                           (!srcfileloc  "cp/name-lookup.h" 67)
                                                           nil )
                                                          (!pair  "value"
                                                           (!type already_seen 5)
                                                           (!srcfileloc  "cp/name-lookup.h" 69)
                                                           nil )
                                                          (!pair  "type"
                                                           (!type already_seen 5)
                                                           (!srcfileloc  "cp/name-lookup.h" 71)
                                                           nil )
                                                          (!pair  "scope"
                                                           (!type already_seen 95)
                                                           (!srcfileloc  "cp/name-lookup.h" 73)
                                                           nil )
                                                          (!pair  "value_is_inherited"
                                                           (!type already_seen 9)
                                                           (!srcfileloc  "cp/name-lookup.h" 74)
                                                           nil )
                                                          (!pair  "is_local"
                                                           (!type already_seen 9)
                                                           (!srcfileloc  "cp/name-lookup.h" 75)
                                                           nil )
                                                         )
                                                         nil 260 nil nil )
                                                       )
                                                       (!srcfileloc  "cp/name-lookup.h" 145)
                                                       nil )
                                                      (!pair  "identifier"
                                                       (!type already_seen 5)
                                                       (!srcfileloc  "cp/name-lookup.h" 147)
                                                       nil )
                                                     )
                                                     nil 260 nil nil )
                                                    (!srcfileloc  "cp/name-lookup.h" 205)
                                                    nil )
                                                  )
                                                 )
                                                )
                                                (!srcfileloc  "cp/name-lookup.h" 205)
                                                nil )
                                               (!pair  "type_shadowed"
                                                (!type already_seen 5)
                                                (!srcfileloc  "cp/name-lookup.h" 212)
                                                nil )
                                               (!pair  "shadowed_labels"
                                                (!type pointer 102 nil  gc_used
                                                 (!type user_struct 103 
                                                  (!type already_seen 102)
                                                  gc_pointed_to "vec<cp_label_binding,va_gc>"
                                                  (!srcfileloc  "cp/name-lookup.h" 216)
                                                  (!fields 2 
                                                   (!pair  "va_gc"
                                                    (!type already_seen 3)
                                                    (!srcfileloc  "cp/name-lookup.h" 216)
                                                    nil )
                                                   (!pair  "cp_label_binding"
                                                    (!type struct 104 nil  gc_used "cp_label_binding"
                                                     (!srcfileloc  "cp/name-lookup.h" 156)
                                                     (!fields 2 
                                                      (!pair  "label"
                                                       (!type already_seen 5)
                                                       (!srcfileloc  "cp/name-lookup.h" 153)
                                                       nil )
                                                      (!pair  "prev_value"
                                                       (!type already_seen 5)
                                                       (!srcfileloc  "cp/name-lookup.h" 155)
                                                       nil )
                                                     )
                                                     nil 260 nil nil )
                                                    (!srcfileloc  "cp/name-lookup.h" 216)
                                                    nil )
                                                  )
                                                 )
                                                )
                                                (!srcfileloc  "cp/name-lookup.h" 216)
                                                nil )
                                               (!pair  "blocks"
                                                (!type already_seen 5)
                                                (!srcfileloc  "cp/name-lookup.h" 221)
                                                nil )
                                               (!pair  "this_entity"
                                                (!type already_seen 5)
                                                (!srcfileloc  "cp/name-lookup.h" 225)
                                                nil )
                                               (!pair  "level_chain"
                                                (!type already_seen 95)
                                                (!srcfileloc  "cp/name-lookup.h" 228)
                                                nil )
                                               (!pair  "dead_vars_from_for"
                                                (!type already_seen 46)
                                                (!srcfileloc  "cp/name-lookup.h" 233)
                                                nil )
                                               (!pair  "statement_list"
                                                (!type already_seen 5)
                                                (!srcfileloc  "cp/name-lookup.h" 237)
                                                nil )
                                               (!pair  "binding_depth"
                                                (!type already_seen 9)
                                                (!srcfileloc  "cp/name-lookup.h" 240)
                                                nil )
                                               (!pair  "kind"
                                                (!type already_seen 9)
                                                (!srcfileloc  "cp/name-lookup.h" 245)
                                                nil )
                                               (!pair  "explicit_spec_p"
                                                (!type already_seen 9)
                                                (!srcfileloc  "cp/name-lookup.h" 249)
                                                nil )
                                               (!pair  "keep"
                                                (!type already_seen 9)
                                                (!srcfileloc  "cp/name-lookup.h" 252)
                                                nil )
                                               (!pair  "more_cleanups_ok"
                                                (!type already_seen 9)
                                                (!srcfileloc  "cp/name-lookup.h" 256)
                                                nil )
                                               (!pair  "have_cleanups"
                                                (!type already_seen 9)
                                                (!srcfileloc  "cp/name-lookup.h" 257)
                                                nil )
                                               (!pair  "defining_class_p"
                                                (!type already_seen 9)
                                                (!srcfileloc  "cp/name-lookup.h" 264)
                                                nil )
                                              )
                                              nil 260 nil nil )
                                            )
                                            (!srcfileloc  "cp/decl.c" 220)
                                            nil )
                                           (!pair  "names_in_scope"
                                            (!type already_seen 5)
                                            (!srcfileloc  "cp/decl.c" 224)
                                            nil )
                                           (!pair  "bad_decls"
                                            (!type already_seen 46)
                                            (!srcfileloc  "cp/decl.c" 227)
                                            nil )
                                           (!pair  "uses"
                                            (!type pointer 105 nil  gc_used
                                             (!type struct 106 
                                              (!type already_seen 105)
                                              gc_pointed_to "named_label_use_entry"
                                              (!srcfileloc  "cp/decl.c" 207)
                                              (!fields 5 
                                               (!pair  "next"
                                                (!type already_seen 105)
                                                (!srcfileloc  "cp/decl.c" 192)
                                                nil )
                                               (!pair  "binding_level"
                                                (!type already_seen 95)
                                                (!srcfileloc  "cp/decl.c" 196)
                                                nil )
                                               (!pair  "names_in_scope"
                                                (!type already_seen 5)
                                                (!srcfileloc  "cp/decl.c" 200)
                                                nil )
                                               (!pair  "o_goto_locus"
                                                (!type already_seen 9)
                                                (!srcfileloc  "cp/decl.c" 202)
                                                nil )
                                               (!pair  "in_omp_scope"
                                                (!type already_seen 9)
                                                (!srcfileloc  "cp/decl.c" 206)
                                                nil )
                                              )
                                              (!options 
                                               (!option chain_next string  "%h.next")
                                              )
                                              260 nil nil )
                                            )
                                            (!srcfileloc  "cp/decl.c" 230)
                                            nil )
                                           (!pair  "in_try_scope"
                                            (!type already_seen 9)
                                            (!srcfileloc  "cp/decl.c" 235)
                                            nil )
                                           (!pair  "in_catch_scope"
                                            (!type already_seen 9)
                                            (!srcfileloc  "cp/decl.c" 236)
                                            nil )
                                           (!pair  "in_omp_scope"
                                            (!type already_seen 9)
                                            (!srcfileloc  "cp/decl.c" 237)
                                            nil )
                                          )
                                          nil 260 nil nil )
                                        )
                                        nil nil nil nil nil nil nil nil nil nil )
                                      )
                                      (!srcfileloc  "cp/cp-tree.h" 1161)
                                      (!options 
                                       (!option param_is type 
                                        (!type already_seen 94)
                                       )
                                      )
                                     )
                                     (!pair  "bindings"
                                      (!type already_seen 95)
                                      (!srcfileloc  "cp/cp-tree.h" 1162)
                                      nil )
                                     (!pair  "x_local_names"
                                      (!type already_seen 46)
                                      (!srcfileloc  "cp/cp-tree.h" 1163)
                                      nil )
                                     (!pair  "infinite_loops"
                                      (!type already_seen 46)
                                      (!srcfileloc  "cp/cp-tree.h" 1166)
                                      nil )
                                     (!pair  "extern_decl_map"
                                      (!type pointer 107 nil  gc_used
                                       (!type param_struct 108 
                                        (!type already_seen 107)
                                        gc_pointed_to
                                        (!type already_seen 50)
                                        
                                        (!type pointer 109 nil  gc_used
                                         (!type struct 110 
                                          (!type already_seen 109)
                                          gc_pointed_to "cxx_int_tree_map"
                                          (!srcfileloc  "cp/cp-tree.h" 1132)
                                          (!fields 2 
                                           (!pair  "uid"
                                            (!type already_seen 9)
                                            (!srcfileloc  "cp/cp-tree.h" 1130)
                                            nil )
                                           (!pair  "to"
                                            (!type already_seen 5)
                                            (!srcfileloc  "cp/cp-tree.h" 1131)
                                            nil )
                                          )
                                          nil 260 nil nil )
                                        )
                                        nil nil nil nil nil nil nil nil nil nil )
                                      )
                                      (!srcfileloc  "cp/cp-tree.h" 1167)
                                      (!options 
                                       (!option param_is type 
                                        (!type already_seen 110)
                                       )
                                      )
                                     )
                                    )
                                    nil 260 
                                    (!type already_seen 76)
                                    nil )
                                   
                                   (!type struct 111 nil  gc_pointed_to "language_function"
                                    (!srcfileloc  "c/c-lang.h" 56)
                                    (!fields 9 
                                     (!pair  "base"
                                      (!type already_seen 88)
                                      (!srcfileloc  "c/c-lang.h" 47)
                                      nil )
                                     (!pair  "x_break_label"
                                      (!type already_seen 5)
                                      (!srcfileloc  "c/c-lang.h" 48)
                                      nil )
                                     (!pair  "x_cont_label"
                                      (!type already_seen 5)
                                      (!srcfileloc  "c/c-lang.h" 49)
                                      nil )
                                     (!pair  "x_switch_stack"
                                      (!type pointer 112 nil  gc_unused
                                       (!type struct 113 
                                        (!type already_seen 112)
                                        gc_unused "c_switch"nil 
                                        (!fields 0 )
                                        nil 0 nil nil )
                                      )
                                      (!srcfileloc  "c/c-lang.h" 50)
                                      (!options 
                                       (!option skip string  "")
                                      )
                                     )
                                     (!pair  "arg_info"
                                      (!type pointer 114 nil  gc_unused
                                       (!type struct 115 
                                        (!type already_seen 114)
                                        gc_unused "c_arg_info"nil 
                                        (!fields 0 )
                                        nil 0 nil nil )
                                      )
                                      (!srcfileloc  "c/c-lang.h" 51)
                                      (!options 
                                       (!option skip string  "")
                                      )
                                     )
                                     (!pair  "returns_value"
                                      (!type already_seen 9)
                                      (!srcfileloc  "c/c-lang.h" 52)
                                      nil )
                                     (!pair  "returns_null"
                                      (!type already_seen 9)
                                      (!srcfileloc  "c/c-lang.h" 53)
                                      nil )
                                     (!pair  "returns_abnormally"
                                      (!type already_seen 9)
                                      (!srcfileloc  "c/c-lang.h" 54)
                                      nil )
                                     (!pair  "warn_about_return_type"
                                      (!type already_seen 9)
                                      (!srcfileloc  "c/c-lang.h" 55)
                                      nil )
                                    )
                                    nil 130 
                                    (!type already_seen 76)
                                    nil )
                                   
                                   (!type struct 116 nil  gc_pointed_to "language_function"
                                    (!srcfileloc  "ada/gcc-interface/trans.c" 139)
                                    (!fields 4 
                                     (!pair  "parm_attr_cache"
                                      (!type pointer 117 nil  gc_used
                                       (!type user_struct 118 
                                        (!type already_seen 117)
                                        gc_pointed_to "vec<parm_attr,va_gc>"
                                        (!srcfileloc  "ada/gcc-interface/trans.c" 135)
                                        (!fields 2 
                                         (!pair  "va_gc"
                                          (!type already_seen 3)
                                          (!srcfileloc  "ada/gcc-interface/trans.c" 135)
                                          nil )
                                         (!pair  "parm_attr"
                                          (!type pointer 119 nil  gc_used
                                           (!type struct 120 
                                            (!type already_seen 119)
                                            gc_pointed_to "parm_attr_d"
                                            (!srcfileloc  "ada/gcc-interface/trans.c" 129)
                                            (!fields 5 
                                             (!pair  "id"
                                              (!type already_seen 9)
                                              (!srcfileloc  "ada/gcc-interface/trans.c" 124)
                                              nil )
                                             (!pair  "dim"
                                              (!type already_seen 9)
                                              (!srcfileloc  "ada/gcc-interface/trans.c" 125)
                                              nil )
                                             (!pair  "first"
                                              (!type already_seen 5)
                                              (!srcfileloc  "ada/gcc-interface/trans.c" 126)
                                              nil )
                                             (!pair  "last"
                                              (!type already_seen 5)
                                              (!srcfileloc  "ada/gcc-interface/trans.c" 127)
                                              nil )
                                             (!pair  "length"
                                              (!type already_seen 5)
                                              (!srcfileloc  "ada/gcc-interface/trans.c" 128)
                                              nil )
                                            )
                                            nil 1 nil nil )
                                          )
                                          (!srcfileloc  "ada/gcc-interface/trans.c" 135)
                                          nil )
                                        )
                                       )
                                      )
                                      (!srcfileloc  "ada/gcc-interface/trans.c" 135)
                                      nil )
                                     (!pair  "named_ret_val"
                                      (!type pointer 121 nil  gc_used
                                       (!type struct 122 
                                        (!type already_seen 121)
                                        gc_pointed_to "bitmap_head"
                                        (!srcfileloc  "bitmap.h" 189)
                                        (!fields 5 
                                         (!pair  "indx"
                                          (!type already_seen 9)
                                          (!srcfileloc  "bitmap.h" 181)
                                          nil )
                                         (!pair  "descriptor_id"
                                          (!type already_seen 9)
                                          (!srcfileloc  "bitmap.h" 182)
                                          nil )
                                         (!pair  "first"
                                          (!type pointer 123 nil  gc_used
                                           (!type struct 124 
                                            (!type already_seen 123)
                                            gc_pointed_to "bitmap_element"
                                            (!srcfileloc  "bitmap.h" 185)
                                            (!fields 4 
                                             (!pair  "next"
                                              (!type already_seen 123)
                                              (!srcfileloc  "bitmap.h" 171)
                                              nil )
                                             (!pair  "prev"
                                              (!type already_seen 123)
                                              (!srcfileloc  "bitmap.h" 172)
                                              nil )
                                             (!pair  "indx"
                                              (!type already_seen 9)
                                              (!srcfileloc  "bitmap.h" 173)
                                              nil )
                                             (!pair  "bits"
                                              (!type array 125 nil  gc_used "BITMAP_ELEMENT_WORDS" 
                                               (!type already_seen 9)
                                              )
                                              (!srcfileloc  "bitmap.h" 174)
                                              nil )
                                            )
                                            (!options 
                                             (!option chain_prev string  "%h.prev")
                                             (!option chain_next string  "%h.next")
                                            )
                                            511 nil nil )
                                          )
                                          (!srcfileloc  "bitmap.h" 185)
                                          nil )
                                         (!pair  "current"
                                          (!type already_seen 123)
                                          (!srcfileloc  "bitmap.h" 186)
                                          (!options 
                                           (!option skip string  "")
                                          )
                                         )
                                         (!pair  "obstack"
                                          (!type pointer 126 nil  gc_used
                                           (!type struct 127 
                                            (!type already_seen 126)
                                            gc_pointed_to "bitmap_obstack"
                                            (!srcfileloc  "bitmap.h" 187)
                                            (!fields 3 
                                             (!pair  "elements"
                                              (!type already_seen 123)
                                              (!srcfileloc  "bitmap.h" 153)
                                              nil )
                                             (!pair  "heads"
                                              (!type already_seen 121)
                                              (!srcfileloc  "bitmap.h" 154)
                                              nil )
                                             (!pair  "obstack"
                                              (!type struct 128 nil  gc_unused "obstack"nil 
                                               (!fields 0 )
                                               nil 0 nil nil )
                                              (!srcfileloc  "bitmap.h" 155)
                                              (!options 
                                               (!option skip string  "")
                                              )
                                             )
                                            )
                                            nil 511 nil nil )
                                          )
                                          (!srcfileloc  "bitmap.h" 187)
                                          nil )
                                        )
                                        nil 511 nil nil )
                                      )
                                      (!srcfileloc  "ada/gcc-interface/trans.c" 136)
                                      nil )
                                     (!pair  "other_ret_val"
                                      (!type already_seen 46)
                                      (!srcfileloc  "ada/gcc-interface/trans.c" 137)
                                      nil )
                                     (!pair  "gnat_ret"
                                      (!type already_seen 9)
                                      (!srcfileloc  "ada/gcc-interface/trans.c" 138)
                                      nil )
                                    )
                                    nil 1 
                                    (!type already_seen 76)
                                    nil )
                                  )
                                 )
                                )
                                (!srcfileloc  "cp/cp-tree.h" 2053)
                                (!options 
                                 (!option tag string  "0")
                                )
                               )
                              )
                              nil 260 nil )
                             (!srcfileloc  "cp/cp-tree.h" 2054)
                             (!options 
                              (!option desc string  "%1.pending_inline_p")
                             )
                            )
                           )
                           nil 260 nil nil )
                          (!srcfileloc  "cp/cp-tree.h" 2081)
                          (!options 
                           (!option tag string  "1")
                          )
                         )
                         (!pair  "ns"
                          (!type struct 129 nil  gc_used "lang_decl_ns"
                           (!srcfileloc  "cp/cp-tree.h" 2063)
                           (!fields 2 
                            (!pair  "base"
                             (!type already_seen 59)
                             (!srcfileloc  "cp/cp-tree.h" 2061)
                             nil )
                            (!pair  "level"
                             (!type already_seen 95)
                             (!srcfileloc  "cp/cp-tree.h" 2062)
                             nil )
                           )
                           nil 260 nil nil )
                          (!srcfileloc  "cp/cp-tree.h" 2082)
                          (!options 
                           (!option tag string  "2")
                          )
                         )
                         (!pair  "parm"
                          (!type struct 130 nil  gc_used "lang_decl_parm"
                           (!srcfileloc  "cp/cp-tree.h" 2071)
                           (!fields 3 
                            (!pair  "base"
                             (!type already_seen 59)
                             (!srcfileloc  "cp/cp-tree.h" 2068)
                             nil )
                            (!pair  "level"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 2069)
                             nil )
                            (!pair  "index"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 2070)
                             nil )
                           )
                           nil 260 nil nil )
                          (!srcfileloc  "cp/cp-tree.h" 2083)
                          (!options 
                           (!option tag string  "3")
                          )
                         )
                        )
                        (!options 
                         (!option desc string  "%h.base.selector")
                        )
                        260 
                        (!type already_seen 57)
                       )
                      )
                     )
                    )
                    (!srcfileloc  "java/java-tree.h" 817)
                    (!options 
                     (!option desc string  "%0.desc")
                    )
                   )
                  )
                  (!options 
                   (!option variable_size string  "")
                  )
                  32 
                  (!type already_seen 41)
                  nil )
                 
                 (!type struct 131 nil  gc_pointed_to "lang_decl"
                  (!srcfileloc  "go/go-lang.c" 57)
                  (!fields 1 
                   (!pair  "dummy"
                    (!type already_seen 29)
                    (!srcfileloc  "go/go-lang.c" 56)
                    nil )
                  )
                  (!options 
                   (!option variable_size string  "")
                  )
                  16 
                  (!type already_seen 41)
                  nil )
                 
                 (!type struct 132 nil  gc_pointed_to "lang_decl"
                  (!srcfileloc  "fortran/trans.h" 834)
                  (!fields 8 
                   (!pair  "saved_descriptor"
                    (!type already_seen 5)
                    (!srcfileloc  "fortran/trans.h" 822)
                    nil )
                   (!pair  "stringlen"
                    (!type already_seen 5)
                    (!srcfileloc  "fortran/trans.h" 827)
                    nil )
                   (!pair  "addr"
                    (!type already_seen 5)
                    (!srcfileloc  "fortran/trans.h" 828)
                    nil )
                   (!pair  "span"
                    (!type already_seen 5)
                    (!srcfileloc  "fortran/trans.h" 829)
                    nil )
                   (!pair  "token"
                    (!type already_seen 5)
                    (!srcfileloc  "fortran/trans.h" 831)
                    nil )
                   (!pair  "caf_offset"
                    (!type already_seen 5)
                    (!srcfileloc  "fortran/trans.h" 831)
                    nil )
                   (!pair  "scalar_allocatable"
                    (!type already_seen 9)
                    (!srcfileloc  "fortran/trans.h" 832)
                    nil )
                   (!pair  "scalar_pointer"
                    (!type already_seen 9)
                    (!srcfileloc  "fortran/trans.h" 833)
                    nil )
                  )
                  (!options 
                   (!option variable_size string  "")
                  )
                  8 
                  (!type already_seen 41)
                  nil )
                 
                 (!type struct 133 nil  gc_pointed_to "lang_decl"
                  (!srcfileloc  "cp/cp-tree.h" 2085)
                  (!fields 1 
                   (!pair  "u"
                    (!type already_seen 57)
                    (!srcfileloc  "cp/cp-tree.h" 2084)
                    nil )
                  )
                  (!options 
                   (!option variable_size string  "")
                  )
                  260 
                  (!type already_seen 41)
                  nil )
                 
                 (!type struct 134 nil  gc_pointed_to "lang_decl"
                  (!srcfileloc  "c/c-lang.h" 40)
                  (!fields 1 
                   (!pair  "dummy"
                    (!type already_seen 29)
                    (!srcfileloc  "c/c-lang.h" 39)
                    nil )
                  )
                  (!options 
                   (!option variable_size string  "")
                  )
                  130 
                  (!type already_seen 41)
                  nil )
                 
                 (!type struct 135 nil  gc_pointed_to "lang_decl"
                  (!srcfileloc  "ada/gcc-interface/ada-tree.h" 41)
                  (!fields 1 
                   (!pair  "t"
                    (!type already_seen 5)
                    (!srcfileloc  "ada/gcc-interface/ada-tree.h" 41)
                    nil )
                  )
                  (!options 
                   (!option variable_size string  "")
                  )
                  1 
                  (!type already_seen 41)
                  nil )
                )
               )
              )
              (!srcfileloc  "tree-core.h" 1405)
              nil )
            )
            nil 511 nil nil )
           (!srcfileloc  "tree-core.h" 1621)
           (!options 
            (!option tag string  "TS_DECL_COMMON")
           )
          )
          (!pair  "decl_with_rtl"
           (!type struct 136 nil  gc_used "tree_decl_with_rtl"
            (!srcfileloc  "tree-core.h" 1411)
            (!fields 2 
             (!pair  "common"
              (!type already_seen 39)
              (!srcfileloc  "tree-core.h" 1409)
              nil )
             (!pair  "rtl"
              (!type pointer 137 
               (!type pointer 138 nil  gc_used
                (!type already_seen 137)
               )
               gc_pointed_to
               (!type struct 139 
                (!type already_seen 137)
                gc_pointed_to "rtx_def"
                (!srcfileloc  "rtl.h" 347)
                (!fields 11 
                 (!pair  "code"
                  (!type already_seen 9)
                  (!srcfileloc  "rtl.h" 256)
                  nil )
                 (!pair  "mode"
                  (!type already_seen 9)
                  (!srcfileloc  "rtl.h" 259)
                  nil )
                 (!pair  "jump"
                  (!type already_seen 9)
                  (!srcfileloc  "rtl.h" 269)
                  nil )
                 (!pair  "call"
                  (!type already_seen 9)
                  (!srcfileloc  "rtl.h" 274)
                  nil )
                 (!pair  "unchanging"
                  (!type already_seen 9)
                  (!srcfileloc  "rtl.h" 285)
                  nil )
                 (!pair  "volatil"
                  (!type already_seen 9)
                  (!srcfileloc  "rtl.h" 298)
                  nil )
                 (!pair  "in_struct"
                  (!type already_seen 9)
                  (!srcfileloc  "rtl.h" 312)
                  nil )
                 (!pair  "used"
                  (!type already_seen 9)
                  (!srcfileloc  "rtl.h" 321)
                  nil )
                 (!pair  "frame_related"
                  (!type already_seen 9)
                  (!srcfileloc  "rtl.h" 329)
                  nil )
                 (!pair  "return_val"
                  (!type already_seen 9)
                  (!srcfileloc  "rtl.h" 335)
                  nil )
                 (!pair  "u"
                  (!type union 140 nil  gc_used "rtx_def_subunion"
                   (!srcfileloc  "rtl.h" 346)
                   (!fields 147 
                    (!pair  ""
                     (!type struct 141 nil  gc_used "rtx_def_debug_parameter_ref"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_tree"
                        (!type already_seen 5)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "DEBUG_PARAMETER_REF")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 142 nil  gc_used "rtx_def_entry_value"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "ENTRY_VALUE")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 143 nil  gc_used "rtx_def_debug_implicit_ptr"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_tree"
                        (!type already_seen 5)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "DEBUG_IMPLICIT_PTR")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 144 nil  gc_used "rtx_def_var_location"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 3 
                       (!pair  ".fld[2].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_tree"
                        (!type already_seen 5)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "VAR_LOCATION")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 145 nil  gc_used "rtx_def_fma"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 3 
                       (!pair  ".fld[2].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "FMA")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 146 nil  gc_used "rtx_def_us_truncate"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "US_TRUNCATE")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 147 nil  gc_used "rtx_def_ss_truncate"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "SS_TRUNCATE")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 148 nil  gc_used "rtx_def_us_minus"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "US_MINUS")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 149 nil  gc_used "rtx_def_us_ashift"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "US_ASHIFT")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 150 nil  gc_used "rtx_def_ss_ashift"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "SS_ASHIFT")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 151 nil  gc_used "rtx_def_ss_abs"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "SS_ABS")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 152 nil  gc_used "rtx_def_us_neg"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "US_NEG")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 153 nil  gc_used "rtx_def_ss_neg"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "SS_NEG")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 154 nil  gc_used "rtx_def_ss_minus"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "SS_MINUS")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 155 nil  gc_used "rtx_def_us_plus"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "US_PLUS")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 156 nil  gc_used "rtx_def_ss_plus"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "SS_PLUS")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 157 nil  gc_used "rtx_def_vec_duplicate"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "VEC_DUPLICATE")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 158 nil  gc_used "rtx_def_vec_concat"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "VEC_CONCAT")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 159 nil  gc_used "rtx_def_vec_select"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "VEC_SELECT")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 160 nil  gc_used "rtx_def_vec_merge"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 3 
                       (!pair  ".fld[2].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "VEC_MERGE")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 161 nil  gc_used "rtx_def_lo_sum"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "LO_SUM")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 162 nil  gc_used "rtx_def_high"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "HIGH")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 163 nil  gc_used "rtx_def_zero_extract"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 3 
                       (!pair  ".fld[2].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "ZERO_EXTRACT")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 164 nil  gc_used "rtx_def_sign_extract"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 3 
                       (!pair  ".fld[2].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "SIGN_EXTRACT")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 165 nil  gc_used "rtx_def_parity"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "PARITY")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 166 nil  gc_used "rtx_def_popcount"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "POPCOUNT")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 167 nil  gc_used "rtx_def_ctz"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "CTZ")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 168 nil  gc_used "rtx_def_clz"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "CLZ")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 169 nil  gc_used "rtx_def_clrsb"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "CLRSB")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 170 nil  gc_used "rtx_def_ffs"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "FFS")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 171 nil  gc_used "rtx_def_bswap"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "BSWAP")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 172 nil  gc_used "rtx_def_sqrt"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "SQRT")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 173 nil  gc_used "rtx_def_abs"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "ABS")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 174 nil  gc_used "rtx_def_unsigned_sat_fract"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "UNSIGNED_SAT_FRACT")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 175 nil  gc_used "rtx_def_sat_fract"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "SAT_FRACT")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 176 nil  gc_used "rtx_def_unsigned_fract_convert"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "UNSIGNED_FRACT_CONVERT")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 177 nil  gc_used "rtx_def_fract_convert"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "FRACT_CONVERT")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 178 nil  gc_used "rtx_def_unsigned_fix"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "UNSIGNED_FIX")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 179 nil  gc_used "rtx_def_unsigned_float"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "UNSIGNED_FLOAT")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 180 nil  gc_used "rtx_def_fix"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "FIX")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 181 nil  gc_used "rtx_def_float"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "FLOAT")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 182 nil  gc_used "rtx_def_float_truncate"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "FLOAT_TRUNCATE")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 183 nil  gc_used "rtx_def_float_extend"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "FLOAT_EXTEND")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 184 nil  gc_used "rtx_def_truncate"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "TRUNCATE")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 185 nil  gc_used "rtx_def_zero_extend"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "ZERO_EXTEND")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 186 nil  gc_used "rtx_def_sign_extend"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "SIGN_EXTEND")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 187 nil  gc_used "rtx_def_ltgt"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "LTGT")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 188 nil  gc_used "rtx_def_unlt"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "UNLT")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 189 nil  gc_used "rtx_def_unle"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "UNLE")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 190 nil  gc_used "rtx_def_ungt"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "UNGT")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 191 nil  gc_used "rtx_def_unge"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "UNGE")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 192 nil  gc_used "rtx_def_uneq"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "UNEQ")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 193 nil  gc_used "rtx_def_ordered"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "ORDERED")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 194 nil  gc_used "rtx_def_unordered"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "UNORDERED")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 195 nil  gc_used "rtx_def_ltu"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "LTU")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 196 nil  gc_used "rtx_def_leu"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "LEU")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 197 nil  gc_used "rtx_def_gtu"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "GTU")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 198 nil  gc_used "rtx_def_geu"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "GEU")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 199 nil  gc_used "rtx_def_lt"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "LT")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 200 nil  gc_used "rtx_def_le"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "LE")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 201 nil  gc_used "rtx_def_gt"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "GT")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 202 nil  gc_used "rtx_def_ge"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "GE")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 203 nil  gc_used "rtx_def_eq"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "EQ")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 204 nil  gc_used "rtx_def_ne"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "NE")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 205 nil  gc_used "rtx_def_post_modify"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "POST_MODIFY")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 206 nil  gc_used "rtx_def_pre_modify"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "PRE_MODIFY")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 207 nil  gc_used "rtx_def_post_inc"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "POST_INC")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 208 nil  gc_used "rtx_def_post_dec"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "POST_DEC")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 209 nil  gc_used "rtx_def_pre_inc"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "PRE_INC")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 210 nil  gc_used "rtx_def_pre_dec"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "PRE_DEC")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 211 nil  gc_used "rtx_def_umax"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "UMAX")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 212 nil  gc_used "rtx_def_umin"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "UMIN")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 213 nil  gc_used "rtx_def_smax"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "SMAX")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 214 nil  gc_used "rtx_def_smin"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "SMIN")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 215 nil  gc_used "rtx_def_rotatert"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "ROTATERT")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 216 nil  gc_used "rtx_def_lshiftrt"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "LSHIFTRT")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 217 nil  gc_used "rtx_def_ashiftrt"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "ASHIFTRT")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 218 nil  gc_used "rtx_def_rotate"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "ROTATE")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 219 nil  gc_used "rtx_def_ashift"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "ASHIFT")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 220 nil  gc_used "rtx_def_not"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "NOT")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 221 nil  gc_used "rtx_def_xor"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "XOR")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 222 nil  gc_used "rtx_def_ior"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "IOR")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 223 nil  gc_used "rtx_def_and"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "AND")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 224 nil  gc_used "rtx_def_umod"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "UMOD")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 225 nil  gc_used "rtx_def_udiv"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "UDIV")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 226 nil  gc_used "rtx_def_mod"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "MOD")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 227 nil  gc_used "rtx_def_us_div"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "US_DIV")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 228 nil  gc_used "rtx_def_ss_div"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "SS_DIV")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 229 nil  gc_used "rtx_def_div"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "DIV")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 230 nil  gc_used "rtx_def_us_mult"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "US_MULT")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 231 nil  gc_used "rtx_def_ss_mult"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "SS_MULT")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 232 nil  gc_used "rtx_def_mult"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "MULT")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 233 nil  gc_used "rtx_def_neg"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "NEG")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 234 nil  gc_used "rtx_def_minus"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "MINUS")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 235 nil  gc_used "rtx_def_plus"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "PLUS")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 236 nil  gc_used "rtx_def_compare"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "COMPARE")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 237 nil  gc_used "rtx_def_if_then_else"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 3 
                       (!pair  ".fld[2].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "IF_THEN_ELSE")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 238 nil  gc_used "rtx_def_cc0"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 0 )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "CC0")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 239 nil  gc_used "rtx_def_symbol_ref"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 4 
                       (!pair  "block_sym"
                        (!type union 240 nil  gc_used "fake_union_1"
                         (!srcfileloc  "rtl.h" 346)
                         (!fields 1 
                          (!pair  ""
                           (!type struct 241 nil  gc_used "block_symbol"
                            (!srcfileloc  "rtl.h" 216)
                            (!fields 3 
                             (!pair  "fld"
                              (!type array 242 nil  gc_unused "3" 
                               (!type undefined 243 nil  gc_unused "rtunion"
                                (!srcfileloc  "rtl.h" 208)
                               )
                              )
                              (!srcfileloc  "rtl.h" 208)
                              (!options 
                               (!option skip string  "")
                              )
                             )
                             (!pair  "block"
                              (!type pointer 244 nil  gc_used
                               (!type struct 245 
                                (!type already_seen 244)
                                gc_pointed_to "object_block"
                                (!srcfileloc  "rtl.h" 249)
                                (!fields 5 
                                 (!pair  "sect"
                                  (!type pointer 246 nil  gc_used
                                   (!type union 247 
                                    (!type already_seen 246)
                                    gc_pointed_to "section"
                                    (!srcfileloc  "output.h" 492)
                                    (!fields 4 
                                     (!pair  "common"
                                      (!type struct 248 nil  gc_used "section_common"
                                       (!srcfileloc  "output.h" 434)
                                       (!fields 1 
                                        (!pair  "flags"
                                         (!type already_seen 9)
                                         (!srcfileloc  "output.h" 433)
                                         nil )
                                       )
                                       nil 511 nil nil )
                                      (!srcfileloc  "output.h" 488)
                                      (!options 
                                       (!option skip string  "")
                                      )
                                     )
                                     (!pair  "named"
                                      (!type struct 249 nil  gc_used "named_section"
                                       (!srcfileloc  "output.h" 446)
                                       (!fields 3 
                                        (!pair  "common"
                                         (!type already_seen 248)
                                         (!srcfileloc  "output.h" 438)
                                         nil )
                                        (!pair  "name"
                                         (!type already_seen 37)
                                         (!srcfileloc  "output.h" 441)
                                         nil )
                                        (!pair  "decl"
                                         (!type already_seen 5)
                                         (!srcfileloc  "output.h" 445)
                                         nil )
                                       )
                                       nil 511 nil nil )
                                      (!srcfileloc  "output.h" 489)
                                      (!options 
                                       (!option tag string  "SECTION_NAMED")
                                      )
                                     )
                                     (!pair  "unnamed"
                                      (!type struct 250 nil  gc_used "unnamed_section"
                                       (!srcfileloc  "output.h" 463)
                                       (!fields 4 
                                        (!pair  "common"
                                         (!type already_seen 248)
                                         (!srcfileloc  "output.h" 454)
                                         nil )
                                        (!pair  "callback"
                                         (!type already_seen 9)
                                         (!srcfileloc  "output.h" 458)
                                         (!options 
                                          (!option skip string  "")
                                         )
                                        )
                                        (!pair  "data"
                                         (!type already_seen 10)
                                         (!srcfileloc  "output.h" 459)
                                         (!options 
                                          (!option skip string  "")
                                         )
                                        )
                                        (!pair  "next"
                                         (!type already_seen 246)
                                         (!srcfileloc  "output.h" 462)
                                         nil )
                                       )
                                       nil 511 nil nil )
                                      (!srcfileloc  "output.h" 490)
                                      (!options 
                                       (!option tag string  "SECTION_UNNAMED")
                                      )
                                     )
                                     (!pair  "noswitch"
                                      (!type struct 251 nil  gc_used "noswitch_section"
                                       (!srcfileloc  "output.h" 484)
                                       (!fields 2 
                                        (!pair  "common"
                                         (!type already_seen 248)
                                         (!srcfileloc  "output.h" 480)
                                         nil )
                                        (!pair  "callback"
                                         (!type already_seen 9)
                                         (!srcfileloc  "output.h" 483)
                                         (!options 
                                          (!option skip string  "")
                                         )
                                        )
                                       )
                                       nil 511 nil nil )
                                      (!srcfileloc  "output.h" 491)
                                      (!options 
                                       (!option tag string  "SECTION_NOSWITCH")
                                      )
                                     )
                                    )
                                    (!options 
                                     (!option desc string  "SECTION_STYLE (&(%h))")
                                    )
                                    511 nil )
                                  )
                                  (!srcfileloc  "rtl.h" 222)
                                  nil )
                                 (!pair  "alignment"
                                  (!type already_seen 9)
                                  (!srcfileloc  "rtl.h" 225)
                                  nil )
                                 (!pair  "size"
                                  (!type already_seen 9)
                                  (!srcfileloc  "rtl.h" 228)
                                  nil )
                                 (!pair  "objects"
                                  (!type pointer 252 nil  gc_used
                                   (!type user_struct 253 
                                    (!type already_seen 252)
                                    gc_pointed_to "vec<rtx,va_gc>"
                                    (!srcfileloc  "rtl.h" 238)
                                    (!fields 2 
                                     (!pair  "va_gc"
                                      (!type already_seen 3)
                                      (!srcfileloc  "rtl.h" 238)
                                      nil )
                                     (!pair  "rtx"
                                      (!type already_seen 137)
                                      (!srcfileloc  "rtl.h" 238)
                                      nil )
                                    )
                                   )
                                  )
                                  (!srcfileloc  "rtl.h" 238)
                                  nil )
                                 (!pair  "anchors"
                                  (!type already_seen 252)
                                  (!srcfileloc  "rtl.h" 248)
                                  nil )
                                )
                                nil 511 nil nil )
                              )
                              (!srcfileloc  "rtl.h" 211)
                              nil )
                             (!pair  "offset"
                              (!type already_seen 9)
                              (!srcfileloc  "rtl.h" 215)
                              nil )
                            )
                            nil 511 nil nil )
                           (!srcfileloc  "gengtype.c" 995)
                           (!options 
                            (!option tag string  "1")
                            (!option dot string  "")
                           )
                          )
                         )
                         nil 511 nil )
                        (!srcfileloc  "gengtype.c" 1340)
                        (!options 
                         (!option desc string  "SYMBOL_REF_HAS_BLOCK_INFO_P (&%0)")
                        )
                       )
                       (!pair  ".fld[2]."
                        (!type union 254 nil  gc_used "rtx_def_symbol_subunion"
                         (!srcfileloc  "rtl.h" 346)
                         (!fields 2 
                          (!pair  "rt_constant"
                           (!type pointer 255 nil  gc_used
                            (!type struct 256 
                             (!type already_seen 255)
                             gc_pointed_to "constant_descriptor_rtx"
                             (!srcfileloc  "varasm.c" 3509)
                             (!fields 10 
                              (!pair  "next"
                               (!type already_seen 255)
                               (!srcfileloc  "varasm.c" 3499)
                               nil )
                              (!pair  "mem"
                               (!type already_seen 137)
                               (!srcfileloc  "varasm.c" 3500)
                               nil )
                              (!pair  "sym"
                               (!type already_seen 137)
                               (!srcfileloc  "varasm.c" 3501)
                               nil )
                              (!pair  "constant"
                               (!type already_seen 137)
                               (!srcfileloc  "varasm.c" 3502)
                               nil )
                              (!pair  "offset"
                               (!type already_seen 9)
                               (!srcfileloc  "varasm.c" 3503)
                               nil )
                              (!pair  "hash"
                               (!type already_seen 9)
                               (!srcfileloc  "varasm.c" 3504)
                               nil )
                              (!pair  "mode"
                               (!type already_seen 9)
                               (!srcfileloc  "varasm.c" 3505)
                               nil )
                              (!pair  "align"
                               (!type already_seen 9)
                               (!srcfileloc  "varasm.c" 3506)
                               nil )
                              (!pair  "labelno"
                               (!type already_seen 9)
                               (!srcfileloc  "varasm.c" 3507)
                               nil )
                              (!pair  "mark"
                               (!type already_seen 9)
                               (!srcfileloc  "varasm.c" 3508)
                               nil )
                             )
                             (!options 
                              (!option chain_next string  "%h.next")
                             )
                             511 nil nil )
                           )
                           (!srcfileloc  "gengtype.c" 1200)
                           (!options 
                            (!option tag string  "1")
                            (!option dot string  "")
                           )
                          )
                          (!pair  "rt_tree"
                           (!type already_seen 5)
                           (!srcfileloc  "gengtype.c" 1198)
                           (!options 
                            (!option default string  "")
                            (!option dot string  "")
                           )
                          )
                         )
                         nil 511 nil )
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option desc string  "CONSTANT_POOL_ADDRESS_P (&%0)")
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[1].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_str"
                        (!type already_seen 37)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "SYMBOL_REF")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 257 nil  gc_used "rtx_def_label_ref"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "LABEL_REF")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 258 nil  gc_used "rtx_def_mem"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_mem"
                        (!type pointer 259 nil  gc_used
                         (!type struct 260 
                          (!type already_seen 259)
                          gc_pointed_to "mem_attrs"
                          (!srcfileloc  "rtl.h" 169)
                          (!fields 8 
                           (!pair  "expr"
                            (!type already_seen 5)
                            (!srcfileloc  "rtl.h" 143)
                            nil )
                           (!pair  "offset"
                            (!type already_seen 9)
                            (!srcfileloc  "rtl.h" 147)
                            nil )
                           (!pair  "size"
                            (!type already_seen 9)
                            (!srcfileloc  "rtl.h" 151)
                            nil )
                           (!pair  "alias"
                            (!type already_seen 9)
                            (!srcfileloc  "rtl.h" 154)
                            nil )
                           (!pair  "align"
                            (!type already_seen 9)
                            (!srcfileloc  "rtl.h" 159)
                            nil )
                           (!pair  "addrspace"
                            (!type already_seen 29)
                            (!srcfileloc  "rtl.h" 162)
                            nil )
                           (!pair  "offset_known_p"
                            (!type already_seen 9)
                            (!srcfileloc  "rtl.h" 165)
                            nil )
                           (!pair  "size_known_p"
                            (!type already_seen 9)
                            (!srcfileloc  "rtl.h" 168)
                            nil )
                          )
                          nil 511 nil nil )
                        )
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "MEM")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 261 nil  gc_used "rtx_def_concatn"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtvec"
                        (!type pointer 262 nil  gc_used
                         (!type struct 263 
                          (!type already_seen 262)
                          gc_pointed_to "rtvec_def"
                          (!srcfileloc  "rtl.h" 388)
                          (!fields 2 
                           (!pair  "num_elem"
                            (!type already_seen 9)
                            (!srcfileloc  "rtl.h" 386)
                            nil )
                           (!pair  "elem"
                            (!type array 264 nil  gc_used "1" 
                             (!type already_seen 137)
                            )
                            (!srcfileloc  "rtl.h" 387)
                            (!options 
                             (!option length string  "%h.num_elem")
                            )
                           )
                          )
                          (!options 
                           (!option variable_size string  "")
                          )
                          511 nil nil )
                        )
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "CONCATN")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 265 nil  gc_used "rtx_def_concat"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "CONCAT")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 266 nil  gc_used "rtx_def_strict_low_part"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "STRICT_LOW_PART")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 267 nil  gc_used "rtx_def_subreg"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "SUBREG")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 268 nil  gc_used "rtx_def_scratch"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "SCRATCH")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 269 nil  gc_used "rtx_def_reg"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 3 
                       (!pair  ".fld[2].rt_reg"
                        (!type pointer 270 nil  gc_used
                         (!type struct 271 
                          (!type already_seen 270)
                          gc_pointed_to "reg_attrs"
                          (!srcfileloc  "rtl.h" 181)
                          (!fields 2 
                           (!pair  "decl"
                            (!type already_seen 5)
                            (!srcfileloc  "rtl.h" 179)
                            nil )
                           (!pair  "offset"
                            (!type already_seen 9)
                            (!srcfileloc  "rtl.h" 180)
                            nil )
                          )
                          nil 511 nil nil )
                        )
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[1].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "REG")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 272 nil  gc_used "rtx_def_pc"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 0 )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "PC")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 273 nil  gc_used "rtx_def_const"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "CONST")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 274 nil  gc_used "rtx_def_const_string"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_str"
                        (!type already_seen 37)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "CONST_STRING")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 275 nil  gc_used "rtx_def_const_vector"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtvec"
                        (!type already_seen 262)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "CONST_VECTOR")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 276 nil  gc_used "rtx_def_const_double"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "CONST_DOUBLE")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 277 nil  gc_used "rtx_def_const_fixed"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 3 
                       (!pair  ".fld[2].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[1].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "CONST_FIXED")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 278 nil  gc_used "rtx_def_const_int"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "CONST_INT")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 279 nil  gc_used "rtx_def_trap_if"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "TRAP_IF")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 280 nil  gc_used "rtx_def_eh_return"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 0 )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "EH_RETURN")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 281 nil  gc_used "rtx_def_simple_return"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 0 )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "SIMPLE_RETURN")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 282 nil  gc_used "rtx_def_return"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 0 )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "RETURN")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 283 nil  gc_used "rtx_def_call"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "CALL")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 284 nil  gc_used "rtx_def_clobber"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "CLOBBER")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 285 nil  gc_used "rtx_def_use"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "USE")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 286 nil  gc_used "rtx_def_set"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "SET")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 287 nil  gc_used "rtx_def_prefetch"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 3 
                       (!pair  ".fld[2].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "PREFETCH")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 288 nil  gc_used "rtx_def_addr_diff_vec"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 5 
                       (!pair  ".fld[4].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[3].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[2].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[1].rt_rtvec"
                        (!type already_seen 262)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "ADDR_DIFF_VEC")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 289 nil  gc_used "rtx_def_addr_vec"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtvec"
                        (!type already_seen 262)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "ADDR_VEC")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 290 nil  gc_used "rtx_def_unspec_volatile"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtvec"
                        (!type already_seen 262)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "UNSPEC_VOLATILE")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 291 nil  gc_used "rtx_def_unspec"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtvec"
                        (!type already_seen 262)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "UNSPEC")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 292 nil  gc_used "rtx_def_asm_operands"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 7 
                       (!pair  ".fld[6].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[5].rt_rtvec"
                        (!type already_seen 262)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[4].rt_rtvec"
                        (!type already_seen 262)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[3].rt_rtvec"
                        (!type already_seen 262)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[2].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[1].rt_str"
                        (!type already_seen 37)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_str"
                        (!type already_seen 37)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "ASM_OPERANDS")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 293 nil  gc_used "rtx_def_asm_input"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_str"
                        (!type already_seen 37)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "ASM_INPUT")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 294 nil  gc_used "rtx_def_parallel"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtvec"
                        (!type already_seen 262)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "PARALLEL")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 295 nil  gc_used "rtx_def_cond_exec"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "COND_EXEC")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 296 nil  gc_used "rtx_def_note"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 7 
                       (!pair  ".fld[6].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[5].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[4]."
                        (!type union 297 nil  gc_used "rtx_def_note_subunion"
                         (!srcfileloc  "rtl.h" 346)
                         (!fields 17 
                          (!pair  "rt_str"
                           (!type already_seen 37)
                           (!srcfileloc  "gengtype.c" 1166)
                           (!options 
                            (!option default string  "")
                            (!option dot string  "")
                           )
                          )
                          (!pair  "rt_int"
                           (!type already_seen 9)
                           (!srcfileloc  "gengtype.c" 1180)
                           (!options 
                            (!option tag string  "NOTE_INSN_CFI_LABEL")
                            (!option dot string  "")
                           )
                          )
                          (!pair  "rt_int"
                           (!type already_seen 9)
                           (!srcfileloc  "gengtype.c" 1180)
                           (!options 
                            (!option tag string  "NOTE_INSN_CFI")
                            (!option dot string  "")
                           )
                          )
                          (!pair  "rt_int"
                           (!type already_seen 9)
                           (!srcfileloc  "gengtype.c" 1180)
                           (!options 
                            (!option tag string  "NOTE_INSN_SWITCH_TEXT_SECTIONS")
                            (!option dot string  "")
                           )
                          )
                          (!pair  "rt_int"
                           (!type already_seen 9)
                           (!srcfileloc  "gengtype.c" 1180)
                           (!options 
                            (!option tag string  "NOTE_INSN_BASIC_BLOCK")
                            (!option dot string  "")
                           )
                          )
                          (!pair  "rt_rtx"
                           (!type already_seen 137)
                           (!srcfileloc  "gengtype.c" 1176)
                           (!options 
                            (!option tag string  "NOTE_INSN_CALL_ARG_LOCATION")
                            (!option dot string  "")
                           )
                          )
                          (!pair  "rt_rtx"
                           (!type already_seen 137)
                           (!srcfileloc  "gengtype.c" 1176)
                           (!options 
                            (!option tag string  "NOTE_INSN_VAR_LOCATION")
                            (!option dot string  "")
                           )
                          )
                          (!pair  "rt_int"
                           (!type already_seen 9)
                           (!srcfileloc  "gengtype.c" 1180)
                           (!options 
                            (!option tag string  "NOTE_INSN_EH_REGION_END")
                            (!option dot string  "")
                           )
                          )
                          (!pair  "rt_int"
                           (!type already_seen 9)
                           (!srcfileloc  "gengtype.c" 1180)
                           (!options 
                            (!option tag string  "NOTE_INSN_EH_REGION_BEG")
                            (!option dot string  "")
                           )
                          )
                          (!pair  "rt_int"
                           (!type already_seen 9)
                           (!srcfileloc  "gengtype.c" 1180)
                           (!options 
                            (!option tag string  "NOTE_INSN_EPILOGUE_BEG")
                            (!option dot string  "")
                           )
                          )
                          (!pair  "rt_int"
                           (!type already_seen 9)
                           (!srcfileloc  "gengtype.c" 1180)
                           (!options 
                            (!option tag string  "NOTE_INSN_PROLOGUE_END")
                            (!option dot string  "")
                           )
                          )
                          (!pair  "rt_int"
                           (!type already_seen 9)
                           (!srcfileloc  "gengtype.c" 1180)
                           (!options 
                            (!option tag string  "NOTE_INSN_FUNCTION_BEG")
                            (!option dot string  "")
                           )
                          )
                          (!pair  "rt_tree"
                           (!type already_seen 5)
                           (!srcfileloc  "gengtype.c" 1171)
                           (!options 
                            (!option tag string  "NOTE_INSN_BLOCK_END")
                            (!option dot string  "")
                           )
                          )
                          (!pair  "rt_tree"
                           (!type already_seen 5)
                           (!srcfileloc  "gengtype.c" 1171)
                           (!options 
                            (!option tag string  "NOTE_INSN_BLOCK_BEG")
                            (!option dot string  "")
                           )
                          )
                          (!pair  "rt_str"
                           (!type already_seen 37)
                           (!srcfileloc  "gengtype.c" 1166)
                           (!options 
                            (!option tag string  "NOTE_INSN_DELETED_DEBUG_LABEL")
                            (!option dot string  "")
                           )
                          )
                          (!pair  "rt_str"
                           (!type already_seen 37)
                           (!srcfileloc  "gengtype.c" 1166)
                           (!options 
                            (!option tag string  "NOTE_INSN_DELETED_LABEL")
                            (!option dot string  "")
                           )
                          )
                          (!pair  "rt_int"
                           (!type already_seen 9)
                           (!srcfileloc  "gengtype.c" 1180)
                           (!options 
                            (!option tag string  "NOTE_INSN_DELETED")
                            (!option dot string  "")
                           )
                          )
                         )
                         nil 511 nil )
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option desc string  "NOTE_KIND (&%0)")
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[3].rt_bb"
                        (!type pointer 298 nil  gc_used
                         (!type struct 299 
                          (!type already_seen 298)
                          gc_pointed_to "basic_block_def"
                          (!srcfileloc  "basic-block.h" 204)
                          (!fields 12 
                           (!pair  "preds"
                            (!type pointer 300 nil  gc_used
                             (!type user_struct 301 
                              (!type already_seen 300)
                              gc_pointed_to "vec<edge,va_gc>"
                              (!srcfileloc  "basic-block.h" 169)
                              (!fields 2 
                               (!pair  "va_gc"
                                (!type already_seen 3)
                                (!srcfileloc  "basic-block.h" 169)
                                nil )
                               (!pair  "edge"
                                (!type pointer 302 nil  gc_used
                                 (!type user_struct 303 
                                  (!type already_seen 302)
                                  gc_pointed_to "edge_def"
                                  (!srcfileloc  "basic-block.h" 59)
                                  (!fields 0 )
                                 )
                                )
                                (!srcfileloc  "basic-block.h" 169)
                                nil )
                              )
                             )
                            )
                            (!srcfileloc  "basic-block.h" 169)
                            nil )
                           (!pair  "succs"
                            (!type already_seen 300)
                            (!srcfileloc  "basic-block.h" 170)
                            nil )
                           (!pair  "aux"
                            (!type already_seen 10)
                            (!srcfileloc  "basic-block.h" 173)
                            (!options 
                             (!option skip string  "")
                            )
                           )
                           (!pair  "loop_father"
                            (!type pointer 304 nil  gc_used
                             (!type struct 305 
                              (!type already_seen 304)
                              gc_pointed_to "loop"
                              (!srcfileloc  "cfgloop.h" 212)
                              (!fields 28 
                               (!pair  "num"
                                (!type already_seen 9)
                                (!srcfileloc  "cfgloop.h" 114)
                                nil )
                               (!pair  "ninsns"
                                (!type already_seen 9)
                                (!srcfileloc  "cfgloop.h" 117)
                                nil )
                               (!pair  "header"
                                (!type already_seen 298)
                                (!srcfileloc  "cfgloop.h" 120)
                                nil )
                               (!pair  "latch"
                                (!type already_seen 298)
                                (!srcfileloc  "cfgloop.h" 123)
                                nil )
                               (!pair  "lpt_decision"
                                (!type struct 306 nil  gc_used "lpt_decision"
                                 (!srcfileloc  "cfgloop.h" 42)
                                 (!fields 2 
                                  (!pair  "decision"
                                   (!type already_seen 9)
                                   (!srcfileloc  "cfgloop.h" 40)
                                   nil )
                                  (!pair  "times"
                                   (!type already_seen 9)
                                   (!srcfileloc  "cfgloop.h" 41)
                                   nil )
                                 )
                                 nil 511 nil nil )
                                (!srcfileloc  "cfgloop.h" 126)
                                nil )
                               (!pair  "av_ninsns"
                                (!type already_seen 9)
                                (!srcfileloc  "cfgloop.h" 129)
                                nil )
                               (!pair  "num_nodes"
                                (!type already_seen 9)
                                (!srcfileloc  "cfgloop.h" 132)
                                nil )
                               (!pair  "superloops"
                                (!type pointer 307 nil  gc_used
                                 (!type user_struct 308 
                                  (!type already_seen 307)
                                  gc_pointed_to "vec<loop_p,va_gc>"
                                  (!srcfileloc  "cfgloop.h" 135)
                                  (!fields 2 
                                   (!pair  "va_gc"
                                    (!type already_seen 3)
                                    (!srcfileloc  "cfgloop.h" 135)
                                    nil )
                                   (!pair  "loop_p"
                                    (!type already_seen 304)
                                    (!srcfileloc  "cfgloop.h" 135)
                                    nil )
                                  )
                                 )
                                )
                                (!srcfileloc  "cfgloop.h" 135)
                                nil )
                               (!pair  "inner"
                                (!type already_seen 304)
                                (!srcfileloc  "cfgloop.h" 138)
                                nil )
                               (!pair  "next"
                                (!type already_seen 304)
                                (!srcfileloc  "cfgloop.h" 141)
                                nil )
                               (!pair  "aux"
                                (!type already_seen 10)
                                (!srcfileloc  "cfgloop.h" 144)
                                (!options 
                                 (!option skip string  "")
                                )
                               )
                               (!pair  "nb_iterations"
                                (!type already_seen 5)
                                (!srcfileloc  "cfgloop.h" 153)
                                nil )
                               (!pair  "nb_iterations_upper_bound"
                                (!type already_seen 9)
                                (!srcfileloc  "cfgloop.h" 157)
                                nil )
                               (!pair  "nb_iterations_estimate"
                                (!type already_seen 9)
                                (!srcfileloc  "cfgloop.h" 162)
                                nil )
                               (!pair  "any_upper_bound"
                                (!type already_seen 9)
                                (!srcfileloc  "cfgloop.h" 164)
                                nil )
                               (!pair  "any_estimate"
                                (!type already_seen 9)
                                (!srcfileloc  "cfgloop.h" 165)
                                nil )
                               (!pair  "can_be_parallel"
                                (!type already_seen 9)
                                (!srcfileloc  "cfgloop.h" 168)
                                nil )
                               (!pair  "warned_aggressive_loop_optimizations"
                                (!type already_seen 9)
                                (!srcfileloc  "cfgloop.h" 172)
                                nil )
                               (!pair  "estimate_state"
                                (!type already_seen 9)
                                (!srcfileloc  "cfgloop.h" 176)
                                nil )
                               (!pair  "safelen"
                                (!type already_seen 9)
                                (!srcfileloc  "cfgloop.h" 182)
                                nil )
                               (!pair  "force_vect"
                                (!type already_seen 9)
                                (!srcfileloc  "cfgloop.h" 185)
                                nil )
                               (!pair  "dont_vectorize"
                                (!type already_seen 9)
                                (!srcfileloc  "cfgloop.h" 188)
                                nil )
                               (!pair  "simduid"
                                (!type already_seen 5)
                                (!srcfileloc  "cfgloop.h" 193)
                                nil )
                               (!pair  "bounds"
                                (!type pointer 309 nil  gc_used
                                 (!type struct 310 
                                  (!type already_seen 309)
                                  gc_pointed_to "nb_iter_bound"
                                  (!srcfileloc  "cfgloop.h" 74)
                                  (!fields 4 
                                   (!pair  "stmt"
                                    (!type pointer 311 nil  gc_used
                                     (!type struct 312 
                                      (!type already_seen 311)
                                      gc_pointed_to "gimple_statement_base"
                                      (!srcfileloc  "gimple.h" 203)
                                      (!fields 15 
                                       (!pair  "code"
                                        (!type already_seen 9)
                                        (!srcfileloc  "gimple.h" 144)
                                        nil )
                                       (!pair  "no_warning"
                                        (!type already_seen 9)
                                        (!srcfileloc  "gimple.h" 147)
                                        nil )
                                       (!pair  "visited"
                                        (!type already_seen 9)
                                        (!srcfileloc  "gimple.h" 151)
                                        nil )
                                       (!pair  "nontemporal_move"
                                        (!type already_seen 9)
                                        (!srcfileloc  "gimple.h" 154)
                                        nil )
                                       (!pair  "plf"
                                        (!type already_seen 9)
                                        (!srcfileloc  "gimple.h" 161)
                                        nil )
                                       (!pair  "modified"
                                        (!type already_seen 9)
                                        (!srcfileloc  "gimple.h" 165)
                                        nil )
                                       (!pair  "has_volatile_ops"
                                        (!type already_seen 9)
                                        (!srcfileloc  "gimple.h" 168)
                                        nil )
                                       (!pair  "pad"
                                        (!type already_seen 9)
                                        (!srcfileloc  "gimple.h" 171)
                                        nil )
                                       (!pair  "subcode"
                                        (!type already_seen 9)
                                        (!srcfileloc  "gimple.h" 177)
                                        nil )
                                       (!pair  "uid"
                                        (!type already_seen 9)
                                        (!srcfileloc  "gimple.h" 182)
                                        nil )
                                       (!pair  "location"
                                        (!type already_seen 9)
                                        (!srcfileloc  "gimple.h" 186)
                                        nil )
                                       (!pair  "num_ops"
                                        (!type already_seen 9)
                                        (!srcfileloc  "gimple.h" 189)
                                        nil )
                                       (!pair  "bb"
                                        (!type already_seen 298)
                                        (!srcfileloc  "gimple.h" 193)
                                        nil )
                                       (!pair  "next"
                                        (!type already_seen 311)
                                        (!srcfileloc  "gimple.h" 201)
                                        nil )
                                       (!pair  "prev"
                                        (!type already_seen 311)
                                        (!srcfileloc  "gimple.h" 202)
                                        (!options 
                                         (!option skip string  "")
                                        )
                                       )
                                      )
                                      (!options 
                                       (!option variable_size string  "")
                                       (!option chain_next string  "%h.next")
                                       (!option tag string  "GSS_BASE")
                                       (!option desc string  "gimple_statement_structure (&%h)")
                                      )
                                      511 nil nil )
                                    )
                                    (!srcfileloc  "cfgloop.h" 56)
                                    nil )
                                   (!pair  "bound"
                                    (!type already_seen 9)
                                    (!srcfileloc  "cfgloop.h" 65)
                                    nil )
                                   (!pair  "is_exit"
                                    (!type already_seen 9)
                                    (!srcfileloc  "cfgloop.h" 70)
                                    nil )
                                   (!pair  "next"
                                    (!type already_seen 309)
                                    (!srcfileloc  "cfgloop.h" 73)
                                    nil )
                                  )
                                  (!options 
                                   (!option chain_next string  "%h.next")
                                  )
                                  511 nil nil )
                                )
                                (!srcfileloc  "cfgloop.h" 196)
                                nil )
                               (!pair  "control_ivs"
                                (!type pointer 313 nil  gc_used
                                 (!type struct 314 
                                  (!type already_seen 313)
                                  gc_pointed_to "control_iv"
                                  (!srcfileloc  "cfgloop.h" 109)
                                  (!fields 3 
                                   (!pair  "base"
                                    (!type already_seen 5)
                                    (!srcfileloc  "cfgloop.h" 106)
                                    nil )
                                   (!pair  "step"
                                    (!type already_seen 5)
                                    (!srcfileloc  "cfgloop.h" 107)
                                    nil )
                                   (!pair  "next"
                                    (!type already_seen 313)
                                    (!srcfileloc  "cfgloop.h" 108)
                                    nil )
                                  )
                                  (!options 
                                   (!option chain_next string  "%h.next")
                                  )
                                  511 nil nil )
                                )
                                (!srcfileloc  "cfgloop.h" 199)
                                nil )
                               (!pair  "exits"
                                (!type pointer 315 nil  gc_used
                                 (!type struct 316 
                                  (!type already_seen 315)
                                  gc_pointed_to "loop_exit"
                                  (!srcfileloc  "cfgloop.h" 88)
                                  (!fields 4 
                                   (!pair  "e"
                                    (!type already_seen 302)
                                    (!srcfileloc  "cfgloop.h" 80)
                                    nil )
                                   (!pair  "prev"
                                    (!type already_seen 315)
                                    (!srcfileloc  "cfgloop.h" 83)
                                    nil )
                                   (!pair  "next"
                                    (!type already_seen 315)
                                    (!srcfileloc  "cfgloop.h" 84)
                                    nil )
                                   (!pair  "next_e"
                                    (!type already_seen 315)
                                    (!srcfileloc  "cfgloop.h" 87)
                                    nil )
                                  )
                                  nil 511 nil nil )
                                )
                                (!srcfileloc  "cfgloop.h" 202)
                                nil )
                               (!pair  "simple_loop_desc"
                                (!type pointer 317 nil  gc_used
                                 (!type struct 318 
                                  (!type already_seen 317)
                                  gc_pointed_to "niter_desc"
                                  (!srcfileloc  "cfgloop.h" 453)
                                  (!fields 15 
                                   (!pair  "out_edge"
                                    (!type already_seen 302)
                                    (!srcfileloc  "cfgloop.h" 408)
                                    nil )
                                   (!pair  "in_edge"
                                    (!type already_seen 302)
                                    (!srcfileloc  "cfgloop.h" 411)
                                    nil )
                                   (!pair  "simple_p"
                                    (!type already_seen 9)
                                    (!srcfileloc  "cfgloop.h" 415)
                                    nil )
                                   (!pair  "const_iter"
                                    (!type already_seen 9)
                                    (!srcfileloc  "cfgloop.h" 418)
                                    nil )
                                   (!pair  "niter"
                                    (!type already_seen 9)
                                    (!srcfileloc  "cfgloop.h" 421)
                                    nil )
                                   (!pair  "assumptions"
                                    (!type already_seen 137)
                                    (!srcfileloc  "cfgloop.h" 424)
                                    nil )
                                   (!pair  "noloop_assumptions"
                                    (!type already_seen 137)
                                    (!srcfileloc  "cfgloop.h" 428)
                                    nil )
                                   (!pair  "infinite"
                                    (!type already_seen 137)
                                    (!srcfileloc  "cfgloop.h" 431)
                                    nil )
                                   (!pair  "signed_p"
                                    (!type already_seen 9)
                                    (!srcfileloc  "cfgloop.h" 434)
                                    nil )
                                   (!pair  "mode"
                                    (!type already_seen 9)
                                    (!srcfileloc  "cfgloop.h" 437)
                                    nil )
                                   (!pair  "niter_expr"
                                    (!type already_seen 137)
                                    (!srcfileloc  "cfgloop.h" 440)
                                    nil )
                                   (!pair  "num_branches"
                                    (!type already_seen 9)
                                    (!srcfileloc  "cfgloop.h" 443)
                                    nil )
                                   (!pair  "av_num_branches"
                                    (!type already_seen 9)
                                    (!srcfileloc  "cfgloop.h" 446)
                                    nil )
                                   (!pair  "has_call"
                                    (!type already_seen 9)
                                    (!srcfileloc  "cfgloop.h" 449)
                                    nil )
                                   (!pair  "has_fp"
                                    (!type already_seen 9)
                                    (!srcfileloc  "cfgloop.h" 452)
                                    nil )
                                  )
                                  nil 511 nil nil )
                                )
                                (!srcfileloc  "cfgloop.h" 205)
                                nil )
                               (!pair  "former_header"
                                (!type already_seen 298)
                                (!srcfileloc  "cfgloop.h" 211)
                                nil )
                              )
                              (!options 
                               (!option chain_next string  "%h.next")
                              )
                              511 nil nil )
                            )
                            (!srcfileloc  "basic-block.h" 176)
                            nil )
                           (!pair  "dom"
                            (!type array 319 nil  gc_unused "2" 
                             (!type pointer 320 nil  gc_unused
                              (!type struct 321 
                               (!type already_seen 320)
                               gc_unused "et_node"nil 
                               (!fields 0 )
                               nil 0 nil nil )
                             )
                            )
                            (!srcfileloc  "basic-block.h" 179)
                            (!options 
                             (!option skip string  "")
                            )
                           )
                           (!pair  "prev_bb"
                            (!type already_seen 298)
                            (!srcfileloc  "basic-block.h" 182)
                            nil )
                           (!pair  "next_bb"
                            (!type already_seen 298)
                            (!srcfileloc  "basic-block.h" 183)
                            nil )
                           (!pair  "il"
                            (!type union 322 nil  gc_used "basic_block_il_dependent"
                             (!srcfileloc  "basic-block.h" 191)
                             (!fields 2 
                              (!pair  "gimple"
                               (!type struct 323 nil  gc_used "gimple_bb_info"
                                (!srcfileloc  "basic-block.h" 139)
                                (!fields 2 
                                 (!pair  "seq"
                                  (!type already_seen 311)
                                  (!srcfileloc  "basic-block.h" 135)
                                  nil )
                                 (!pair  "phi_nodes"
                                  (!type already_seen 311)
                                  (!srcfileloc  "basic-block.h" 138)
                                  nil )
                                )
                                nil 511 nil nil )
                               (!srcfileloc  "basic-block.h" 186)
                               (!options 
                                (!option tag string  "0")
                               )
                              )
                              (!pair  "x"
                               (!type struct 324 nil  gc_used "anonymous:/var/tmp/portage/cross-arm-none-eabi/gcc-4.9.2-r278/work/gcc-4.9.2/gcc-4.9/gcc/basic-block.h:187"
                                (!srcfileloc  "basic-block.h" 190)
                                (!fields 2 
                                 (!pair  "head_"
                                  (!type already_seen 137)
                                  (!srcfileloc  "basic-block.h" 188)
                                  nil )
                                 (!pair  "rtl"
                                  (!type pointer 325 nil  gc_used
                                   (!type struct 326 
                                    (!type already_seen 325)
                                    gc_pointed_to "rtl_bb_info"
                                    (!srcfileloc  "basic-block.h" 131)
                                    (!fields 3 
                                     (!pair  "end_"
                                      (!type already_seen 137)
                                      (!srcfileloc  "basic-block.h" 125)
                                      nil )
                                     (!pair  "header_"
                                      (!type already_seen 137)
                                      (!srcfileloc  "basic-block.h" 129)
                                      nil )
                                     (!pair  "footer_"
                                      (!type already_seen 137)
                                      (!srcfileloc  "basic-block.h" 130)
                                      nil )
                                    )
                                    nil 511 nil nil )
                                  )
                                  (!srcfileloc  "basic-block.h" 189)
                                  nil )
                                )
                                nil 511 nil nil )
                               (!srcfileloc  "basic-block.h" 190)
                               (!options 
                                (!option tag string  "1")
                               )
                              )
                             )
                             nil 511 nil )
                            (!srcfileloc  "basic-block.h" 191)
                            (!options 
                             (!option desc string  "((%1.flags & BB_RTL) != 0)")
                            )
                           )
                           (!pair  "flags"
                            (!type already_seen 9)
                            (!srcfileloc  "basic-block.h" 194)
                            nil )
                           (!pair  "index"
                            (!type already_seen 9)
                            (!srcfileloc  "basic-block.h" 197)
                            nil )
                           (!pair  "count"
                            (!type already_seen 9)
                            (!srcfileloc  "basic-block.h" 200)
                            nil )
                           (!pair  "frequency"
                            (!type already_seen 9)
                            (!srcfileloc  "basic-block.h" 203)
                            nil )
                          )
                          (!options 
                           (!option chain_prev string  "%h.prev_bb")
                           (!option chain_next string  "%h.next_bb")
                          )
                          511 nil nil )
                        )
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[2].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "NOTE")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 327 nil  gc_used "rtx_def_code_label"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 8 
                       (!pair  ".fld[7].rt_str"
                        (!type already_seen 37)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[6].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[5].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[4].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[3].rt_bb"
                        (!type already_seen 298)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[2].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "CODE_LABEL")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 328 nil  gc_used "rtx_def_barrier"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 8 
                       (!pair  ".fld[7].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[6].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[5].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[4].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[3].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[2].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "BARRIER")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 329 nil  gc_used "rtx_def_jump_table_data"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 9 
                       (!pair  ".fld[8].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[7].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[6].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[5].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[4].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[3].rt_bb"
                        (!type already_seen 298)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[2].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "JUMP_TABLE_DATA")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 330 nil  gc_used "rtx_def_call_insn"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 9 
                       (!pair  ".fld[8].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[7].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[6].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[5].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[4].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[3].rt_bb"
                        (!type already_seen 298)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[2].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "CALL_INSN")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 331 nil  gc_used "rtx_def_jump_insn"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 9 
                       (!pair  ".fld[8].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[7].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[6].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[5].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[4].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[3].rt_bb"
                        (!type already_seen 298)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[2].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "JUMP_INSN")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 332 nil  gc_used "rtx_def_insn"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 8 
                       (!pair  ".fld[7].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[6].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[5].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[4].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[3].rt_bb"
                        (!type already_seen 298)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[2].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "INSN")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 333 nil  gc_used "rtx_def_debug_insn"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 8 
                       (!pair  ".fld[7].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[6].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[5].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[4].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[3].rt_bb"
                        (!type already_seen 298)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[2].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "DEBUG_INSN")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 334 nil  gc_used "rtx_def_address"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "ADDRESS")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 335 nil  gc_used "rtx_def_sequence"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtvec"
                        (!type already_seen 262)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "SEQUENCE")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 336 nil  gc_used "rtx_def_int_list"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "INT_LIST")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 337 nil  gc_used "rtx_def_insn_list"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "INSN_LIST")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 338 nil  gc_used "rtx_def_expr_list"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "EXPR_LIST")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 339 nil  gc_used "rtx_def_debug_expr"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_tree"
                        (!type already_seen 5)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "DEBUG_EXPR")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 340 nil  gc_used "rtx_def_value"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "VALUE")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 341 nil  gc_used "rtx_def_UnKnown"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "UNKNOWN")
                      (!option dot string  "")
                     )
                    )
                   )
                   (!options 
                    (!option dot string  "")
                   )
                   511 nil )
                  (!srcfileloc  "rtl.h" 346)
                  (!options 
                   (!option desc string  "GET_CODE (&%0)")
                   (!option special string  "rtx_def")
                  )
                 )
                )
                (!options 
                 (!option variable_size string  "")
                 (!option chain_prev string  "RTX_PREV (&%h)")
                 (!option chain_next string  "RTX_NEXT (&%h)")
                )
                511 nil nil )
              )
              (!srcfileloc  "tree-core.h" 1410)
              nil )
            )
            nil 511 nil nil )
           (!srcfileloc  "tree-core.h" 1622)
           (!options 
            (!option tag string  "TS_DECL_WRTL")
           )
          )
          (!pair  "decl_non_common"
           (!type struct 342 nil  gc_used "tree_decl_non_common"
            (!srcfileloc  "tree-core.h" 1494)
            (!fields 5 
             (!pair  "common"
              (!type struct 343 nil  gc_used "tree_decl_with_vis"
               (!srcfileloc  "tree-core.h" 1478)
               (!fields 22 
                (!pair  "common"
                 (!type already_seen 136)
                 (!srcfileloc  "tree-core.h" 1443)
                 nil )
                (!pair  "assembler_name"
                 (!type already_seen 5)
                 (!srcfileloc  "tree-core.h" 1444)
                 nil )
                (!pair  "section_name"
                 (!type already_seen 5)
                 (!srcfileloc  "tree-core.h" 1445)
                 nil )
                (!pair  "comdat_group"
                 (!type already_seen 5)
                 (!srcfileloc  "tree-core.h" 1446)
                 nil )
                (!pair  "defer_output"
                 (!type already_seen 9)
                 (!srcfileloc  "tree-core.h" 1449)
                 nil )
                (!pair  "hard_register"
                 (!type already_seen 9)
                 (!srcfileloc  "tree-core.h" 1450)
                 nil )
                (!pair  "common_flag"
                 (!type already_seen 9)
                 (!srcfileloc  "tree-core.h" 1451)
                 nil )
                (!pair  "in_text_section"
                 (!type already_seen 9)
                 (!srcfileloc  "tree-core.h" 1452)
                 nil )
                (!pair  "in_constant_pool"
                 (!type already_seen 9)
                 (!srcfileloc  "tree-core.h" 1453)
                 nil )
                (!pair  "dllimport_flag"
                 (!type already_seen 9)
                 (!srcfileloc  "tree-core.h" 1454)
                 nil )
                (!pair  "weak_flag"
                 (!type already_seen 9)
                 (!srcfileloc  "tree-core.h" 1456)
                 nil )
                (!pair  "implicit_section_name_p"
                 (!type already_seen 9)
                 (!srcfileloc  "tree-core.h" 1458)
                 nil )
                (!pair  "seen_in_bind_expr"
                 (!type already_seen 9)
                 (!srcfileloc  "tree-core.h" 1460)
                 nil )
                (!pair  "comdat_flag"
                 (!type already_seen 9)
                 (!srcfileloc  "tree-core.h" 1461)
                 nil )
                (!pair  "visibility"
                 (!type already_seen 9)
                 (!srcfileloc  "tree-core.h" 1462)
                 nil )
                (!pair  "visibility_specified"
                 (!type already_seen 9)
                 (!srcfileloc  "tree-core.h" 1463)
                 nil )
                (!pair  "tls_model"
                 (!type already_seen 9)
                 (!srcfileloc  "tree-core.h" 1465)
                 nil )
                (!pair  "init_priority_p"
                 (!type already_seen 9)
                 (!srcfileloc  "tree-core.h" 1468)
                 nil )
                (!pair  "shadowed_for_var_p"
                 (!type already_seen 9)
                 (!srcfileloc  "tree-core.h" 1470)
                 nil )
                (!pair  "cxx_constructor"
                 (!type already_seen 9)
                 (!srcfileloc  "tree-core.h" 1472)
                 nil )
                (!pair  "cxx_destructor"
                 (!type already_seen 9)
                 (!srcfileloc  "tree-core.h" 1474)
                 nil )
                (!pair  "final"
                 (!type already_seen 9)
                 (!srcfileloc  "tree-core.h" 1476)
                 nil )
               )
               nil 511 nil nil )
              (!srcfileloc  "tree-core.h" 1485)
              nil )
             (!pair  "saved_tree"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1487)
              nil )
             (!pair  "arguments"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1489)
              nil )
             (!pair  "result"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1491)
              nil )
             (!pair  "vindex"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1493)
              nil )
            )
            nil 511 nil nil )
           (!srcfileloc  "tree-core.h" 1624)
           (!options 
            (!option tag string  "TS_DECL_NON_COMMON")
           )
          )
          (!pair  "parm_decl"
           (!type struct 344 nil  gc_used "tree_parm_decl"
            (!srcfileloc  "tree-core.h" 1440)
            (!fields 2 
             (!pair  "common"
              (!type already_seen 136)
              (!srcfileloc  "tree-core.h" 1438)
              nil )
             (!pair  "incoming_rtl"
              (!type already_seen 137)
              (!srcfileloc  "tree-core.h" 1439)
              nil )
            )
            nil 511 nil nil )
           (!srcfileloc  "tree-core.h" 1625)
           (!options 
            (!option tag string  "TS_PARM_DECL")
           )
          )
          (!pair  "decl_with_vis"
           (!type already_seen 343)
           (!srcfileloc  "tree-core.h" 1626)
           (!options 
            (!option tag string  "TS_DECL_WITH_VIS")
           )
          )
          (!pair  "var_decl"
           (!type struct 345 nil  gc_used "tree_var_decl"
            (!srcfileloc  "tree-core.h" 1482)
            (!fields 1 
             (!pair  "common"
              (!type already_seen 343)
              (!srcfileloc  "tree-core.h" 1481)
              nil )
            )
            nil 511 nil nil )
           (!srcfileloc  "tree-core.h" 1627)
           (!options 
            (!option tag string  "TS_VAR_DECL")
           )
          )
          (!pair  "field_decl"
           (!type struct 346 nil  gc_used "tree_field_decl"
            (!srcfileloc  "tree-core.h" 1421)
            (!fields 6 
             (!pair  "common"
              (!type already_seen 39)
              (!srcfileloc  "tree-core.h" 1414)
              nil )
             (!pair  "offset"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1416)
              nil )
             (!pair  "bit_field_type"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1417)
              nil )
             (!pair  "qualifier"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1418)
              nil )
             (!pair  "bit_offset"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1419)
              nil )
             (!pair  "fcontext"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1420)
              nil )
            )
            nil 511 nil nil )
           (!srcfileloc  "tree-core.h" 1628)
           (!options 
            (!option tag string  "TS_FIELD_DECL")
           )
          )
          (!pair  "label_decl"
           (!type struct 347 nil  gc_used "tree_label_decl"
            (!srcfileloc  "tree-core.h" 1427)
            (!fields 3 
             (!pair  "common"
              (!type already_seen 136)
              (!srcfileloc  "tree-core.h" 1424)
              nil )
             (!pair  "label_decl_uid"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1425)
              nil )
             (!pair  "eh_landing_pad_nr"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1426)
              nil )
            )
            nil 511 nil nil )
           (!srcfileloc  "tree-core.h" 1629)
           (!options 
            (!option tag string  "TS_LABEL_DECL")
           )
          )
          (!pair  "result_decl"
           (!type struct 348 nil  gc_used "tree_result_decl"
            (!srcfileloc  "tree-core.h" 1431)
            (!fields 1 
             (!pair  "common"
              (!type already_seen 136)
              (!srcfileloc  "tree-core.h" 1430)
              nil )
            )
            nil 511 nil nil )
           (!srcfileloc  "tree-core.h" 1630)
           (!options 
            (!option tag string  "TS_RESULT_DECL")
           )
          )
          (!pair  "const_decl"
           (!type struct 349 nil  gc_used "tree_const_decl"
            (!srcfileloc  "tree-core.h" 1435)
            (!fields 1 
             (!pair  "common"
              (!type already_seen 39)
              (!srcfileloc  "tree-core.h" 1434)
              nil )
            )
            nil 511 nil nil )
           (!srcfileloc  "tree-core.h" 1631)
           (!options 
            (!option tag string  "TS_CONST_DECL")
           )
          )
          (!pair  "type_decl"
           (!type struct 350 nil  gc_used "tree_type_decl"
            (!srcfileloc  "tree-core.h" 1555)
            (!fields 1 
             (!pair  "common"
              (!type already_seen 342)
              (!srcfileloc  "tree-core.h" 1553)
              nil )
            )
            nil 511 nil nil )
           (!srcfileloc  "tree-core.h" 1632)
           (!options 
            (!option tag string  "TS_TYPE_DECL")
           )
          )
          (!pair  "function_decl"
           (!type struct 351 nil  gc_used "tree_function_decl"
            (!srcfileloc  "tree-core.h" 1542)
            (!fields 26 
             (!pair  "common"
              (!type already_seen 342)
              (!srcfileloc  "tree-core.h" 1502)
              nil )
             (!pair  "f"
              (!type pointer 352 nil  gc_used
               (!type struct 353 
                (!type already_seen 352)
                gc_pointed_to "function"
                (!srcfileloc  "function.h" 691)
                (!fields 45 
                 (!pair  "eh"
                  (!type pointer 354 nil  gc_used
                   (!type struct 355 
                    (!type already_seen 354)
                    gc_pointed_to "eh_status"
                    (!srcfileloc  "except.h" 221)
                    (!fields 6 
                     (!pair  "region_tree"
                      (!type pointer 356 nil  gc_used
                       (!type struct 357 
                        (!type already_seen 356)
                        gc_pointed_to "eh_region_d"
                        (!srcfileloc  "except.h" 183)
                        (!fields 10 
                         (!pair  "outer"
                          (!type already_seen 356)
                          (!srcfileloc  "except.h" 124)
                          nil )
                         (!pair  "inner"
                          (!type already_seen 356)
                          (!srcfileloc  "except.h" 127)
                          nil )
                         (!pair  "next_peer"
                          (!type already_seen 356)
                          (!srcfileloc  "except.h" 128)
                          nil )
                         (!pair  "index"
                          (!type already_seen 9)
                          (!srcfileloc  "except.h" 131)
                          nil )
                         (!pair  "type"
                          (!type already_seen 9)
                          (!srcfileloc  "except.h" 134)
                          nil )
                         (!pair  "u"
                          (!type union 358 nil  gc_used "eh_region_u"
                           (!srcfileloc  "except.h" 170)
                           (!fields 3 
                            (!pair  "eh_try"
                             (!type struct 359 nil  gc_used "eh_region_u_try"
                              (!srcfileloc  "except.h" 142)
                              (!fields 2 
                               (!pair  "first_catch"
                                (!type pointer 360 nil  gc_used
                                 (!type struct 361 
                                  (!type already_seen 360)
                                  gc_pointed_to "eh_catch_d"
                                  (!srcfileloc  "except.h" 117)
                                  (!fields 5 
                                   (!pair  "next_catch"
                                    (!type already_seen 360)
                                    (!srcfileloc  "except.h" 101)
                                    nil )
                                   (!pair  "prev_catch"
                                    (!type already_seen 360)
                                    (!srcfileloc  "except.h" 102)
                                    nil )
                                   (!pair  "type_list"
                                    (!type already_seen 5)
                                    (!srcfileloc  "except.h" 106)
                                    nil )
                                   (!pair  "filter_list"
                                    (!type already_seen 5)
                                    (!srcfileloc  "except.h" 111)
                                    nil )
                                   (!pair  "label"
                                    (!type already_seen 5)
                                    (!srcfileloc  "except.h" 116)
                                    nil )
                                  )
                                  nil 511 nil nil )
                                )
                                (!srcfileloc  "except.h" 140)
                                nil )
                               (!pair  "last_catch"
                                (!type already_seen 360)
                                (!srcfileloc  "except.h" 141)
                                nil )
                              )
                              nil 511 nil nil )
                             (!srcfileloc  "except.h" 142)
                             (!options 
                              (!option tag string  "ERT_TRY")
                             )
                            )
                            (!pair  "allowed"
                             (!type struct 362 nil  gc_used "eh_region_u_allowed"
                              (!srcfileloc  "except.h" 156)
                              (!fields 3 
                               (!pair  "type_list"
                                (!type already_seen 5)
                                (!srcfileloc  "except.h" 146)
                                nil )
                               (!pair  "label"
                                (!type already_seen 5)
                                (!srcfileloc  "except.h" 150)
                                nil )
                               (!pair  "filter"
                                (!type already_seen 9)
                                (!srcfileloc  "except.h" 155)
                                nil )
                              )
                              nil 511 nil nil )
                             (!srcfileloc  "except.h" 156)
                             (!options 
                              (!option tag string  "ERT_ALLOWED_EXCEPTIONS")
                             )
                            )
                            (!pair  "must_not_throw"
                             (!type struct 363 nil  gc_used "eh_region_u_must_not_throw"
                              (!srcfileloc  "except.h" 169)
                              (!fields 2 
                               (!pair  "failure_decl"
                                (!type already_seen 5)
                                (!srcfileloc  "except.h" 166)
                                nil )
                               (!pair  "failure_loc"
                                (!type already_seen 9)
                                (!srcfileloc  "except.h" 168)
                                nil )
                              )
                              nil 511 nil nil )
                             (!srcfileloc  "except.h" 169)
                             (!options 
                              (!option tag string  "ERT_MUST_NOT_THROW")
                             )
                            )
                           )
                           nil 511 nil )
                          (!srcfileloc  "except.h" 170)
                          (!options 
                           (!option desc string  "%0.type")
                          )
                         )
                         (!pair  "landing_pads"
                          (!type pointer 364 nil  gc_used
                           (!type struct 365 
                            (!type already_seen 364)
                            gc_pointed_to "eh_landing_pad_d"
                            (!srcfileloc  "except.h" 94)
                            (!fields 5 
                             (!pair  "next_lp"
                              (!type already_seen 364)
                              (!srcfileloc  "except.h" 75)
                              nil )
                             (!pair  "region"
                              (!type already_seen 356)
                              (!srcfileloc  "except.h" 78)
                              nil )
                             (!pair  "post_landing_pad"
                              (!type already_seen 5)
                              (!srcfileloc  "except.h" 83)
                              nil )
                             (!pair  "landing_pad"
                              (!type already_seen 137)
                              (!srcfileloc  "except.h" 90)
                              nil )
                             (!pair  "index"
                              (!type already_seen 9)
                              (!srcfileloc  "except.h" 93)
                              nil )
                            )
                            nil 511 nil nil )
                          )
                          (!srcfileloc  "except.h" 173)
                          nil )
                         (!pair  "exc_ptr_reg"
                          (!type already_seen 137)
                          (!srcfileloc  "except.h" 178)
                          nil )
                         (!pair  "filter_reg"
                          (!type already_seen 137)
                          (!srcfileloc  "except.h" 178)
                          nil )
                         (!pair  "use_cxa_end_cleanup"
                          (!type already_seen 9)
                          (!srcfileloc  "except.h" 182)
                          nil )
                        )
                        nil 511 nil nil )
                      )
                      (!srcfileloc  "except.h" 197)
                      nil )
                     (!pair  "region_array"
                      (!type pointer 366 nil  gc_used
                       (!type user_struct 367 
                        (!type already_seen 366)
                        gc_pointed_to "vec<eh_region,va_gc>"
                        (!srcfileloc  "except.h" 200)
                        (!fields 2 
                         (!pair  "va_gc"
                          (!type already_seen 3)
                          (!srcfileloc  "except.h" 200)
                          nil )
                         (!pair  "eh_region"
                          (!type already_seen 356)
                          (!srcfileloc  "except.h" 200)
                          nil )
                        )
                       )
                      )
                      (!srcfileloc  "except.h" 200)
                      nil )
                     (!pair  "lp_array"
                      (!type pointer 368 nil  gc_used
                       (!type user_struct 369 
                        (!type already_seen 368)
                        gc_pointed_to "vec<eh_landing_pad,va_gc>"
                        (!srcfileloc  "except.h" 203)
                        (!fields 2 
                         (!pair  "va_gc"
                          (!type already_seen 3)
                          (!srcfileloc  "except.h" 203)
                          nil )
                         (!pair  "eh_landing_pad"
                          (!type already_seen 364)
                          (!srcfileloc  "except.h" 203)
                          nil )
                        )
                       )
                      )
                      (!srcfileloc  "except.h" 203)
                      nil )
                     (!pair  "throw_stmt_table"
                      (!type pointer 370 nil  gc_used
                       (!type param_struct 371 
                        (!type already_seen 370)
                        gc_pointed_to
                        (!type already_seen 50)
                        
                        (!type pointer 372 nil  gc_used
                         (!type struct 373 
                          (!type already_seen 372)
                          gc_pointed_to "throw_stmt_node"
                          (!srcfileloc  "except.h" 292)
                          (!fields 2 
                           (!pair  "stmt"
                            (!type already_seen 311)
                            (!srcfileloc  "except.h" 290)
                            nil )
                           (!pair  "lp_nr"
                            (!type already_seen 9)
                            (!srcfileloc  "except.h" 291)
                            nil )
                          )
                          nil 511 nil nil )
                        )
                        nil nil nil nil nil nil nil nil nil nil )
                      )
                      (!srcfileloc  "except.h" 207)
                      (!options 
                       (!option param_is type 
                        (!type already_seen 373)
                       )
                      )
                     )
                     (!pair  "ttype_data"
                      (!type already_seen 46)
                      (!srcfileloc  "except.h" 211)
                      nil )
                     (!pair  "ehspec_data"
                      (!type union 374 nil  gc_used "eh_status_u"
                       (!srcfileloc  "except.h" 220)
                       (!fields 2 
                        (!pair  "arm_eabi"
                         (!type already_seen 46)
                         (!srcfileloc  "except.h" 218)
                         (!options 
                          (!option tag string  "1")
                         )
                        )
                        (!pair  "other"
                         (!type pointer 375 nil  gc_used
                          (!type user_struct 376 
                           (!type already_seen 375)
                           gc_pointed_to "vec<uchar,va_gc>"
                           (!srcfileloc  "function.h" 152)
                           (!fields 2 
                            (!pair  "va_gc"
                             (!type already_seen 3)
                             (!srcfileloc  "function.h" 152)
                             nil )
                            (!pair  "uchar"
                             (!type already_seen 29)
                             (!srcfileloc  "function.h" 152)
                             nil )
                           )
                          )
                         )
                         (!srcfileloc  "except.h" 219)
                         (!options 
                          (!option tag string  "0")
                         )
                        )
                       )
                       nil 511 nil )
                      (!srcfileloc  "except.h" 220)
                      (!options 
                       (!option desc string  "targetm.arm_eabi_unwinder")
                      )
                     )
                    )
                    nil 511 nil nil )
                  )
                  (!srcfileloc  "function.h" 530)
                  nil )
                 (!pair  "cfg"
                  (!type pointer 377 nil  gc_used
                   (!type struct 378 
                    (!type already_seen 377)
                    gc_pointed_to "control_flow_graph"
                    (!srcfileloc  "basic-block.h" 306)
                    (!fields 12 
                     (!pair  "x_entry_block_ptr"
                      (!type already_seen 298)
                      (!srcfileloc  "basic-block.h" 273)
                      nil )
                     (!pair  "x_exit_block_ptr"
                      (!type already_seen 298)
                      (!srcfileloc  "basic-block.h" 274)
                      nil )
                     (!pair  "x_basic_block_info"
                      (!type pointer 379 nil  gc_used
                       (!type user_struct 380 
                        (!type already_seen 379)
                        gc_pointed_to "vec<basic_block,va_gc>"
                        (!srcfileloc  "basic-block.h" 277)
                        (!fields 2 
                         (!pair  "va_gc"
                          (!type already_seen 3)
                          (!srcfileloc  "basic-block.h" 277)
                          nil )
                         (!pair  "basic_block"
                          (!type already_seen 298)
                          (!srcfileloc  "basic-block.h" 277)
                          nil )
                        )
                       )
                      )
                      (!srcfileloc  "basic-block.h" 277)
                      nil )
                     (!pair  "x_n_basic_blocks"
                      (!type already_seen 9)
                      (!srcfileloc  "basic-block.h" 280)
                      nil )
                     (!pair  "x_n_edges"
                      (!type already_seen 9)
                      (!srcfileloc  "basic-block.h" 283)
                      nil )
                     (!pair  "x_last_basic_block"
                      (!type already_seen 9)
                      (!srcfileloc  "basic-block.h" 286)
                      nil )
                     (!pair  "last_label_uid"
                      (!type already_seen 9)
                      (!srcfileloc  "basic-block.h" 289)
                      nil )
                     (!pair  "x_label_to_block_map"
                      (!type already_seen 379)
                      (!srcfileloc  "basic-block.h" 293)
                      nil )
                     (!pair  "x_profile_status"
                      (!type already_seen 9)
                      (!srcfileloc  "basic-block.h" 295)
                      nil )
                     (!pair  "x_dom_computed"
                      (!type array 381 nil  gc_used "2" 
                       (!type already_seen 9)
                      )
                      (!srcfileloc  "basic-block.h" 298)
                      nil )
                     (!pair  "x_n_bbs_in_dom_tree"
                      (!type array 382 nil  gc_used "2" 
                       (!type already_seen 9)
                      )
                      (!srcfileloc  "basic-block.h" 301)
                      nil )
                     (!pair  "max_jumptable_ents"
                      (!type already_seen 9)
                      (!srcfileloc  "basic-block.h" 305)
                      nil )
                    )
                    nil 511 nil nil )
                  )
                  (!srcfileloc  "function.h" 533)
                  nil )
                 (!pair  "gimple_body"
                  (!type already_seen 311)
                  (!srcfileloc  "function.h" 536)
                  nil )
                 (!pair  "gimple_df"
                  (!type pointer 383 nil  gc_used
                   (!type struct 384 
                    (!type already_seen 383)
                    gc_pointed_to "gimple_df"
                    (!srcfileloc  "gimple-ssa.h" 84)
                    (!fields 13 
                     (!pair  "modified_noreturn_calls"
                      (!type pointer 385 nil  gc_used
                       (!type user_struct 386 
                        (!type already_seen 385)
                        gc_pointed_to "vec<gimple,va_gc>"
                        (!srcfileloc  "gimple-ssa.h" 43)
                        (!fields 2 
                         (!pair  "va_gc"
                          (!type already_seen 3)
                          (!srcfileloc  "gimple-ssa.h" 43)
                          nil )
                         (!pair  "gimple"
                          (!type already_seen 311)
                          (!srcfileloc  "gimple-ssa.h" 43)
                          nil )
                        )
                       )
                      )
                      (!srcfileloc  "gimple-ssa.h" 43)
                      nil )
                     (!pair  "ssa_names"
                      (!type already_seen 46)
                      (!srcfileloc  "gimple-ssa.h" 46)
                      nil )
                     (!pair  "vop"
                      (!type already_seen 5)
                      (!srcfileloc  "gimple-ssa.h" 49)
                      nil )
                     (!pair  "escaped"
                      (!type struct 387 nil  gc_used "pt_solution"
                       (!srcfileloc  "tree-ssa-alias.h" 61)
                       (!fields 9 
                        (!pair  "anything"
                         (!type already_seen 9)
                         (!srcfileloc  "tree-ssa-alias.h" 32)
                         nil )
                        (!pair  "nonlocal"
                         (!type already_seen 9)
                         (!srcfileloc  "tree-ssa-alias.h" 36)
                         nil )
                        (!pair  "escaped"
                         (!type already_seen 9)
                         (!srcfileloc  "tree-ssa-alias.h" 40)
                         nil )
                        (!pair  "ipa_escaped"
                         (!type already_seen 9)
                         (!srcfileloc  "tree-ssa-alias.h" 44)
                         nil )
                        (!pair  "null"
                         (!type already_seen 9)
                         (!srcfileloc  "tree-ssa-alias.h" 48)
                         nil )
                        (!pair  "vars_contains_nonlocal"
                         (!type already_seen 9)
                         (!srcfileloc  "tree-ssa-alias.h" 52)
                         nil )
                        (!pair  "vars_contains_escaped"
                         (!type already_seen 9)
                         (!srcfileloc  "tree-ssa-alias.h" 54)
                         nil )
                        (!pair  "vars_contains_escaped_heap"
                         (!type already_seen 9)
                         (!srcfileloc  "tree-ssa-alias.h" 57)
                         nil )
                        (!pair  "vars"
                         (!type already_seen 121)
                         (!srcfileloc  "tree-ssa-alias.h" 60)
                         nil )
                       )
                       nil 511 nil nil )
                      (!srcfileloc  "gimple-ssa.h" 52)
                      nil )
                     (!pair  "decls_to_pointers"
                      (!type pointer 388 nil  gc_used
                       (!type struct 389 
                        (!type already_seen 388)
                        gc_pointed_to "pointer_map_t"
                        (!srcfileloc  "lto-streamer.h" 569)
                        (!fields 0 )
                        nil 511 nil nil )
                      )
                      (!srcfileloc  "gimple-ssa.h" 56)
                      (!options 
                       (!option skip string  "")
                      )
                     )
                     (!pair  "free_ssanames"
                      (!type already_seen 46)
                      (!srcfileloc  "gimple-ssa.h" 59)
                      nil )
                     (!pair  "default_defs"
                      (!type already_seen 54)
                      (!srcfileloc  "gimple-ssa.h" 65)
                      (!options 
                       (!option param_is type 
                        (!type already_seen 7)
                       )
                      )
                     )
                     (!pair  "ssa_renaming_needed"
                      (!type already_seen 9)
                      (!srcfileloc  "gimple-ssa.h" 68)
                      nil )
                     (!pair  "rename_vops"
                      (!type already_seen 9)
                      (!srcfileloc  "gimple-ssa.h" 71)
                      nil )
                     (!pair  "in_ssa_p"
                      (!type already_seen 9)
                      (!srcfileloc  "gimple-ssa.h" 74)
                      nil )
                     (!pair  "ipa_pta"
                      (!type already_seen 9)
                      (!srcfileloc  "gimple-ssa.h" 77)
                      nil )
                     (!pair  "ssa_operands"
                      (!type struct 390 nil  gc_used "ssa_operands"
                       (!srcfileloc  "tree-ssa-operands.h" 63)
                       (!fields 5 
                        (!pair  "operand_memory"
                         (!type pointer 391 nil  gc_used
                          (!type struct 392 
                           (!type already_seen 391)
                           gc_pointed_to "ssa_operand_memory_d"
                           (!srcfileloc  "tree-ssa-operands.h" 51)
                           (!fields 2 
                            (!pair  "next"
                             (!type already_seen 391)
                             (!srcfileloc  "tree-ssa-operands.h" 49)
                             nil )
                            (!pair  "mem"
                             (!type array 393 nil  gc_used "1" 
                              (!type already_seen 29)
                             )
                             (!srcfileloc  "tree-ssa-operands.h" 50)
                             nil )
                           )
                           (!options 
                            (!option variable_size string  "")
                            (!option chain_next string  "%h.next")
                           )
                           511 nil nil )
                         )
                         (!srcfileloc  "tree-ssa-operands.h" 55)
                         nil )
                        (!pair  "operand_memory_index"
                         (!type already_seen 9)
                         (!srcfileloc  "tree-ssa-operands.h" 56)
                         nil )
                        (!pair  "ssa_operand_mem_size"
                         (!type already_seen 9)
                         (!srcfileloc  "tree-ssa-operands.h" 58)
                         nil )
                        (!pair  "ops_active"
                         (!type already_seen 9)
                         (!srcfileloc  "tree-ssa-operands.h" 60)
                         nil )
                        (!pair  "free_uses"
                         (!type pointer 394 nil  gc_unused
                          (!type struct 395 
                           (!type already_seen 394)
                           gc_unused "use_optype_d"nil 
                           (!fields 0 )
                           nil 0 nil nil )
                         )
                         (!srcfileloc  "tree-ssa-operands.h" 62)
                         (!options 
                          (!option skip string  "")
                         )
                        )
                       )
                       nil 511 nil nil )
                      (!srcfileloc  "gimple-ssa.h" 79)
                      nil )
                     (!pair  "tm_restart"
                      (!type pointer 396 nil  gc_used
                       (!type param_struct 397 
                        (!type already_seen 396)
                        gc_pointed_to
                        (!type already_seen 50)
                        
                        (!type pointer 398 nil  gc_used
                         (!type struct 399 
                          (!type already_seen 398)
                          gc_pointed_to "tm_restart_node"
                          (!srcfileloc  "gimple-ssa.h" 32)
                          (!fields 2 
                           (!pair  "stmt"
                            (!type already_seen 311)
                            (!srcfileloc  "gimple-ssa.h" 30)
                            nil )
                           (!pair  "label_or_list"
                            (!type already_seen 5)
                            (!srcfileloc  "gimple-ssa.h" 31)
                            nil )
                          )
                          nil 511 nil nil )
                        )
                        nil nil nil nil nil nil nil nil nil nil )
                      )
                      (!srcfileloc  "gimple-ssa.h" 83)
                      (!options 
                       (!option param_is type 
                        (!type already_seen 399)
                       )
                      )
                     )
                    )
                    nil 511 nil nil )
                  )
                  (!srcfileloc  "function.h" 539)
                  nil )
                 (!pair  "x_current_loops"
                  (!type pointer 400 nil  gc_used
                   (!type struct 401 
                    (!type already_seen 400)
                    gc_pointed_to "loops"
                    (!srcfileloc  "cfgloop.h" 246)
                    (!fields 4 
                     (!pair  "state"
                      (!type already_seen 9)
                      (!srcfileloc  "cfgloop.h" 234)
                      nil )
                     (!pair  "larray"
                      (!type already_seen 307)
                      (!srcfileloc  "cfgloop.h" 237)
                      nil )
                     (!pair  "exits"
                      (!type pointer 402 nil  gc_used
                       (!type param_struct 403 
                        (!type already_seen 402)
                        gc_pointed_to
                        (!type already_seen 50)
                        
                        (!type already_seen 315)
                        nil nil nil nil nil nil nil nil nil nil )
                      )
                      (!srcfileloc  "cfgloop.h" 242)
                      (!options 
                       (!option param_is type 
                        (!type already_seen 316)
                       )
                      )
                     )
                     (!pair  "tree_root"
                      (!type already_seen 304)
                      (!srcfileloc  "cfgloop.h" 245)
                      nil )
                    )
                    nil 511 nil nil )
                  )
                  (!srcfileloc  "function.h" 542)
                  nil )
                 (!pair  "su"
                  (!type pointer 404 nil  gc_used
                   (!type struct 405 
                    (!type already_seen 404)
                    gc_pointed_to "stack_usage"
                    (!srcfileloc  "function.h" 515)
                    (!fields 4 
                     (!pair  "static_stack_size"
                      (!type already_seen 9)
                      (!srcfileloc  "function.h" 502)
                      nil )
                     (!pair  "dynamic_stack_size"
                      (!type already_seen 9)
                      (!srcfileloc  "function.h" 506)
                      nil )
                     (!pair  "pushed_stack_size"
                      (!type already_seen 9)
                      (!srcfileloc  "function.h" 510)
                      nil )
                     (!pair  "has_unbounded_dynamic_stack_size"
                      (!type already_seen 9)
                      (!srcfileloc  "function.h" 514)
                      nil )
                    )
                    nil 511 nil nil )
                  )
                  (!srcfileloc  "function.h" 545)
                  nil )
                 (!pair  "value_histograms"
                  (!type already_seen 51)
                  (!srcfileloc  "function.h" 548)
                  (!options 
                   (!option skip string  "")
                  )
                 )
                 (!pair  "decl"
                  (!type already_seen 5)
                  (!srcfileloc  "function.h" 553)
                  nil )
                 (!pair  "static_chain_decl"
                  (!type already_seen 5)
                  (!srcfileloc  "function.h" 557)
                  nil )
                 (!pair  "nonlocal_goto_save_area"
                  (!type already_seen 5)
                  (!srcfileloc  "function.h" 562)
                  nil )
                 (!pair  "local_decls"
                  (!type already_seen 46)
                  (!srcfileloc  "function.h" 565)
                  nil )
                 (!pair  "cilk_frame_decl"
                  (!type already_seen 5)
                  (!srcfileloc  "function.h" 568)
                  nil )
                 (!pair  "machine"
                  (!type pointer 406 nil  gc_unused
                   (!type struct 407 
                    (!type already_seen 406)
                    gc_maybe_pointed_to "machine_function"
                    (!srcfileloc  "config/arm/arm.h" 1551)
                    (!fields 15 
                     (!pair  "eh_epilogue_sp_ofs"
                      (!type already_seen 137)
                      (!srcfileloc  "config/arm/arm.h" 1519)
                      nil )
                     (!pair  "far_jump_used"
                      (!type already_seen 9)
                      (!srcfileloc  "config/arm/arm.h" 1521)
                      nil )
                     (!pair  "arg_pointer_live"
                      (!type already_seen 9)
                      (!srcfileloc  "config/arm/arm.h" 1523)
                      nil )
                     (!pair  "lr_save_eliminated"
                      (!type already_seen 9)
                      (!srcfileloc  "config/arm/arm.h" 1525)
                      nil )
                     (!pair  "stack_offsets"
                      (!type struct 408 nil  gc_used "arm_stack_offsets"
                       (!srcfileloc  "config/arm/arm.h" 1510)
                       (!fields 7 
                        (!pair  "saved_args"
                         (!type already_seen 9)
                         (!srcfileloc  "config/arm/arm.h" 1503)
                         nil )
                        (!pair  "frame"
                         (!type already_seen 9)
                         (!srcfileloc  "config/arm/arm.h" 1504)
                         nil )
                        (!pair  "saved_regs"
                         (!type already_seen 9)
                         (!srcfileloc  "config/arm/arm.h" 1505)
                         nil )
                        (!pair  "soft_frame"
                         (!type already_seen 9)
                         (!srcfileloc  "config/arm/arm.h" 1506)
                         nil )
                        (!pair  "locals_base"
                         (!type already_seen 9)
                         (!srcfileloc  "config/arm/arm.h" 1507)
                         nil )
                        (!pair  "outgoing_args"
                         (!type already_seen 9)
                         (!srcfileloc  "config/arm/arm.h" 1508)
                         nil )
                        (!pair  "saved_regs_mask"
                         (!type already_seen 9)
                         (!srcfileloc  "config/arm/arm.h" 1509)
                         nil )
                       )
                       nil 511 nil nil )
                      (!srcfileloc  "config/arm/arm.h" 1527)
                      nil )
                     (!pair  "func_type"
                      (!type already_seen 9)
                      (!srcfileloc  "config/arm/arm.h" 1529)
                      nil )
                     (!pair  "uses_anonymous_args"
                      (!type already_seen 9)
                      (!srcfileloc  "config/arm/arm.h" 1531)
                      nil )
                     (!pair  "sibcall_blocked"
                      (!type already_seen 9)
                      (!srcfileloc  "config/arm/arm.h" 1534)
                      nil )
                     (!pair  "pic_reg"
                      (!type already_seen 137)
                      (!srcfileloc  "config/arm/arm.h" 1536)
                      nil )
                     (!pair  "call_via"
                      (!type array 409 nil  gc_used "14" 
                       (!type already_seen 137)
                      )
                      (!srcfileloc  "config/arm/arm.h" 1540)
                      nil )
                     (!pair  "return_used_this_function"
                      (!type already_seen 9)
                      (!srcfileloc  "config/arm/arm.h" 1543)
                      nil )
                     (!pair  "thumb1_cc_insn"
                      (!type already_seen 137)
                      (!srcfileloc  "config/arm/arm.h" 1546)
                      nil )
                     (!pair  "thumb1_cc_op0"
                      (!type already_seen 137)
                      (!srcfileloc  "config/arm/arm.h" 1547)
                      nil )
                     (!pair  "thumb1_cc_op1"
                      (!type already_seen 137)
                      (!srcfileloc  "config/arm/arm.h" 1548)
                      nil )
                     (!pair  "thumb1_cc_mode"
                      (!type already_seen 9)
                      (!srcfileloc  "config/arm/arm.h" 1550)
                      nil )
                    )
                    nil 511 nil nil )
                  )
                  (!srcfileloc  "function.h" 573)
                  (!options 
                   (!option maybe_undef string  "")
                  )
                 )
                 (!pair  "language"
                  (!type already_seen 75)
                  (!srcfileloc  "function.h" 576)
                  nil )
                 (!pair  "used_types_hash"
                  (!type already_seen 54)
                  (!srcfileloc  "function.h" 579)
                  (!options 
                   (!option param_is type 
                    (!type already_seen 7)
                   )
                  )
                 )
                 (!pair  "fde"
                  (!type pointer 410 nil  gc_used
                   (!type struct 411 
                    (!type already_seen 410)
                    gc_pointed_to "dw_fde_node"
                    (!srcfileloc  "dwarf2out.h" 106)
                    (!fields 22 
                     (!pair  "decl"
                      (!type already_seen 5)
                      (!srcfileloc  "dwarf2out.h" 74)
                      nil )
                     (!pair  "dw_fde_begin"
                      (!type already_seen 37)
                      (!srcfileloc  "dwarf2out.h" 75)
                      nil )
                     (!pair  "dw_fde_current_label"
                      (!type already_seen 37)
                      (!srcfileloc  "dwarf2out.h" 76)
                      nil )
                     (!pair  "dw_fde_end"
                      (!type already_seen 37)
                      (!srcfileloc  "dwarf2out.h" 77)
                      nil )
                     (!pair  "dw_fde_vms_end_prologue"
                      (!type already_seen 37)
                      (!srcfileloc  "dwarf2out.h" 78)
                      nil )
                     (!pair  "dw_fde_vms_begin_epilogue"
                      (!type already_seen 37)
                      (!srcfileloc  "dwarf2out.h" 79)
                      nil )
                     (!pair  "dw_fde_second_begin"
                      (!type already_seen 37)
                      (!srcfileloc  "dwarf2out.h" 80)
                      nil )
                     (!pair  "dw_fde_second_end"
                      (!type already_seen 37)
                      (!srcfileloc  "dwarf2out.h" 81)
                      nil )
                     (!pair  "dw_fde_cfi"
                      (!type pointer 412 nil  gc_used
                       (!type user_struct 413 
                        (!type already_seen 412)
                        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 414 nil  gc_used
                           (!type struct 415 
                            (!type already_seen 414)
                            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 416 nil  gc_used "anonymous:/var/tmp/portage/cross-arm-none-eabi/gcc-4.9.2-r278/work/gcc-4.9.2/gcc-4.9/gcc/dwarf2out.h:47"
                               (!srcfileloc  "dwarf2out.h" 52)
                               (!fields 4 
                                (!pair  "dw_cfi_reg_num"
                                 (!type already_seen 9)
                                 (!srcfileloc  "dwarf2out.h" 48)
                                 (!options 
                                  (!option tag string  "dw_cfi_oprnd_reg_num")
                                 )
                                )
                                (!pair  "dw_cfi_offset"
                                 (!type already_seen 9)
                                 (!srcfileloc  "dwarf2out.h" 49)
                                 (!options 
                                  (!option tag string  "dw_cfi_oprnd_offset")
                                 )
                                )
                                (!pair  "dw_cfi_addr"
                                 (!type already_seen 37)
                                 (!srcfileloc  "dwarf2out.h" 50)
                                 (!options 
                                  (!option tag string  "dw_cfi_oprnd_addr")
                                 )
                                )
                                (!pair  "dw_cfi_loc"
                                 (!type pointer 417 nil  gc_used
                                  (!type struct 418 
                                   (!type already_seen 417)
                                   gc_pointed_to "dw_loc_descr_node"
                                   (!srcfileloc  "dwarf2out.h" 213)
                                   (!fields 6 
                                    (!pair  "dw_loc_next"
                                     (!type already_seen 417)
                                     (!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 419 
                                      (!type pointer 420 nil  gc_unused
                                       (!type already_seen 419)
                                      )
                                      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 421 nil  gc_used
                                         (!type struct 422 
                                          (!type already_seen 421)
                                          gc_pointed_to "addr_table_entry_struct"
                                          (!srcfileloc  "dwarf2out.c" 1259)
                                          (!fields 4 
                                           (!pair  "kind"
                                            (!type already_seen 9)
                                            (!srcfileloc  "dwarf2out.c" 1250)
                                            nil )
                                           (!pair  "refcount"
                                            (!type already_seen 9)
                                            (!srcfileloc  "dwarf2out.c" 1251)
                                            nil )
                                           (!pair  "index"
                                            (!type already_seen 9)
                                            (!srcfileloc  "dwarf2out.c" 1252)
                                            nil )
                                           (!pair  "addr"
                                            (!type union 423 nil  gc_used "addr_table_entry_struct_union"
                                             (!srcfileloc  "dwarf2out.c" 1257)
                                             (!fields 2 
                                              (!pair  "rtl"
                                               (!type already_seen 137)
                                               (!srcfileloc  "dwarf2out.c" 1255)
                                               (!options 
                                                (!option tag string  "0")
                                               )
                                              )
                                              (!pair  "label"
                                               (!type already_seen 37)
                                               (!srcfileloc  "dwarf2out.c" 1256)
                                               (!options 
                                                (!option tag string  "1")
                                               )
                                              )
                                             )
                                             nil 511 nil )
                                            (!srcfileloc  "dwarf2out.c" 1258)
                                            (!options 
                                             (!option desc string  "%1.kind")
                                            )
                                           )
                                          )
                                          nil 511 nil nil )
                                        )
                                        (!srcfileloc  "dwarf2out.h" 169)
                                        nil )
                                       (!pair  "v"
                                        (!type union 424 nil  gc_used "dw_val_struct_union"
                                         (!srcfileloc  "dwarf2out.h" 197)
                                         (!fields 17 
                                          (!pair  "val_addr"
                                           (!type already_seen 137)
                                           (!srcfileloc  "dwarf2out.h" 172)
                                           (!options 
                                            (!option tag string  "dw_val_class_addr")
                                           )
                                          )
                                          (!pair  "val_offset"
                                           (!type already_seen 9)
                                           (!srcfileloc  "dwarf2out.h" 173)
                                           (!options 
                                            (!option tag string  "dw_val_class_offset")
                                           )
                                          )
                                          (!pair  "val_loc_list"
                                           (!type pointer 425 nil  gc_used
                                            (!type struct 426 
                                             (!type already_seen 425)
                                             gc_pointed_to "dw_loc_list_struct"
                                             (!srcfileloc  "dwarf2out.c" 1284)
                                             (!fields 12 
                                              (!pair  "dw_loc_next"
                                               (!type already_seen 425)
                                               (!srcfileloc  "dwarf2out.c" 1266)
                                               nil )
                                              (!pair  "begin"
                                               (!type already_seen 37)
                                               (!srcfileloc  "dwarf2out.c" 1267)
                                               nil )
                                              (!pair  "begin_entry"
                                               (!type already_seen 421)
                                               (!srcfileloc  "dwarf2out.c" 1268)
                                               nil )
                                              (!pair  "end"
                                               (!type already_seen 37)
                                               (!srcfileloc  "dwarf2out.c" 1269)
                                               nil )
                                              (!pair  "ll_symbol"
                                               (!type already_seen 37)
                                               (!srcfileloc  "dwarf2out.c" 1270)
                                               nil )
                                              (!pair  "section"
                                               (!type already_seen 37)
                                               (!srcfileloc  "dwarf2out.c" 1272)
                                               nil )
                                              (!pair  "expr"
                                               (!type already_seen 417)
                                               (!srcfileloc  "dwarf2out.c" 1273)
                                               nil )
                                              (!pair  "hash"
                                               (!type already_seen 9)
                                               (!srcfileloc  "dwarf2out.c" 1274)
                                               nil )
                                              (!pair  "resolved_addr"
                                               (!type already_seen 9)
                                               (!srcfileloc  "dwarf2out.c" 1277)
                                               nil )
                                              (!pair  "replaced"
                                               (!type already_seen 9)
                                               (!srcfileloc  "dwarf2out.c" 1279)
                                               nil )
                                              (!pair  "emitted"
                                               (!type already_seen 9)
                                               (!srcfileloc  "dwarf2out.c" 1280)
                                               nil )
                                              (!pair  "force"
                                               (!type already_seen 9)
                                               (!srcfileloc  "dwarf2out.c" 1283)
                                               nil )
                                             )
                                             nil 511 nil nil )
                                           )
                                           (!srcfileloc  "dwarf2out.h" 174)
                                           (!options 
                                            (!option tag string  "dw_val_class_loc_list")
                                           )
                                          )
                                          (!pair  "val_loc"
                                           (!type already_seen 417)
                                           (!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 427 nil  gc_used "dw_vec_const"
                                            (!srcfileloc  "dwarf2out.h" 179)
                                            (!fields 3 
                                             (!pair  "array"
                                              (!type already_seen 37)
                                              (!srcfileloc  "dwarf2out.h" 157)
                                              (!options 
                                               (!option atomic string  "")
                                              )
                                             )
                                             (!pair  "length"
                                              (!type already_seen 9)
                                              (!srcfileloc  "dwarf2out.h" 158)
                                              nil )
                                             (!pair  "elt_size"
                                              (!type already_seen 9)
                                              (!srcfileloc  "dwarf2out.h" 159)
                                              nil )
                                            )
                                            nil 511 nil nil )
                                           (!srcfileloc  "dwarf2out.h" 179)
                                           (!options 
                                            (!option tag string  "dw_val_class_vec")
                                           )
                                          )
                                          (!pair  "val_die_ref"
                                           (!type struct 428 nil  gc_used "dw_val_die_union"
                                            (!srcfileloc  "dwarf2out.h" 184)
                                            (!fields 2 
                                             (!pair  "die"
                                              (!type pointer 429 
                                               (!type pointer 430 nil  gc_used
                                                (!type already_seen 429)
                                               )
                                               gc_pointed_to
                                               (!type struct 431 
                                                (!type already_seen 429)
                                                gc_pointed_to "die_struct"
                                                (!srcfileloc  "dwarf2out.c" 2602)
                                                (!fields 13 
                                                 (!pair  "die_id"
                                                  (!type union 432 nil  gc_used "die_symbol_or_type_node"
                                                   (!srcfileloc  "dwarf2out.c" 2586)
                                                   (!fields 2 
                                                    (!pair  "die_symbol"
                                                     (!type already_seen 37)
                                                     (!srcfileloc  "dwarf2out.c" 2584)
                                                     (!options 
                                                      (!option tag string  "0")
                                                     )
                                                    )
                                                    (!pair  "die_type_node"
                                                     (!type pointer 433 nil  gc_used
                                                      (!type struct 434 
                                                       (!type already_seen 433)
                                                       gc_pointed_to "comdat_type_struct"
                                                       (!srcfileloc  "dwarf2out.c" 2652)
                                                       (!fields 5 
                                                        (!pair  "root_die"
                                                         (!type already_seen 429)
                                                         (!srcfileloc  "dwarf2out.c" 2647)
                                                         nil )
                                                        (!pair  "type_die"
                                                         (!type already_seen 429)
                                                         (!srcfileloc  "dwarf2out.c" 2648)
                                                         nil )
                                                        (!pair  "skeleton_die"
                                                         (!type already_seen 429)
                                                         (!srcfileloc  "dwarf2out.c" 2649)
                                                         nil )
                                                        (!pair  "signature"
                                                         (!type array 435 nil  gc_used "DWARF_TYPE_SIGNATURE_SIZE" 
                                                          (!type already_seen 29)
                                                         )
                                                         (!srcfileloc  "dwarf2out.c" 2650)
                                                         nil )
                                                        (!pair  "next"
                                                         (!type already_seen 433)
                                                         (!srcfileloc  "dwarf2out.c" 2651)
                                                         nil )
                                                       )
                                                       nil 511 nil nil )
                                                     )
                                                     (!srcfileloc  "dwarf2out.c" 2585)
                                                     (!options 
                                                      (!option tag string  "1")
                                                     )
                                                    )
                                                   )
                                                   nil 511 nil )
                                                  (!srcfileloc  "dwarf2out.c" 2587)
                                                  (!options 
                                                   (!option desc string  "%0.comdat_type_p")
                                                  )
                                                 )
                                                 (!pair  "die_attr"
                                                  (!type pointer 436 nil  gc_used
                                                   (!type user_struct 437 
                                                    (!type already_seen 436)
                                                    gc_pointed_to "vec<dw_attr_node,va_gc>"
                                                    (!srcfileloc  "dwarf2out.c" 2588)
                                                    (!fields 2 
                                                     (!pair  "va_gc"
                                                      (!type already_seen 3)
                                                      (!srcfileloc  "dwarf2out.c" 2588)
                                                      nil )
                                                     (!pair  "dw_attr_node"
                                                      (!type struct 438 
                                                       (!type pointer 439 nil  gc_unused
                                                        (!type already_seen 438)
                                                       )
                                                       gc_used "dw_attr_struct"
                                                       (!srcfileloc  "dwarf2out.c" 2573)
                                                       (!fields 2 
                                                        (!pair  "dw_attr"
                                                         (!type already_seen 9)
                                                         (!srcfileloc  "dwarf2out.c" 2571)
                                                         nil )
                                                        (!pair  "dw_attr_val"
                                                         (!type already_seen 419)
                                                         (!srcfileloc  "dwarf2out.c" 2572)
                                                         nil )
                                                       )
                                                       nil 511 nil nil )
                                                      (!srcfileloc  "dwarf2out.c" 2588)
                                                      nil )
                                                    )
                                                   )
                                                  )
                                                  (!srcfileloc  "dwarf2out.c" 2588)
                                                  nil )
                                                 (!pair  "die_parent"
                                                  (!type already_seen 429)
                                                  (!srcfileloc  "dwarf2out.c" 2589)
                                                  nil )
                                                 (!pair  "die_child"
                                                  (!type already_seen 429)
                                                  (!srcfileloc  "dwarf2out.c" 2590)
                                                  nil )
                                                 (!pair  "die_sib"
                                                  (!type already_seen 429)
                                                  (!srcfileloc  "dwarf2out.c" 2591)
                                                  nil )
                                                 (!pair  "die_definition"
                                                  (!type already_seen 429)
                                                  (!srcfileloc  "dwarf2out.c" 2592)
                                                  nil )
                                                 (!pair  "die_offset"
                                                  (!type already_seen 9)
                                                  (!srcfileloc  "dwarf2out.c" 2593)
                                                  nil )
                                                 (!pair  "die_abbrev"
                                                  (!type already_seen 9)
                                                  (!srcfileloc  "dwarf2out.c" 2594)
                                                  nil )
                                                 (!pair  "die_mark"
                                                  (!type already_seen 9)
                                                  (!srcfileloc  "dwarf2out.c" 2595)
                                                  nil )
                                                 (!pair  "decl_id"
                                                  (!type already_seen 9)
                                                  (!srcfileloc  "dwarf2out.c" 2596)
                                                  nil )
                                                 (!pair  "die_tag"
                                                  (!type already_seen 9)
                                                  (!srcfileloc  "dwarf2out.c" 2597)
                                                  nil )
                                                 (!pair  "die_perennial_p"
                                                  (!type already_seen 9)
                                                  (!srcfileloc  "dwarf2out.c" 2599)
                                                  nil )
                                                 (!pair  "comdat_type_p"
                                                  (!type already_seen 9)
                                                  (!srcfileloc  "dwarf2out.c" 2600)
                                                  nil )
                                                )
                                                (!options 
                                                 (!option chain_circular string  "%h.die_sib")
                                                )
                                                511 nil nil )
                                              )
                                              (!srcfileloc  "dwarf2out.h" 182)
                                              nil )
                                             (!pair  "external"
                                              (!type already_seen 9)
                                              (!srcfileloc  "dwarf2out.h" 183)
                                              nil )
                                            )
                                            nil 511 nil nil )
                                           (!srcfileloc  "dwarf2out.h" 184)
                                           (!options 
                                            (!option tag string  "dw_val_class_die_ref")
                                           )
                                          )
                                          (!pair  "val_fde_index"
                                           (!type already_seen 9)
                                           (!srcfileloc  "dwarf2out.h" 185)
                                           (!options 
                                            (!option tag string  "dw_val_class_fde_ref")
                                           )
                                          )
                                          (!pair  "val_str"
                                           (!type pointer 440 nil  gc_used
                                            (!type struct 441 
                                             (!type already_seen 440)
                                             gc_pointed_to "indirect_string_node"
                                             (!srcfileloc  "dwarf2out.c" 212)
                                             (!fields 5 
                                              (!pair  "str"
                                               (!type already_seen 37)
                                               (!srcfileloc  "dwarf2out.c" 207)
                                               nil )
                                              (!pair  "refcount"
                                               (!type already_seen 9)
                                               (!srcfileloc  "dwarf2out.c" 208)
                                               nil )
                                              (!pair  "form"
                                               (!type already_seen 9)
                                               (!srcfileloc  "dwarf2out.c" 209)
                                               nil )
                                              (!pair  "label"
                                               (!type already_seen 37)
                                               (!srcfileloc  "dwarf2out.c" 210)
                                               nil )
                                              (!pair  "index"
                                               (!type already_seen 9)
                                               (!srcfileloc  "dwarf2out.c" 211)
                                               nil )
                                             )
                                             nil 511 nil nil )
                                           )
                                           (!srcfileloc  "dwarf2out.h" 186)
                                           (!options 
                                            (!option tag string  "dw_val_class_str")
                                           )
                                          )
                                          (!pair  "val_lbl_id"
                                           (!type already_seen 37)
                                           (!srcfileloc  "dwarf2out.h" 187)
                                           (!options 
                                            (!option tag string  "dw_val_class_lbl_id")
                                           )
                                          )
                                          (!pair  "val_flag"
                                           (!type already_seen 29)
                                           (!srcfileloc  "dwarf2out.h" 188)
                                           (!options 
                                            (!option tag string  "dw_val_class_flag")
                                           )
                                          )
                                          (!pair  "val_file"
                                           (!type pointer 442 nil  gc_used
                                            (!type struct 443 
                                             (!type already_seen 442)
                                             gc_pointed_to "dwarf_file_data"
                                             (!srcfileloc  "dwarf2out.c" 1229)
                                             (!fields 2 
                                              (!pair  "filename"
                                               (!type already_seen 37)
                                               (!srcfileloc  "dwarf2out.c" 1227)
                                               nil )
                                              (!pair  "emitted_number"
                                               (!type already_seen 9)
                                               (!srcfileloc  "dwarf2out.c" 1228)
                                               nil )
                                             )
                                             nil 511 nil nil )
                                           )
                                           (!srcfileloc  "dwarf2out.h" 189)
                                           (!options 
                                            (!option tag string  "dw_val_class_file")
                                           )
                                          )
                                          (!pair  "val_data8"
                                           (!type array 444 nil  gc_used "8" 
                                            (!type already_seen 29)
                                           )
                                           (!srcfileloc  "dwarf2out.h" 190)
                                           (!options 
                                            (!option tag string  "dw_val_class_data8")
                                           )
                                          )
                                          (!pair  "val_decl_ref"
                                           (!type already_seen 5)
                                           (!srcfileloc  "dwarf2out.h" 191)
                                           (!options 
                                            (!option tag string  "dw_val_class_decl_ref")
                                           )
                                          )
                                          (!pair  "val_vms_delta"
                                           (!type struct 445 nil  gc_used "dw_val_vms_delta_union"
                                            (!srcfileloc  "dwarf2out.h" 196)
                                            (!fields 2 
                                             (!pair  "lbl1"
                                              (!type already_seen 37)
                                              (!srcfileloc  "dwarf2out.h" 194)
                                              nil )
                                             (!pair  "lbl2"
                                              (!type already_seen 37)
                                              (!srcfileloc  "dwarf2out.h" 195)
                                              nil )
                                            )
                                            nil 511 nil nil )
                                           (!srcfileloc  "dwarf2out.h" 196)
                                           (!options 
                                            (!option tag string  "dw_val_class_vms_delta")
                                           )
                                          )
                                         )
                                         nil 511 nil )
                                        (!srcfileloc  "dwarf2out.h" 198)
                                        (!options 
                                         (!option desc string  "%1.val_class")
                                        )
                                       )
                                      )
                                      nil 511 nil nil )
                                     (!srcfileloc  "dwarf2out.h" 211)
                                     nil )
                                    (!pair  "dw_loc_oprnd2"
                                     (!type already_seen 419)
                                     (!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 416)
                              (!srcfileloc  "dwarf2out.h" 59)
                              (!options 
                               (!option desc string  "dw_cfi_oprnd2_desc (%1.dw_cfi_opc)")
                              )
                             )
                            )
                            nil 511 nil nil )
                          )
                          (!srcfileloc  "dwarf2out.h" 63)
                          nil )
                        )
                       )
                      )
                      (!srcfileloc  "dwarf2out.h" 82)
                      nil )
                     (!pair  "dw_fde_switch_cfi_index"
                      (!type already_seen 9)
                      (!srcfileloc  "dwarf2out.h" 83)
                      nil )
                     (!pair  "stack_realignment"
                      (!type already_seen 9)
                      (!srcfileloc  "dwarf2out.h" 84)
                      nil )
                     (!pair  "funcdef_number"
                      (!type already_seen 9)
                      (!srcfileloc  "dwarf2out.h" 86)
                      nil )
                     (!pair  "fde_index"
                      (!type already_seen 9)
                      (!srcfileloc  "dwarf2out.h" 87)
                      nil )
                     (!pair  "drap_reg"
                      (!type already_seen 9)
                      (!srcfileloc  "dwarf2out.h" 90)
                      nil )
                     (!pair  "vdrap_reg"
                      (!type already_seen 9)
                      (!srcfileloc  "dwarf2out.h" 92)
                      nil )
                     (!pair  "all_throwers_are_sibcalls"
                      (!type already_seen 9)
                      (!srcfileloc  "dwarf2out.h" 94)
                      nil )
                     (!pair  "uses_eh_lsda"
                      (!type already_seen 9)
                      (!srcfileloc  "dwarf2out.h" 95)
                      nil )
                     (!pair  "nothrow"
                      (!type already_seen 9)
                      (!srcfileloc  "dwarf2out.h" 96)
                      nil )
                     (!pair  "stack_realign"
                      (!type already_seen 9)
                      (!srcfileloc  "dwarf2out.h" 98)
                      nil )
                     (!pair  "drap_reg_saved"
                      (!type already_seen 9)
                      (!srcfileloc  "dwarf2out.h" 100)
                      nil )
                     (!pair  "in_std_section"
                      (!type already_seen 9)
                      (!srcfileloc  "dwarf2out.h" 102)
                      nil )
                     (!pair  "second_in_std_section"
                      (!type already_seen 9)
                      (!srcfileloc  "dwarf2out.h" 105)
                      nil )
                    )
                    nil 511 nil nil )
                  )
                  (!srcfileloc  "function.h" 584)
                  nil )
                 (!pair  "last_stmt_uid"
                  (!type already_seen 9)
                  (!srcfileloc  "function.h" 587)
                  nil )
                 (!pair  "module_id"
                  (!type already_seen 9)
                  (!srcfileloc  "function.h" 590)
                  nil )
                 (!pair  "funcdef_no"
                  (!type already_seen 9)
                  (!srcfileloc  "function.h" 593)
                  nil )
                 (!pair  "function_start_locus"
                  (!type already_seen 9)
                  (!srcfileloc  "function.h" 596)
                  nil )
                 (!pair  "function_end_locus"
                  (!type already_seen 9)
                  (!srcfileloc  "function.h" 599)
                  nil )
                 (!pair  "curr_properties"
                  (!type already_seen 9)
                  (!srcfileloc  "function.h" 602)
                  nil )
                 (!pair  "last_verified"
                  (!type already_seen 9)
                  (!srcfileloc  "function.h" 603)
                  nil )
                 (!pair  "cannot_be_copied_reason"
                  (!type already_seen 37)
                  (!srcfileloc  "function.h" 608)
                  (!options 
                   (!option skip string  "")
                  )
                 )
                 (!pair  "last_clique"
                  (!type already_seen 9)
                  (!srcfileloc  "function.h" 611)
                  nil )
                 (!pair  "va_list_gpr_size"
                  (!type already_seen 9)
                  (!srcfileloc  "function.h" 618)
                  nil )
                 (!pair  "va_list_fpr_size"
                  (!type already_seen 9)
                  (!srcfileloc  "function.h" 622)
                  nil )
                 (!pair  "calls_setjmp"
                  (!type already_seen 9)
                  (!srcfileloc  "function.h" 625)
                  nil )
                 (!pair  "calls_alloca"
                  (!type already_seen 9)
                  (!srcfileloc  "function.h" 629)
                  nil )
                 (!pair  "is_cilk_function"
                  (!type already_seen 9)
                  (!srcfileloc  "function.h" 632)
                  nil )
                 (!pair  "calls_cilk_spawn"
                  (!type already_seen 9)
                  (!srcfileloc  "function.h" 635)
                  nil )
                 (!pair  "has_nonlocal_label"
                  (!type already_seen 9)
                  (!srcfileloc  "function.h" 639)
                  nil )
                 (!pair  "cannot_be_copied_set"
                  (!type already_seen 9)
                  (!srcfileloc  "function.h" 644)
                  nil )
                 (!pair  "stdarg"
                  (!type already_seen 9)
                  (!srcfileloc  "function.h" 647)
                  nil )
                 (!pair  "after_inlining"
                  (!type already_seen 9)
                  (!srcfileloc  "function.h" 649)
                  nil )
                 (!pair  "always_inline_functions_inlined"
                  (!type already_seen 9)
                  (!srcfileloc  "function.h" 650)
                  nil )
                 (!pair  "can_throw_non_call_exceptions"
                  (!type already_seen 9)
                  (!srcfileloc  "function.h" 654)
                  nil )
                 (!pair  "can_delete_dead_exceptions"
                  (!type already_seen 9)
                  (!srcfileloc  "function.h" 658)
                  nil )
                 (!pair  "returns_struct"
                  (!type already_seen 9)
                  (!srcfileloc  "function.h" 665)
                  nil )
                 (!pair  "returns_pcc_struct"
                  (!type already_seen 9)
                  (!srcfileloc  "function.h" 669)
                  nil )
                 (!pair  "has_local_explicit_reg_vars"
                  (!type already_seen 9)
                  (!srcfileloc  "function.h" 673)
                  nil )
                 (!pair  "is_thunk"
                  (!type already_seen 9)
                  (!srcfileloc  "function.h" 679)
                  nil )
                 (!pair  "has_force_vect_loops"
                  (!type already_seen 9)
                  (!srcfileloc  "function.h" 683)
                  nil )
                 (!pair  "has_simduid_loops"
                  (!type already_seen 9)
                  (!srcfileloc  "function.h" 687)
                  nil )
                 (!pair  "tail_call_marked"
                  (!type already_seen 9)
                  (!srcfileloc  "function.h" 690)
                  nil )
                )
                nil 511 nil nil )
              )
              (!srcfileloc  "tree-core.h" 1504)
              nil )
             (!pair  "personality"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1507)
              nil )
             (!pair  "function_specific_target"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1510)
              nil )
             (!pair  "function_specific_optimization"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1511)
              nil )
             (!pair  "function_code"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1517)
              nil )
             (!pair  "built_in_class"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1518)
              nil )
             (!pair  "static_ctor_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1520)
              nil )
             (!pair  "static_dtor_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1521)
              nil )
             (!pair  "uninlinable"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1522)
              nil )
             (!pair  "possibly_inlined"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1524)
              nil )
             (!pair  "novops_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1525)
              nil )
             (!pair  "returns_twice_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1526)
              nil )
             (!pair  "malloc_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1527)
              nil )
             (!pair  "operator_new_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1528)
              nil )
             (!pair  "declared_inline_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1529)
              nil )
             (!pair  "regdecl_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1530)
              nil )
             (!pair  "no_inline_warning_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1531)
              nil )
             (!pair  "no_instrument_function_entry_exit"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1533)
              nil )
             (!pair  "no_limit_stack"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1534)
              nil )
             (!pair  "disregard_inline_limits"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1535)
              nil )
             (!pair  "pure_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1536)
              nil )
             (!pair  "looping_const_or_pure_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1537)
              nil )
             (!pair  "has_debug_args_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1538)
              nil )
             (!pair  "tm_clone_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1539)
              nil )
             (!pair  "versioned_function"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1540)
              nil )
            )
            nil 511 nil nil )
           (!srcfileloc  "tree-core.h" 1633)
           (!options 
            (!option tag string  "TS_FUNCTION_DECL")
           )
          )
          (!pair  "translation_unit_decl"
           (!type struct 446 nil  gc_used "tree_translation_unit_decl"
            (!srcfileloc  "tree-core.h" 1550)
            (!fields 2 
             (!pair  "common"
              (!type already_seen 39)
              (!srcfileloc  "tree-core.h" 1545)
              nil )
             (!pair  "language"
              (!type already_seen 37)
              (!srcfileloc  "tree-core.h" 1547)
              (!options 
               (!option skip string  "")
              )
             )
            )
            nil 511 nil nil )
           (!srcfileloc  "tree-core.h" 1635)
           (!options 
            (!option tag string  "TS_TRANSLATION_UNIT_DECL")
           )
          )
          (!pair  "type_common"
           (!type struct 447 nil  gc_used "tree_type_common"
            (!srcfileloc  "tree-core.h" 1302)
            (!fields 30 
             (!pair  "common"
              (!type already_seen 16)
              (!srcfileloc  "tree-core.h" 1264)
              nil )
             (!pair  "size"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1265)
              nil )
             (!pair  "size_unit"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1266)
              nil )
             (!pair  "attributes"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1267)
              nil )
             (!pair  "uid"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1268)
              nil )
             (!pair  "precision"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1270)
              nil )
             (!pair  "no_force_blk_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1271)
              nil )
             (!pair  "needs_constructing_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1272)
              nil )
             (!pair  "transparent_aggr_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1273)
              nil )
             (!pair  "restrict_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1274)
              nil )
             (!pair  "contains_placeholder_bits"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1275)
              nil )
             (!pair  "mode"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1277)
              nil )
             (!pair  "string_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1279)
              nil )
             (!pair  "lang_flag_0"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1280)
              nil )
             (!pair  "lang_flag_1"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1281)
              nil )
             (!pair  "lang_flag_2"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1282)
              nil )
             (!pair  "lang_flag_3"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1283)
              nil )
             (!pair  "lang_flag_4"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1284)
              nil )
             (!pair  "lang_flag_5"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1285)
              nil )
             (!pair  "lang_flag_6"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1286)
              nil )
             (!pair  "align"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1288)
              nil )
             (!pair  "alias_set"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1289)
              nil )
             (!pair  "pointer_to"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1290)
              nil )
             (!pair  "reference_to"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1291)
              nil )
             (!pair  "symtab"
              (!type union 448 nil  gc_used "tree_type_symtab"
               (!srcfileloc  "tree-core.h" 1296)
               (!fields 3 
                (!pair  "address"
                 (!type already_seen 9)
                 (!srcfileloc  "tree-core.h" 1293)
                 (!options 
                  (!option tag string  "TYPE_SYMTAB_IS_ADDRESS")
                 )
                )
                (!pair  "pointer"
                 (!type already_seen 37)
                 (!srcfileloc  "tree-core.h" 1294)
                 (!options 
                  (!option tag string  "TYPE_SYMTAB_IS_POINTER")
                 )
                )
                (!pair  "die"
                 (!type already_seen 429)
                 (!srcfileloc  "tree-core.h" 1295)
                 (!options 
                  (!option tag string  "TYPE_SYMTAB_IS_DIE")
                 )
                )
               )
               nil 511 nil )
              (!srcfileloc  "tree-core.h" 1296)
              (!options 
               (!option desc string  "debug_hooks->tree_type_symtab_field")
              )
             )
             (!pair  "canonical"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1297)
              nil )
             (!pair  "next_variant"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1298)
              nil )
             (!pair  "main_variant"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1299)
              nil )
             (!pair  "context"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1300)
              nil )
             (!pair  "name"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1301)
              nil )
            )
            nil 511 nil nil )
           (!srcfileloc  "tree-core.h" 1636)
           (!options 
            (!option tag string  "TS_TYPE_COMMON")
           )
          )
          (!pair  "type_with_lang_specific"
           (!type struct 449 nil  gc_used "tree_type_with_lang_specific"
            (!srcfileloc  "tree-core.h" 1308)
            (!fields 2 
             (!pair  "common"
              (!type already_seen 447)
              (!srcfileloc  "tree-core.h" 1305)
              nil )
             (!pair  "lang_specific"
              (!type pointer 450 nil  gc_used
               (!type lang_struct 451 
                (!type already_seen 450)
                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 452 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 451)
                  nil )
                 
                 (!type struct 453 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 454 nil  gc_used
                     (!type struct 455 
                      (!type already_seen 454)
                      gc_pointed_to "JCF"
                      (!srcfileloc  "java/jcf.h" 123)
                      (!fields 16 
                       (!pair  "buffer"
                        (!type already_seen 37)
                        (!srcfileloc  "java/jcf.h" 106)
                        (!options 
                         (!option skip string  "")
                        )
                       )
                       (!pair  "buffer_end"
                        (!type already_seen 37)
                        (!srcfileloc  "java/jcf.h" 107)
                        (!options 
                         (!option skip string  "")
                        )
                       )
                       (!pair  "read_ptr"
                        (!type already_seen 37)
                        (!srcfileloc  "java/jcf.h" 108)
                        (!options 
                         (!option skip string  "")
                        )
                       )
                       (!pair  "read_end"
                        (!type already_seen 37)
                        (!srcfileloc  "java/jcf.h" 109)
                        (!options 
                         (!option skip string  "")
                        )
                       )
                       (!pair  "right_zip"
                        (!type already_seen 9)
                        (!srcfileloc  "java/jcf.h" 110)
                        nil )
                       (!pair  "finished"
                        (!type already_seen 9)
                        (!srcfileloc  "java/jcf.h" 111)
                        nil )
                       (!pair  "filbuf"
                        (!type already_seen 9)
                        (!srcfileloc  "java/jcf.h" 112)
                        nil )
                       (!pair  "read_state"
                        (!type already_seen 10)
                        (!srcfileloc  "java/jcf.h" 113)
                        (!options 
                         (!option skip string  "")
                        )
                       )
                       (!pair  "filename"
                        (!type already_seen 37)
                        (!srcfileloc  "java/jcf.h" 114)
                        nil )
                       (!pair  "classname"
                        (!type already_seen 37)
                        (!srcfileloc  "java/jcf.h" 115)
                        nil )
                       (!pair  "zipd"
                        (!type pointer 456 nil  gc_unused
                         (!type struct 457 
                          (!type already_seen 456)
                          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 458 
                         (!type pointer 459 nil  gc_used
                          (!type already_seen 458)
                         )
                         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 460 nil  gc_unused
                            (!type union 461 
                             (!type already_seen 460)
                             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 462 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 463 nil  gc_unused
                            (!type struct 464 
                             (!type already_seen 463)
                             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 459)
                    (!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 465 nil  gc_used
                     (!type user_struct 466 
                      (!type already_seen 465)
                      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 467 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 465)
                    (!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 465)
                    (!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 468 nil  gc_used
                     (!type user_struct 469 
                      (!type already_seen 468)
                      gc_pointed_to "vec<constructor_elt,va_gc>"
                      (!srcfileloc  "tree-core.h" 1130)
                      (!fields 2 
                       (!pair  "va_gc"
                        (!type already_seen 3)
                        (!srcfileloc  "tree-core.h" 1130)
                        nil )
                       (!pair  "constructor_elt"
                        (!type struct 470 nil  gc_used "constructor_elt"
                         (!srcfileloc  "tree-core.h" 1130)
                         (!fields 2 
                          (!pair  "index"
                           (!type already_seen 5)
                           (!srcfileloc  "tree-core.h" 1124)
                           nil )
                          (!pair  "value"
                           (!type already_seen 5)
                           (!srcfileloc  "tree-core.h" 1125)
                           nil )
                         )
                         nil 511 nil nil )
                        (!srcfileloc  "tree-core.h" 1130)
                        nil )
                      )
                     )
                    )
                    (!srcfileloc  "java/java-tree.h" 899)
                    nil )
                   (!pair  "type_to_runtime_map"
                    (!type already_seen 48)
                    (!srcfileloc  "java/java-tree.h" 901)
                    (!options 
                     (!option param_is type 
                      (!type already_seen 53)
                     )
                    )
                   )
                   (!pair  "type_assertions"
                    (!type pointer 471 nil  gc_used
                     (!type param_struct 472 
                      (!type already_seen 471)
                      gc_pointed_to
                      (!type already_seen 50)
                      
                      (!type pointer 473 nil  gc_used
                       (!type struct 474 
                        (!type already_seen 473)
                        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 474)
                     )
                    )
                   )
                   (!pair  "package"
                    (!type already_seen 5)
                    (!srcfileloc  "java/java-tree.h" 909)
                    nil )
                   (!pair  "reflection_data"
                    (!type already_seen 37)
                    (!srcfileloc  "java/java-tree.h" 912)
                    (!options 
                     (!option skip string  "")
                    )
                   )
                   (!pair  "reflection_datasize"
                    (!type already_seen 9)
                    (!srcfileloc  "java/java-tree.h" 915)
                    nil )
                   (!pair  "pic"
                    (!type already_seen 9)
                    (!srcfileloc  "java/java-tree.h" 918)
                    nil )
                   (!pair  "poic"
                    (!type already_seen 9)
                    (!srcfileloc  "java/java-tree.h" 919)
                    nil )
                   (!pair  "strictfp"
                    (!type already_seen 9)
                    (!srcfileloc  "java/java-tree.h" 920)
                    nil )
                   (!pair  "assertions"
                    (!type already_seen 9)
                    (!srcfileloc  "java/java-tree.h" 921)
                    nil )
                   (!pair  "dummy_class"
                    (!type already_seen 9)
                    (!srcfileloc  "java/java-tree.h" 922)
                    nil )
                   (!pair  "enum_class"
                    (!type already_seen 9)
                    (!srcfileloc  "java/java-tree.h" 923)
                    nil )
                   (!pair  "synthetic"
                    (!type already_seen 9)
                    (!srcfileloc  "java/java-tree.h" 924)
                    nil )
                   (!pair  "annotation"
                    (!type already_seen 9)
                    (!srcfileloc  "java/java-tree.h" 925)
                    nil )
                  )
                  (!options 
                   (!option variable_size string  "")
                  )
                  32 
                  (!type already_seen 451)
                  nil )
                 
                 (!type struct 475 nil  gc_pointed_to "lang_type"
                  (!srcfileloc  "go/go-lang.c" 50)
                  (!fields 1 
                   (!pair  "dummy"
                    (!type already_seen 29)
                    (!srcfileloc  "go/go-lang.c" 49)
                    nil )
                  )
                  nil 16 
                  (!type already_seen 451)
                  nil )
                 
                 (!type struct 476 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 477 nil  gc_used "GFC_MAX_DIMENSIONS" 
                     (!type already_seen 5)
                    )
                    (!srcfileloc  "fortran/trans.h" 806)
                    nil )
                   (!pair  "ubound"
                    (!type array 478 nil  gc_used "GFC_MAX_DIMENSIONS" 
                     (!type already_seen 5)
                    )
                    (!srcfileloc  "fortran/trans.h" 807)
                    nil )
                   (!pair  "stride"
                    (!type array 479 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 480 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 451)
                  nil )
                 
                 (!type struct 481 nil  gc_pointed_to "lang_type"
                  (!srcfileloc  "cp/cp-tree.h" 1506)
                  (!fields 1 
                   (!pair  "u"
                    (!type union 482 nil  gc_used "lang_type_u"
                     (!srcfileloc  "cp/cp-tree.h" 1505)
                     (!fields 3 
                      (!pair  "h"
                       (!type struct 483 nil  gc_used "lang_type_header"
                        (!srcfileloc  "cp/cp-tree.h" 1390)
                        (!fields 8 
                         (!pair  "is_lang_type_class"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1380)
                          nil )
                         (!pair  "has_type_conversion"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1382)
                          nil )
                         (!pair  "has_copy_ctor"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1383)
                          nil )
                         (!pair  "has_default_ctor"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1384)
                          nil )
                         (!pair  "const_needs_init"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1385)
                          nil )
                         (!pair  "ref_needs_init"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1386)
                          nil )
                         (!pair  "has_const_copy_assign"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1387)
                          nil )
                         (!pair  "spare"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1389)
                          nil )
                        )
                        nil 260 nil nil )
                       (!srcfileloc  "cp/cp-tree.h" 1502)
                       (!options 
                        (!option skip string  "")
                       )
                      )
                      (!pair  "c"
                       (!type struct 484 nil  gc_used "lang_type_class"
                        (!srcfileloc  "cp/cp-tree.h" 1492)
                        (!fields 63 
                         (!pair  "h"
                          (!type already_seen 483)
                          (!srcfileloc  "cp/cp-tree.h" 1406)
                          nil )
                         (!pair  "align"
                          (!type already_seen 29)
                          (!srcfileloc  "cp/cp-tree.h" 1408)
                          nil )
                         (!pair  "has_mutable"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1410)
                          nil )
                         (!pair  "com_interface"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1411)
                          nil )
                         (!pair  "non_pod_class"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1412)
                          nil )
                         (!pair  "nearly_empty_p"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1413)
                          nil )
                         (!pair  "user_align"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1414)
                          nil )
                         (!pair  "has_copy_assign"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1415)
                          nil )
                         (!pair  "has_new"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1416)
                          nil )
                         (!pair  "has_array_new"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1417)
                          nil )
                         (!pair  "gets_delete"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1419)
                          nil )
                         (!pair  "interface_only"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1420)
                          nil )
                         (!pair  "interface_unknown"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1421)
                          nil )
                         (!pair  "contains_empty_class_p"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1422)
                          nil )
                         (!pair  "anon_aggr"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1423)
                          nil )
                         (!pair  "non_zero_init"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1424)
                          nil )
                         (!pair  "empty_p"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1425)
                          nil )
                         (!pair  "vec_new_uses_cookie"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1427)
                          nil )
                         (!pair  "declared_class"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1428)
                          nil )
                         (!pair  "diamond_shaped"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1429)
                          nil )
                         (!pair  "repeated_base"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1430)
                          nil )
                         (!pair  "being_defined"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1431)
                          nil )
                         (!pair  "java_interface"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1432)
                          nil )
                         (!pair  "debug_requested"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1433)
                          nil )
                         (!pair  "fields_readonly"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1434)
                          nil )
                         (!pair  "use_template"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1436)
                          nil )
                         (!pair  "ptrmemfunc_flag"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1437)
                          nil )
                         (!pair  "was_anonymous"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1438)
                          nil )
                         (!pair  "lazy_default_ctor"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1439)
                          nil )
                         (!pair  "lazy_copy_ctor"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1440)
                          nil )
                         (!pair  "lazy_copy_assign"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1441)
                          nil )
                         (!pair  "lazy_destructor"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1442)
                          nil )
                         (!pair  "has_const_copy_ctor"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1444)
                          nil )
                         (!pair  "has_complex_copy_ctor"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1445)
                          nil )
                         (!pair  "has_complex_copy_assign"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1446)
                          nil )
                         (!pair  "non_aggregate"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1447)
                          nil )
                         (!pair  "has_complex_dflt"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1448)
                          nil )
                         (!pair  "has_list_ctor"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1449)
                          nil )
                         (!pair  "non_std_layout"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1450)
                          nil )
                         (!pair  "is_literal"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1451)
                          nil )
                         (!pair  "lazy_move_ctor"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1453)
                          nil )
                         (!pair  "lazy_move_assign"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1454)
                          nil )
                         (!pair  "has_complex_move_ctor"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1455)
                          nil )
                         (!pair  "has_complex_move_assign"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1456)
                          nil )
                         (!pair  "has_constexpr_ctor"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1457)
                          nil )
                         (!pair  "dummy"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1466)
                          nil )
                         (!pair  "primary_base"
                          (!type already_seen 5)
                          (!srcfileloc  "cp/cp-tree.h" 1468)
                          nil )
                         (!pair  "vcall_indices"
                          (!type pointer 485 nil  gc_used
                           (!type user_struct 486 
                            (!type already_seen 485)
                            gc_pointed_to "vec<tree_pair_s,va_gc>"
                            (!srcfileloc  "cp/cp-tree.h" 1469)
                            (!fields 2 
                             (!pair  "va_gc"
                              (!type already_seen 3)
                              (!srcfileloc  "cp/cp-tree.h" 1469)
                              nil )
                             (!pair  "tree_pair_s"
                              (!type struct 487 
                               (!type pointer 488 nil  gc_unused
                                (!type already_seen 487)
                               )
                               gc_used "tree_pair_s"
                               (!srcfileloc  "cp/cp-tree.h" 1373)
                               (!fields 2 
                                (!pair  "purpose"
                                 (!type already_seen 5)
                                 (!srcfileloc  "cp/cp-tree.h" 1371)
                                 nil )
                                (!pair  "value"
                                 (!type already_seen 5)
                                 (!srcfileloc  "cp/cp-tree.h" 1372)
                                 nil )
                               )
                               nil 260 nil nil )
                              (!srcfileloc  "cp/cp-tree.h" 1469)
                              nil )
                            )
                           )
                          )
                          (!srcfileloc  "cp/cp-tree.h" 1469)
                          nil )
                         (!pair  "vtables"
                          (!type already_seen 5)
                          (!srcfileloc  "cp/cp-tree.h" 1470)
                          nil )
                         (!pair  "typeinfo_var"
                          (!type already_seen 5)
                          (!srcfileloc  "cp/cp-tree.h" 1471)
                          nil )
                         (!pair  "vbases"
                          (!type already_seen 46)
                          (!srcfileloc  "cp/cp-tree.h" 1472)
                          nil )
                         (!pair  "nested_udts"
                          (!type pointer 489 nil  gc_used
                           (!type struct 490 
                            (!type already_seen 489)
                            gc_pointed_to "binding_table_s"
                            (!srcfileloc  "cp/name-lookup.c" 141)
                            (!fields 3 
                             (!pair  "chain"
                              (!type pointer 491 nil  gc_unused
                               (!type pointer 492 
                                (!type already_seen 491)
                                gc_used
                                (!type struct 493 
                                 (!type already_seen 492)
                                 gc_pointed_to "binding_entry_s"
                                 (!srcfileloc  "cp/name-lookup.h" 38)
                                 (!fields 3 
                                  (!pair  "chain"
                                   (!type already_seen 492)
                                   (!srcfileloc  "cp/name-lookup.h" 35)
                                   nil )
                                  (!pair  "name"
                                   (!type already_seen 5)
                                   (!srcfileloc  "cp/name-lookup.h" 36)
                                   nil )
                                  (!pair  "type"
                                   (!type already_seen 5)
                                   (!srcfileloc  "cp/name-lookup.h" 37)
                                   nil )
                                 )
                                 nil 260 nil nil )
                               )
                              )
                              (!srcfileloc  "cp/name-lookup.c" 133)
                              (!options 
                               (!option length string  "%h.chain_count")
                              )
                             )
                             (!pair  "chain_count"
                              (!type already_seen 9)
                              (!srcfileloc  "cp/name-lookup.c" 137)
                              nil )
                             (!pair  "entry_count"
                              (!type already_seen 9)
                              (!srcfileloc  "cp/name-lookup.c" 140)
                              nil )
                            )
                            nil 260 nil nil )
                          )
                          (!srcfileloc  "cp/cp-tree.h" 1473)
                          nil )
                         (!pair  "as_base"
                          (!type already_seen 5)
                          (!srcfileloc  "cp/cp-tree.h" 1474)
                          nil )
                         (!pair  "pure_virtuals"
                          (!type already_seen 46)
                          (!srcfileloc  "cp/cp-tree.h" 1475)
                          nil )
                         (!pair  "friend_classes"
                          (!type already_seen 5)
                          (!srcfileloc  "cp/cp-tree.h" 1476)
                          nil )
                         (!pair  "methods"
                          (!type already_seen 46)
                          (!srcfileloc  "cp/cp-tree.h" 1477)
                          (!options 
                           (!option reorder string  "resort_type_method_vec")
                          )
                         )
                         (!pair  "key_method"
                          (!type already_seen 5)
                          (!srcfileloc  "cp/cp-tree.h" 1478)
                          nil )
                         (!pair  "decl_list"
                          (!type already_seen 5)
                          (!srcfileloc  "cp/cp-tree.h" 1479)
                          nil )
                         (!pair  "template_info"
                          (!type already_seen 5)
                          (!srcfileloc  "cp/cp-tree.h" 1480)
                          nil )
                         (!pair  "befriending_classes"
                          (!type already_seen 5)
                          (!srcfileloc  "cp/cp-tree.h" 1481)
                          nil )
                         (!pair  "objc_info"
                          (!type already_seen 5)
                          (!srcfileloc  "cp/cp-tree.h" 1485)
                          nil )
                         (!pair  "sorted_fields"
                          (!type pointer 494 nil  gc_used
                           (!type struct 495 
                            (!type already_seen 494)
                            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 496 nil  gc_used "1" 
                               (!type already_seen 5)
                              )
                              (!srcfileloc  "c-family/c-common.h" 445)
                              (!options 
                               (!option length string  "%h.len")
                              )
                             )
                            )
                            (!options 
                             (!option variable_size string  "")
                            )
                            390 nil nil )
                          )
                          (!srcfileloc  "cp/cp-tree.h" 1489)
                          (!options 
                           (!option reorder string  "resort_sorted_fields")
                          )
                         )
                         (!pair  "lambda_expr"
                          (!type already_seen 5)
                          (!srcfileloc  "cp/cp-tree.h" 1491)
                          nil )
                        )
                        nil 260 nil nil )
                       (!srcfileloc  "cp/cp-tree.h" 1503)
                       (!options 
                        (!option tag string  "1")
                       )
                      )
                      (!pair  "ptrmem"
                       (!type struct 497 nil  gc_used "lang_type_ptrmem"
                        (!srcfileloc  "cp/cp-tree.h" 1497)
                        (!fields 2 
                         (!pair  "h"
                          (!type already_seen 483)
                          (!srcfileloc  "cp/cp-tree.h" 1495)
                          nil )
                         (!pair  "record"
                          (!type already_seen 5)
                          (!srcfileloc  "cp/cp-tree.h" 1496)
                          nil )
                        )
                        nil 260 nil nil )
                       (!srcfileloc  "cp/cp-tree.h" 1504)
                       (!options 
                        (!option tag string  "0")
                       )
                      )
                     )
                     nil 260 nil )
                    (!srcfileloc  "cp/cp-tree.h" 1505)
                    (!options 
                     (!option desc string  "%h.h.is_lang_type_class")
                    )
                   )
                  )
                  (!options 
                   (!option variable_size string  "")
                  )
                  260 
                  (!type already_seen 451)
                  nil )
                 
                 (!type struct 498 nil  gc_pointed_to "lang_type"
                  (!srcfileloc  "c/c-lang.h" 36)
                  (!fields 4 
                   (!pair  "s"
                    (!type already_seen 494)
                    (!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 451)
                  nil )
                 
                 (!type struct 499 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 451)
                  nil )
                )
               )
              )
              (!srcfileloc  "tree-core.h" 1307)
              nil )
            )
            nil 511 nil nil )
           (!srcfileloc  "tree-core.h" 1638)
           (!options 
            (!option tag string  "TS_TYPE_WITH_LANG_SPECIFIC")
           )
          )
          (!pair  "type_non_common"
           (!type struct 500 nil  gc_used "tree_type_non_common"
            (!srcfileloc  "tree-core.h" 1316)
            (!fields 5 
             (!pair  "with_lang_specific"
              (!type already_seen 449)
              (!srcfileloc  "tree-core.h" 1311)
              nil )
             (!pair  "values"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1312)
              nil )
             (!pair  "minval"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1313)
              nil )
             (!pair  "maxval"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1314)
              nil )
             (!pair  "binfo"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1315)
              nil )
            )
            nil 511 nil nil )
           (!srcfileloc  "tree-core.h" 1640)
           (!options 
            (!option tag string  "TS_TYPE_NON_COMMON")
           )
          )
          (!pair  "list"
           (!type struct 501 nil  gc_used "tree_list"
            (!srcfileloc  "tree-core.h" 1112)
            (!fields 3 
             (!pair  "common"
              (!type already_seen 16)
              (!srcfileloc  "tree-core.h" 1109)
              nil )
             (!pair  "purpose"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1110)
              nil )
             (!pair  "value"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1111)
              nil )
            )
            nil 511 nil nil )
           (!srcfileloc  "tree-core.h" 1641)
           (!options 
            (!option tag string  "TS_LIST")
           )
          )
          (!pair  "vec"
           (!type struct 502 nil  gc_used "tree_vec"
            (!srcfileloc  "tree-core.h" 1117)
            (!fields 2 
             (!pair  "common"
              (!type already_seen 16)
              (!srcfileloc  "tree-core.h" 1115)
              nil )
             (!pair  "a"
              (!type array 503 nil  gc_used "1" 
               (!type already_seen 5)
              )
              (!srcfileloc  "tree-core.h" 1116)
              (!options 
               (!option length string  "TREE_VEC_LENGTH ((tree)&%h)")
              )
             )
            )
            nil 511 nil nil )
           (!srcfileloc  "tree-core.h" 1642)
           (!options 
            (!option tag string  "TS_VEC")
           )
          )
          (!pair  "exp"
           (!type struct 504 nil  gc_used "tree_exp"
            (!srcfileloc  "tree-core.h" 1176)
            (!fields 3 
             (!pair  "typed"
              (!type already_seen 15)
              (!srcfileloc  "tree-core.h" 1171)
              nil )
             (!pair  "locus"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1172)
              nil )
             (!pair  "operands"
              (!type union 505 nil  gc_used "tree_exp_subunion"
               (!srcfileloc  "tree-core.h" 1175)
               (!fields 1 
                (!pair  ""
                 (!type array 506 nil  gc_used "1" 
                  (!type already_seen 5)
                 )
                 (!srcfileloc  "gengtype.c" 1378)
                 (!options 
                  (!option default string  "")
                  (!option length string  "TREE_OPERAND_LENGTH ((tree) &%0)")
                  (!option dot string  "")
                 )
                )
               )
               (!options 
                (!option dot string  "")
               )
               511 nil )
              (!srcfileloc  "tree-core.h" 1175)
              (!options 
               (!option desc string  "TREE_CODE ((tree) &%0)")
               (!option special string  "tree_exp")
              )
             )
            )
            nil 511 nil nil )
           (!srcfileloc  "tree-core.h" 1643)
           (!options 
            (!option tag string  "TS_EXP")
           )
          )
          (!pair  "ssa_name"
           (!type struct 507 nil  gc_used "tree_ssa_name"
            (!srcfileloc  "tree-core.h" 1212)
            (!fields 5 
             (!pair  "typed"
              (!type already_seen 15)
              (!srcfileloc  "tree-core.h" 1193)
              nil )
             (!pair  "var"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1196)
              nil )
             (!pair  "def_stmt"
              (!type already_seen 311)
              (!srcfileloc  "tree-core.h" 1199)
              nil )
             (!pair  "info"
              (!type union 508 nil  gc_used "ssa_name_info_type"
               (!srcfileloc  "tree-core.h" 1207)
               (!fields 2 
                (!pair  "ptr_info"
                 (!type pointer 509 nil  gc_used
                  (!type struct 510 
                   (!type already_seen 509)
                   gc_pointed_to "ptr_info_def"
                   (!srcfileloc  "tree-ssanames.h" 46)
                   (!fields 3 
                    (!pair  "pt"
                     (!type already_seen 387)
                     (!srcfileloc  "tree-ssanames.h" 28)
                     nil )
                    (!pair  "align"
                     (!type already_seen 9)
                     (!srcfileloc  "tree-ssanames.h" 40)
                     nil )
                    (!pair  "misalign"
                     (!type already_seen 9)
                     (!srcfileloc  "tree-ssanames.h" 45)
                     nil )
                   )
                   nil 511 nil nil )
                 )
                 (!srcfileloc  "tree-core.h" 1204)
                 (!options 
                  (!option tag string  "0")
                 )
                )
                (!pair  "range_info"
                 (!type pointer 511 nil  gc_used
                  (!type struct 512 
                   (!type already_seen 511)
                   gc_pointed_to "range_info_def"
                   (!srcfileloc  "tree-ssanames.h" 57)
                   (!fields 3 
                    (!pair  "min"
                     (!type already_seen 9)
                     (!srcfileloc  "tree-ssanames.h" 52)
                     nil )
                    (!pair  "max"
                     (!type already_seen 9)
                     (!srcfileloc  "tree-ssanames.h" 54)
                     nil )
                    (!pair  "nonzero_bits"
                     (!type already_seen 9)
                     (!srcfileloc  "tree-ssanames.h" 56)
                     nil )
                   )
                   nil 511 nil nil )
                 )
                 (!srcfileloc  "tree-core.h" 1206)
                 (!options 
                  (!option tag string  "1")
                 )
                )
               )
               nil 511 nil )
              (!srcfileloc  "tree-core.h" 1208)
              (!options 
               (!option desc string  "%1.typed.type ?!POINTER_TYPE_P (TREE_TYPE ((tree)&%1)) : 2")
              )
             )
             (!pair  "imm_uses"
              (!type struct 513 
               (!type pointer 514 nil  gc_unused
                (!type already_seen 513)
               )
               gc_used "ssa_use_operand_t"
               (!srcfileloc  "tree-ssa-operands.h" 30)
               (!fields 4 
                (!pair  "prev"
                 (!type already_seen 514)
                 (!srcfileloc  "tree-core.h" 1181)
                 (!options 
                  (!option skip string  "")
                 )
                )
                (!pair  "next"
                 (!type already_seen 514)
                 (!srcfileloc  "tree-core.h" 1182)
                 (!options 
                  (!option skip string  "")
                 )
                )
                (!pair  "loc"
                 (!type union 515 nil  gc_unused "anonymous:/var/tmp/portage/cross-arm-none-eabi/gcc-4.9.2-r278/work/gcc-4.9.2/gcc-4.9/gcc/tree-core.h:1188"
                  (!srcfileloc  "tree-core.h" 1188)
                  (!fields 2 
                   (!pair  "stmt"
                    (!type already_seen 311)
                    (!srcfileloc  "tree-core.h" 1188)
                    nil )
                   (!pair  "ssa_name"
                    (!type already_seen 5)
                    (!srcfileloc  "tree-core.h" 1188)
                    nil )
                  )
                  nil 511 nil )
                 (!srcfileloc  "tree-core.h" 1188)
                 (!options 
                  (!option skip string  "")
                 )
                )
                (!pair  "use"
                 (!type already_seen 6)
                 (!srcfileloc  "tree-core.h" 1189)
                 (!options 
                  (!option skip string  "")
                 )
                )
               )
               nil 511 nil nil )
              (!srcfileloc  "tree-core.h" 1211)
              nil )
            )
            nil 511 nil nil )
           (!srcfileloc  "tree-core.h" 1644)
           (!options 
            (!option tag string  "TS_SSA_NAME")
           )
          )
          (!pair  "block"
           (!type struct 516 nil  gc_used "tree_block"
            (!srcfileloc  "tree-core.h" 1261)
            (!fields 12 
             (!pair  "base"
              (!type already_seen 8)
              (!srcfileloc  "tree-core.h" 1245)
              nil )
             (!pair  "chain"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1246)
              nil )
             (!pair  "abstract_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1248)
              nil )
             (!pair  "block_num"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1249)
              nil )
             (!pair  "locus"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1251)
              nil )
             (!pair  "vars"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1253)
              nil )
             (!pair  "nonlocalized_vars"
              (!type already_seen 46)
              (!srcfileloc  "tree-core.h" 1254)
              nil )
             (!pair  "subblocks"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1256)
              nil )
             (!pair  "supercontext"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1257)
              nil )
             (!pair  "abstract_origin"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1258)
              nil )
             (!pair  "fragment_origin"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1259)
              nil )
             (!pair  "fragment_chain"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1260)
              nil )
            )
            nil 511 nil nil )
           (!srcfileloc  "tree-core.h" 1645)
           (!options 
            (!option tag string  "TS_BLOCK")
           )
          )
          (!pair  "binfo"
           (!type struct 517 nil  gc_used "tree_binfo"
            (!srcfileloc  "tree-core.h" 1332)
            (!fields 10 
             (!pair  "common"
              (!type already_seen 16)
              (!srcfileloc  "tree-core.h" 1319)
              nil )
             (!pair  "offset"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1321)
              nil )
             (!pair  "vtable"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1322)
              nil )
             (!pair  "virtuals"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1323)
              nil )
             (!pair  "vptr_field"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1324)
              nil )
             (!pair  "base_accesses"
              (!type already_seen 46)
              (!srcfileloc  "tree-core.h" 1325)
              nil )
             (!pair  "inheritance"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1326)
              nil )
             (!pair  "vtt_subvtt"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1328)
              nil )
             (!pair  "vtt_vptr"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1329)
              nil )
             (!pair  "base_binfos"
              (!type already_seen 47)
              (!srcfileloc  "tree-core.h" 1331)
              nil )
            )
            nil 511 nil nil )
           (!srcfileloc  "tree-core.h" 1646)
           (!options 
            (!option tag string  "TS_BINFO")
           )
          )
          (!pair  "stmt_list"
           (!type struct 518 nil  gc_used "tree_statement_list"
            (!srcfileloc  "tree-core.h" 1569)
            (!fields 3 
             (!pair  "typed"
              (!type already_seen 15)
              (!srcfileloc  "tree-core.h" 1566)
              nil )
             (!pair  "head"
              (!type pointer 519 nil  gc_used
               (!type struct 520 
                (!type already_seen 519)
                gc_pointed_to "tree_statement_list_node"
                (!srcfileloc  "tree-core.h" 1562)
                (!fields 3 
                 (!pair  "prev"
                  (!type already_seen 519)
                  (!srcfileloc  "tree-core.h" 1559)
                  nil )
                 (!pair  "next"
                  (!type already_seen 519)
                  (!srcfileloc  "tree-core.h" 1560)
                  nil )
                 (!pair  "stmt"
                  (!type already_seen 5)
                  (!srcfileloc  "tree-core.h" 1561)
                  nil )
                )
                (!options 
                 (!option chain_prev string  "%h.prev")
                 (!option chain_next string  "%h.next")
                )
                511 nil nil )
              )
              (!srcfileloc  "tree-core.h" 1567)
              nil )
             (!pair  "tail"
              (!type already_seen 519)
              (!srcfileloc  "tree-core.h" 1568)
              nil )
            )
            nil 511 nil nil )
           (!srcfileloc  "tree-core.h" 1647)
           (!options 
            (!option tag string  "TS_STATEMENT_LIST")
           )
          )
          (!pair  "constructor"
           (!type struct 521 nil  gc_used "tree_constructor"
            (!srcfileloc  "tree-core.h" 1131)
            (!fields 2 
             (!pair  "typed"
              (!type already_seen 15)
              (!srcfileloc  "tree-core.h" 1129)
              nil )
             (!pair  "elts"
              (!type already_seen 468)
              (!srcfileloc  "tree-core.h" 1130)
              nil )
            )
            nil 511 nil nil )
           (!srcfileloc  "tree-core.h" 1648)
           (!options 
            (!option tag string  "TS_CONSTRUCTOR")
           )
          )
          (!pair  "omp_clause"
           (!type struct 522 nil  gc_used "tree_omp_clause"
            (!srcfileloc  "tree-core.h" 1242)
            (!fields 7 
             (!pair  "common"
              (!type already_seen 16)
              (!srcfileloc  "tree-core.h" 1223)
              nil )
             (!pair  "locus"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1224)
              nil )
             (!pair  "code"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1225)
              nil )
             (!pair  "subcode"
              (!type union 523 nil  gc_unused "omp_clause_subcode"
               (!srcfileloc  "tree-core.h" 1233)
               (!fields 6 
                (!pair  "default_kind"
                 (!type already_seen 9)
                 (!srcfileloc  "tree-core.h" 1227)
                 nil )
                (!pair  "schedule_kind"
                 (!type already_seen 9)
                 (!srcfileloc  "tree-core.h" 1228)
                 nil )
                (!pair  "depend_kind"
                 (!type already_seen 9)
                 (!srcfileloc  "tree-core.h" 1229)
                 nil )
                (!pair  "map_kind"
                 (!type already_seen 9)
                 (!srcfileloc  "tree-core.h" 1230)
                 nil )
                (!pair  "proc_bind_kind"
                 (!type already_seen 9)
                 (!srcfileloc  "tree-core.h" 1231)
                 nil )
                (!pair  "reduction_code"
                 (!type already_seen 9)
                 (!srcfileloc  "tree-core.h" 1232)
                 nil )
               )
               nil 511 nil )
              (!srcfileloc  "tree-core.h" 1233)
              (!options 
               (!option skip string  "")
              )
             )
             (!pair  "gimple_reduction_init"
              (!type already_seen 311)
              (!srcfileloc  "tree-core.h" 1237)
              nil )
             (!pair  "gimple_reduction_merge"
              (!type already_seen 311)
              (!srcfileloc  "tree-core.h" 1238)
              nil )
             (!pair  "ops"
              (!type array 524 nil  gc_used "1" 
               (!type already_seen 5)
              )
              (!srcfileloc  "tree-core.h" 1241)
              (!options 
               (!option length string  "omp_clause_num_ops[OMP_CLAUSE_CODE ((tree)&%h)]")
              )
             )
            )
            nil 511 nil nil )
           (!srcfileloc  "tree-core.h" 1649)
           (!options 
            (!option tag string  "TS_OMP_CLAUSE")
           )
          )
          (!pair  "optimization"
           (!type struct 525 nil  gc_used "tree_optimization_option"
            (!srcfileloc  "tree-core.h" 1587)
            (!fields 4 
             (!pair  "common"
              (!type already_seen 16)
              (!srcfileloc  "tree-core.h" 1575)
              nil )
             (!pair  "opts"
              (!type struct 526 nil  gc_used "cl_optimization"
               (!fileloc  "options.h" 4194)
               (!fields 201 
                (!pair  "x_align_functions"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3993)
                 nil )
                (!pair  "x_align_jumps"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3994)
                 nil )
                (!pair  "x_align_labels"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3995)
                 nil )
                (!pair  "x_align_loops"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3996)
                 nil )
                (!pair  "x_flag_profile_gen_atomic"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3997)
                 nil )
                (!pair  "x_flag_sched_stalled_insns"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3998)
                 nil )
                (!pair  "x_flag_sched_stalled_insns_dep"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3999)
                 nil )
                (!pair  "x_flag_fp_contract_mode"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4000)
                 nil )
                (!pair  "x_optimize"
                 (!type already_seen 29)
                 (!fileloc  "options.h" 4001)
                 nil )
                (!pair  "x_optimize_size"
                 (!type already_seen 29)
                 (!fileloc  "options.h" 4002)
                 nil )
                (!pair  "x_flag_aggressive_loop_optimizations"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4003)
                 nil )
                (!pair  "x_flag_asynchronous_unwind_tables"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4004)
                 nil )
                (!pair  "x_flag_auto_profile"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4005)
                 nil )
                (!pair  "x_flag_auto_profile_accurate"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4006)
                 nil )
                (!pair  "x_flag_auto_profile_record_coverage_in_elf"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4007)
                 nil )
                (!pair  "x_flag_branch_on_count_reg"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4008)
                 nil )
                (!pair  "x_flag_branch_probabilities"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4009)
                 nil )
                (!pair  "x_flag_branch_target_load_optimize"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4010)
                 nil )
                (!pair  "x_flag_branch_target_load_optimize2"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4011)
                 nil )
                (!pair  "x_flag_btr_bb_exclusive"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4012)
                 nil )
                (!pair  "x_flag_caller_saves"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4013)
                 nil )
                (!pair  "x_flag_combine_stack_adjustments"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4014)
                 nil )
                (!pair  "x_flag_no_common"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4015)
                 nil )
                (!pair  "x_flag_compare_elim_after_reload"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4016)
                 nil )
                (!pair  "x_flag_conserve_stack"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4017)
                 nil )
                (!pair  "x_flag_cprop_registers"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4018)
                 nil )
                (!pair  "x_flag_crossjumping"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4019)
                 nil )
                (!pair  "x_flag_cse_follow_jumps"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4020)
                 nil )
                (!pair  "x_flag_cx_fortran_rules"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4021)
                 nil )
                (!pair  "x_flag_cx_limited_range"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4022)
                 nil )
                (!pair  "x_flag_data_sections"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4023)
                 nil )
                (!pair  "x_flag_dce"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4024)
                 nil )
                (!pair  "x_flag_default_noexcept"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4025)
                 nil )
                (!pair  "x_flag_defer_pop"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4026)
                 nil )
                (!pair  "x_flag_delayed_branch"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4027)
                 nil )
                (!pair  "x_flag_delete_null_pointer_checks"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4028)
                 nil )
                (!pair  "x_flag_devirtualize"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4029)
                 nil )
                (!pair  "x_flag_devirtualize_speculatively"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4030)
                 nil )
                (!pair  "x_flag_dse"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4031)
                 nil )
                (!pair  "x_flag_early_inlining"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4032)
                 nil )
                (!pair  "x_flag_exceptions"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4033)
                 nil )
                (!pair  "x_flag_expensive_optimizations"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4034)
                 nil )
                (!pair  "x_flag_finite_math_only"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4035)
                 nil )
                (!pair  "x_flag_float_store"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4036)
                 nil )
                (!pair  "x_flag_forward_propagate"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4037)
                 nil )
                (!pair  "x_flag_gcse"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4038)
                 nil )
                (!pair  "x_flag_gcse_after_reload"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4039)
                 nil )
                (!pair  "x_flag_gcse_las"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4040)
                 nil )
                (!pair  "x_flag_gcse_lm"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4041)
                 nil )
                (!pair  "x_flag_gcse_sm"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4042)
                 nil )
                (!pair  "x_flag_graphite_identity"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4043)
                 nil )
                (!pair  "x_flag_guess_branch_prob"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4044)
                 nil )
                (!pair  "x_flag_hoist_adjacent_loads"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4045)
                 nil )
                (!pair  "x_flag_if_conversion"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4046)
                 nil )
                (!pair  "x_flag_if_conversion2"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4047)
                 nil )
                (!pair  "x_flag_no_inline"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4048)
                 nil )
                (!pair  "x_flag_inline_atomics"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4049)
                 nil )
                (!pair  "x_flag_inline_functions"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4050)
                 nil )
                (!pair  "x_flag_inline_functions_called_once"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4051)
                 nil )
                (!pair  "x_flag_inline_small_functions"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4052)
                 nil )
                (!pair  "x_flag_ipa_cp"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4053)
                 nil )
                (!pair  "x_flag_ipa_cp_clone"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4054)
                 nil )
                (!pair  "x_flag_ipa_profile"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4055)
                 nil )
                (!pair  "x_flag_ipa_pta"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4056)
                 nil )
                (!pair  "x_flag_ipa_pure_const"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4057)
                 nil )
                (!pair  "x_flag_ipa_reference"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4058)
                 nil )
                (!pair  "x_flag_ipa_sra"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4059)
                 nil )
                (!pair  "x_flag_ira_hoist_pressure"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4060)
                 nil )
                (!pair  "x_flag_ira_loop_pressure"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4061)
                 nil )
                (!pair  "x_flag_isolate_erroneous_paths_attribute"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4062)
                 nil )
                (!pair  "x_flag_isolate_erroneous_paths_dereference"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4063)
                 nil )
                (!pair  "x_flag_ivopts"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4064)
                 nil )
                (!pair  "x_flag_jump_tables"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4065)
                 nil )
                (!pair  "x_flag_lifetime_dse"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4066)
                 nil )
                (!pair  "x_flag_live_range_shrinkage"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4067)
                 nil )
                (!pair  "x_flag_loop_block"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4068)
                 nil )
                (!pair  "x_flag_loop_interchange"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4069)
                 nil )
                (!pair  "x_flag_loop_optimize_isl"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4070)
                 nil )
                (!pair  "x_flag_loop_parallelize_all"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4071)
                 nil )
                (!pair  "x_flag_loop_strip_mine"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4072)
                 nil )
                (!pair  "x_flag_errno_math"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4073)
                 nil )
                (!pair  "x_flag_merge_constants"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4074)
                 nil )
                (!pair  "x_flag_modulo_sched"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4075)
                 nil )
                (!pair  "x_flag_move_loop_invariants"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4076)
                 nil )
                (!pair  "x_flag_non_call_exceptions"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4077)
                 nil )
                (!pair  "x_flag_nothrow_opt"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4078)
                 nil )
                (!pair  "x_flag_omit_frame_pointer"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4079)
                 nil )
                (!pair  "x_flag_opt_info"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4080)
                 nil )
                (!pair  "x_flag_optimize_sibling_calls"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4081)
                 nil )
                (!pair  "x_flag_optimize_strlen"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4082)
                 nil )
                (!pair  "x_flag_pack_struct"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4083)
                 nil )
                (!pair  "x_flag_peel_codesize_limit"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4084)
                 nil )
                (!pair  "x_flag_peel_loops"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4085)
                 nil )
                (!pair  "x_flag_no_peephole"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4086)
                 nil )
                (!pair  "x_flag_peephole2"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4087)
                 nil )
                (!pair  "x_flag_plt"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4088)
                 nil )
                (!pair  "x_flag_predictive_commoning"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4089)
                 nil )
                (!pair  "x_flag_prefetch_loop_arrays"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4090)
                 nil )
                (!pair  "x_flag_profile_dump"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4091)
                 nil )
                (!pair  "x_flag_pcc_struct_return"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4092)
                 nil )
                (!pair  "x_flag_rename_registers"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4093)
                 nil )
                (!pair  "x_flag_reorder_blocks"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4094)
                 nil )
                (!pair  "x_flag_reorder_blocks_and_partition"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4095)
                 nil )
                (!pair  "x_flag_reorder_functions"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4096)
                 nil )
                (!pair  "x_flag_rerun_cse_after_loop"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4097)
                 nil )
                (!pair  "x_flag_resched_modulo_sched"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4098)
                 nil )
                (!pair  "x_flag_rounding_math"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4099)
                 nil )
                (!pair  "x_flag_rtti"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4100)
                 nil )
                (!pair  "x_flag_sched_critical_path_heuristic"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4101)
                 nil )
                (!pair  "x_flag_sched_dep_count_heuristic"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4102)
                 nil )
                (!pair  "x_flag_sched_group_heuristic"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4103)
                 nil )
                (!pair  "x_flag_schedule_interblock"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4104)
                 nil )
                (!pair  "x_flag_sched_last_insn_heuristic"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4105)
                 nil )
                (!pair  "x_flag_sched_pressure"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4106)
                 nil )
                (!pair  "x_flag_sched_rank_heuristic"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4107)
                 nil )
                (!pair  "x_flag_schedule_speculative"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4108)
                 nil )
                (!pair  "x_flag_sched_spec_insn_heuristic"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4109)
                 nil )
                (!pair  "x_flag_schedule_speculative_load"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4110)
                 nil )
                (!pair  "x_flag_schedule_speculative_load_dangerous"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4111)
                 nil )
                (!pair  "x_flag_sched2_use_superblocks"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4112)
                 nil )
                (!pair  "x_flag_schedule_insns"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4113)
                 nil )
                (!pair  "x_flag_schedule_insns_after_reload"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4114)
                 nil )
                (!pair  "x_flag_section_anchors"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4115)
                 nil )
                (!pair  "x_flag_sel_sched_pipelining"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4116)
                 nil )
                (!pair  "x_flag_sel_sched_pipelining_outer_loops"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4117)
                 nil )
                (!pair  "x_flag_sel_sched_reschedule_pipelined"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4118)
                 nil )
                (!pair  "x_flag_selective_scheduling"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4119)
                 nil )
                (!pair  "x_flag_selective_scheduling2"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4120)
                 nil )
                (!pair  "x_flag_short_double"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4121)
                 nil )
                (!pair  "x_flag_short_enums"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4122)
                 nil )
                (!pair  "x_flag_short_wchar"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4123)
                 nil )
                (!pair  "x_flag_shrink_wrap"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4124)
                 nil )
                (!pair  "x_flag_shrink_wrap_frame_pointer"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4125)
                 nil )
                (!pair  "x_flag_signaling_nans"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4126)
                 nil )
                (!pair  "x_flag_signed_zeros"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4127)
                 nil )
                (!pair  "x_flag_single_precision_constant"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4128)
                 nil )
                (!pair  "x_flag_sized_delete"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4129)
                 nil )
                (!pair  "x_flag_split_ivs_in_unroller"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4130)
                 nil )
                (!pair  "x_flag_split_wide_types"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4131)
                 nil )
                (!pair  "x_flag_strict_aliasing"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4132)
                 nil )
                (!pair  "x_flag_strict_enum_precision"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4133)
                 nil )
                (!pair  "x_flag_strict_enums"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4134)
                 nil )
                (!pair  "x_flag_thread_jumps"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4135)
                 nil )
                (!pair  "x_flag_threadsafe_statics"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4136)
                 nil )
                (!pair  "x_flag_toplevel_reorder"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4137)
                 nil )
                (!pair  "x_flag_trapping_math"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4138)
                 nil )
                (!pair  "x_flag_trapv"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4139)
                 nil )
                (!pair  "x_flag_tree_bit_ccp"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4140)
                 nil )
                (!pair  "x_flag_tree_builtin_call_dce"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4141)
                 nil )
                (!pair  "x_flag_tree_ccp"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4142)
                 nil )
                (!pair  "x_flag_tree_ch"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4143)
                 nil )
                (!pair  "x_flag_ssa_coalesce_vars"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4144)
                 nil )
                (!pair  "x_flag_tree_copy_prop"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4145)
                 nil )
                (!pair  "x_flag_tree_copyrename"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4146)
                 nil )
                (!pair  "x_flag_tree_cselim"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4147)
                 nil )
                (!pair  "x_flag_tree_dce"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4148)
                 nil )
                (!pair  "x_flag_tree_dom"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4149)
                 nil )
                (!pair  "x_flag_tree_dse"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4150)
                 nil )
                (!pair  "x_flag_tree_forwprop"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4151)
                 nil )
                (!pair  "x_flag_tree_fre"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4152)
                 nil )
                (!pair  "x_flag_tree_loop_distribute_patterns"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4153)
                 nil )
                (!pair  "x_flag_tree_loop_distribution"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4154)
                 nil )
                (!pair  "x_flag_tree_loop_if_convert"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4155)
                 nil )
                (!pair  "x_flag_tree_loop_if_convert_stores"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4156)
                 nil )
                (!pair  "x_flag_tree_loop_im"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4157)
                 nil )
                (!pair  "x_flag_tree_loop_ivcanon"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4158)
                 nil )
                (!pair  "x_flag_tree_loop_optimize"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4159)
                 nil )
                (!pair  "x_flag_tree_loop_vectorize"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4160)
                 nil )
                (!pair  "x_flag_tree_live_range_split"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4161)
                 nil )
                (!pair  "x_flag_tree_partial_pre"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4162)
                 nil )
                (!pair  "x_flag_tree_phiprop"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4163)
                 nil )
                (!pair  "x_flag_tree_pre"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4164)
                 nil )
                (!pair  "x_flag_tree_pta"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4165)
                 nil )
                (!pair  "x_flag_tree_reassoc"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4166)
                 nil )
                (!pair  "x_flag_tree_scev_cprop"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4167)
                 nil )
                (!pair  "x_flag_tree_sink"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4168)
                 nil )
                (!pair  "x_flag_tree_slp_vectorize"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4169)
                 nil )
                (!pair  "x_flag_tree_slsr"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4170)
                 nil )
                (!pair  "x_flag_tree_sra"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4171)
                 nil )
                (!pair  "x_flag_tree_switch_conversion"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4172)
                 nil )
                (!pair  "x_flag_tree_tail_merge"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4173)
                 nil )
                (!pair  "x_flag_tree_ter"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4174)
                 nil )
                (!pair  "x_flag_tree_vectorize"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4175)
                 nil )
                (!pair  "x_flag_tree_vrp"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4176)
                 nil )
                (!pair  "x_flag_unit_at_a_time"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4177)
                 nil )
                (!pair  "x_flag_unroll_all_loops"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4178)
                 nil )
                (!pair  "x_flag_unroll_codesize_limit"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4179)
                 nil )
                (!pair  "x_flag_unroll_loops"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4180)
                 nil )
                (!pair  "x_flag_unsafe_loop_optimizations"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4181)
                 nil )
                (!pair  "x_flag_unsafe_math_optimizations"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4182)
                 nil )
                (!pair  "x_flag_unswitch_loops"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4183)
                 nil )
                (!pair  "x_flag_unwind_tables"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4184)
                 nil )
                (!pair  "x_flag_var_tracking"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4185)
                 nil )
                (!pair  "x_flag_var_tracking_assignments"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4186)
                 nil )
                (!pair  "x_flag_var_tracking_assignments_toggle"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4187)
                 nil )
                (!pair  "x_flag_var_tracking_uninit"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4188)
                 nil )
                (!pair  "x_flag_variable_expansion_in_unroller"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4189)
                 nil )
                (!pair  "x_flag_value_profile_transformations"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4190)
                 nil )
                (!pair  "x_flag_web"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4191)
                 nil )
                (!pair  "x_flag_whole_program"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4192)
                 nil )
                (!pair  "x_flag_wrapv"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4193)
                 nil )
               )
               nil 511 nil nil )
              (!srcfileloc  "tree-core.h" 1578)
              nil )
             (!pair  "optabs"
              (!type already_seen 10)
              (!srcfileloc  "tree-core.h" 1582)
              (!options 
               (!option atomic string  "")
              )
             )
             (!pair  "base_optabs"
              (!type pointer 527 nil  gc_unused
               (!type struct 528 
                (!type already_seen 527)
                gc_unused "target_optabs"nil 
                (!fields 0 )
                nil 0 nil nil )
              )
              (!srcfileloc  "tree-core.h" 1586)
              (!options 
               (!option skip string  "")
              )
             )
            )
            nil 511 nil nil )
           (!srcfileloc  "tree-core.h" 1650)
           (!options 
            (!option tag string  "TS_OPTIMIZATION")
           )
          )
          (!pair  "target_option"
           (!type struct 529 nil  gc_used "tree_target_option"
            (!srcfileloc  "tree-core.h" 1603)
            (!fields 3 
             (!pair  "common"
              (!type already_seen 16)
              (!srcfileloc  "tree-core.h" 1596)
              nil )
             (!pair  "globals"
              (!type pointer 530 nil  gc_used
               (!type struct 531 
                (!type already_seen 530)
                gc_pointed_to "target_globals"
                (!srcfileloc  "target-globals.h" 59)
                (!fields 16 
                 (!pair  "flag_state"
                  (!type pointer 532 nil  gc_unused
                   (!type struct 533 
                    (!type already_seen 532)
                    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 534 nil  gc_used
                   (!type struct 535 
                    (!type already_seen 534)
                    gc_pointed_to "target_rtl"
                    (!srcfileloc  "rtl.h" 2306)
                    (!fields 7 
                     (!pair  "x_global_rtl"
                      (!type array 536 nil  gc_used "GR_MAX" 
                       (!type already_seen 137)
                      )
                      (!srcfileloc  "rtl.h" 2281)
                      nil )
                     (!pair  "x_pic_offset_table_rtx"
                      (!type already_seen 137)
                      (!srcfileloc  "rtl.h" 2284)
                      nil )
                     (!pair  "x_return_address_pointer_rtx"
                      (!type already_seen 137)
                      (!srcfileloc  "rtl.h" 2289)
                      nil )
                     (!pair  "x_initial_regno_reg_rtx"
                      (!type array 537 nil  gc_used "FIRST_PSEUDO_REGISTER" 
                       (!type already_seen 137)
                      )
                      (!srcfileloc  "rtl.h" 2295)
                      nil )
                     (!pair  "x_top_of_stack"
                      (!type array 538 nil  gc_used "MAX_MACHINE_MODE" 
                       (!type already_seen 137)
                      )
                      (!srcfileloc  "rtl.h" 2298)
                      nil )
                     (!pair  "x_static_reg_base_value"
                      (!type array 539 nil  gc_used "FIRST_PSEUDO_REGISTER" 
                       (!type already_seen 137)
                      )
                      (!srcfileloc  "rtl.h" 2302)
                      nil )
                     (!pair  "x_mode_mem_attrs"
                      (!type array 540 nil  gc_used "(int) MAX_MACHINE_MODE" 
                       (!type already_seen 259)
                      )
                      (!srcfileloc  "rtl.h" 2305)
                      nil )
                    )
                    nil 511 nil nil )
                  )
                  (!srcfileloc  "target-globals.h" 45)
                  nil )
                 (!pair  "hard_regs"
                  (!type already_seen 10)
                  (!srcfileloc  "target-globals.h" 46)
                  (!options 
                   (!option atomic string  "")
                  )
                 )
                 (!pair  "reload"
                  (!type already_seen 10)
                  (!srcfileloc  "target-globals.h" 47)
                  (!options 
                   (!option atomic string  "")
                  )
                 )
                 (!pair  "expmed"
                  (!type already_seen 10)
                  (!srcfileloc  "target-globals.h" 48)
                  (!options 
                   (!option atomic string  "")
                  )
                 )
                 (!pair  "optabs"
                  (!type already_seen 527)
                  (!srcfileloc  "target-globals.h" 49)
                  (!options 
                   (!option skip string  "")
                  )
                 )
                 (!pair  "libfuncs"
                  (!type pointer 541 nil  gc_used
                   (!type struct 542 
                    (!type already_seen 541)
                    gc_pointed_to "target_libfuncs"
                    (!srcfileloc  "libfuncs.h" 71)
                    (!fields 2 
                     (!pair  "x_libfunc_table"
                      (!type array 543 nil  gc_used "LTI_MAX" 
                       (!type already_seen 137)
                      )
                      (!srcfileloc  "libfuncs.h" 67)
                      nil )
                     (!pair  "x_libfunc_hash"
                      (!type pointer 544 nil  gc_used
                       (!type param_struct 545 
                        (!type already_seen 544)
                        gc_pointed_to
                        (!type already_seen 50)
                        
                        (!type pointer 546 nil  gc_used
                         (!type struct 547 
                          (!type already_seen 546)
                          gc_pointed_to "libfunc_entry"
                          (!srcfileloc  "libfuncs.h" 61)
                          (!fields 4 
                           (!pair  "op"
                            (!type already_seen 9)
                            (!srcfileloc  "libfuncs.h" 59)
                            nil )
                           (!pair  "mode1"
                            (!type already_seen 9)
                            (!srcfileloc  "libfuncs.h" 59)
                            nil )
                           (!pair  "mode2"
                            (!type already_seen 9)
                            (!srcfileloc  "libfuncs.h" 59)
                            nil )
                           (!pair  "libfunc"
                            (!type already_seen 137)
                            (!srcfileloc  "libfuncs.h" 60)
                            nil )
                          )
                          nil 511 nil nil )
                        )
                        nil nil nil nil nil nil nil nil nil nil )
                      )
                      (!srcfileloc  "libfuncs.h" 70)
                      (!options 
                       (!option param_is type 
                        (!type already_seen 547)
                       )
                      )
                     )
                    )
                    nil 511 nil nil )
                  )
                  (!srcfileloc  "target-globals.h" 50)
                  nil )
                 (!pair  "cfgloop"
                  (!type pointer 548 nil  gc_unused
                   (!type struct 549 
                    (!type already_seen 548)
                    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 550 nil  gc_unused
                   (!type struct 551 
                    (!type already_seen 550)
                    gc_unused "target_builtins"nil 
                    (!fields 0 )
                    nil 0 nil nil )
                  )
                  (!srcfileloc  "target-globals.h" 55)
                  (!options 
                   (!option skip string  "")
                  )
                 )
                 (!pair  "gcse"
                  (!type pointer 552 nil  gc_unused
                   (!type struct 553 
                    (!type already_seen 552)
                    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 554 nil  gc_unused
                   (!type struct 555 
                    (!type already_seen 554)
                    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 556 nil  gc_unused
                   (!type struct 557 
                    (!type already_seen 556)
                    gc_unused "target_lower_subreg"nil 
                    (!fields 0 )
                    nil 0 nil nil )
                  )
                  (!srcfileloc  "target-globals.h" 58)
                  (!options 
                   (!option skip string  "")
                  )
                 )
                )
                nil 511 nil nil )
              )
              (!srcfileloc  "tree-core.h" 1599)
              nil )
             (!pair  "opts"
              (!type struct 558 nil  gc_used "cl_target_option"
               (!fileloc  "options.h" 4200)
               (!fields 1 
                (!pair  "x_arm_lra_flag"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4199)
                 nil )
               )
               nil 511 nil nil )
              (!srcfileloc  "tree-core.h" 1602)
              nil )
            )
            nil 511 nil nil )
           (!srcfileloc  "tree-core.h" 1651)
           (!options 
            (!option tag string  "TS_TARGET_OPTION")
           )
          )
         )
         (!options 
          (!option variable_size string  "")
          (!option desc string  "tree_node_structure (&%h)")
          (!option ptr_alias type 
           (!type lang_struct 559 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 560 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 559)
             )
             
             (!type union 561 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 562 nil  gc_used "lang_identifier"
                 (!srcfileloc  "c/c-decl.c" 243)
                 (!fields 0 )
                 nil 510 
                 (!homotypes 6
                  (!type struct 563 nil  gc_used "lang_identifier"
                   (!srcfileloc  "lto/lto-tree.h" 29)
                   (!fields 1 
                    (!pair  "base"
                     (!type already_seen 33)
                     (!srcfileloc  "lto/lto-tree.h" 28)
                     nil )
                   )
                   nil 64 
                   (!type already_seen 562)
                   nil )
                  
                  (!type struct 564 nil  gc_used "lang_identifier"
                   (!srcfileloc  "java/java-tree.h" 585)
                   (!fields 4 
                    (!pair  "ignore"
                     (!type already_seen 33)
                     (!srcfileloc  "java/java-tree.h" 578)
                     nil )
                    (!pair  "global_value"
                     (!type already_seen 5)
                     (!srcfileloc  "java/java-tree.h" 579)
                     nil )
                    (!pair  "local_value"
                     (!type already_seen 5)
                     (!srcfileloc  "java/java-tree.h" 580)
                     nil )
                    (!pair  "utf8_ref"
                     (!type already_seen 5)
                     (!srcfileloc  "java/java-tree.h" 584)
                     nil )
                   )
                   nil 32 
                   (!type already_seen 562)
                   nil )
                  
                  (!type struct 565 nil  gc_used "lang_identifier"
                   (!srcfileloc  "go/go-lang.c" 65)
                   (!fields 1 
                    (!pair  "common"
                     (!type already_seen 33)
                     (!srcfileloc  "go/go-lang.c" 64)
                     nil )
                   )
                   nil 16 
                   (!type already_seen 562)
                   nil )
                  
                  (!type struct 566 nil  gc_used "lang_identifier"
                   (!srcfileloc  "fortran/f95-lang.c" 55)
                   (!fields 1 
                    (!pair  "common"
                     (!type already_seen 33)
                     (!srcfileloc  "fortran/f95-lang.c" 54)
                     nil )
                   )
                   nil 8 
                   (!type already_seen 562)
                   nil )
                  
                  (!type struct 567 nil  gc_used "lang_identifier"
                   (!srcfileloc  "cp/cp-tree.h" 254)
                   (!fields 5 
                    (!pair  "c_common"
                     (!type struct 568 nil  gc_used "c_common_identifier"
                      (!srcfileloc  "c-family/c-common.h" 319)
                      (!fields 2 
                       (!pair  "common"
                        (!type already_seen 16)
                        (!srcfileloc  "c-family/c-common.h" 317)
                        nil )
                       (!pair  "node"
                        (!type struct 569 
                         (!type pointer 570 
                          (!type pointer 571 nil  gc_unused
                           (!type already_seen 570)
                          )
                          gc_unused
                          (!type already_seen 569)
                         )
                         gc_used "cpp_hashnode"
                         (!srcfileloc  "../libcpp/include/cpplib.h" 710)
                         (!fields 7 
                          (!pair  "ident"
                           (!type already_seen 34)
                           (!srcfileloc  "../libcpp/include/cpplib.h" 700)
                           nil )
                          (!pair  "is_directive"
                           (!type already_seen 9)
                           (!srcfileloc  "../libcpp/include/cpplib.h" 701)
                           nil )
                          (!pair  "directive_index"
                           (!type already_seen 9)
                           (!srcfileloc  "../libcpp/include/cpplib.h" 702)
                           nil )
                          (!pair  "rid_code"
                           (!type already_seen 29)
                           (!srcfileloc  "../libcpp/include/cpplib.h" 705)
                           nil )
                          (!pair  "type"
                           (!type already_seen 9)
                           (!srcfileloc  "../libcpp/include/cpplib.h" 706)
                           nil )
                          (!pair  "flags"
                           (!type already_seen 9)
                           (!srcfileloc  "../libcpp/include/cpplib.h" 707)
                           nil )
                          (!pair  "value"
                           (!type union 572 nil  gc_used "_cpp_hashnode_value"
                            (!srcfileloc  "../libcpp/include/cpplib.h" 697)
                            (!fields 4 
                             (!pair  "macro"
                              (!type pointer 573 nil  gc_used
                               (!type struct 574 
                                (!type already_seen 573)
                                gc_pointed_to "cpp_macro"
                                (!srcfileloc  "../libcpp/include/cpp-id-data.h" 80)
                                (!fields 11 
                                 (!pair  "params"
                                  (!type already_seen 571)
                                  (!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 575 nil  gc_used "cpp_macro_u"
                                   (!srcfileloc  "../libcpp/include/cpp-id-data.h" 50)
                                   (!fields 2 
                                    (!pair  "tokens"
                                     (!type pointer 576 nil  gc_used
                                      (!type struct 577 
                                       (!type already_seen 576)
                                       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 578 nil  gc_used "cpp_token_u"
                                          (!srcfileloc  "../libcpp/include/cpplib.h" 247)
                                          (!fields 6 
                                           (!pair  "node"
                                            (!type struct 579 nil  gc_used "cpp_identifier"
                                             (!srcfileloc  "../libcpp/include/cpplib.h" 218)
                                             (!fields 1 
                                              (!pair  "node"
                                               (!type already_seen 570)
                                               (!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 576)
                                            (!srcfileloc  "../libcpp/include/cpplib.h" 233)
                                            (!options 
                                             (!option tag string  "CPP_TOKEN_FLD_SOURCE")
                                            )
                                           )
                                           (!pair  "str"
                                            (!type struct 580 nil  gc_used "cpp_string"
                                             (!srcfileloc  "../libcpp/include/cpplib.h" 175)
                                             (!fields 2 
                                              (!pair  "len"
                                               (!type already_seen 9)
                                               (!srcfileloc  "../libcpp/include/cpplib.h" 173)
                                               nil )
                                              (!pair  "text"
                                               (!type already_seen 37)
                                               (!srcfileloc  "../libcpp/include/cpplib.h" 174)
                                               nil )
                                             )
                                             nil 511 nil nil )
                                            (!srcfileloc  "../libcpp/include/cpplib.h" 236)
                                            (!options 
                                             (!option tag string  "CPP_TOKEN_FLD_STR")
                                            )
                                           )
                                           (!pair  "macro_arg"
                                            (!type struct 581 nil  gc_used "cpp_macro_arg"
                                             (!srcfileloc  "../libcpp/include/cpplib.h" 208)
                                             (!fields 1 
                                              (!pair  "arg_no"
                                               (!type already_seen 9)
                                               (!srcfileloc  "../libcpp/include/cpplib.h" 207)
                                               nil )
                                             )
                                             nil 511 nil nil )
                                            (!srcfileloc  "../libcpp/include/cpplib.h" 239)
                                            (!options 
                                             (!option tag string  "CPP_TOKEN_FLD_ARG_NO")
                                            )
                                           )
                                           (!pair  "token_no"
                                            (!type already_seen 9)
                                            (!srcfileloc  "../libcpp/include/cpplib.h" 243)
                                            (!options 
                                             (!option tag string  "CPP_TOKEN_FLD_TOKEN_NO")
                                            )
                                           )
                                           (!pair  "pragma"
                                            (!type already_seen 9)
                                            (!srcfileloc  "../libcpp/include/cpplib.h" 246)
                                            (!options 
                                             (!option tag string  "CPP_TOKEN_FLD_PRAGMA")
                                            )
                                           )
                                          )
                                          nil 511 nil )
                                         (!srcfileloc  "../libcpp/include/cpplib.h" 247)
                                         (!options 
                                          (!option desc string  "cpp_token_val_index (&%1)")
                                         )
                                        )
                                       )
                                       nil 511 nil nil )
                                     )
                                     (!srcfileloc  "../libcpp/include/cpp-id-data.h" 48)
                                     (!options 
                                      (!option length string  "%0.count")
                                      (!option tag string  "0")
                                     )
                                    )
                                    (!pair  "text"
                                     (!type already_seen 37)
                                     (!srcfileloc  "../libcpp/include/cpp-id-data.h" 49)
                                     (!options 
                                      (!option tag string  "1")
                                     )
                                    )
                                   )
                                   nil 511 nil )
                                  (!srcfileloc  "../libcpp/include/cpp-id-data.h" 50)
                                  (!options 
                                   (!option desc string  "%1.traditional")
                                  )
                                 )
                                 (!pair  "line"
                                  (!type already_seen 9)
                                  (!srcfileloc  "../libcpp/include/cpp-id-data.h" 53)
                                  nil )
                                 (!pair  "count"
                                  (!type already_seen 9)
                                  (!srcfileloc  "../libcpp/include/cpp-id-data.h" 56)
                                  nil )
                                 (!pair  "paramc"
                                  (!type already_seen 9)
                                  (!srcfileloc  "../libcpp/include/cpp-id-data.h" 59)
                                  nil )
                                 (!pair  "fun_like"
                                  (!type already_seen 9)
                                  (!srcfileloc  "../libcpp/include/cpp-id-data.h" 62)
                                  nil )
                                 (!pair  "variadic"
                                  (!type already_seen 9)
                                  (!srcfileloc  "../libcpp/include/cpp-id-data.h" 65)
                                  nil )
                                 (!pair  "syshdr"
                                  (!type already_seen 9)
                                  (!srcfileloc  "../libcpp/include/cpp-id-data.h" 68)
                                  nil )
                                 (!pair  "used"
                                  (!type already_seen 9)
                                  (!srcfileloc  "../libcpp/include/cpp-id-data.h" 71)
                                  nil )
                                 (!pair  "traditional"
                                  (!type already_seen 9)
                                  (!srcfileloc  "../libcpp/include/cpp-id-data.h" 74)
                                  nil )
                                 (!pair  "extra_tokens"
                                  (!type already_seen 9)
                                  (!srcfileloc  "../libcpp/include/cpp-id-data.h" 79)
                                  nil )
                                )
                                nil 511 nil nil )
                              )
                              (!srcfileloc  "../libcpp/include/cpplib.h" 690)
                              (!options 
                               (!option tag string  "NTV_MACRO")
                              )
                             )
                             (!pair  "answers"
                              (!type pointer 582 nil  gc_used
                               (!type struct 583 
                                (!type already_seen 582)
                                gc_pointed_to "answer"
                                (!srcfileloc  "../libcpp/include/cpp-id-data.h" 31)
                                (!fields 3 
                                 (!pair  "next"
                                  (!type already_seen 582)
                                  (!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 584 nil  gc_used "1" 
                                   (!type already_seen 577)
                                  )
                                  (!srcfileloc  "../libcpp/include/cpp-id-data.h" 30)
                                  (!options 
                                   (!option length string  "%h.count")
                                  )
                                 )
                                )
                                nil 511 nil nil )
                              )
                              (!srcfileloc  "../libcpp/include/cpplib.h" 692)
                              (!options 
                               (!option tag string  "NTV_ANSWER")
                              )
                             )
                             (!pair  "builtin"
                              (!type already_seen 9)
                              (!srcfileloc  "../libcpp/include/cpplib.h" 694)
                              (!options 
                               (!option tag string  "NTV_BUILTIN")
                              )
                             )
                             (!pair  "arg_index"
                              (!type already_seen 9)
                              (!srcfileloc  "../libcpp/include/cpplib.h" 696)
                              (!options 
                               (!option tag string  "NTV_ARGUMENT")
                              )
                             )
                            )
                            nil 511 nil )
                           (!srcfileloc  "../libcpp/include/cpplib.h" 709)
                           (!options 
                            (!option desc string  "CPP_HASHNODE_VALUE_IDX (%1)")
                           )
                          )
                         )
                         nil 511 nil nil )
                        (!srcfileloc  "c-family/c-common.h" 318)
                        nil )
                      )
                      nil 390 nil nil )
                     (!srcfileloc  "cp/cp-tree.h" 249)
                     nil )
                    (!pair  "namespace_bindings"
                     (!type already_seen 100)
                     (!srcfileloc  "cp/cp-tree.h" 250)
                     nil )
                    (!pair  "bindings"
                     (!type already_seen 100)
                     (!srcfileloc  "cp/cp-tree.h" 251)
                     nil )
                    (!pair  "class_template_info"
                     (!type already_seen 5)
                     (!srcfileloc  "cp/cp-tree.h" 252)
                     nil )
                    (!pair  "label_value"
                     (!type already_seen 5)
                     (!srcfileloc  "cp/cp-tree.h" 253)
                     nil )
                   )
                   nil 260 
                   (!type already_seen 562)
                   nil )
                  
                  (!type struct 585 nil  gc_used "lang_identifier"
                   (!srcfileloc  "c/c-decl.c" 243)
                   (!fields 4 
                    (!pair  "common_id"
                     (!type already_seen 568)
                     (!srcfileloc  "c/c-decl.c" 239)
                     nil )
                    (!pair  "symbol_binding"
                     (!type pointer 586 nil  gc_used
                      (!type struct 587 
                       (!type already_seen 586)
                       gc_pointed_to "c_binding"
                       (!srcfileloc  "c/c-decl.c" 213)
                       (!fields 11 
                        (!pair  "u"
                         (!type union 588 nil  gc_used "anonymous:/var/tmp/portage/cross-arm-none-eabi/gcc-4.9.2-r278/work/gcc-4.9.2/gcc-4.9/gcc/c/c-decl.c:199"
                          (!srcfileloc  "c/c-decl.c" 202)
                          (!fields 2 
                           (!pair  "type"
                            (!type already_seen 5)
                            (!srcfileloc  "c/c-decl.c" 200)
                            (!options 
                             (!option tag string  "0")
                            )
                           )
                           (!pair  "label"
                            (!type pointer 589 nil  gc_used
                             (!type struct 590 
                              (!type already_seen 589)
                              gc_pointed_to "c_label_vars"
                              (!srcfileloc  "c/c-decl.c" 317)
                              (!fields 4 
                               (!pair  "shadowed"
                                (!type already_seen 589)
                                (!srcfileloc  "c/c-decl.c" 305)
                                nil )
                               (!pair  "label_bindings"
                                (!type struct 591 nil  gc_used "c_spot_bindings"
                                 (!srcfileloc  "c/c-decl.c" 284)
                                 (!fields 4 
                                  (!pair  "scope"
                                   (!type pointer 592 nil  gc_used
                                    (!type struct 593 
                                     (!type already_seen 592)
                                     gc_pointed_to "c_scope"
                                     (!srcfileloc  "c/c-decl.c" 419)
                                     (!fields 14 
                                      (!pair  "outer"
                                       (!type already_seen 592)
                                       (!srcfileloc  "c/c-decl.c" 366)
                                       nil )
                                      (!pair  "outer_function"
                                       (!type already_seen 592)
                                       (!srcfileloc  "c/c-decl.c" 369)
                                       nil )
                                      (!pair  "bindings"
                                       (!type already_seen 586)
                                       (!srcfileloc  "c/c-decl.c" 372)
                                       nil )
                                      (!pair  "blocks"
                                       (!type already_seen 5)
                                       (!srcfileloc  "c/c-decl.c" 376)
                                       nil )
                                      (!pair  "blocks_last"
                                       (!type already_seen 5)
                                       (!srcfileloc  "c/c-decl.c" 377)
                                       nil )
                                      (!pair  "depth"
                                       (!type already_seen 9)
                                       (!srcfileloc  "c/c-decl.c" 381)
                                       nil )
                                      (!pair  "parm_flag"
                                       (!type already_seen 9)
                                       (!srcfileloc  "c/c-decl.c" 385)
                                       nil )
                                      (!pair  "had_vla_unspec"
                                       (!type already_seen 9)
                                       (!srcfileloc  "c/c-decl.c" 389)
                                       nil )
                                      (!pair  "warned_forward_parm_decls"
                                       (!type already_seen 9)
                                       (!srcfileloc  "c/c-decl.c" 394)
                                       nil )
                                      (!pair  "function_body"
                                       (!type already_seen 9)
                                       (!srcfileloc  "c/c-decl.c" 400)
                                       nil )
                                      (!pair  "keep"
                                       (!type already_seen 9)
                                       (!srcfileloc  "c/c-decl.c" 403)
                                       nil )
                                      (!pair  "float_const_decimal64"
                                       (!type already_seen 9)
                                       (!srcfileloc  "c/c-decl.c" 406)
                                       nil )
                                      (!pair  "has_label_bindings"
                                       (!type already_seen 9)
                                       (!srcfileloc  "c/c-decl.c" 411)
                                       nil )
                                      (!pair  "has_jump_unsafe_decl"
                                       (!type already_seen 9)
                                       (!srcfileloc  "c/c-decl.c" 418)
                                       nil )
                                     )
                                     (!options 
                                      (!option chain_next string  "%h.outer")
                                     )
                                     130 nil nil )
                                   )
                                   (!srcfileloc  "c/c-decl.c" 269)
                                   nil )
                                  (!pair  "bindings_in_scope"
                                   (!type already_seen 586)
                                   (!srcfileloc  "c/c-decl.c" 273)
                                   nil )
                                  (!pair  "stmt_exprs"
                                   (!type already_seen 9)
                                   (!srcfileloc  "c/c-decl.c" 280)
                                   nil )
                                  (!pair  "left_stmt_expr"
                                   (!type already_seen 9)
                                   (!srcfileloc  "c/c-decl.c" 283)
                                   nil )
                                 )
                                 nil 130 nil nil )
                                (!srcfileloc  "c/c-decl.c" 307)
                                nil )
                               (!pair  "decls_in_scope"
                                (!type already_seen 46)
                                (!srcfileloc  "c/c-decl.c" 312)
                                nil )
                               (!pair  "gotos"
                                (!type pointer 594 nil  gc_used
                                 (!type user_struct 595 
                                  (!type already_seen 594)
                                  gc_pointed_to "vec<c_goto_bindings_p,va_gc>"
                                  (!srcfileloc  "c/c-decl.c" 316)
                                  (!fields 2 
                                   (!pair  "va_gc"
                                    (!type already_seen 3)
                                    (!srcfileloc  "c/c-decl.c" 316)
                                    nil )
                                   (!pair  "c_goto_bindings_p"
                                    (!type pointer 596 nil  gc_used
                                     (!type struct 597 
                                      (!type already_seen 596)
                                      gc_pointed_to "c_goto_bindings"
                                      (!srcfileloc  "c/c-decl.c" 295)
                                      (!fields 2 
                                       (!pair  "loc"
                                        (!type already_seen 9)
                                        (!srcfileloc  "c/c-decl.c" 292)
                                        nil )
                                       (!pair  "goto_bindings"
                                        (!type already_seen 591)
                                        (!srcfileloc  "c/c-decl.c" 294)
                                        nil )
                                      )
                                      nil 130 nil nil )
                                    )
                                    (!srcfileloc  "c/c-decl.c" 316)
                                    nil )
                                  )
                                 )
                                )
                                (!srcfileloc  "c/c-decl.c" 316)
                                nil )
                              )
                              nil 130 nil nil )
                            )
                            (!srcfileloc  "c/c-decl.c" 201)
                            (!options 
                             (!option tag string  "1")
                            )
                           )
                          )
                          nil 130 nil )
                         (!srcfileloc  "c/c-decl.c" 202)
                         (!options 
                          (!option desc string  "TREE_CODE (%0.decl) == LABEL_DECL")
                         )
                        )
                        (!pair  "decl"
                         (!type already_seen 5)
                         (!srcfileloc  "c/c-decl.c" 203)
                         nil )
                        (!pair  "id"
                         (!type already_seen 5)
                         (!srcfileloc  "c/c-decl.c" 204)
                         nil )
                        (!pair  "prev"
                         (!type already_seen 586)
                         (!srcfileloc  "c/c-decl.c" 205)
                         nil )
                        (!pair  "shadowed"
                         (!type already_seen 586)
                         (!srcfileloc  "c/c-decl.c" 206)
                         nil )
                        (!pair  "depth"
                         (!type already_seen 9)
                         (!srcfileloc  "c/c-decl.c" 207)
                         nil )
                        (!pair  "invisible"
                         (!type already_seen 9)
                         (!srcfileloc  "c/c-decl.c" 208)
                         nil )
                        (!pair  "nested"
                         (!type already_seen 9)
                         (!srcfileloc  "c/c-decl.c" 209)
                         nil )
                        (!pair  "inner_comp"
                         (!type already_seen 9)
                         (!srcfileloc  "c/c-decl.c" 210)
                         nil )
                        (!pair  "in_struct"
                         (!type already_seen 9)
                         (!srcfileloc  "c/c-decl.c" 211)
                         nil )
                        (!pair  "locus"
                         (!type already_seen 9)
                         (!srcfileloc  "c/c-decl.c" 212)
                         nil )
                       )
                       (!options 
                        (!option chain_next string  "%h.prev")
                       )
                       130 nil nil )
                     )
                     (!srcfileloc  "c/c-decl.c" 240)
                     nil )
                    (!pair  "tag_binding"
                     (!type already_seen 586)
                     (!srcfileloc  "c/c-decl.c" 241)
                     nil )
                    (!pair  "label_binding"
                     (!type already_seen 586)
                     (!srcfileloc  "c/c-decl.c" 242)
                     nil )
                   )
                   nil 130 
                   (!type already_seen 562)
                   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 559)
             )
             
             (!type union 598 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 562)
                (!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 559)
             )
             
             (!type union 599 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 562)
                (!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 559)
             )
             
             (!type union 600 nil  gc_pointed_to "lang_tree_node"
              (!srcfileloc  "cp/cp-tree.h" 832)
              (!fields 14 
               (!pair  "generic"
                (!type already_seen 7)
                (!srcfileloc  "cp/cp-tree.h" 812)
                (!options 
                 (!option desc string  "tree_node_structure (&%h)")
                 (!option tag string  "TS_CP_GENERIC")
                )
               )
               (!pair  "tpi"
                (!type struct 601 nil  gc_used "template_parm_index_s"
                 (!srcfileloc  "cp/cp-tree.h" 281)
                 (!fields 5 
                  (!pair  "common"
                   (!type already_seen 16)
                   (!srcfileloc  "cp/cp-tree.h" 276)
                   nil )
                  (!pair  "index"
                   (!type already_seen 9)
                   (!srcfileloc  "cp/cp-tree.h" 277)
                   nil )
                  (!pair  "level"
                   (!type already_seen 9)
                   (!srcfileloc  "cp/cp-tree.h" 278)
                   nil )
                  (!pair  "orig_level"
                   (!type already_seen 9)
                   (!srcfileloc  "cp/cp-tree.h" 279)
                   nil )
                  (!pair  "decl"
                   (!type already_seen 5)
                   (!srcfileloc  "cp/cp-tree.h" 280)
                   nil )
                 )
                 nil 260 nil nil )
                (!srcfileloc  "cp/cp-tree.h" 813)
                (!options 
                 (!option tag string  "TS_CP_TPI")
                )
               )
               (!pair  "ptrmem"
                (!type struct 602 
                 (!type pointer 603 nil  gc_unused
                  (!type already_seen 602)
                 )
                 gc_used "ptrmem_cst"
                 (!srcfileloc  "cp/cp-tree.h" 287)
                 (!fields 2 
                  (!pair  "common"
                   (!type already_seen 16)
                   (!srcfileloc  "cp/cp-tree.h" 285)
                   nil )
                  (!pair  "member"
                   (!type already_seen 5)
                   (!srcfileloc  "cp/cp-tree.h" 286)
                   nil )
                 )
                 nil 260 nil nil )
                (!srcfileloc  "cp/cp-tree.h" 814)
                (!options 
                 (!option tag string  "TS_CP_PTRMEM")
                )
               )
               (!pair  "overload"
                (!type struct 604 nil  gc_used "tree_overload"
                 (!srcfileloc  "cp/cp-tree.h" 362)
                 (!fields 2 
                  (!pair  "common"
                   (!type already_seen 16)
                   (!srcfileloc  "cp/cp-tree.h" 360)
                   nil )
                  (!pair  "function"
                   (!type already_seen 5)
                   (!srcfileloc  "cp/cp-tree.h" 361)
                   nil )
                 )
                 nil 260 nil nil )
                (!srcfileloc  "cp/cp-tree.h" 815)
                (!options 
                 (!option tag string  "TS_CP_OVERLOAD")
                )
               )
               (!pair  "baselink"
                (!type struct 605 nil  gc_used "tree_baselink"
                 (!srcfileloc  "cp/cp-tree.h" 396)
                 (!fields 4 
                  (!pair  "common"
                   (!type already_seen 16)
                   (!srcfileloc  "cp/cp-tree.h" 392)
                   nil )
                  (!pair  "binfo"
                   (!type already_seen 5)
                   (!srcfileloc  "cp/cp-tree.h" 393)
                   nil )
                  (!pair  "functions"
                   (!type already_seen 5)
                   (!srcfileloc  "cp/cp-tree.h" 394)
                   nil )
                  (!pair  "access_binfo"
                   (!type already_seen 5)
                   (!srcfileloc  "cp/cp-tree.h" 395)
                   nil )
                 )
                 nil 260 nil nil )
                (!srcfileloc  "cp/cp-tree.h" 816)
                (!options 
                 (!option tag string  "TS_CP_BASELINK")
                )
               )
               (!pair  "default_arg"
                (!type struct 606 nil  gc_used "tree_default_arg"
                 (!srcfileloc  "cp/cp-tree.h" 574)
                 (!fields 3 
                  (!pair  "common"
                   (!type already_seen 16)
                   (!srcfileloc  "cp/cp-tree.h" 571)
                   nil )
                  (!pair  "tokens"
                   (!type already_seen 65)
                   (!srcfileloc  "cp/cp-tree.h" 572)
                   nil )
                  (!pair  "instantiations"
                   (!type already_seen 46)
                   (!srcfileloc  "cp/cp-tree.h" 573)
                   nil )
                 )
                 nil 260 nil nil )
                (!srcfileloc  "cp/cp-tree.h" 817)
                (!options 
                 (!option tag string  "TS_CP_DEFAULT_ARG")
                )
               )
               (!pair  "deferred_noexcept"
                (!type struct 607 nil  gc_used "tree_deferred_noexcept"
                 (!srcfileloc  "cp/cp-tree.h" 590)
                 (!fields 3 
                  (!pair  "base"
                   (!type already_seen 8)
                   (!srcfileloc  "cp/cp-tree.h" 587)
                   nil )
                  (!pair  "pattern"
                   (!type already_seen 5)
                   (!srcfileloc  "cp/cp-tree.h" 588)
                   nil )
                  (!pair  "args"
                   (!type already_seen 5)
                   (!srcfileloc  "cp/cp-tree.h" 589)
                   nil )
                 )
                 nil 260 nil nil )
                (!srcfileloc  "cp/cp-tree.h" 818)
                (!options 
                 (!option tag string  "TS_CP_DEFERRED_NOEXCEPT")
                )
               )
               (!pair  "identifier"
                (!type already_seen 562)
                (!srcfileloc  "cp/cp-tree.h" 819)
                (!options 
                 (!option tag string  "TS_CP_IDENTIFIER")
                )
               )
               (!pair  "static_assertion"
                (!type struct 608 nil  gc_used "tree_static_assert"
                 (!srcfileloc  "cp/cp-tree.h" 613)
                 (!fields 4 
                  (!pair  "common"
                   (!type already_seen 16)
                   (!srcfileloc  "cp/cp-tree.h" 609)
                   nil )
                  (!pair  "condition"
                   (!type already_seen 5)
                   (!srcfileloc  "cp/cp-tree.h" 610)
                   nil )
                  (!pair  "message"
                   (!type already_seen 5)
                   (!srcfileloc  "cp/cp-tree.h" 611)
                   nil )
                  (!pair  "location"
                   (!type already_seen 9)
                   (!srcfileloc  "cp/cp-tree.h" 612)
                   nil )
                 )
                 nil 260 nil nil )
                (!srcfileloc  "cp/cp-tree.h" 821)
                (!options 
                 (!option tag string  "TS_CP_STATIC_ASSERT")
                )
               )
               (!pair  "argument_pack_select"
                (!type struct 609 nil  gc_used "tree_argument_pack_select"
                 (!srcfileloc  "cp/cp-tree.h" 619)
                 (!fields 3 
                  (!pair  "common"
                   (!type already_seen 16)
                   (!srcfileloc  "cp/cp-tree.h" 616)
                   nil )
                  (!pair  "argument_pack"
                   (!type already_seen 5)
                   (!srcfileloc  "cp/cp-tree.h" 617)
                   nil )
                  (!pair  "index"
                   (!type already_seen 9)
                   (!srcfileloc  "cp/cp-tree.h" 618)
                   nil )
                 )
                 nil 260 nil nil )
                (!srcfileloc  "cp/cp-tree.h" 823)
                (!options 
                 (!option tag string  "TS_CP_ARGUMENT_PACK_SELECT")
                )
               )
               (!pair  "trait_expression"
                (!type struct 610 nil  gc_used "tree_trait_expr"
                 (!srcfileloc  "cp/cp-tree.h" 667)
                 (!fields 4 
                  (!pair  "common"
                   (!type already_seen 16)
                   (!srcfileloc  "cp/cp-tree.h" 663)
                   nil )
                  (!pair  "type1"
                   (!type already_seen 5)
                   (!srcfileloc  "cp/cp-tree.h" 664)
                   nil )
                  (!pair  "type2"
                   (!type already_seen 5)
                   (!srcfileloc  "cp/cp-tree.h" 665)
                   nil )
                  (!pair  "kind"
                   (!type already_seen 9)
                   (!srcfileloc  "cp/cp-tree.h" 666)
                   nil )
                 )
                 nil 260 nil nil )
                (!srcfileloc  "cp/cp-tree.h" 825)
                (!options 
                 (!option tag string  "TS_CP_TRAIT_EXPR")
                )
               )
               (!pair  "lambda_expression"
                (!type struct 611 nil  gc_used "tree_lambda_expr"
                 (!srcfileloc  "cp/cp-tree.h" 752)
                 (!fields 10 
                  (!pair  "typed"
                   (!type already_seen 15)
                   (!srcfileloc  "cp/cp-tree.h" 742)
                   nil )
                  (!pair  "capture_list"
                   (!type already_seen 5)
                   (!srcfileloc  "cp/cp-tree.h" 743)
                   nil )
                  (!pair  "this_capture"
                   (!type already_seen 5)
                   (!srcfileloc  "cp/cp-tree.h" 744)
                   nil )
                  (!pair  "return_type"
                   (!type already_seen 5)
                   (!srcfileloc  "cp/cp-tree.h" 745)
                   nil )
                  (!pair  "extra_scope"
                   (!type already_seen 5)
                   (!srcfileloc  "cp/cp-tree.h" 746)
                   nil )
                  (!pair  "closure"
                   (!type already_seen 5)
                   (!srcfileloc  "cp/cp-tree.h" 747)
                   nil )
                  (!pair  "pending_proxies"
                   (!type already_seen 46)
                   (!srcfileloc  "cp/cp-tree.h" 748)
                   nil )
                  (!pair  "locus"
                   (!type already_seen 9)
                   (!srcfileloc  "cp/cp-tree.h" 749)
                   nil )
                  (!pair  "default_capture_mode"
                   (!type already_seen 9)
                   (!srcfileloc  "cp/cp-tree.h" 750)
                   nil )
                  (!pair  "discriminator"
                   (!type already_seen 9)
                   (!srcfileloc  "cp/cp-tree.h" 751)
                   nil )
                 )
                 nil 260 nil nil )
                (!srcfileloc  "cp/cp-tree.h" 827)
                (!options 
                 (!option tag string  "TS_CP_LAMBDA_EXPR")
                )
               )
               (!pair  "template_info"
                (!type struct 612 nil  gc_used "tree_template_info"
                 (!srcfileloc  "cp/cp-tree.h" 786)
                 (!fields 2 
                  (!pair  "common"
                   (!type already_seen 16)
                   (!srcfileloc  "cp/cp-tree.h" 784)
                   nil )
                  (!pair  "typedefs_needing_access_checking"
                   (!type pointer 613 nil  gc_used
                    (!type user_struct 614 
                     (!type already_seen 613)
                     gc_pointed_to "vec<qualified_typedef_usage_t,va_gc>"
                     (!srcfileloc  "cp/cp-tree.h" 785)
                     (!fields 2 
                      (!pair  "va_gc"
                       (!type already_seen 3)
                       (!srcfileloc  "cp/cp-tree.h" 785)
                       nil )
                      (!pair  "qualified_typedef_usage_t"
                       (!type struct 615 nil  gc_used "qualified_typedef_usage_s"
                        (!srcfileloc  "cp/cp-tree.h" 772)
                        (!fields 3 
                         (!pair  "typedef_decl"
                          (!type already_seen 5)
                          (!srcfileloc  "cp/cp-tree.h" 769)
                          nil )
                         (!pair  "context"
                          (!type already_seen 5)
                          (!srcfileloc  "cp/cp-tree.h" 770)
                          nil )
                         (!pair  "locus"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 771)
                          nil )
                        )
                        nil 260 nil nil )
                       (!srcfileloc  "cp/cp-tree.h" 785)
                       nil )
                     )
                    )
                   )
                   (!srcfileloc  "cp/cp-tree.h" 785)
                   nil )
                 )
                 nil 260 nil nil )
                (!srcfileloc  "cp/cp-tree.h" 829)
                (!options 
                 (!option tag string  "TS_CP_TEMPLATE_INFO")
                )
               )
               (!pair  "userdef_literal"
                (!type struct 616 nil  gc_used "tree_userdef_literal"
                 (!srcfileloc  "c-family/c-common.h" 1270)
                 (!fields 5 
                  (!pair  "base"
                   (!type already_seen 8)
                   (!srcfileloc  "c-family/c-common.h" 1265)
                   nil )
                  (!pair  "suffix_id"
                   (!type already_seen 5)
                   (!srcfileloc  "c-family/c-common.h" 1266)
                   nil )
                  (!pair  "value"
                   (!type already_seen 5)
                   (!srcfileloc  "c-family/c-common.h" 1267)
                   nil )
                  (!pair  "num_string"
                   (!type already_seen 5)
                   (!srcfileloc  "c-family/c-common.h" 1268)
                   nil )
                  (!pair  "overflow"
                   (!type already_seen 9)
                   (!srcfileloc  "c-family/c-common.h" 1269)
                   nil )
                 )
                 nil 390 nil nil )
                (!srcfileloc  "cp/cp-tree.h" 831)
                (!options 
                 (!option tag string  "TS_CP_USERDEF_LITERAL")
                )
               )
              )
              (!options 
               (!option chain_next string  "(union lang_tree_node *) c_tree_chain_next (&%h.generic)")
               (!option desc string  "cp_tree_node_structure (&%h)")
              )
              260 
              (!type already_seen 559)
             )
             
             (!type union 617 nil  gc_pointed_to "lang_tree_node"
              (!srcfileloc  "c/c-decl.c" 258)
              (!fields 2 
               (!pair  "generic"
                (!type already_seen 7)
                (!srcfileloc  "c/c-decl.c" 256)
                (!options 
                 (!option desc string  "tree_node_structure (&%h)")
                 (!option tag string  "0")
                )
               )
               (!pair  "identifier"
                (!type already_seen 562)
                (!srcfileloc  "c/c-decl.c" 257)
                (!options 
                 (!option tag string  "1")
                )
               )
              )
              (!options 
               (!option chain_next string  "(union lang_tree_node *) c_tree_chain_next (&%h.generic)")
               (!option desc string  "TREE_CODE (&%h.generic) == IDENTIFIER_NODE")
              )
              130 
              (!type already_seen 559)
             )
             
             (!type union 618 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 559)
             )
            )
           )
          )
         )
         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 619 
  (!type pointer 620 nil  gc_used
   (!type already_seen 619)
  )
  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 621 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 621)
 
 (!type user_struct 622 
  (!type pointer 623 nil  gc_used
   (!type already_seen 622)
  )
  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 624 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 624)
 
 (!type user_struct 625 
  (!type pointer 626 nil  gc_used
   (!type already_seen 625)
  )
  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 627 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 627)
 
 (!type struct 628 nil  gc_unused "decl_name_hash"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 629 
  (!type pointer 630 nil  gc_used
   (!type already_seen 629)
  )
  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 631 nil  gc_unused "objc_try_context"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 632 
  (!type pointer 633 nil  gc_used
   (!type already_seen 632)
  )
  gc_pointed_to "imp_entry"
  (!srcfileloc  "objc/objc-act.h" 267)
  (!fields 6 
   (!pair  "next"
    (!type already_seen 633)
    (!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 634 
  (!type pointer 635 nil  gc_used
   (!type already_seen 634)
  )
  gc_pointed_to "hashed_attribute"
  (!srcfileloc  "objc/objc-act.h" 244)
  (!fields 2 
   (!pair  "next"
    (!type already_seen 635)
    (!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 636 
  (!type pointer 637 
   (!type pointer 638 nil  gc_used
    (!type already_seen 637)
   )
   gc_pointed_to
   (!type already_seen 636)
  )
  gc_pointed_to "hashed_entry"
  (!srcfileloc  "objc/objc-act.h" 250)
  (!fields 3 
   (!pair  "list"
    (!type already_seen 635)
    (!srcfileloc  "objc/objc-act.h" 247)
    nil )
   (!pair  "next"
    (!type already_seen 637)
    (!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 639 
  (!type pointer 640 nil  gc_used
   (!type already_seen 639)
  )
  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 641 nil  gc_unused "lto_file_struct"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 642 nil  gc_unused "lto_section_list"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 643 nil  gc_unused "file_data_list"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 644 nil  gc_unused "tree_scc_hasher"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 645 nil  gc_unused "tree_scc"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 646 nil  gc_unused "lto_section_slot"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 647 nil  gc_unused "anonymous:/var/tmp/portage/cross-arm-none-eabi/gcc-4.9.2-r278/work/gcc-4.9.2/gcc-4.9/gcc/java/expr.c:2060"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 648 nil  gc_unused "class_flag_node_struct"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 649 nil  gc_used "builtin_record"
  (!srcfileloc  "java/builtins.c" 84)
  (!fields 4 
   (!pair  "class_name"
    (!type union 650 nil  gc_used "string_or_tree"
     (!srcfileloc  "java/builtins.c" 76)
     (!fields 2 
      (!pair  "s"
       (!type already_seen 37)
       (!srcfileloc  "java/builtins.c" 74)
       (!options 
        (!option tag string  "0")
       )
      )
      (!pair  "t"
       (!type already_seen 5)
       (!srcfileloc  "java/builtins.c" 75)
       (!options 
        (!option tag string  "1")
       )
      )
     )
     nil 32 nil )
    (!srcfileloc  "java/builtins.c" 80)
    (!options 
     (!option desc string  "1")
    )
   )
   (!pair  "method_name"
    (!type already_seen 650)
    (!srcfileloc  "java/builtins.c" 81)
    (!options 
     (!option desc string  "1")
    )
   )
   (!pair  "creator"
    (!type pointer 651 nil  gc_unused
     (!type undefined 652 
      (!type already_seen 651)
      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 652)
 
 (!type already_seen 650)
 
 (!type already_seen 457)
 
 (!type already_seen 462)
 
 (!type already_seen 464)
 
 (!type already_seen 461)
 
 (!type already_seen 85)
 
 (!type already_seen 466)
 
 (!type already_seen 467)
 
 (!type already_seen 56)
 
 (!type already_seen 474)
 
 (!type already_seen 45)
 
 (!type already_seen 53)
 
 (!type already_seen 458)
 
 (!type already_seen 455)
 
 (!type struct 653 nil  gc_unused "stat"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 654 nil  gc_unused "gfc_interface_mapping"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 655 nil  gc_unused "gfc_interface_sym_mapping"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 656 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 657 nil  gc_unused "gimplify_omp_ctx"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 658 nil  gc_unused "anonymous:/var/tmp/portage/cross-arm-none-eabi/gcc-4.9.2-r278/work/gcc-4.9.2/gcc-4.9/gcc/fortran/trans.h:340"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 659 nil  gc_unused "anonymous:/var/tmp/portage/cross-arm-none-eabi/gcc-4.9.2-r278/work/gcc-4.9.2/gcc-4.9/gcc/fortran/trans.h:328"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 660 nil  gc_unused "gfc_loopinfo"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 661 nil  gc_unused "gfc_ss"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 662 nil  gc_unused "gfc_ss_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 663 nil  gc_unused "gfc_array_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 664 nil  gc_unused "gfc_se"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 665 nil  gc_unused "anonymous:/var/tmp/portage/cross-arm-none-eabi/gcc-4.9.2-r278/work/gcc-4.9.2/gcc-4.9/gcc/fortran/trans.h:33"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 666 nil  gc_unused "forall_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 667 nil  gc_unused "iter_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 668 nil  gc_used "gfc_st_parameter"
  (!srcfileloc  "fortran/trans-io.c" 79)
  (!fields 2 
   (!pair  "name"
    (!type already_seen 37)
    (!srcfileloc  "fortran/trans-io.c" 77)
    nil )
   (!pair  "type"
    (!type already_seen 5)
    (!srcfileloc  "fortran/trans-io.c" 78)
    nil )
  )
  nil 8 nil nil )
 
 (!type struct 669 nil  gc_used "gfc_st_parameter_field"
  (!srcfileloc  "fortran/trans-io.c" 73)
  (!fields 6 
   (!pair  "name"
    (!type already_seen 37)
    (!srcfileloc  "fortran/trans-io.c" 67)
    nil )
   (!pair  "mask"
    (!type already_seen 9)
    (!srcfileloc  "fortran/trans-io.c" 68)
    nil )
   (!pair  "param_type"
    (!type already_seen 9)
    (!srcfileloc  "fortran/trans-io.c" 69)
    nil )
   (!pair  "type"
    (!type already_seen 9)
    (!srcfileloc  "fortran/trans-io.c" 70)
    nil )
   (!pair  "field"
    (!type already_seen 5)
    (!srcfileloc  "fortran/trans-io.c" 71)
    nil )
   (!pair  "field_len"
    (!type already_seen 5)
    (!srcfileloc  "fortran/trans-io.c" 72)
    nil )
  )
  nil 8 nil nil )
 
 (!type struct 670 nil  gc_used "gfc_intrinsic_map_t"
  (!srcfileloc  "fortran/trans-intrinsic.c" 86)
  (!fields 19 
   (!pair  "id"
    (!type already_seen 9)
    (!srcfileloc  "fortran/trans-intrinsic.c" 52)
    nil )
   (!pair  "float_built_in"
    (!type already_seen 9)
    (!srcfileloc  "fortran/trans-intrinsic.c" 56)
    nil )
   (!pair  "double_built_in"
    (!type already_seen 9)
    (!srcfileloc  "fortran/trans-intrinsic.c" 57)
    nil )
   (!pair  "long_double_built_in"
    (!type already_seen 9)
    (!srcfileloc  "fortran/trans-intrinsic.c" 58)
    nil )
   (!pair  "complex_float_built_in"
    (!type already_seen 9)
    (!srcfileloc  "fortran/trans-intrinsic.c" 59)
    nil )
   (!pair  "complex_double_built_in"
    (!type already_seen 9)
    (!srcfileloc  "fortran/trans-intrinsic.c" 60)
    nil )
   (!pair  "complex_long_double_built_in"
    (!type already_seen 9)
    (!srcfileloc  "fortran/trans-intrinsic.c" 61)
    nil )
   (!pair  "libm_name"
    (!type already_seen 9)
    (!srcfileloc  "fortran/trans-intrinsic.c" 66)
    nil )
   (!pair  "complex_available"
    (!type already_seen 9)
    (!srcfileloc  "fortran/trans-intrinsic.c" 69)
    nil )
   (!pair  "is_constant"
    (!type already_seen 9)
    (!srcfileloc  "fortran/trans-intrinsic.c" 72)
    nil )
   (!pair  "name"
    (!type already_seen 37)
    (!srcfileloc  "fortran/trans-intrinsic.c" 75)
    nil )
   (!pair  "real4_decl"
    (!type already_seen 5)
    (!srcfileloc  "fortran/trans-intrinsic.c" 78)
    nil )
   (!pair  "real8_decl"
    (!type already_seen 5)
    (!srcfileloc  "fortran/trans-intrinsic.c" 79)
    nil )
   (!pair  "real10_decl"
    (!type already_seen 5)
    (!srcfileloc  "fortran/trans-intrinsic.c" 80)
    nil )
   (!pair  "real16_decl"
    (!type already_seen 5)
    (!srcfileloc  "fortran/trans-intrinsic.c" 81)
    nil )
   (!pair  "complex4_decl"
    (!type already_seen 5)
    (!srcfileloc  "fortran/trans-intrinsic.c" 82)
    nil )
   (!pair  "complex8_decl"
    (!type already_seen 5)
    (!srcfileloc  "fortran/trans-intrinsic.c" 83)
    nil )
   (!pair  "complex10_decl"
    (!type already_seen 5)
    (!srcfileloc  "fortran/trans-intrinsic.c" 84)
    nil )
   (!pair  "complex16_decl"
    (!type already_seen 5)
    (!srcfileloc  "fortran/trans-intrinsic.c" 85)
    nil )
  )
  nil 8 nil nil )
 
 (!type struct 671 
  (!type pointer 672 nil  gc_used
   (!type already_seen 671)
  )
  gc_pointed_to "module_htab_entry"
  (!srcfileloc  "fortran/trans.h" 574)
  (!fields 3 
   (!pair  "name"
    (!type already_seen 37)
    (!srcfileloc  "fortran/trans.h" 571)
    nil )
   (!pair  "namespace_decl"
    (!type already_seen 5)
    (!srcfileloc  "fortran/trans.h" 572)
    nil )
   (!pair  "decls"
    (!type already_seen 54)
    (!srcfileloc  "fortran/trans.h" 573)
    (!options 
     (!option param_is type 
      (!type already_seen 7)
     )
    )
   )
  )
  nil 8 nil nil )
 
 (!type already_seen 82)
 
 (!type struct 673 nil  gc_unused "vtv_graph_node"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 674 nil  gc_unused "work_node"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 675 
  (!type pointer 676 nil  gc_used
   (!type already_seen 675)
  )
  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 677 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 677)
 
 (!type user_struct 678 
  (!type pointer 679 nil  gc_used
   (!type already_seen 678)
  )
  gc_pointed_to "vec<saved_builtin,va_gc>"
  (!srcfileloc  "cp/cp-objcp-common.c" 187)
  (!fields 2 
   (!pair  "va_gc"
    (!type already_seen 3)
    (!srcfileloc  "cp/cp-objcp-common.c" 187)
    nil )
   (!pair  "saved_builtin"
    (!type struct 680 nil  gc_used "sb"
     (!srcfileloc  "cp/cp-objcp-common.c" 185)
     (!fields 8 
      (!pair  "decl"
       (!type already_seen 5)
       (!srcfileloc  "cp/cp-objcp-common.c" 173)
       nil )
      (!pair  "decl_init_copy"
       (!type already_seen 5)
       (!srcfileloc  "cp/cp-objcp-common.c" 174)
       nil )
      (!pair  "decl_fini_copy"
       (!type already_seen 5)
       (!srcfileloc  "cp/cp-objcp-common.c" 175)
       nil )
      (!pair  "id"
       (!type already_seen 5)
       (!srcfileloc  "cp/cp-objcp-common.c" 176)
       nil )
      (!pair  "binding"
       (!type already_seen 100)
       (!srcfileloc  "cp/cp-objcp-common.c" 177)
       nil )
      (!pair  "binding_value"
       (!type already_seen 5)
       (!srcfileloc  "cp/cp-objcp-common.c" 181)
       nil )
      (!pair  "std_binding_value"
       (!type already_seen 5)
       (!srcfileloc  "cp/cp-objcp-common.c" 183)
       nil )
      (!pair  "real_type_value"
       (!type already_seen 5)
       (!srcfileloc  "cp/cp-objcp-common.c" 184)
       nil )
     )
     nil 260 nil nil )
    (!srcfileloc  "cp/cp-objcp-common.c" 187)
    nil )
  )
 )
 
 (!type already_seen 680)
 
 (!type struct 681 nil  gc_unused "secondary_vptr_vtt_init_data_s"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 682 nil  gc_unused "find_final_overrider_data_s"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 683 nil  gc_unused "abi_tag_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 684 nil  gc_unused "vtbl_init_data_s"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 685 
  (!type pointer 686 nil  gc_unused
   (!type already_seen 685)
  )
  gc_unused "class_stack_node"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 687 
  (!type pointer 688 nil  gc_used
   (!type already_seen 687)
  )
  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 688)
    (!srcfileloc  "cp/typeck2.c" 154)
    nil )
  )
  (!options 
   (!option chain_next string  "%h.next")
  )
  260 nil nil )
 
 (!type struct 689 nil  gc_unused "cleanup"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 690 
  (!type pointer 691 nil  gc_used
   (!type already_seen 690)
  )
  gc_pointed_to "vec<tree_int,va_gc>"
  (!srcfileloc  "cp/parser.c" 8667)
  (!fields 2 
   (!pair  "va_gc"
    (!type already_seen 3)
    (!srcfileloc  "cp/parser.c" 8667)
    nil )
   (!pair  "tree_int"
    (!type struct 692 nil  gc_used "tree_int"
     (!srcfileloc  "cp/parser.c" 8666)
     (!fields 2 
      (!pair  "t"
       (!type already_seen 5)
       (!srcfileloc  "cp/parser.c" 8664)
       nil )
      (!pair  "i"
       (!type already_seen 9)
       (!srcfileloc  "cp/parser.c" 8665)
       nil )
     )
     nil 260 nil nil )
    (!srcfileloc  "cp/parser.c" 8667)
    nil )
  )
 )
 
 (!type already_seen 692)
 
 (!type struct 693 nil  gc_unused "cp_parser_expression_stack_entry"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 694 nil  gc_unused "cp_parser_binary_operations_map_node"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 695 
  (!type pointer 696 nil  gc_used
   (!type already_seen 695)
  )
  gc_pointed_to "cp_parser"
  (!srcfileloc  "cp/parser.h" 405)
  (!fields 35 
   (!pair  "lexer"
    (!type pointer 697 nil  gc_used
     (!type struct 698 
      (!type already_seen 697)
      gc_pointed_to "cp_lexer"
      (!srcfileloc  "cp/parser.h" 110)
      (!fields 7 
       (!pair  "buffer"
        (!type pointer 699 nil  gc_used
         (!type user_struct 700 
          (!type already_seen 699)
          gc_pointed_to "vec<cp_token,va_gc>"
          (!srcfileloc  "cp/parser.h" 85)
          (!fields 2 
           (!pair  "va_gc"
            (!type already_seen 3)
            (!srcfileloc  "cp/parser.h" 85)
            nil )
           (!pair  "cp_token"
            (!type already_seen 68)
            (!srcfileloc  "cp/parser.h" 85)
            nil )
          )
         )
        )
        (!srcfileloc  "cp/parser.h" 85)
        nil )
       (!pair  "last_token"
        (!type already_seen 67)
        (!srcfileloc  "cp/parser.h" 89)
        (!options 
         (!option skip string  "")
        )
       )
       (!pair  "next_token"
        (!type already_seen 67)
        (!srcfileloc  "cp/parser.h" 93)
        (!options 
         (!option skip string  "")
        )
       )
       (!pair  "saved_tokens"
        (!type user_struct 701 nil  gc_unused "vec<cp_token_position>"
         (!srcfileloc  "cp/parser.h" 99)
         (!fields 1 
          (!pair  "cp_token_position"
           (!type already_seen 67)
           (!srcfileloc  "cp/parser.h" 99)
           nil )
         )
        )
        (!srcfileloc  "cp/parser.h" 99)
        (!options 
         (!option skip string  "")
        )
       )
       (!pair  "next"
        (!type already_seen 697)
        (!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 702 nil  gc_used
     (!type struct 703 
      (!type already_seen 702)
      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 702)
        (!srcfileloc  "cp/parser.h" 195)
        nil )
      )
      nil 260 nil nil )
    )
    (!srcfileloc  "cp/parser.h" 245)
    nil )
   (!pair  "allow_gnu_extensions_p"
    (!type already_seen 9)
    (!srcfileloc  "cp/parser.h" 249)
    nil )
   (!pair  "greater_than_is_operator_p"
    (!type already_seen 9)
    (!srcfileloc  "cp/parser.h" 256)
    nil )
   (!pair  "default_arg_ok_p"
    (!type already_seen 9)
    (!srcfileloc  "cp/parser.h" 261)
    nil )
   (!pair  "integral_constant_expression_p"
    (!type already_seen 9)
    (!srcfileloc  "cp/parser.h" 265)
    nil )
   (!pair  "allow_non_integral_constant_expression_p"
    (!type already_seen 9)
    (!srcfileloc  "cp/parser.h" 271)
    nil )
   (!pair  "non_integral_constant_expression_p"
    (!type already_seen 9)
    (!srcfileloc  "cp/parser.h" 275)
    nil )
   (!pair  "local_variables_forbidden_p"
    (!type already_seen 9)
    (!srcfileloc  "cp/parser.h" 279)
    nil )
   (!pair  "in_unbraced_linkage_specification_p"
    (!type already_seen 9)
    (!srcfileloc  "cp/parser.h" 284)
    nil )
   (!pair  "in_declarator_p"
    (!type already_seen 9)
    (!srcfileloc  "cp/parser.h" 288)
    nil )
   (!pair  "in_template_argument_list_p"
    (!type already_seen 9)
    (!srcfileloc  "cp/parser.h" 291)
    nil )
   (!pair  "in_statement"
    (!type already_seen 29)
    (!srcfileloc  "cp/parser.h" 305)
    nil )
   (!pair  "in_switch_statement_p"
    (!type already_seen 9)
    (!srcfileloc  "cp/parser.h" 311)
    nil )
   (!pair  "in_type_id_in_expr_p"
    (!type already_seen 9)
    (!srcfileloc  "cp/parser.h" 316)
    nil )
   (!pair  "implicit_extern_c"
    (!type already_seen 9)
    (!srcfileloc  "cp/parser.h" 320)
    nil )
   (!pair  "translate_strings_p"
    (!type already_seen 9)
    (!srcfileloc  "cp/parser.h" 324)
    nil )
   (!pair  "in_function_body"
    (!type already_seen 9)
    (!srcfileloc  "cp/parser.h" 328)
    nil )
   (!pair  "in_transaction"
    (!type already_seen 29)
    (!srcfileloc  "cp/parser.h" 332)
    nil )
   (!pair  "colon_corrects_to_scope_p"
    (!type already_seen 9)
    (!srcfileloc  "cp/parser.h" 335)
    nil )
   (!pair  "colon_doesnt_start_class_def_p"
    (!type already_seen 9)
    (!srcfileloc  "cp/parser.h" 341)
    nil )
   (!pair  "type_definition_forbidden_message"
    (!type already_seen 37)
    (!srcfileloc  "cp/parser.h" 346)
    nil )
   (!pair  "unparsed_queues"
    (!type pointer 704 nil  gc_used
     (!type user_struct 705 
      (!type already_seen 704)
      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 706 nil  gc_used "cp_unparsed_functions_entry_d"
         (!srcfileloc  "cp/parser.h" 166)
         (!fields 3 
          (!pair  "funs_with_default_args"
           (!type pointer 707 nil  gc_used
            (!type user_struct 708 
             (!type already_seen 707)
             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 709 nil  gc_used "cp_default_arg_entry_d"
                (!srcfileloc  "cp/parser.h" 149)
                (!fields 2 
                 (!pair  "class_type"
                  (!type already_seen 5)
                  (!srcfileloc  "cp/parser.h" 145)
                  nil )
                 (!pair  "decl"
                  (!type already_seen 5)
                  (!srcfileloc  "cp/parser.h" 148)
                  nil )
                )
                nil 260 nil nil )
               (!srcfileloc  "cp/parser.h" 157)
               nil )
             )
            )
           )
           (!srcfileloc  "cp/parser.h" 157)
           nil )
          (!pair  "funs_with_definitions"
           (!type already_seen 46)
           (!srcfileloc  "cp/parser.h" 161)
           nil )
          (!pair  "nsdmis"
           (!type already_seen 46)
           (!srcfileloc  "cp/parser.h" 165)
           nil )
         )
         nil 260 nil nil )
        (!srcfileloc  "cp/parser.h" 351)
        nil )
      )
     )
    )
    (!srcfileloc  "cp/parser.h" 351)
    nil )
   (!pair  "unparsed_attribute_args_queue"
    (!type already_seen 5)
    (!srcfileloc  "cp/parser.h" 360)
    nil )
   (!pair  "num_classes_being_defined"
    (!type already_seen 9)
    (!srcfileloc  "cp/parser.h" 364)
    nil )
   (!pair  "num_template_parameter_lists"
    (!type already_seen 9)
    (!srcfileloc  "cp/parser.h" 368)
    nil )
   (!pair  "omp_declare_simd"
    (!type pointer 710 nil  gc_unused
     (!type struct 711 
      (!type already_seen 710)
      gc_unused "cp_omp_declare_simd_data"
      (!srcfileloc  "cp/parser.h" 372)
      (!fields 0 )
      nil 260 nil nil )
    )
    (!srcfileloc  "cp/parser.h" 372)
    (!options 
     (!option skip string  "")
    )
   )
   (!pair  "cilk_simd_fn_info"
    (!type already_seen 710)
    (!srcfileloc  "cp/parser.h" 379)
    (!options 
     (!option skip string  "")
    )
   )
   (!pair  "auto_is_implicit_function_template_parm_p"
    (!type already_seen 9)
    (!srcfileloc  "cp/parser.h" 383)
    nil )
   (!pair  "fully_implicit_function_template_p"
    (!type already_seen 9)
    (!srcfileloc  "cp/parser.h" 388)
    nil )
   (!pair  "implicit_template_parms"
    (!type already_seen 5)
    (!srcfileloc  "cp/parser.h" 396)
    nil )
   (!pair  "implicit_template_scope"
    (!type already_seen 95)
    (!srcfileloc  "cp/parser.h" 403)
    nil )
  )
  nil 260 nil nil )
 
 (!type already_seen 705)
 
 (!type already_seen 711)
 
 (!type already_seen 703)
 
 (!type already_seen 706)
 
 (!type already_seen 708)
 
 (!type already_seen 709)
 
 (!type struct 712 nil  gc_unused "cp_token_ident_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 698)
 
 (!type already_seen 701)
 
 (!type already_seen 700)
 
 (!type already_seen 68)
 
 (!type already_seen 69)
 
 (!type already_seen 71)
 
 (!type struct 713 nil  gc_unused "list_proxy"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 714 nil  gc_unused "cplus_array_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 715 
  (!type pointer 716 nil  gc_used
   (!type already_seen 715)
  )
  gc_pointed_to "constexpr_call"
  (!srcfileloc  "cp/semantics.c" 8131)
  (!fields 4 
   (!pair  "fundef"
    (!type pointer 717 nil  gc_used
     (!type struct 718 
      (!type already_seen 717)
      gc_pointed_to "constexpr_fundef"
      (!srcfileloc  "cp/semantics.c" 7439)
      (!fields 2 
       (!pair  "decl"
        (!type already_seen 5)
        (!srcfileloc  "cp/semantics.c" 7437)
        nil )
       (!pair  "body"
        (!type already_seen 5)
        (!srcfileloc  "cp/semantics.c" 7438)
        nil )
      )
      nil 260 nil nil )
    )
    (!srcfileloc  "cp/semantics.c" 8115)
    nil )
   (!pair  "bindings"
    (!type already_seen 5)
    (!srcfileloc  "cp/semantics.c" 8122)
    nil )
   (!pair  "result"
    (!type already_seen 5)
    (!srcfileloc  "cp/semantics.c" 8127)
    nil )
   (!pair  "hash"
    (!type already_seen 9)
    (!srcfileloc  "cp/semantics.c" 8130)
    nil )
  )
  nil 260 nil nil )
 
 (!type already_seen 718)
 
 (!type struct 719 nil  gc_unused "cp_check_omp_declare_reduction_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 720 
  (!type pointer 721 nil  gc_used
   (!type already_seen 720)
  )
  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 722 nil  gc_used "deferred_access"
     (!srcfileloc  "cp/semantics.c" 140)
     (!fields 2 
      (!pair  "deferred_access_checks"
       (!type already_seen 72)
       (!srcfileloc  "cp/semantics.c" 135)
       nil )
      (!pair  "deferring_access_checks_kind"
       (!type already_seen 9)
       (!srcfileloc  "cp/semantics.c" 138)
       nil )
     )
     nil 260 nil nil )
    (!srcfileloc  "cp/semantics.c" 143)
    nil )
  )
 )
 
 (!type already_seen 722)
 
 (!type already_seen 73)
 
 (!type struct 723 nil  gc_unused "pair_fn_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 724 nil  gc_unused "template_parm_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 725 nil  gc_unused "find_parameter_pack_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 726 
  (!type pointer 727 nil  gc_used
   (!type already_seen 726)
  )
  gc_pointed_to "spec_entry"
  (!srcfileloc  "cp/pt.c" 98)
  (!fields 3 
   (!pair  "tmpl"
    (!type already_seen 5)
    (!srcfileloc  "cp/pt.c" 95)
    nil )
   (!pair  "args"
    (!type already_seen 5)
    (!srcfileloc  "cp/pt.c" 96)
    nil )
   (!pair  "spec"
    (!type already_seen 5)
    (!srcfileloc  "cp/pt.c" 97)
    nil )
  )
  nil 260 nil nil )
 
 (!type struct 728 
  (!type pointer 729 nil  gc_used
   (!type already_seen 728)
  )
  gc_pointed_to "pending_template"
  (!srcfileloc  "cp/pt.c" 63)
  (!fields 2 
   (!pair  "next"
    (!type already_seen 729)
    (!srcfileloc  "cp/pt.c" 61)
    nil )
   (!pair  "tinst"
    (!type pointer 730 nil  gc_used
     (!type struct 731 
      (!type already_seen 730)
      gc_pointed_to "tinst_level"
      (!srcfileloc  "cp/cp-tree.h" 5010)
      (!fields 5 
       (!pair  "next"
        (!type already_seen 730)
        (!srcfileloc  "cp/cp-tree.h" 4995)
        nil )
       (!pair  "decl"
        (!type already_seen 5)
        (!srcfileloc  "cp/cp-tree.h" 5000)
        nil )
       (!pair  "locus"
        (!type already_seen 9)
        (!srcfileloc  "cp/cp-tree.h" 5003)
        nil )
       (!pair  "errors"
        (!type already_seen 9)
        (!srcfileloc  "cp/cp-tree.h" 5006)
        nil )
       (!pair  "in_system_header_p"
        (!type already_seen 9)
        (!srcfileloc  "cp/cp-tree.h" 5009)
        nil )
      )
      (!options 
       (!option chain_next string  "%h.next")
      )
      260 nil nil )
    )
    (!srcfileloc  "cp/pt.c" 62)
    nil )
  )
  (!options 
   (!option chain_next string  "%h.next")
  )
  260 nil nil )
 
 (!type struct 732 
  (!type pointer 733 nil  gc_unused
   (!type already_seen 732)
  )
  gc_unused "priority_info_s"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 734 nil  gc_unused "reshape_iterator_t"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 735 nil  gc_unused "predefined_identifier"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 736 nil  gc_unused "typename_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 737 nil  gc_unused "cp_switch"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 738 
  (!type pointer 739 nil  gc_used
   (!type already_seen 738)
  )
  gc_pointed_to "vec<incomplete_var,va_gc>"
  (!srcfileloc  "cp/decl.c" 268)
  (!fields 2 
   (!pair  "va_gc"
    (!type already_seen 3)
    (!srcfileloc  "cp/decl.c" 268)
    nil )
   (!pair  "incomplete_var"
    (!type struct 740 nil  gc_used "incomplete_var_d"
     (!srcfileloc  "cp/decl.c" 265)
     (!fields 2 
      (!pair  "decl"
       (!type already_seen 5)
       (!srcfileloc  "cp/decl.c" 263)
       nil )
      (!pair  "incomplete_type"
       (!type already_seen 5)
       (!srcfileloc  "cp/decl.c" 264)
       nil )
     )
     nil 260 nil nil )
    (!srcfileloc  "cp/decl.c" 268)
    nil )
  )
 )
 
 (!type already_seen 740)
 
 (!type already_seen 106)
 
 (!type struct 741 nil  gc_unused "conversion_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 742 nil  gc_unused "candidate_warning"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 743 nil  gc_unused "z_candidate"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 744 nil  gc_unused "rejection_reason"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 745 nil  gc_unused "conversion"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 746 nil  gc_unused "diagnostic_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 74)
 
 (!type struct 747 nil  gc_unused "cp_parameter_declarator"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 748 nil  gc_unused "cp_declarator"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 749 nil  gc_unused "cp_decl_specifier_seq"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 750 nil  gc_used "operator_name_info_t"
  (!srcfileloc  "cp/cp-tree.h" 4759)
  (!fields 4 
   (!pair  "identifier"
    (!type already_seen 5)
    (!srcfileloc  "cp/cp-tree.h" 4752)
    nil )
   (!pair  "name"
    (!type already_seen 37)
    (!srcfileloc  "cp/cp-tree.h" 4754)
    nil )
   (!pair  "mangled_name"
    (!type already_seen 37)
    (!srcfileloc  "cp/cp-tree.h" 4756)
    nil )
   (!pair  "arity"
    (!type already_seen 9)
    (!srcfileloc  "cp/cp-tree.h" 4758)
    nil )
  )
  nil 260 nil nil )
 
 (!type struct 751 nil  gc_unused "aggr_init_expr_arg_iterator_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 57)
 
 (!type already_seen 130)
 
 (!type already_seen 129)
 
 (!type already_seen 62)
 
 (!type already_seen 64)
 
 (!type already_seen 63)
 
 (!type already_seen 60)
 
 (!type already_seen 61)
 
 (!type already_seen 59)
 
 (!type already_seen 482)
 
 (!type already_seen 497)
 
 (!type already_seen 484)
 
 (!type already_seen 486)
 
 (!type already_seen 483)
 
 (!type already_seen 487)
 
 (!type already_seen 94)
 
 (!type struct 752 nil  gc_unused "warning_sentinel"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 753 
  (!type pointer 754 nil  gc_used
   (!type already_seen 753)
  )
  gc_pointed_to "vec<cxx_saved_binding,va_gc>"
  (!srcfileloc  "cp/cp-tree.h" 1023)
  (!fields 2 
   (!pair  "va_gc"
    (!type already_seen 3)
    (!srcfileloc  "cp/cp-tree.h" 1023)
    nil )
   (!pair  "cxx_saved_binding"
    (!type struct 755 nil  gc_used "cxx_saved_binding"
     (!srcfileloc  "cp/name-lookup.h" 86)
     (!fields 3 
      (!pair  "identifier"
       (!type already_seen 5)
       (!srcfileloc  "cp/name-lookup.h" 82)
       nil )
      (!pair  "binding"
       (!type already_seen 100)
       (!srcfileloc  "cp/name-lookup.h" 84)
       nil )
      (!pair  "real_type_value"
       (!type already_seen 5)
       (!srcfileloc  "cp/name-lookup.h" 85)
       nil )
     )
     nil 260 nil nil )
    (!srcfileloc  "cp/cp-tree.h" 1023)
    nil )
  )
 )
 
 (!type already_seen 612)
 
 (!type already_seen 614)
 
 (!type already_seen 615)
 
 (!type already_seen 611)
 
 (!type already_seen 610)
 
 (!type already_seen 609)
 
 (!type already_seen 608)
 
 (!type already_seen 607)
 
 (!type already_seen 606)
 
 (!type already_seen 66)
 
 (!type already_seen 605)
 
 (!type already_seen 604)
 
 (!type already_seen 602)
 
 (!type already_seen 601)
 
 (!type struct 756 
  (!type pointer 757 nil  gc_used
   (!type already_seen 756)
  )
  gc_pointed_to "saved_scope"
  (!srcfileloc  "cp/cp-tree.h" 1059)
  (!fields 26 
   (!pair  "old_bindings"
    (!type already_seen 754)
    (!srcfileloc  "cp/cp-tree.h" 1023)
    nil )
   (!pair  "old_namespace"
    (!type already_seen 5)
    (!srcfileloc  "cp/cp-tree.h" 1024)
    nil )
   (!pair  "decl_ns_list"
    (!type already_seen 46)
    (!srcfileloc  "cp/cp-tree.h" 1025)
    nil )
   (!pair  "class_name"
    (!type already_seen 5)
    (!srcfileloc  "cp/cp-tree.h" 1026)
    nil )
   (!pair  "class_type"
    (!type already_seen 5)
    (!srcfileloc  "cp/cp-tree.h" 1027)
    nil )
   (!pair  "access_specifier"
    (!type already_seen 5)
    (!srcfileloc  "cp/cp-tree.h" 1028)
    nil )
   (!pair  "function_decl"
    (!type already_seen 5)
    (!srcfileloc  "cp/cp-tree.h" 1029)
    nil )
   (!pair  "lang_base"
    (!type already_seen 46)
    (!srcfileloc  "cp/cp-tree.h" 1030)
    nil )
   (!pair  "lang_name"
    (!type already_seen 5)
    (!srcfileloc  "cp/cp-tree.h" 1031)
    nil )
   (!pair  "template_parms"
    (!type already_seen 5)
    (!srcfileloc  "cp/cp-tree.h" 1032)
    nil )
   (!pair  "x_previous_class_level"
    (!type already_seen 95)
    (!srcfileloc  "cp/cp-tree.h" 1033)
    nil )
   (!pair  "x_saved_tree"
    (!type already_seen 5)
    (!srcfileloc  "cp/cp-tree.h" 1034)
    nil )
   (!pair  "x_current_class_ptr"
    (!type already_seen 5)
    (!srcfileloc  "cp/cp-tree.h" 1037)
    nil )
   (!pair  "x_current_class_ref"
    (!type already_seen 5)
    (!srcfileloc  "cp/cp-tree.h" 1038)
    nil )
   (!pair  "x_processing_template_decl"
    (!type already_seen 9)
    (!srcfileloc  "cp/cp-tree.h" 1040)
    nil )
   (!pair  "x_processing_specialization"
    (!type already_seen 9)
    (!srcfileloc  "cp/cp-tree.h" 1041)
    nil )
   (!pair  "x_processing_explicit_instantiation"
    (!type already_seen 9)
    (!srcfileloc  "cp/cp-tree.h" 1042)
    nil )
   (!pair  "need_pop_function_context"
    (!type already_seen 9)
    (!srcfileloc  "cp/cp-tree.h" 1043)
    nil )
   (!pair  "unevaluated_operand"
    (!type already_seen 9)
    (!srcfileloc  "cp/cp-tree.h" 1045)
    nil )
   (!pair  "inhibit_evaluation_warnings"
    (!type already_seen 9)
    (!srcfileloc  "cp/cp-tree.h" 1046)
    nil )
   (!pair  "omp_declare_target_attribute"
    (!type already_seen 9)
    (!srcfileloc  "cp/cp-tree.h" 1049)
    nil )
   (!pair  "x_stmt_tree"
    (!type already_seen 89)
    (!srcfileloc  "cp/cp-tree.h" 1051)
    nil )
   (!pair  "class_bindings"
    (!type already_seen 95)
    (!srcfileloc  "cp/cp-tree.h" 1053)
    nil )
   (!pair  "bindings"
    (!type already_seen 95)
    (!srcfileloc  "cp/cp-tree.h" 1054)
    nil )
   (!pair  "x_local_specializations"
    (!type already_seen 388)
    (!srcfileloc  "cp/cp-tree.h" 1056)
    nil )
   (!pair  "prev"
    (!type already_seen 757)
    (!srcfileloc  "cp/cp-tree.h" 1058)
    nil )
  )
  nil 260 nil nil )
 
 (!type struct 758 nil  gc_unused "arg_lookup"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 110)
 
 (!type struct 759 nil  gc_unused "scope_binding"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 103)
 
 (!type already_seen 98)
 
 (!type already_seen 104)
 
 (!type already_seen 99)
 
 (!type already_seen 755)
 
 (!type already_seen 96)
 
 (!type already_seen 101)
 
 (!type already_seen 493)
 
 (!type already_seen 490)
 
 (!type already_seen 731)
 
 (!type struct 760 nil  gc_used "globals"
  (!srcfileloc  "cp/mangle.c" 106)
  (!fields 4 
   (!pair  "substitutions"
    (!type already_seen 46)
    (!srcfileloc  "cp/mangle.c" 95)
    nil )
   (!pair  "entity"
    (!type already_seen 5)
    (!srcfileloc  "cp/mangle.c" 98)
    (!options 
     (!option skip string  "")
    )
   )
   (!pair  "parm_depth"
    (!type already_seen 9)
    (!srcfileloc  "cp/mangle.c" 101)
    nil )
   (!pair  "need_abi_warning"
    (!type already_seen 9)
    (!srcfileloc  "cp/mangle.c" 105)
    nil )
  )
  nil 260 nil nil )
 
 (!type user_struct 761 
  (!type pointer 762 nil  gc_used
   (!type already_seen 761)
  )
  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 763 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 763)
 
 (!type already_seen 113)
 
 (!type struct 764 nil  gc_unused "c_generic_association"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 765 nil  gc_unused "anonymous:/var/tmp/portage/cross-arm-none-eabi/gcc-4.9.2-r278/work/gcc-4.9.2/gcc-4.9/gcc/c/c-parser.c:6068"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 766 
  (!type pointer 767 nil  gc_used
   (!type already_seen 766)
  )
  gc_pointed_to "c_parser"
  (!srcfileloc  "c/c-parser.c" 217)
  (!fields 13 
   (!pair  "tokens"
    (!type pointer 768 nil  gc_unused
     (!type struct 769 
      (!type already_seen 768)
      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 770 nil  gc_used "2" 
     (!type already_seen 769)
    )
    (!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 771 nil  gc_used
     (!type user_struct 772 
      (!type already_seen 771)
      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 769)
        (!srcfileloc  "c/c-parser.c" 216)
        nil )
      )
     )
    )
    (!srcfileloc  "c/c-parser.c" 216)
    nil )
  )
  nil 130 nil nil )
 
 (!type already_seen 772)
 
 (!type already_seen 769)
 
 (!type struct 773 nil  gc_unused "omp_pragma_def"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 774 nil  gc_unused "anonymous:/var/tmp/portage/cross-arm-none-eabi/gcc-4.9.2-r278/work/gcc-4.9.2/gcc-4.9/gcc/c-family/c-pragma.c:1169"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 775 
  (!type pointer 776 nil  gc_used
   (!type already_seen 775)
  )
  gc_pointed_to "opt_stack"
  (!srcfileloc  "c-family/c-pragma.c" 902)
  (!fields 5 
   (!pair  "prev"
    (!type already_seen 776)
    (!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 777 
  (!type pointer 778 nil  gc_used
   (!type already_seen 777)
  )
  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 779 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 779)
 
 (!type user_struct 780 
  (!type pointer 781 nil  gc_used
   (!type already_seen 780)
  )
  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 782 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 782)
 
 (!type struct 783 
  (!type pointer 784 nil  gc_used
   (!type already_seen 783)
  )
  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 784)
    (!srcfileloc  "c-family/c-pragma.c" 53)
    nil )
  )
  nil 390 nil nil )
 
 (!type struct 785 nil  gc_unused "internal_pragma_handler_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type union 786 nil  gc_unused "gen_pragma_handler"nil 
  (!fields 0 )
  nil 0 nil )
 
 (!type struct 787 nil  gc_used "lazy_hex_fp_value_struct"
  (!srcfileloc  "c-family/c-cppbuiltin.c" 1207)
  (!fields 5 
   (!pair  "hex_str"
    (!type already_seen 37)
    (!srcfileloc  "c-family/c-cppbuiltin.c" 1202)
    nil )
   (!pair  "macro"
    (!type already_seen 573)
    (!srcfileloc  "c-family/c-cppbuiltin.c" 1203)
    nil )
   (!pair  "mode"
    (!type already_seen 9)
    (!srcfileloc  "c-family/c-cppbuiltin.c" 1204)
    nil )
   (!pair  "digits"
    (!type already_seen 9)
    (!srcfileloc  "c-family/c-cppbuiltin.c" 1205)
    nil )
   (!pair  "fp_suffix"
    (!type already_seen 37)
    (!srcfileloc  "c-family/c-cppbuiltin.c" 1206)
    nil )
  )
  nil 386 nil nil )
 
 (!type struct 788 nil  gc_unused "cilkplus_an_loop_parts"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 789 nil  gc_unused "cilkplus_an_parts"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 790 nil  gc_unused "inv_list"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 616)
 
 (!type struct 791 nil  gc_unused "omp_clause_mask"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 792 nil  gc_unused "c_fileinfo"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 793 nil  gc_unused "c_common_resword"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 794 
  (!type pointer 795 nil  gc_used
   (!type already_seen 794)
  )
  gc_pointed_to "vec<tree_gc_vec,va_gc>"
  (!srcfileloc  "c-family/c-common.c" 11625)
  (!fields 2 
   (!pair  "va_gc"
    (!type already_seen 3)
    (!srcfileloc  "c-family/c-common.c" 11625)
    nil )
   (!pair  "tree_gc_vec"
    (!type already_seen 46)
    (!srcfileloc  "c-family/c-common.c" 11625)
    nil )
  )
 )
 
 (!type already_seen 88)
 
 (!type struct 796 nil  gc_unused "reason_option_codes_t"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 797 
  (!type pointer 798 nil  gc_used
   (!type already_seen 797)
  )
  gc_pointed_to "vec<const_char_p,va_gc>"
  (!srcfileloc  "c-family/c-common.c" 9089)
  (!fields 2 
   (!pair  "va_gc"
    (!type already_seen 3)
    (!srcfileloc  "c-family/c-common.c" 9089)
    nil )
   (!pair  "const_char_p"
    (!type already_seen 37)
    (!srcfileloc  "c-family/c-common.c" 9089)
    nil )
  )
 )
 
 (!type struct 799 nil  gc_unused "disabled_builtin"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 800 nil  gc_unused "tlist_cache"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 801 nil  gc_unused "tlist"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 802 nil  gc_unused "visibility_flags"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 803 nil  gc_unused "fname_var_t"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 804 
  (!type pointer 805 nil  gc_used
   (!type already_seen 804)
  )
  gc_pointed_to "vec<c_saved_builtin,va_gc>"
  (!srcfileloc  "c/c-decl.c" 10527)
  (!fields 2 
   (!pair  "va_gc"
    (!type already_seen 3)
    (!srcfileloc  "c/c-decl.c" 10527)
    nil )
   (!pair  "c_saved_builtin"
    (!type struct 806 nil  gc_used "c_sb"
     (!srcfileloc  "c/c-decl.c" 10525)
     (!fields 5 
      (!pair  "decl"
       (!type already_seen 5)
       (!srcfileloc  "c/c-decl.c" 10520)
       nil )
      (!pair  "id"
       (!type already_seen 5)
       (!srcfileloc  "c/c-decl.c" 10521)
       nil )
      (!pair  "decl_copy_pre"
       (!type already_seen 5)
       (!srcfileloc  "c/c-decl.c" 10522)
       nil )
      (!pair  "decl_copy_post"
       (!type already_seen 5)
       (!srcfileloc  "c/c-decl.c" 10523)
       nil )
      (!pair  "invisible"
       (!type already_seen 9)
       (!srcfileloc  "c/c-decl.c" 10524)
       nil )
     )
     nil 130 nil nil )
    (!srcfileloc  "c/c-decl.c" 10527)
    nil )
  )
 )
 
 (!type already_seen 806)
 
 (!type already_seen 495)
 
 (!type struct 807 
  (!type pointer 808 nil  gc_used
   (!type already_seen 807)
  )
  gc_pointed_to "c_inline_static"
  (!srcfileloc  "c/c-decl.c" 490)
  (!fields 5 
   (!pair  "location"
    (!type already_seen 9)
    (!srcfileloc  "c/c-decl.c" 477)
    nil )
   (!pair  "function"
    (!type already_seen 5)
    (!srcfileloc  "c/c-decl.c" 480)
    nil )
   (!pair  "static_decl"
    (!type already_seen 5)
    (!srcfileloc  "c/c-decl.c" 483)
    nil )
   (!pair  "type"
    (!type already_seen 9)
    (!srcfileloc  "c/c-decl.c" 486)
    nil )
   (!pair  "next"
    (!type already_seen 808)
    (!srcfileloc  "c/c-decl.c" 489)
    nil )
  )
  (!options 
   (!option chain_next string  "%h.next")
  )
  130 nil nil )
 
 (!type already_seen 595)
 
 (!type already_seen 597)
 
 (!type already_seen 593)
 
 (!type already_seen 562)
 
 (!type already_seen 568)
 
 (!type already_seen 587)
 
 (!type already_seen 588)
 
 (!type already_seen 590)
 
 (!type already_seen 89)
 
 (!type struct 809 nil  gc_unused "c_struct_parse_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 591)
 
 (!type struct 810 nil  gc_unused "c_enum_contents"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 811 nil  gc_unused "c_parm"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 812 nil  gc_unused "c_type_name"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 813 nil  gc_unused "c_declarator"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 115)
 
 (!type struct 814 nil  gc_unused "c_arg_tag_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 815 nil  gc_unused "c_declspecs"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 816 nil  gc_unused "c_typespec"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 817 nil  gc_unused "c_expr"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 818 nil  gc_unused "lang_hooks"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 819 
  (!type pointer 820 nil  gc_used
   (!type already_seen 819)
  )
  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 821 
  (!type pointer 822 nil  gc_used
   (!type already_seen 821)
  )
  gc_pointed_to "gnat_binding_level"
  (!srcfileloc  "ada/gcc-interface/utils.c" 196)
  (!fields 3 
   (!pair  "chain"
    (!type already_seen 822)
    (!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 823 nil  gc_unused "nrv_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 824 
  (!type pointer 825 nil  gc_used
   (!type already_seen 824)
  )
  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 826 nil  gc_used
     (!type struct 827 
      (!type already_seen 826)
      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 828 nil  gc_used
         (!type user_struct 829 
          (!type already_seen 828)
          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 830 nil  gc_used
             (!type struct 831 
              (!type already_seen 830)
              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 827)
 
 (!type already_seen 829)
 
 (!type already_seen 831)
 
 (!type struct 832 
  (!type pointer 833 nil  gc_used
   (!type already_seen 832)
  )
  gc_pointed_to "elab_info"
  (!srcfileloc  "ada/gcc-interface/trans.c" 179)
  (!fields 3 
   (!pair  "next"
    (!type already_seen 833)
    (!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 834 
  (!type pointer 835 nil  gc_used
   (!type already_seen 834)
  )
  gc_pointed_to "stmt_group"
  (!srcfileloc  "ada/gcc-interface/trans.c" 163)
  (!fields 4 
   (!pair  "previous"
    (!type already_seen 835)
    (!srcfileloc  "ada/gcc-interface/trans.c" 159)
    nil )
   (!pair  "stmt_list"
    (!type already_seen 5)
    (!srcfileloc  "ada/gcc-interface/trans.c" 160)
    nil )
   (!pair  "block"
    (!type already_seen 5)
    (!srcfileloc  "ada/gcc-interface/trans.c" 161)
    nil )
   (!pair  "cleanups"
    (!type already_seen 5)
    (!srcfileloc  "ada/gcc-interface/trans.c" 162)
    nil )
  )
  (!options 
   (!option chain_next string  "%h.previous")
  )
  1 nil nil )
 
 (!type already_seen 118)
 
 (!type already_seen 120)
 
 (!type struct 836 nil  gc_unused "vinfo"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 837 nil  gc_unused "anonymous:/var/tmp/portage/cross-arm-none-eabi/gcc-4.9.2-r278/work/gcc-4.9.2/gcc-4.9/gcc/ada/gcc-interface/decl.c:178"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 838 nil  gc_unused "variant_desc_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 839 nil  gc_unused "subst_pair_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 840 nil  gc_unused "incomplete"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 841 nil  gc_unused "attrib"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 842 nil  gc_unused "List_Header"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 843 nil  gc_unused "String_Entry"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 844 nil  gc_unused "Elmt_Item"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 845 nil  gc_unused "Elist_Header"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 846 nil  gc_unused "Flags"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 847 nil  gc_unused "Node"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 848 nil  gc_unused "File_Info_Type"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 849 nil  gc_unused "pass_ipa_devirt"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 850 nil  gc_unused "hash_table<polymorphic_call_target_hasher>"
  (!srcfileloc  "ipa-devirt.c" 866)
  (!fields 1 
   (!pair  "polymorphic_call_target_hasher"
    (!type struct 851 nil  gc_unused "polymorphic_call_target_hasher"
     (!srcfileloc  "ipa-devirt.c" 866)
     (!fields 0 )
     nil 511 nil nil )
    (!srcfileloc  "ipa-devirt.c" 866)
    nil )
  )
 )
 
 (!type already_seen 851)
 
 (!type struct 852 nil  gc_unused "polymorphic_call_target_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 853 
  (!type pointer 854 nil  gc_used
   (!type already_seen 853)
  )
  gc_pointed_to "vec<odr_type,va_gc>"
  (!srcfileloc  "ipa-devirt.c" 279)
  (!fields 2 
   (!pair  "va_gc"
    (!type already_seen 3)
    (!srcfileloc  "ipa-devirt.c" 279)
    nil )
   (!pair  "odr_type"
    (!type pointer 855 nil  gc_used
     (!type struct 856 
      (!type already_seen 855)
      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 857 nil  gc_unused "vec<odr_type>"
         (!srcfileloc  "ipa-devirt.c" 152)
         (!fields 1 
          (!pair  "odr_type"
           (!type already_seen 855)
           (!srcfileloc  "ipa-devirt.c" 152)
           nil )
         )
        )
        (!srcfileloc  "ipa-devirt.c" 152)
        (!options 
         (!option skip string  "")
        )
       )
       (!pair  "derived_types"
        (!type already_seen 857)
        (!srcfileloc  "ipa-devirt.c" 154)
        (!options 
         (!option skip string  "")
        )
       )
       (!pair  "types"
        (!type already_seen 46)
        (!srcfileloc  "ipa-devirt.c" 157)
        nil )
       (!pair  "types_set"
        (!type pointer 858 nil  gc_unused
         (!type struct 859 
          (!type already_seen 858)
          gc_unused "pointer_set_t"
          (!srcfileloc  "ipa-devirt.c" 159)
          (!fields 0 )
          nil 511 nil nil )
        )
        (!srcfileloc  "ipa-devirt.c" 159)
        (!options 
         (!option skip string  "")
        )
       )
       (!pair  "id"
        (!type already_seen 9)
        (!srcfileloc  "ipa-devirt.c" 162)
        nil )
       (!pair  "anonymous_namespace"
        (!type already_seen 9)
        (!srcfileloc  "ipa-devirt.c" 164)
        nil )
      )
      nil 511 nil nil )
    )
    (!srcfileloc  "ipa-devirt.c" 279)
    nil )
  )
 )
 
 (!type user_struct 860 nil  gc_unused "hash_table<odr_hasher>"
  (!srcfileloc  "ipa-devirt.c" 272)
  (!fields 1 
   (!pair  "odr_hasher"
    (!type struct 861 nil  gc_unused "odr_hasher"
     (!srcfileloc  "ipa-devirt.c" 272)
     (!fields 0 )
     nil 511 nil nil )
    (!srcfileloc  "ipa-devirt.c" 272)
    nil )
  )
 )
 
 (!type already_seen 861)
 
 (!type already_seen 857)
 
 (!type struct 862 nil  gc_unused "pass_sancov_O0"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 863 nil  gc_unused "pass_sancov"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 864 nil  gc_unused "pass_tsan_O0"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 865 nil  gc_unused "pass_tsan"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 866 nil  gc_unused "pass_ubsan"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 867 
  (!type pointer 868 nil  gc_used
   (!type already_seen 867)
  )
  gc_pointed_to "tree_type_map"
  (!srcfileloc  "ubsan.c" 57)
  (!fields 2 
   (!pair  "type"
    (!type struct 869 nil  gc_used "tree_map_base"
     (!srcfileloc  "tree-core.h" 1741)
     (!fields 1 
      (!pair  "from"
       (!type already_seen 5)
       (!srcfileloc  "tree-core.h" 1740)
       nil )
     )
     nil 511 nil nil )
    (!srcfileloc  "ubsan.c" 55)
    nil )
   (!pair  "decl"
    (!type already_seen 5)
    (!srcfileloc  "ubsan.c" 56)
    nil )
  )
  nil 511 nil nil )
 
 (!type struct 870 nil  gc_unused "pass_sanopt"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 871 nil  gc_unused "pass_asan_O0"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 872 nil  gc_unused "pass_asan"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 873 nil  gc_unused "asan_add_string_csts_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 874 nil  gc_unused "asan_mem_ref_hasher"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 875 nil  gc_unused "asan_mem_ref"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 876 nil  gc_unused "pass_vtable_verify"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 877 nil  gc_unused "vtbl_map_node"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type undefined 878 nil  gc_unused "vtbl_map_table_type::iterator"
  (!srcfileloc  "vtable-verify.c" 311)
 )
 
 (!type user_struct 879 nil  gc_unused "hash_table<vtbl_map_hasher>"
  (!srcfileloc  "vtable-verify.c" 310)
  (!fields 1 
   (!pair  "vtbl_map_hasher"
    (!type struct 880 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 880)
 
 (!type struct 881 nil  gc_unused "vtable_registration"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 882 nil  gc_unused "edge_growth_cache_entry"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 883 nil  gc_unused "inline_param_summary"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 884 
  (!type pointer 885 nil  gc_used
   (!type already_seen 884)
  )
  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 886 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 887 nil  gc_used
        (!type user_struct 888 
         (!type already_seen 887)
         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 889 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 890 nil  gc_used
        (!type user_struct 891 
         (!type already_seen 890)
         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 892 nil  gc_used "size_time_entry"
            (!srcfileloc  "ipa-inline.h" 141)
            (!fields 3 
             (!pair  "predicate"
              (!type struct 893 
               (!type pointer 894 nil  gc_unused
                (!type already_seen 893)
               )
               gc_used "predicate"
               (!srcfileloc  "ipa-inline.h" 92)
               (!fields 1 
                (!pair  "clause"
                 (!type array 895 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 894)
       (!srcfileloc  "ipa-inline.h" 145)
       (!options 
        (!option skip string  "")
       )
      )
      (!pair  "loop_stride"
       (!type already_seen 894)
       (!srcfileloc  "ipa-inline.h" 148)
       (!options 
        (!option skip string  "")
       )
      )
      (!pair  "array_index"
       (!type already_seen 894)
       (!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 891)
 
 (!type already_seen 892)
 
 (!type already_seen 893)
 
 (!type already_seen 888)
 
 (!type already_seen 889)
 
 (!type already_seen 557)
 
 (!type already_seen 555)
 
 (!type already_seen 551)
 
 (!type already_seen 533)
 
 (!type struct 896 nil  gc_unused "string_slot_hasher"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 897 nil  gc_unused "string_slot"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 898 nil  gc_unused "lto_simple_output_block"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 899 nil  gc_unused "lto_simple_header"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 900 nil  gc_unused "lto_output_stream"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 901 nil  gc_unused "lto_char_ptr_base"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 902 nil  gc_unused "gcov_ctr_summary"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 903 nil  gc_unused "vec<res_pair>"
  (!srcfileloc  "lto-streamer.h" 563)
  (!fields 1 
   (!pair  "res_pair"
    (!type struct 904 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 904)
 
 (!type struct 905 nil  gc_unused "lto_tree_ref_encoder"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 906 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 907 nil  gc_unused "lto_symtab_encoder_iterator"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 908 
  (!type pointer 909 nil  gc_unused
   (!type already_seen 908)
  )
  gc_unused "lto_symtab_encoder_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 910 nil  gc_unused "lto_encoder_entry"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 911 nil  gc_unused "lto_stats_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 912 nil  gc_unused "lto_asm_header"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 913 nil  gc_unused "lto_decl_header"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 914 nil  gc_unused "lto_function_header"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 915 nil  gc_unused "lto_header"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 916 
  (!type pointer 917 nil  gc_used
   (!type already_seen 916)
  )
  gc_pointed_to "lto_in_decl_state"
  (!srcfileloc  "lto-streamer.h" 495)
  (!fields 2 
   (!pair  "streams"
    (!type array 918 nil  gc_used "LTO_N_DECL_STREAMS" 
     (!type already_seen 906)
    )
    (!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 919 nil  gc_unused "pass_ipa_tm"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 920 nil  gc_unused "create_version_alias_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 921 nil  gc_unused "demangle_component"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 922 nil  gc_unused "vec<cgraph_node_ptr>"
  (!srcfileloc  "trans-mem.c" 4067)
  (!fields 1 
   (!pair  "cgraph_node_ptr"
    (!type pointer 923 
     (!type pointer 924 nil  gc_used
      (!type already_seen 923)
     )
     gc_pointed_to
     (!type struct 925 
      (!type already_seen 923)
      gc_pointed_to "cgraph_node"
      (!srcfileloc  "cgraph.h" 444)
      (!fields 36 
       (!pair  "callees"
        (!type pointer 926 nil  gc_used
         (!type struct 927 
          (!type already_seen 926)
          gc_pointed_to "cgraph_edge"
          (!srcfileloc  "cgraph.h" 635)
          (!fields 19 
           (!pair  "count"
            (!type already_seen 9)
            (!srcfileloc  "cgraph.h" 583)
            nil )
           (!pair  "caller"
            (!type already_seen 923)
            (!srcfileloc  "cgraph.h" 584)
            nil )
           (!pair  "callee"
            (!type already_seen 923)
            (!srcfileloc  "cgraph.h" 585)
            nil )
           (!pair  "prev_caller"
            (!type already_seen 926)
            (!srcfileloc  "cgraph.h" 586)
            nil )
           (!pair  "next_caller"
            (!type already_seen 926)
            (!srcfileloc  "cgraph.h" 587)
            nil )
           (!pair  "prev_callee"
            (!type already_seen 926)
            (!srcfileloc  "cgraph.h" 588)
            nil )
           (!pair  "next_callee"
            (!type already_seen 926)
            (!srcfileloc  "cgraph.h" 589)
            nil )
           (!pair  "call_stmt"
            (!type already_seen 311)
            (!srcfileloc  "cgraph.h" 590)
            nil )
           (!pair  "indirect_info"
            (!type pointer 928 nil  gc_used
             (!type struct 929 
              (!type already_seen 928)
              gc_pointed_to "cgraph_indirect_call_info"
              (!srcfileloc  "cgraph.h" 579)
              (!fields 14 
               (!pair  "offset"
                (!type already_seen 9)
                (!srcfileloc  "cgraph.h" 552)
                nil )
               (!pair  "otr_token"
                (!type already_seen 9)
                (!srcfileloc  "cgraph.h" 554)
                nil )
               (!pair  "otr_type"
                (!type already_seen 5)
                (!srcfileloc  "cgraph.h" 556)
                nil )
               (!pair  "outer_type"
                (!type already_seen 5)
                (!srcfileloc  "cgraph.h" 556)
                nil )
               (!pair  "param_index"
                (!type already_seen 9)
                (!srcfileloc  "cgraph.h" 558)
                nil )
               (!pair  "ecf_flags"
                (!type already_seen 9)
                (!srcfileloc  "cgraph.h" 560)
                nil )
               (!pair  "common_target_id"
                (!type already_seen 9)
                (!srcfileloc  "cgraph.h" 562)
                nil )
               (!pair  "common_target_probability"
                (!type already_seen 9)
                (!srcfileloc  "cgraph.h" 564)
                nil )
               (!pair  "polymorphic"
                (!type already_seen 9)
                (!srcfileloc  "cgraph.h" 568)
                nil )
               (!pair  "agg_contents"
                (!type already_seen 9)
                (!srcfileloc  "cgraph.h" 571)
                nil )
               (!pair  "member_ptr"
                (!type already_seen 9)
                (!srcfileloc  "cgraph.h" 573)
                nil )
               (!pair  "by_ref"
                (!type already_seen 9)
                (!srcfileloc  "cgraph.h" 576)
                nil )
               (!pair  "maybe_in_construction"
                (!type already_seen 9)
                (!srcfileloc  "cgraph.h" 577)
                nil )
               (!pair  "maybe_derived_type"
                (!type already_seen 9)
                (!srcfileloc  "cgraph.h" 578)
                nil )
              )
              nil 511 nil nil )
            )
            (!srcfileloc  "cgraph.h" 593)
            nil )
           (!pair  "aux"
            (!type already_seen 10)
            (!srcfileloc  "cgraph.h" 594)
            (!options 
             (!option skip string  "")
            )
           )
           (!pair  "inline_failed"
            (!type already_seen 9)
            (!srcfileloc  "cgraph.h" 597)
            nil )
           (!pair  "lto_stmt_uid"
            (!type already_seen 9)
            (!srcfileloc  "cgraph.h" 600)
            nil )
           (!pair  "frequency"
            (!type already_seen 9)
            (!srcfileloc  "cgraph.h" 604)
            nil )
           (!pair  "uid"
            (!type already_seen 9)
            (!srcfileloc  "cgraph.h" 606)
            nil )
           (!pair  "indirect_inlining_edge"
            (!type already_seen 9)
            (!srcfileloc  "cgraph.h" 608)
            nil )
           (!pair  "indirect_unknown_callee"
            (!type already_seen 9)
            (!srcfileloc  "cgraph.h" 611)
            nil )
           (!pair  "call_stmt_cannot_inline_p"
            (!type already_seen 9)
            (!srcfileloc  "cgraph.h" 614)
            nil )
           (!pair  "can_throw_external"
            (!type already_seen 9)
            (!srcfileloc  "cgraph.h" 616)
            nil )
           (!pair  "speculative"
            (!type already_seen 9)
            (!srcfileloc  "cgraph.h" 634)
            nil )
          )
          (!options 
           (!option chain_prev string  "%h.prev_caller")
           (!option chain_next string  "%h.next_caller")
          )
          511 nil nil )
        )
        (!srcfileloc  "cgraph.h" 364)
        nil )
       (!pair  "callers"
        (!type already_seen 926)
        (!srcfileloc  "cgraph.h" 365)
        nil )
       (!pair  "indirect_calls"
        (!type already_seen 926)
        (!srcfileloc  "cgraph.h" 368)
        nil )
       (!pair  "origin"
        (!type already_seen 923)
        (!srcfileloc  "cgraph.h" 370)
        nil )
       (!pair  "nested"
        (!type already_seen 923)
        (!srcfileloc  "cgraph.h" 372)
        nil )
       (!pair  "next_nested"
        (!type already_seen 923)
        (!srcfileloc  "cgraph.h" 374)
        nil )
       (!pair  "next_sibling_clone"
        (!type already_seen 923)
        (!srcfileloc  "cgraph.h" 376)
        nil )
       (!pair  "prev_sibling_clone"
        (!type already_seen 923)
        (!srcfileloc  "cgraph.h" 377)
        nil )
       (!pair  "clones"
        (!type already_seen 923)
        (!srcfileloc  "cgraph.h" 378)
        nil )
       (!pair  "clone_of"
        (!type already_seen 923)
        (!srcfileloc  "cgraph.h" 379)
        nil )
       (!pair  "call_site_hash"
        (!type pointer 930 nil  gc_used
         (!type param_struct 931 
          (!type already_seen 930)
          gc_pointed_to
          (!type already_seen 50)
          
          (!type already_seen 926)
          nil nil nil nil nil nil nil nil nil nil )
        )
        (!srcfileloc  "cgraph.h" 382)
        (!options 
         (!option param_is type 
          (!type already_seen 927)
         )
        )
       )
       (!pair  "former_clone_of"
        (!type already_seen 5)
        (!srcfileloc  "cgraph.h" 384)
        nil )
       (!pair  "simdclone"
        (!type pointer 932 nil  gc_used
         (!type struct 933 
          (!type already_seen 932)
          gc_pointed_to "cgraph_simd_clone"
          (!srcfileloc  "cgraph.h" 356)
          (!fields 11 
           (!pair  "simdlen"
            (!type already_seen 9)
            (!srcfileloc  "cgraph.h" 324)
            nil )
           (!pair  "nargs"
            (!type already_seen 9)
            (!srcfileloc  "cgraph.h" 328)
            nil )
           (!pair  "vecsize_int"
            (!type already_seen 9)
            (!srcfileloc  "cgraph.h" 331)
            nil )
           (!pair  "vecsize_float"
            (!type already_seen 9)
            (!srcfileloc  "cgraph.h" 334)
            nil )
           (!pair  "vecsize_mangle"
            (!type already_seen 29)
            (!srcfileloc  "cgraph.h" 339)
            nil )
           (!pair  "inbranch"
            (!type already_seen 9)
            (!srcfileloc  "cgraph.h" 343)
            nil )
           (!pair  "cilk_elemental"
            (!type already_seen 9)
            (!srcfileloc  "cgraph.h" 346)
            nil )
           (!pair  "prev_clone"
            (!type already_seen 923)
            (!srcfileloc  "cgraph.h" 349)
            nil )
           (!pair  "next_clone"
            (!type already_seen 923)
            (!srcfileloc  "cgraph.h" 349)
            nil )
           (!pair  "origin"
            (!type already_seen 923)
            (!srcfileloc  "cgraph.h" 352)
            nil )
           (!pair  "args"
            (!type array 934 nil  gc_used "1" 
             (!type struct 935 nil  gc_used "cgraph_simd_clone_arg"
              (!srcfileloc  "cgraph.h" 318)
              (!fields 8 
               (!pair  "orig_arg"
                (!type already_seen 5)
                (!srcfileloc  "cgraph.h" 280)
                nil )
               (!pair  "orig_type"
                (!type already_seen 5)
                (!srcfileloc  "cgraph.h" 284)
                nil )
               (!pair  "vector_arg"
                (!type already_seen 5)
                (!srcfileloc  "cgraph.h" 292)
                nil )
               (!pair  "vector_type"
                (!type already_seen 5)
                (!srcfileloc  "cgraph.h" 295)
                nil )
               (!pair  "simd_array"
                (!type already_seen 5)
                (!srcfileloc  "cgraph.h" 304)
                nil )
               (!pair  "arg_type"
                (!type already_seen 9)
                (!srcfileloc  "cgraph.h" 308)
                nil )
               (!pair  "linear_step"
                (!type already_seen 9)
                (!srcfileloc  "cgraph.h" 314)
                nil )
               (!pair  "alignment"
                (!type already_seen 9)
                (!srcfileloc  "cgraph.h" 317)
                nil )
              )
              nil 511 nil nil )
            )
            (!srcfileloc  "cgraph.h" 355)
            (!options 
             (!option length string  "%h.nargs")
            )
           )
          )
          nil 511 nil nil )
        )
        (!srcfileloc  "cgraph.h" 388)
        nil )
       (!pair  "simd_clones"
        (!type already_seen 923)
        (!srcfileloc  "cgraph.h" 390)
        nil )
       (!pair  "ipa_transforms_to_apply"
        (!type user_struct 936 nil  gc_unused "vec<ipa_opt_pass>"
         (!srcfileloc  "cgraph.h" 395)
         (!fields 1 
          (!pair  "ipa_opt_pass"
           (!type pointer 937 nil  gc_unused
            (!type struct 938 
             (!type already_seen 937)
             gc_unused "ipa_opt_pass_d"
             (!srcfileloc  "function.h" 171)
             (!fields 0 )
             nil 511 nil nil )
           )
           (!srcfileloc  "cgraph.h" 395)
           nil )
         )
        )
        (!srcfileloc  "cgraph.h" 395)
        (!options 
         (!option skip string  "")
        )
       )
       (!pair  "local"
        (!type struct 939 nil  gc_used "cgraph_local_info"
         (!srcfileloc  "cgraph.h" 220)
         (!fields 5 
          (!pair  "local"
           (!type already_seen 9)
           (!srcfileloc  "cgraph.h" 205)
           nil )
          (!pair  "versionable"
           (!type already_seen 9)
           (!srcfileloc  "cgraph.h" 208)
           nil )
          (!pair  "can_change_signature"
           (!type already_seen 9)
           (!srcfileloc  "cgraph.h" 212)
           nil )
          (!pair  "redefined_extern_inline"
           (!type already_seen 9)
           (!srcfileloc  "cgraph.h" 216)
           nil )
          (!pair  "tm_may_enter_irr"
           (!type already_seen 9)
           (!srcfileloc  "cgraph.h" 219)
           nil )
         )
         nil 511 nil nil )
        (!srcfileloc  "cgraph.h" 397)
        nil )
       (!pair  "global"
        (!type struct 940 nil  gc_used "cgraph_global_info"
         (!srcfileloc  "cgraph.h" 232)
         (!fields 2 
          (!pair  "estimated_stack_size"
           (!type already_seen 9)
           (!srcfileloc  "cgraph.h" 227)
           nil )
          (!pair  "inlined_to"
           (!type already_seen 923)
           (!srcfileloc  "cgraph.h" 231)
           nil )
         )
         nil 511 nil nil )
        (!srcfileloc  "cgraph.h" 398)
        nil )
       (!pair  "rtl"
        (!type struct 941 nil  gc_used "cgraph_rtl_info"
         (!srcfileloc  "cgraph.h" 239)
         (!fields 1 
          (!pair  "preferred_incoming_stack_boundary"
           (!type already_seen 9)
           (!srcfileloc  "cgraph.h" 238)
           nil )
         )
         nil 511 nil nil )
        (!srcfileloc  "cgraph.h" 399)
        nil )
       (!pair  "clone"
        (!type struct 942 nil  gc_used "cgraph_clone_info"
         (!srcfileloc  "cgraph.h" 263)
         (!fields 3 
          (!pair  "tree_map"
           (!type pointer 943 nil  gc_used
            (!type user_struct 944 
             (!type already_seen 943)
             gc_pointed_to "vec<ipa_replace_map_p,va_gc>"
             (!srcfileloc  "cgraph.h" 260)
             (!fields 2 
              (!pair  "va_gc"
               (!type already_seen 3)
               (!srcfileloc  "cgraph.h" 260)
               nil )
              (!pair  "ipa_replace_map_p"
               (!type pointer 945 nil  gc_used
                (!type struct 946 
                 (!type already_seen 945)
                 gc_pointed_to "ipa_replace_map"
                 (!srcfileloc  "cgraph.h" 255)
                 (!fields 5 
                  (!pair  "old_tree"
                   (!type already_seen 5)
                   (!srcfileloc  "cgraph.h" 246)
                   nil )
                  (!pair  "new_tree"
                   (!type already_seen 5)
                   (!srcfileloc  "cgraph.h" 248)
                   nil )
                  (!pair  "parm_num"
                   (!type already_seen 9)
                   (!srcfileloc  "cgraph.h" 250)
                   nil )
                  (!pair  "replace_p"
                   (!type already_seen 9)
                   (!srcfileloc  "cgraph.h" 252)
                   nil )
                  (!pair  "ref_p"
                   (!type already_seen 9)
                   (!srcfileloc  "cgraph.h" 254)
                   nil )
                 )
                 nil 511 nil nil )
               )
               (!srcfileloc  "cgraph.h" 260)
               nil )
             )
            )
           )
           (!srcfileloc  "cgraph.h" 260)
           nil )
          (!pair  "args_to_skip"
           (!type already_seen 121)
           (!srcfileloc  "cgraph.h" 261)
           nil )
          (!pair  "combined_args_to_skip"
           (!type already_seen 121)
           (!srcfileloc  "cgraph.h" 262)
           nil )
         )
         nil 511 nil nil )
        (!srcfileloc  "cgraph.h" 400)
        nil )
       (!pair  "thunk"
        (!type struct 947 nil  gc_used "cgraph_thunk_info"
         (!srcfileloc  "cgraph.h" 197)
         (!fields 6 
          (!pair  "fixed_offset"
           (!type already_seen 9)
           (!srcfileloc  "cgraph.h" 190)
           nil )
          (!pair  "virtual_value"
           (!type already_seen 9)
           (!srcfileloc  "cgraph.h" 191)
           nil )
          (!pair  "alias"
           (!type already_seen 5)
           (!srcfileloc  "cgraph.h" 192)
           nil )
          (!pair  "this_adjusting"
           (!type already_seen 9)
           (!srcfileloc  "cgraph.h" 193)
           nil )
          (!pair  "virtual_offset_p"
           (!type already_seen 9)
           (!srcfileloc  "cgraph.h" 194)
           nil )
          (!pair  "thunk_p"
           (!type already_seen 9)
           (!srcfileloc  "cgraph.h" 196)
           nil )
         )
         nil 511 nil nil )
        (!srcfileloc  "cgraph.h" 401)
        nil )
       (!pair  "count"
        (!type already_seen 9)
        (!srcfileloc  "cgraph.h" 404)
        nil )
       (!pair  "max_bb_count"
        (!type already_seen 9)
        (!srcfileloc  "cgraph.h" 406)
        nil )
       (!pair  "count_materialization_scale"
        (!type already_seen 9)
        (!srcfileloc  "cgraph.h" 409)
        nil )
       (!pair  "uid"
        (!type already_seen 9)
        (!srcfileloc  "cgraph.h" 411)
        nil )
       (!pair  "profile_id"
        (!type already_seen 9)
        (!srcfileloc  "cgraph.h" 413)
        nil )
       (!pair  "tp_first_run"
        (!type already_seen 9)
        (!srcfileloc  "cgraph.h" 415)
        nil )
       (!pair  "used_as_abstract_origin"
        (!type already_seen 9)
        (!srcfileloc  "cgraph.h" 419)
        nil )
       (!pair  "lowered"
        (!type already_seen 9)
        (!srcfileloc  "cgraph.h" 421)
        nil )
       (!pair  "process"
        (!type already_seen 9)
        (!srcfileloc  "cgraph.h" 424)
        nil )
       (!pair  "is_versioned_clone"
        (!type already_seen 9)
        (!srcfileloc  "cgraph.h" 426)
        nil )
       (!pair  "frequency"
        (!type already_seen 9)
        (!srcfileloc  "cgraph.h" 429)
        nil )
       (!pair  "only_called_at_startup"
        (!type already_seen 9)
        (!srcfileloc  "cgraph.h" 431)
        nil )
       (!pair  "only_called_at_exit"
        (!type already_seen 9)
        (!srcfileloc  "cgraph.h" 433)
        nil )
       (!pair  "tm_clone"
        (!type already_seen 9)
        (!srcfileloc  "cgraph.h" 438)
        nil )
       (!pair  "dispatcher_function"
        (!type already_seen 9)
        (!srcfileloc  "cgraph.h" 440)
        nil )
       (!pair  "calls_comdat_local"
        (!type already_seen 9)
        (!srcfileloc  "cgraph.h" 443)
        nil )
      )
      (!options 
       (!option tag string  "SYMTAB_FUNCTION")
      )
      511 nil 
      (!type struct 948 
       (!type pointer 949 nil  gc_used
        (!type already_seen 948)
       )
       gc_pointed_to "symtab_node"
       (!srcfileloc  "cgraph.h" 155)
       (!fields 26 
        (!pair  "type"
         (!type already_seen 9)
         (!srcfileloc  "cgraph.h" 55)
         nil )
        (!pair  "resolution"
         (!type already_seen 9)
         (!srcfileloc  "cgraph.h" 58)
         nil )
        (!pair  "definition"
         (!type already_seen 9)
         (!srcfileloc  "cgraph.h" 64)
         nil )
        (!pair  "alias"
         (!type already_seen 9)
         (!srcfileloc  "cgraph.h" 67)
         nil )
        (!pair  "weakref"
         (!type already_seen 9)
         (!srcfileloc  "cgraph.h" 69)
         nil )
        (!pair  "cpp_implicit_alias"
         (!type already_seen 9)
         (!srcfileloc  "cgraph.h" 76)
         nil )
        (!pair  "analyzed"
         (!type already_seen 9)
         (!srcfileloc  "cgraph.h" 79)
         nil )
        (!pair  "externally_visible"
         (!type already_seen 9)
         (!srcfileloc  "cgraph.h" 85)
         nil )
        (!pair  "force_output"
         (!type already_seen 9)
         (!srcfileloc  "cgraph.h" 88)
         nil )
        (!pair  "forced_by_abi"
         (!type already_seen 9)
         (!srcfileloc  "cgraph.h" 92)
         nil )
        (!pair  "unique_name"
         (!type already_seen 9)
         (!srcfileloc  "cgraph.h" 94)
         nil )
        (!pair  "body_removed"
         (!type already_seen 9)
         (!srcfileloc  "cgraph.h" 97)
         nil )
        (!pair  "used_from_other_partition"
         (!type already_seen 9)
         (!srcfileloc  "cgraph.h" 104)
         nil )
        (!pair  "in_other_partition"
         (!type already_seen 9)
         (!srcfileloc  "cgraph.h" 108)
         nil )
        (!pair  "address_taken"
         (!type already_seen 9)
         (!srcfileloc  "cgraph.h" 115)
         nil )
        (!pair  "order"
         (!type already_seen 9)
         (!srcfileloc  "cgraph.h" 119)
         nil )
        (!pair  "decl"
         (!type already_seen 5)
         (!srcfileloc  "cgraph.h" 122)
         nil )
        (!pair  "next"
         (!type already_seen 949)
         (!srcfileloc  "cgraph.h" 125)
         nil )
        (!pair  "previous"
         (!type already_seen 949)
         (!srcfileloc  "cgraph.h" 126)
         nil )
        (!pair  "next_sharing_asm_name"
         (!type already_seen 949)
         (!srcfileloc  "cgraph.h" 137)
         nil )
        (!pair  "previous_sharing_asm_name"
         (!type already_seen 949)
         (!srcfileloc  "cgraph.h" 138)
         nil )
        (!pair  "same_comdat_group"
         (!type already_seen 949)
         (!srcfileloc  "cgraph.h" 141)
         nil )
        (!pair  "ref_list"
         (!type struct 950 nil  gc_used "ipa_ref_list"
          (!srcfileloc  "ipa-ref.h" 59)
          (!fields 2 
           (!pair  "references"
            (!type pointer 951 nil  gc_used
             (!type user_struct 952 
              (!type already_seen 951)
              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 953 
                 (!type pointer 954 nil  gc_unused
                  (!type already_seen 953)
                 )
                 gc_used "ipa_ref"
                 (!srcfileloc  "ipa-ref.h" 45)
                 (!fields 7 
                  (!pair  "referring"
                   (!type already_seen 949)
                   (!srcfileloc  "ipa-ref.h" 38)
                   nil )
                  (!pair  "referred"
                   (!type already_seen 949)
                   (!srcfileloc  "ipa-ref.h" 39)
                   nil )
                  (!pair  "stmt"
                   (!type already_seen 311)
                   (!srcfileloc  "ipa-ref.h" 40)
                   nil )
                  (!pair  "lto_stmt_uid"
                   (!type already_seen 9)
                   (!srcfileloc  "ipa-ref.h" 41)
                   nil )
                  (!pair  "referred_index"
                   (!type already_seen 9)
                   (!srcfileloc  "ipa-ref.h" 42)
                   nil )
                  (!pair  "use"
                   (!type already_seen 9)
                   (!srcfileloc  "ipa-ref.h" 43)
                   nil )
                  (!pair  "speculative"
                   (!type already_seen 9)
                   (!srcfileloc  "ipa-ref.h" 44)
                   nil )
                 )
                 nil 511 nil nil )
                (!srcfileloc  "ipa-ref.h" 55)
                nil )
              )
             )
            )
            (!srcfileloc  "ipa-ref.h" 55)
            nil )
           (!pair  "referring"
            (!type user_struct 955 nil  gc_unused "vec<ipa_ref_ptr>"
             (!srcfileloc  "ipa-ref.h" 58)
             (!fields 1 
              (!pair  "ipa_ref_ptr"
               (!type already_seen 954)
               (!srcfileloc  "ipa-ref.h" 58)
               nil )
             )
            )
            (!srcfileloc  "ipa-ref.h" 58)
            (!options 
             (!option skip string  "")
            )
           )
          )
          nil 511 nil nil )
         (!srcfileloc  "cgraph.h" 144)
         nil )
        (!pair  "alias_target"
         (!type already_seen 5)
         (!srcfileloc  "cgraph.h" 149)
         nil )
        (!pair  "lto_file_data"
         (!type pointer 956 
          (!type pointer 957 nil  gc_used
           (!type already_seen 956)
          )
          gc_pointed_to
          (!type struct 958 
           (!type already_seen 956)
           gc_pointed_to "lto_file_decl_data"
           (!srcfileloc  "lto-streamer.h" 570)
           (!fields 13 
            (!pair  "current_decl_state"
             (!type already_seen 917)
             (!srcfileloc  "lto-streamer.h" 535)
             nil )
            (!pair  "global_decl_state"
             (!type already_seen 917)
             (!srcfileloc  "lto-streamer.h" 539)
             nil )
            (!pair  "symtab_node_encoder"
             (!type already_seen 909)
             (!srcfileloc  "lto-streamer.h" 542)
             (!options 
              (!option skip string  "")
             )
            )
            (!pair  "function_decl_states"
             (!type pointer 959 nil  gc_used
              (!type param_struct 960 
               (!type already_seen 959)
               gc_pointed_to
               (!type already_seen 50)
               
               (!type already_seen 917)
               nil nil nil nil nil nil nil nil nil nil )
             )
             (!srcfileloc  "lto-streamer.h" 545)
             (!options 
              (!option param_is type 
               (!type already_seen 916)
              )
             )
            )
            (!pair  "file_name"
             (!type already_seen 37)
             (!srcfileloc  "lto-streamer.h" 548)
             (!options 
              (!option skip string  "")
             )
            )
            (!pair  "section_hash_table"
             (!type already_seen 51)
             (!srcfileloc  "lto-streamer.h" 551)
             (!options 
              (!option skip string  "")
             )
            )
            (!pair  "renaming_hash_table"
             (!type already_seen 51)
             (!srcfileloc  "lto-streamer.h" 554)
             (!options 
              (!option skip string  "")
             )
            )
            (!pair  "next"
             (!type already_seen 956)
             (!srcfileloc  "lto-streamer.h" 557)
             nil )
            (!pair  "id"
             (!type already_seen 9)
             (!srcfileloc  "lto-streamer.h" 560)
             nil )
            (!pair  "respairs"
             (!type already_seen 903)
             (!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 902)
             (!srcfileloc  "lto-streamer.h" 566)
             (!options 
              (!option skip string  "")
             )
            )
            (!pair  "resolution_map"
             (!type already_seen 388)
             (!srcfileloc  "lto-streamer.h" 569)
             (!options 
              (!option skip string  "")
             )
            )
           )
           nil 511 nil nil )
         )
         (!srcfileloc  "cgraph.h" 152)
         nil )
        (!pair  "aux"
         (!type already_seen 10)
         (!srcfileloc  "cgraph.h" 154)
         (!options 
          (!option skip string  "")
         )
        )
       )
       (!options 
        (!option chain_prev string  "%h.previous")
        (!option chain_next string  "%h.next")
        (!option tag string  "SYMTAB_SYMBOL")
        (!option desc string  "%h.type")
       )
       511 nil nil )
     )
    )
    (!srcfileloc  "trans-mem.c" 4067)
    nil )
  )
 )
 
 (!type struct 961 nil  gc_unused "tm_ipa_cg_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 962 nil  gc_unused "pass_tm_memopt"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 963 nil  gc_unused "tm_memopt_bitmaps"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 964 nil  gc_unused "tm_memop_hasher"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 965 
  (!type pointer 966 nil  gc_unused
   (!type already_seen 965)
  )
  gc_unused "tm_memop"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 967 nil  gc_unused "pass_tm_edges"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 968 nil  gc_unused "pass_tm_mark"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 969 nil  gc_unused "bb2reg_stuff"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 970 nil  gc_unused "pass_tm_init"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 971 
  (!type pointer 972 nil  gc_unused
   (!type already_seen 971)
  )
  gc_unused "tm_region"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 973 nil  gc_unused "pass_lower_tm"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 974 nil  gc_unused "tm_mem_map_hasher"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 975 nil  gc_unused "tm_new_mem_map"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 976 nil  gc_unused "log_entry_hasher"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 977 
  (!type pointer 978 nil  gc_unused
   (!type already_seen 977)
  )
  gc_unused "tm_log_entry"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 979 nil  gc_unused "pass_diagnose_tm_blocks"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 980 nil  gc_unused "diagnose_tm"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 981 nil  gc_unused "vec<ipa_parm_adjustment>"
  (!srcfileloc  "ipa-prop.h" 686)
  (!fields 1 
   (!pair  "ipa_parm_adjustment"
    (!type struct 982 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 983 
  (!type pointer 984 nil  gc_used
   (!type already_seen 983)
  )
  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 985 nil  gc_used "ipa_edge_args"
     (!srcfileloc  "ipa-prop.h" 511)
     (!fields 1 
      (!pair  "jump_functions"
       (!type pointer 986 nil  gc_used
        (!type user_struct 987 
         (!type already_seen 986)
         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 988 nil  gc_used "ipa_jump_func"
            (!srcfileloc  "ipa-prop.h" 480)
            (!fields 3 
             (!pair  "agg"
              (!type struct 989 
               (!type pointer 990 nil  gc_unused
                (!type already_seen 989)
               )
               gc_used "ipa_agg_jump_function"
               (!srcfileloc  "ipa-prop.h" 176)
               (!fields 2 
                (!pair  "items"
                 (!type pointer 991 nil  gc_used
                  (!type user_struct 992 
                   (!type already_seen 991)
                   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 993 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 994 nil  gc_used "jump_func_value"
               (!srcfileloc  "ipa-prop.h" 199)
               (!fields 4 
                (!pair  "known_type"
                 (!type struct 995 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 996 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 997 nil  gc_unused
                     (!type struct 998 
                      (!type already_seen 997)
                      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 999 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 1000 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 1001 
  (!type pointer 1002 nil  gc_used
   (!type already_seen 1001)
  )
  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 1003 nil  gc_used
     (!type struct 1004 
      (!type already_seen 1003)
      gc_pointed_to "ipa_agg_replacement_value"
      (!srcfileloc  "ipa-prop.h" 468)
      (!fields 5 
       (!pair  "next"
        (!type already_seen 1003)
        (!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 987)
 
 (!type struct 1005 nil  gc_unused "ipa_param_descriptor"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 994)
 
 (!type already_seen 992)
 
 (!type already_seen 1000)
 
 (!type already_seen 999)
 
 (!type already_seen 996)
 
 (!type already_seen 995)
 
 (!type struct 1006 nil  gc_unused "ao_ref"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1007 nil  gc_unused "prop_stats_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1008 nil  gc_unused "cgraph_order_sort"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1009 
  (!type pointer 1010 nil  gc_unused
   (!type already_seen 1009)
  )
  gc_unused "lto_out_decl_state"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1011 nil  gc_unused "pass_list_node"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1012 
  (!type pointer 1013 nil  gc_unused
   (!type already_seen 1012)
  )
  gc_unused "uid_range"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1014 nil  gc_unused "pass_registry_hasher"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1015 nil  gc_unused "pass_registry"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1016 nil  gc_unused "pass_postreload"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1017 nil  gc_unused "pass_rest_of_compilation"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1018 nil  gc_unused "pass_all_optimizations_g"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1019 nil  gc_unused "pass_all_optimizations"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1020 nil  gc_unused "pass_all_early_optimizations"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1021 nil  gc_unused "pass_early_local_passes"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1022 nil  gc_unused "dump_file_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1023 nil  gc_unused "expand_vec_perm_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1024 nil  gc_unused "anonymous:/var/tmp/portage/cross-arm-none-eabi/gcc-4.9.2-r278/work/gcc-4.9.2/gcc-4.9/gcc/config/arm/arm.c:29476"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1025 nil  gc_unused "builtin_description"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1026 nil  gc_unused "anonymous:/var/tmp/portage/cross-arm-none-eabi/gcc-4.9.2-r278/work/gcc-4.9.2/gcc-4.9/gcc/config/arm/arm.c:22895"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 1027 nil  gc_unused "hash_table<libcall_hasher>"
  (!srcfileloc  "config/arm/arm.c" 4539)
  (!fields 1 
   (!pair  "libcall_hasher"
    (!type struct 1028 nil  gc_unused "libcall_hasher"
     (!srcfileloc  "config/arm/arm.c" 4539)
     (!fields 0 )
     nil 511 nil nil )
    (!srcfileloc  "config/arm/arm.c" 4539)
    nil )
  )
 )
 
 (!type already_seen 1028)
 
 (!type struct 1029 nil  gc_unused "anonymous:/var/tmp/portage/cross-arm-none-eabi/gcc-4.9.2-r278/work/gcc-4.9.2/gcc-4.9/gcc/config/arm/arm.c:2869"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1030 nil  gc_unused "anonymous:/var/tmp/portage/cross-arm-none-eabi/gcc-4.9.2-r278/work/gcc-4.9.2/gcc-4.9/gcc/config/arm/arm.c:1875"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1031 nil  gc_unused "processors"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1032 nil  gc_unused "gcc_target"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1033 nil  gc_unused "four_ints"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1034 nil  gc_unused "minipool_fixup"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1035 nil  gc_unused "minipool_node"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1036 nil  gc_unused "cl_option_state"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1037 nil  gc_unused "_stmt_vec_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1038 nil  gc_unused "pass_omp_simd_clone"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1039 nil  gc_unused "modify_stmt_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1040 nil  gc_unused "pass_diagnose_omp_blocks"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1041 nil  gc_unused "pass_lower_omp"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1042 nil  gc_unused "omp_taskcopy_context"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1043 nil  gc_unused "pass_expand_omp"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1044 nil  gc_unused "omp_for_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1045 nil  gc_unused "omp_for_data_loop"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1046 nil  gc_unused "omp_context"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1047 nil  gc_unused "pass_parallelize_loops"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1048 nil  gc_unused "clsn_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1049 nil  gc_unused "elv_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1050 nil  gc_unused "int_tree_map"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1051 nil  gc_unused "data_dependence_relation"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1052 
  (!type pointer 1053 nil  gc_unused
   (!type already_seen 1052)
  )
  gc_unused "lambda_trans_matrix_s"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 1054 nil  gc_unused "hash_table<name_to_copy_hasher>"
  (!srcfileloc  "tree-parloops.c" 282)
  (!fields 1 
   (!pair  "name_to_copy_hasher"
    (!type struct 1055 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 1055)
 
 (!type struct 1056 nil  gc_unused "name_to_copy_elt"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 1057 nil  gc_unused "hash_table<reduction_hasher>"
  (!srcfileloc  "tree-parloops.c" 230)
  (!fields 1 
   (!pair  "reduction_hasher"
    (!type struct 1058 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 1058)
 
 (!type struct 1059 nil  gc_unused "reduction_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1060 nil  gc_unused "nesting_copy_body_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1061 nil  gc_unused "nesting_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1062 nil  gc_unused "pass_direct_call_profile"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1063 nil  gc_unused "pass_ipa_tree_profile"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 392)
 
 (!type struct 1064 nil  gc_unused "chrec_stats"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1065 nil  gc_unused "tree_niter_desc"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1066 nil  gc_unused "instantiate_cache_type"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1067 
  (!type pointer 1068 nil  gc_used
   (!type already_seen 1067)
  )
  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 1069 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 1070 nil  gc_unused "dfa_stats_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1071 nil  gc_unused "pass_fixup_cfg"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1072 nil  gc_unused "pass_warn_unused_result"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1073 nil  gc_unused "pass_warn_function_return"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1074 nil  gc_unused "pass_split_crit_edges"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1075 nil  gc_unused "move_stmt_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1076 nil  gc_unused "walk_stmt_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1077 nil  gc_unused "omp_region"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1078 nil  gc_unused "pass_build_cfg"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1079 nil  gc_unused "locus_discrim_hasher"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1080 nil  gc_unused "locus_discrim_map"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1081 nil  gc_unused "cfg_stats_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1082 nil  gc_unused "mem_address"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 1083 
  (!type pointer 1084 nil  gc_used
   (!type already_seen 1083)
  )
  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 1085 nil  gc_used "mem_addr_template"
     (!srcfileloc  "tree-ssa-address.c" 91)
     (!fields 3 
      (!pair  "ref"
       (!type already_seen 137)
       (!srcfileloc  "tree-ssa-address.c" 86)
       nil )
      (!pair  "step_p"
       (!type already_seen 138)
       (!srcfileloc  "tree-ssa-address.c" 87)
       (!options 
        (!option skip string  "")
       )
      )
      (!pair  "off_p"
       (!type already_seen 138)
       (!srcfileloc  "tree-ssa-address.c" 89)
       (!options 
        (!option skip string  "")
       )
      )
     )
     nil 511 nil nil )
    (!srcfileloc  "tree-ssa-address.c" 98)
    nil )
  )
 )
 
 (!type already_seen 1085)
 
 (!type struct 1086 nil  gc_unused "pass_cleanup_eh"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1087 nil  gc_unused "pass_lower_eh_dispatch"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1088 nil  gc_unused "pass_lower_resx"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1089 nil  gc_unused "pass_refactor_eh"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1090 nil  gc_unused "pass_lower_eh"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1091 nil  gc_unused "labels_s"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1092 nil  gc_unused "leh_tf_state"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1093 nil  gc_unused "leh_state"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1094 nil  gc_unused "goto_queue_node"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1095 nil  gc_unused "finally_tree_hasher"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1096 nil  gc_unused "finally_tree_node"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type union 1097 nil  gc_unused "anonymous:/var/tmp/portage/cross-arm-none-eabi/gcc-4.9.2-r278/work/gcc-4.9.2/gcc-4.9/gcc/tree-eh.c:59"nil 
  (!fields 0 )
  nil 0 nil )
 
 (!type struct 1098 nil  gc_unused "pass_release_ssa_names"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 390)
 
 (!type already_seen 386)
 
 (!type already_seen 399)
 
 (!type struct 1099 nil  gc_unused "gimple_temp_hash_elt"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1100 nil  gc_pointed_to "gimple_statement_transaction"
  (!srcfileloc  "gimple.h" 759)
  (!fields 2 
   (!pair  "body"
    (!type already_seen 311)
    (!srcfileloc  "gimple.h" 755)
    nil )
   (!pair  "label"
    (!type already_seen 5)
    (!srcfileloc  "gimple.h" 758)
    nil )
  )
  (!options 
   (!option tag string  "GSS_TRANSACTION")
  )
  511 nil 
  (!type struct 1101 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 1102 nil  gc_pointed_to "gimple_statement_with_ops_base"
    (!srcfileloc  "gimple.h" 220)
    (!fields 1 
     (!pair  "use_ops"
      (!type already_seen 394)
      (!srcfileloc  "gimple.h" 219)
      (!options 
       (!option skip string  "")
      )
     )
    )
    nil 511 nil 
    (!type already_seen 312)
   )
  )
 )
 
 (!type struct 1103 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 1104 nil  gc_pointed_to "gimple_statement_omp_atomic_store_layout"
   (!srcfileloc  "gimple.h" 703)
   (!fields 1 
    (!pair  "val"
     (!type already_seen 5)
     (!srcfileloc  "gimple.h" 702)
     nil )
   )
   (!options 
    (!option tag string  "GSS_OMP_ATOMIC_STORE_LAYOUT")
   )
   511 nil 
   (!type already_seen 312)
  )
 )
 
 (!type struct 1105 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 1104)
 )
 
 (!type already_seen 1104)
 
 (!type struct 1106 nil  gc_pointed_to "gimple_statement_omp_atomic_load"
  (!srcfileloc  "gimple.h" 691)
  (!fields 2 
   (!pair  "rhs"
    (!type already_seen 5)
    (!srcfileloc  "gimple.h" 690)
    nil )
   (!pair  "lhs"
    (!type already_seen 5)
    (!srcfileloc  "gimple.h" 690)
    nil )
  )
  (!options 
   (!option tag string  "GSS_OMP_ATOMIC_LOAD")
  )
  511 nil 
  (!type already_seen 312)
 )
 
 (!type struct 1107 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 1108 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 1109 nil  gc_pointed_to "gimple_statement_omp"
    (!srcfileloc  "gimple.h" 303)
    (!fields 1 
     (!pair  "body"
      (!type already_seen 311)
      (!srcfileloc  "gimple.h" 302)
      nil )
    )
    (!options 
     (!option tag string  "GSS_OMP")
    )
    511 nil 
    (!type already_seen 312)
   )
  )
 )
 
 (!type struct 1110 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 1108)
 )
 
 (!type already_seen 1108)
 
 (!type struct 1111 nil  gc_pointed_to "gimple_statement_omp_continue"
  (!srcfileloc  "gimple.h" 652)
  (!fields 2 
   (!pair  "control_def"
    (!type already_seen 5)
    (!srcfileloc  "gimple.h" 648)
    nil )
   (!pair  "control_use"
    (!type already_seen 5)
    (!srcfileloc  "gimple.h" 651)
    nil )
  )
  (!options 
   (!option tag string  "GSS_OMP_CONTINUE")
  )
  511 nil 
  (!type already_seen 312)
 )
 
 (!type struct 1112 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 1109)
 )
 
 (!type struct 1113 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 1114 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 1115 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 1109)
   )
  )
 )
 
 (!type struct 1116 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 1115)
 )
 
 (!type struct 1117 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 1114)
 )
 
 (!type already_seen 1114)
 
 (!type already_seen 1115)
 
 (!type struct 1118 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 1119 nil  gc_unused
     (!type struct 1120 
      (!type already_seen 1119)
      gc_used "gimple_omp_for_iter"
      (!srcfileloc  "gimple.h" 530)
      (!fields 5 
       (!pair  "cond"
        (!type already_seen 9)
        (!srcfileloc  "gimple.h" 517)
        nil )
       (!pair  "index"
        (!type already_seen 5)
        (!srcfileloc  "gimple.h" 520)
        nil )
       (!pair  "initial"
        (!type already_seen 5)
        (!srcfileloc  "gimple.h" 523)
        nil )
       (!pair  "final"
        (!type already_seen 5)
        (!srcfileloc  "gimple.h" 526)
        nil )
       (!pair  "incr"
        (!type already_seen 5)
        (!srcfileloc  "gimple.h" 529)
        nil )
      )
      nil 511 nil nil )
    )
    (!srcfileloc  "gimple.h" 547)
    (!options 
     (!option length string  "%h.collapse")
    )
   )
   (!pair  "pre_body"
    (!type already_seen 311)
    (!srcfileloc  "gimple.h" 551)
    nil )
  )
  (!options 
   (!option tag string  "GSS_OMP_FOR")
  )
  511 nil 
  (!type already_seen 1109)
 )
 
 (!type already_seen 1120)
 
 (!type struct 1121 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 1109)
 )
 
 (!type struct 1122 nil  gc_pointed_to "gimple_statement_asm"
  (!srcfileloc  "gimple.h" 500)
  (!fields 6 
   (!pair  "string"
    (!type already_seen 37)
    (!srcfileloc  "gimple.h" 486)
    nil )
   (!pair  "ni"
    (!type already_seen 29)
    (!srcfileloc  "gimple.h" 490)
    nil )
   (!pair  "no"
    (!type already_seen 29)
    (!srcfileloc  "gimple.h" 491)
    nil )
   (!pair  "nc"
    (!type already_seen 29)
    (!srcfileloc  "gimple.h" 492)
    nil )
   (!pair  "nl"
    (!type already_seen 29)
    (!srcfileloc  "gimple.h" 493)
    nil )
   (!pair  "op"
    (!type array 1123 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 1101)
 )
 
 (!type struct 1124 nil  gc_pointed_to "gimple_statement_wce"
  (!srcfileloc  "gimple.h" 474)
  (!fields 1 
   (!pair  "cleanup"
    (!type already_seen 311)
    (!srcfileloc  "gimple.h" 473)
    nil )
  )
  (!options 
   (!option tag string  "GSS_WCE")
  )
  511 nil 
  (!type already_seen 312)
 )
 
 (!type struct 1125 nil  gc_pointed_to "gimple_statement_try"
  (!srcfileloc  "gimple.h" 443)
  (!fields 2 
   (!pair  "eval"
    (!type already_seen 311)
    (!srcfileloc  "gimple.h" 438)
    nil )
   (!pair  "cleanup"
    (!type already_seen 311)
    (!srcfileloc  "gimple.h" 442)
    nil )
  )
  (!options 
   (!option tag string  "GSS_TRY")
  )
  511 nil 
  (!type already_seen 312)
 )
 
 (!type struct 1126 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 1127 nil  gc_pointed_to "gimple_statement_eh_ctrl"
   (!srcfileloc  "gimple.h" 412)
   (!fields 1 
    (!pair  "region"
     (!type already_seen 9)
     (!srcfileloc  "gimple.h" 411)
     nil )
   )
   (!options 
    (!option tag string  "GSS_EH_CTRL")
   )
   511 nil 
   (!type already_seen 312)
  )
 )
 
 (!type struct 1128 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 1127)
 )
 
 (!type already_seen 1127)
 
 (!type struct 1129 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 1130 nil  gc_used "1" 
     (!type struct 1131 nil  gc_used "phi_arg_d"
      (!srcfileloc  "tree-core.h" 1220)
      (!fields 3 
       (!pair  "imm_use"
        (!type already_seen 513)
        (!srcfileloc  "tree-core.h" 1217)
        nil )
       (!pair  "def"
        (!type already_seen 5)
        (!srcfileloc  "tree-core.h" 1218)
        nil )
       (!pair  "locus"
        (!type already_seen 9)
        (!srcfileloc  "tree-core.h" 1219)
        nil )
      )
      nil 511 nil nil )
    )
    (!srcfileloc  "gimple.h" 398)
    (!options 
     (!option length string  "%h.nargs")
    )
   )
  )
  (!options 
   (!option tag string  "GSS_PHI")
  )
  511 nil 
  (!type already_seen 312)
 )
 
 (!type struct 1132 nil  gc_pointed_to "gimple_statement_eh_mnt"
  (!srcfileloc  "gimple.h" 381)
  (!fields 1 
   (!pair  "fndecl"
    (!type already_seen 5)
    (!srcfileloc  "gimple.h" 380)
    nil )
  )
  (!options 
   (!option tag string  "GSS_EH_MNT")
  )
  511 nil 
  (!type already_seen 312)
 )
 
 (!type struct 1133 nil  gc_pointed_to "gimple_statement_eh_else"
  (!srcfileloc  "gimple.h" 370)
  (!fields 2 
   (!pair  "n_body"
    (!type already_seen 311)
    (!srcfileloc  "gimple.h" 369)
    nil )
   (!pair  "e_body"
    (!type already_seen 311)
    (!srcfileloc  "gimple.h" 369)
    nil )
  )
  (!options 
   (!option tag string  "GSS_EH_ELSE")
  )
  511 nil 
  (!type already_seen 312)
 )
 
 (!type struct 1134 nil  gc_pointed_to "gimple_statement_eh_filter"
  (!srcfileloc  "gimple.h" 359)
  (!fields 2 
   (!pair  "types"
    (!type already_seen 5)
    (!srcfileloc  "gimple.h" 354)
    nil )
   (!pair  "failure"
    (!type already_seen 311)
    (!srcfileloc  "gimple.h" 358)
    nil )
  )
  (!options 
   (!option tag string  "GSS_EH_FILTER")
  )
  511 nil 
  (!type already_seen 312)
 )
 
 (!type struct 1135 nil  gc_pointed_to "gimple_statement_catch"
  (!srcfileloc  "gimple.h" 342)
  (!fields 2 
   (!pair  "types"
    (!type already_seen 5)
    (!srcfileloc  "gimple.h" 338)
    nil )
   (!pair  "handler"
    (!type already_seen 311)
    (!srcfileloc  "gimple.h" 341)
    nil )
  )
  (!options 
   (!option tag string  "GSS_CATCH")
  )
  511 nil 
  (!type already_seen 312)
 )
 
 (!type struct 1136 nil  gc_pointed_to "gimple_statement_bind"
  (!srcfileloc  "gimple.h" 327)
  (!fields 3 
   (!pair  "vars"
    (!type already_seen 5)
    (!srcfileloc  "gimple.h" 315)
    nil )
   (!pair  "block"
    (!type already_seen 5)
    (!srcfileloc  "gimple.h" 323)
    nil )
   (!pair  "body"
    (!type already_seen 311)
    (!srcfileloc  "gimple.h" 326)
    nil )
  )
  (!options 
   (!option tag string  "GSS_BIND")
  )
  511 nil 
  (!type already_seen 312)
 )
 
 (!type already_seen 1109)
 
 (!type struct 1137 nil  gc_pointed_to "gimple_statement_call"
  (!srcfileloc  "gimple.h" 291)
  (!fields 4 
   (!pair  "call_used"
    (!type already_seen 387)
    (!srcfileloc  "gimple.h" 277)
    nil )
   (!pair  "call_clobbered"
    (!type already_seen 387)
    (!srcfileloc  "gimple.h" 278)
    nil )
   (!pair  "u"
    (!type union 1138 nil  gc_used "anonymous:/var/tmp/portage/cross-arm-none-eabi/gcc-4.9.2-r278/work/gcc-4.9.2/gcc-4.9/gcc/gimple.h:281"
     (!srcfileloc  "gimple.h" 284)
     (!fields 2 
      (!pair  "fntype"
       (!type already_seen 5)
       (!srcfileloc  "gimple.h" 282)
       (!options 
        (!option tag string  "0")
       )
      )
      (!pair  "internal_fn"
       (!type already_seen 9)
       (!srcfileloc  "gimple.h" 283)
       (!options 
        (!option tag string  "GF_CALL_INTERNAL")
       )
      )
     )
     (!options 
      (!option desc string  "%1.subcode & GF_CALL_INTERNAL")
     )
     511 nil )
    (!srcfileloc  "gimple.h" 284)
    nil )
   (!pair  "op"
    (!type array 1139 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 1101)
 )
 
 (!type already_seen 1138)
 
 (!type already_seen 387)
 
 (!type struct 1140 nil  gc_pointed_to "gimple_statement_with_memory_ops"
  (!srcfileloc  "gimple.h" 266)
  (!fields 1 
   (!pair  "op"
    (!type array 1141 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 1101)
 )
 
 (!type already_seen 1101)
 
 (!type struct 1142 nil  gc_pointed_to "gimple_statement_with_ops"
  (!srcfileloc  "gimple.h" 235)
  (!fields 1 
   (!pair  "op"
    (!type array 1143 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 1102)
 )
 
 (!type already_seen 1102)
 
 (!type already_seen 395)
 
 (!type user_struct 1144 nil  gc_unused "vec<gimple>"
  (!srcfileloc  "gimple.h" 29)
  (!fields 1 
   (!pair  "gimple"
    (!type already_seen 311)
    (!srcfileloc  "gimple.h" 29)
    nil )
  )
 )
 
 (!type struct 1145 nil  gc_unused "tm_alias_pair"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1146 nil  gc_unused "anonymous:/var/tmp/portage/cross-arm-none-eabi/gcc-4.9.2-r278/work/gcc-4.9.2/gcc-4.9/gcc/varasm.c:4839"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1147 nil  gc_unused "anonymous:/var/tmp/portage/cross-arm-none-eabi/gcc-4.9.2-r278/work/gcc-4.9.2/gcc-4.9/gcc/varasm.c:4595"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1148 nil  gc_unused "asm_int_op"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1149 nil  gc_unused "addr_const"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1150 nil  gc_unused "pass_ipa_free_lang_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1151 nil  gc_unused "free_lang_data_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1152 
  (!type pointer 1153 nil  gc_used
   (!type already_seen 1152)
  )
  gc_pointed_to "type_hash"
  (!srcfileloc  "tree.c" 179)
  (!fields 2 
   (!pair  "hash"
    (!type already_seen 9)
    (!srcfileloc  "tree.c" 177)
    nil )
   (!pair  "type"
    (!type already_seen 5)
    (!srcfileloc  "tree.c" 178)
    nil )
  )
  nil 511 nil nil )
 
 (!type struct 1154 
  (!type pointer 1155 nil  gc_used
   (!type already_seen 1154)
  )
  gc_pointed_to "string_pool_data"
  (!srcfileloc  "stringpool.c" 252)
  (!fields 3 
   (!pair  "entries"
    (!type already_seen 36)
    (!srcfileloc  "stringpool.c" 249)
    (!options 
     (!option nested_ptr nested 
      (!type already_seen 7)
      "%h ? HT_IDENT_TO_GCC_IDENT (%h) : NULL" "%h ? GCC_IDENT_TO_HT_IDENT (%h) : NULL")
     (!option length string  "%h.nslots")
    )
   )
   (!pair  "nslots"
    (!type already_seen 9)
    (!srcfileloc  "stringpool.c" 250)
    nil )
   (!pair  "nelements"
    (!type already_seen 9)
    (!srcfileloc  "stringpool.c" 251)
    nil )
  )
  nil 511 nil nil )
 
 (!type struct 1156 nil  gc_unused "cfg_hooks"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1157 nil  gc_unused "pass_outof_cfg_layout_mode"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1158 nil  gc_unused "pass_into_cfg_layout_mode"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1159 nil  gc_unused "pass_free_cfg"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1160 nil  gc_unused "pass_stack_regs_run"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1161 nil  gc_unused "pass_stack_regs"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1162 
  (!type pointer 1163 nil  gc_unused
   (!type already_seen 1162)
  )
  gc_unused "block_info_def"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1164 
  (!type pointer 1165 nil  gc_unused
   (!type already_seen 1164)
  )
  gc_unused "stack_def"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type union 1166 nil  gc_unused "anonymous:/var/tmp/portage/cross-arm-none-eabi/gcc-4.9.2-r278/work/gcc-4.9.2/gcc-4.9/gcc/mcf.c:355"nil 
  (!fields 0 )
  nil 0 nil )
 
 (!type struct 1167 nil  gc_unused "augmenting_path_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1168 nil  gc_unused "queue_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1169 nil  gc_unused "fixup_graph_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1170 
  (!type pointer 1171 nil  gc_unused
   (!type already_seen 1170)
  )
  gc_unused "fixup_vertex_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1172 
  (!type pointer 1173 nil  gc_unused
   (!type already_seen 1172)
  )
  gc_unused "fixup_edge_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1174 nil  gc_unused "edge_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1175 nil  gc_unused "bb_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1176 nil  gc_unused "atomic_op_functions"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1177 nil  gc_unused "no_conflict_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1178 nil  gc_unused "godump_container"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1179 nil  gc_unused "macro_hash_value"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1180 nil  gc_unused "pass_rtl_hoist"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1181 nil  gc_unused "pass_rtl_pre"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1182 nil  gc_unused "set_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1183 nil  gc_unused "mem_conflict_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1184 nil  gc_unused "reg_avail_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 1185 nil  gc_unused "vec<modify_pair>"
  (!srcfileloc  "gcse.c" 635)
  (!fields 1 
   (!pair  "modify_pair"
    (!type struct 1186 nil  gc_unused "modify_pair_s"nil 
     (!fields 0 )
     nil 0 nil nil )
    (!srcfileloc  "gcse.c" 635)
    nil )
  )
 )
 
 (!type user_struct 1187 nil  gc_unused "vec<rtx>"
  (!srcfileloc  "gcse.c" 634)
  (!fields 1 
   (!pair  "rtx"
    (!type already_seen 137)
    (!srcfileloc  "gcse.c" 634)
    nil )
  )
 )
 
 (!type struct 1188 nil  gc_unused "bb_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 1186)
 
 (!type struct 1189 nil  gc_unused "pre_ldst_expr_hasher"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1190 nil  gc_unused "ls_expr"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1191 nil  gc_unused "hash_table_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1192 
  (!type pointer 1193 nil  gc_unused
   (!type already_seen 1192)
  )
  gc_unused "occr"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1194 nil  gc_unused "expr"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 553)
 
 (!type struct 1195 nil  gc_unused "pass_convert_to_eh_region_ranges"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1196 nil  gc_unused "pass_set_nothrow_function_flags"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 1197 nil  gc_unused "hash_table<ehspec_hasher>"
  (!srcfileloc  "except.c" 786)
  (!fields 1 
   (!pair  "ehspec_hasher"
    (!type struct 1198 nil  gc_unused "ehspec_hasher"
     (!srcfileloc  "except.c" 786)
     (!fields 0 )
     nil 511 nil nil )
    (!srcfileloc  "except.c" 786)
    nil )
  )
 )
 
 (!type already_seen 1198)
 
 (!type user_struct 1199 nil  gc_unused "hash_table<ttypes_filter_hasher>"
  (!srcfileloc  "except.c" 749)
  (!fields 1 
   (!pair  "ttypes_filter_hasher"
    (!type struct 1200 nil  gc_unused "ttypes_filter_hasher"
     (!srcfileloc  "except.c" 749)
     (!fields 0 )
     nil 511 nil nil )
    (!srcfileloc  "except.c" 749)
    nil )
  )
 )
 
 (!type already_seen 1200)
 
 (!type struct 1201 nil  gc_unused "ttypes_filter"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1202 nil  gc_unused "duplicate_eh_regions_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 1203 nil  gc_unused "hash_table<action_record_hasher>"
  (!srcfileloc  "except.c" 211)
  (!fields 1 
   (!pair  "action_record_hasher"
    (!type struct 1204 nil  gc_unused "action_record_hasher"
     (!srcfileloc  "except.c" 211)
     (!fields 0 )
     nil 511 nil nil )
    (!srcfileloc  "except.c" 211)
    nil )
  )
 )
 
 (!type already_seen 1204)
 
 (!type struct 1205 nil  gc_unused "action_record"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1206 nil  gc_unused "pass_match_asm_constraints"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1207 nil  gc_unused "pass_thread_prologue_and_epilogue"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1208 nil  gc_unused "pass_leaf_regs"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1209 nil  gc_unused "hard_reg_set_container"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1210 nil  gc_unused "promote_fpset_dom_walker"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1211 nil  gc_unused "bb_fpset"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" 1214)
  (!fields 2 
   (!pair  "hard_reg"
    (!type already_seen 137)
    (!srcfileloc  "function.c" 1212)
    nil )
   (!pair  "pseudo"
    (!type already_seen 137)
    (!srcfileloc  "function.c" 1213)
    nil )
  )
  nil 511 nil nil )
 
 (!type struct 1217 
  (!type pointer 1218 nil  gc_used
   (!type already_seen 1217)
  )
  gc_pointed_to "temp_slot_address_entry"
  (!srcfileloc  "function.c" 553)
  (!fields 3 
   (!pair  "hash"
    (!type already_seen 9)
    (!srcfileloc  "function.c" 550)
    nil )
   (!pair  "address"
    (!type already_seen 137)
    (!srcfileloc  "function.c" 551)
    nil )
   (!pair  "temp_slot"
    (!type pointer 1219 nil  gc_used
     (!type struct 1220 
      (!type already_seen 1219)
      gc_pointed_to "temp_slot"
      (!srcfileloc  "function.c" 541)
      (!fields 10 
       (!pair  "next"
        (!type already_seen 1219)
        (!srcfileloc  "function.c" 517)
        nil )
       (!pair  "prev"
        (!type already_seen 1219)
        (!srcfileloc  "function.c" 519)
        nil )
       (!pair  "slot"
        (!type already_seen 137)
        (!srcfileloc  "function.c" 521)
        nil )
       (!pair  "size"
        (!type already_seen 9)
        (!srcfileloc  "function.c" 523)
        nil )
       (!pair  "type"
        (!type already_seen 5)
        (!srcfileloc  "function.c" 528)
        nil )
       (!pair  "align"
        (!type already_seen 9)
        (!srcfileloc  "function.c" 530)
        nil )
       (!pair  "in_use"
        (!type already_seen 29)
        (!srcfileloc  "function.c" 532)
        nil )
       (!pair  "level"
        (!type already_seen 9)
        (!srcfileloc  "function.c" 534)
        nil )
       (!pair  "base_offset"
        (!type already_seen 9)
        (!srcfileloc  "function.c" 537)
        nil )
       (!pair  "full_size"
        (!type already_seen 9)
        (!srcfileloc  "function.c" 540)
        nil )
      )
      nil 511 nil nil )
    )
    (!srcfileloc  "function.c" 552)
    nil )
  )
  nil 511 nil nil )
 
 (!type struct 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 374)
 
 (!type already_seen 373)
 
 (!type already_seen 369)
 
 (!type already_seen 367)
 
 (!type already_seen 358)
 
 (!type already_seen 363)
 
 (!type already_seen 362)
 
 (!type already_seen 359)
 
 (!type already_seen 361)
 
 (!type already_seen 365)
 
 (!type already_seen 389)
 
 (!type already_seen 357)
 
 (!type struct 1228 nil  gc_unused "promo_ent"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1229 
  (!type pointer 1230 nil  gc_used
   (!type already_seen 1229)
  )
  gc_pointed_to "type_ent"
  (!srcfileloc  "l-ipo.c" 525)
  (!fields 2 
   (!pair  "type"
    (!type already_seen 5)
    (!srcfileloc  "l-ipo.c" 521)
    nil )
   (!pair  "eq_id"
    (!type already_seen 9)
    (!srcfileloc  "l-ipo.c" 522)
    nil )
  )
  nil 511 nil nil )
 
 (!type struct 1231 nil  gc_unused "type_ec"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1232 
  (!type pointer 1233 nil  gc_used
   (!type already_seen 1232)
  )
  gc_pointed_to "saved_module_scope"
  (!srcfileloc  "l-ipo.c" 62)
  (!fields 2 
   (!pair  "module_decls"
    (!type already_seen 46)
    (!srcfileloc  "l-ipo.c" 57)
    nil )
   (!pair  "module_id"
    (!type already_seen 9)
    (!srcfileloc  "l-ipo.c" 58)
    nil )
  )
  nil 511 nil nil )
 
 (!type struct 1234 nil  gc_unused "pass_lower_vector_ssa"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1235 nil  gc_unused "pass_lower_vector"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 1236 nil  gc_unused "hash_table<loc_list_hasher>"
  (!srcfileloc  "dwarf2out.c" 24412)
  (!fields 1 
   (!pair  "loc_list_hasher"
    (!type struct 1237 nil  gc_unused "loc_list_hasher"
     (!srcfileloc  "dwarf2out.c" 24412)
     (!fields 0 )
     nil 511 nil nil )
    (!srcfileloc  "dwarf2out.c" 24412)
    nil )
  )
 )
 
 (!type already_seen 1237)
 
 (!type struct 1238 nil  gc_unused "comdat_type_hasher"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 1239 nil  gc_unused "hash_table<macinfo_entry_hasher>"
  (!srcfileloc  "dwarf2out.c" 22217)
  (!fields 1 
   (!pair  "macinfo_entry_hasher"
    (!type struct 1240 nil  gc_unused "macinfo_entry_hasher"
     (!srcfileloc  "dwarf2out.c" 22217)
     (!fields 0 )
     nil 511 nil nil )
    (!srcfileloc  "dwarf2out.c" 22217)
    nil )
  )
 )
 
 (!type already_seen 1240)
 
 (!type struct 1241 nil  gc_unused "logical_hasher"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1242 nil  gc_unused "logical_entry"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1243 nil  gc_unused "block_hasher"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1244 nil  gc_unused "block_entry"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1245 nil  gc_unused "subprog_hasher"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1246 nil  gc_unused "subprog_entry"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1247 nil  gc_unused "file_name_acquire_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1248 nil  gc_unused "dir_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1249 nil  gc_unused "file_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 1250 nil  gc_unused "hash_table<external_ref_hasher>"
  (!srcfileloc  "dwarf2out.c" 7578)
  (!fields 1 
   (!pair  "external_ref_hasher"
    (!type struct 1251 nil  gc_unused "external_ref_hasher"
     (!srcfileloc  "dwarf2out.c" 7578)
     (!fields 0 )
     nil 511 nil nil )
    (!srcfileloc  "dwarf2out.c" 7578)
    nil )
  )
 )
 
 (!type already_seen 1251)
 
 (!type struct 1252 nil  gc_unused "external_ref"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 1253 nil  gc_unused "hash_table<decl_table_entry_hasher>"
  (!srcfileloc  "dwarf2out.c" 7021)
  (!fields 1 
   (!pair  "decl_table_entry_hasher"
    (!type struct 1254 nil  gc_unused "decl_table_entry_hasher"
     (!srcfileloc  "dwarf2out.c" 7021)
     (!fields 0 )
     nil 511 nil nil )
    (!srcfileloc  "dwarf2out.c" 7021)
    nil )
  )
 )
 
 (!type already_seen 1254)
 
 (!type struct 1255 nil  gc_unused "decl_table_entry"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 1256 nil  gc_unused "hash_table<cu_hash_table_entry_hasher>"
  (!srcfileloc  "dwarf2out.c" 6696)
  (!fields 1 
   (!pair  "cu_hash_table_entry_hasher"
    (!type struct 1257 nil  gc_unused "cu_hash_table_entry_hasher"
     (!srcfileloc  "dwarf2out.c" 6696)
     (!fields 0 )
     nil 511 nil nil )
    (!srcfileloc  "dwarf2out.c" 6696)
    nil )
  )
 )
 
 (!type already_seen 1257)
 
 (!type struct 1258 nil  gc_unused "cu_hash_table_entry"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1259 nil  gc_unused "checksum_attributes"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1260 nil  gc_unused "md5_ctx"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 1261 
  (!type pointer 1262 nil  gc_used
   (!type already_seen 1261)
  )
  gc_pointed_to "vec<die_arg_entry,va_gc>"
  (!srcfileloc  "dwarf2out.c" 2958)
  (!fields 2 
   (!pair  "va_gc"
    (!type already_seen 3)
    (!srcfileloc  "dwarf2out.c" 2958)
    nil )
   (!pair  "die_arg_entry"
    (!type struct 1263 nil  gc_used "die_arg_entry_struct"
     (!srcfileloc  "dwarf2out.c" 2781)
     (!fields 2 
      (!pair  "die"
       (!type already_seen 429)
       (!srcfileloc  "dwarf2out.c" 2779)
       nil )
      (!pair  "arg"
       (!type already_seen 5)
       (!srcfileloc  "dwarf2out.c" 2780)
       nil )
     )
     nil 511 nil nil )
    (!srcfileloc  "dwarf2out.c" 2958)
    nil )
  )
 )
 
 (!type user_struct 1264 
  (!type pointer 1265 nil  gc_used
   (!type already_seen 1264)
  )
  gc_pointed_to "vec<macinfo_entry,va_gc>"
  (!srcfileloc  "dwarf2out.c" 2906)
  (!fields 2 
   (!pair  "va_gc"
    (!type already_seen 3)
    (!srcfileloc  "dwarf2out.c" 2906)
    nil )
   (!pair  "macinfo_entry"
    (!type struct 1266 nil  gc_used "macinfo_struct"
     (!srcfileloc  "dwarf2out.c" 2635)
     (!fields 3 
      (!pair  "code"
       (!type already_seen 29)
       (!srcfileloc  "dwarf2out.c" 2632)
       nil )
      (!pair  "lineno"
       (!type already_seen 9)
       (!srcfileloc  "dwarf2out.c" 2633)
       nil )
      (!pair  "info"
       (!type already_seen 37)
       (!srcfileloc  "dwarf2out.c" 2634)
       nil )
     )
     nil 511 nil nil )
    (!srcfileloc  "dwarf2out.c" 2906)
    nil )
  )
 )
 
 (!type user_struct 1267 
  (!type pointer 1268 nil  gc_used
   (!type already_seen 1267)
  )
  gc_pointed_to "vec<pubname_entry,va_gc>"
  (!srcfileloc  "dwarf2out.c" 2898)
  (!fields 2 
   (!pair  "va_gc"
    (!type already_seen 3)
    (!srcfileloc  "dwarf2out.c" 2898)
    nil )
   (!pair  "pubname_entry"
    (!type struct 1269 
     (!type pointer 1270 nil  gc_unused
      (!type already_seen 1269)
     )
     gc_used "pubname_struct"
     (!srcfileloc  "dwarf2out.c" 2619)
     (!fields 2 
      (!pair  "die"
       (!type already_seen 429)
       (!srcfileloc  "dwarf2out.c" 2617)
       nil )
      (!pair  "name"
       (!type already_seen 37)
       (!srcfileloc  "dwarf2out.c" 2618)
       nil )
     )
     nil 511 nil nil )
    (!srcfileloc  "dwarf2out.c" 2898)
    nil )
  )
 )
 
 (!type user_struct 1271 
  (!type pointer 1272 nil  gc_used
   (!type already_seen 1271)
  )
  gc_pointed_to "vec<dw_line_info_table_p,va_gc>"
  (!srcfileloc  "dwarf2out.c" 2890)
  (!fields 2 
   (!pair  "va_gc"
    (!type already_seen 3)
    (!srcfileloc  "dwarf2out.c" 2890)
    nil )
   (!pair  "dw_line_info_table_p"
    (!type pointer 1273 nil  gc_used
     (!type struct 1274 
      (!type already_seen 1273)
      gc_pointed_to "dw_line_info_table_struct"
      (!srcfileloc  "dwarf2out.c" 2561)
      (!fields 10 
       (!pair  "end_label"
        (!type already_seen 37)
        (!srcfileloc  "dwarf2out.c" 2547)
        nil )
       (!pair  "file_num"
        (!type already_seen 9)
        (!srcfileloc  "dwarf2out.c" 2551)
        nil )
       (!pair  "line_num"
        (!type already_seen 9)
        (!srcfileloc  "dwarf2out.c" 2552)
        nil )
       (!pair  "column_num"
        (!type already_seen 9)
        (!srcfileloc  "dwarf2out.c" 2553)
        nil )
       (!pair  "discrim_num"
        (!type already_seen 9)
        (!srcfileloc  "dwarf2out.c" 2554)
        nil )
       (!pair  "subprog_num"
        (!type already_seen 9)
        (!srcfileloc  "dwarf2out.c" 2555)
        nil )
       (!pair  "context"
        (!type already_seen 9)
        (!srcfileloc  "dwarf2out.c" 2556)
        nil )
       (!pair  "is_stmt"
        (!type already_seen 9)
        (!srcfileloc  "dwarf2out.c" 2557)
        nil )
       (!pair  "in_use"
        (!type already_seen 9)
        (!srcfileloc  "dwarf2out.c" 2558)
        nil )
       (!pair  "entries"
        (!type pointer 1275 nil  gc_used
         (!type user_struct 1276 
          (!type already_seen 1275)
          gc_pointed_to "vec<dw_line_info_entry,va_gc>"
          (!srcfileloc  "dwarf2out.c" 2560)
          (!fields 2 
           (!pair  "va_gc"
            (!type already_seen 3)
            (!srcfileloc  "dwarf2out.c" 2560)
            nil )
           (!pair  "dw_line_info_entry"
            (!type struct 1277 
             (!type pointer 1278 nil  gc_unused
              (!type already_seen 1277)
             )
             gc_used "dw_line_info_struct"
             (!srcfileloc  "dwarf2out.c" 2542)
             (!fields 2 
              (!pair  "opcode"
               (!type already_seen 9)
               (!srcfileloc  "dwarf2out.c" 2540)
               nil )
              (!pair  "val"
               (!type already_seen 9)
               (!srcfileloc  "dwarf2out.c" 2541)
               nil )
             )
             nil 511 nil nil )
            (!srcfileloc  "dwarf2out.c" 2560)
            nil )
          )
         )
        )
        (!srcfileloc  "dwarf2out.c" 2560)
        nil )
      )
      nil 511 nil nil )
    )
    (!srcfileloc  "dwarf2out.c" 2890)
    nil )
  )
 )
 
 (!type struct 1279 
  (!type pointer 1280 nil  gc_used
   (!type already_seen 1279)
  )
  gc_pointed_to "cached_dw_loc_list_def"
  (!srcfileloc  "dwarf2out.c" 2855)
  (!fields 2 
   (!pair  "decl_id"
    (!type already_seen 9)
    (!srcfileloc  "dwarf2out.c" 2851)
    nil )
   (!pair  "loc_list"
    (!type already_seen 425)
    (!srcfileloc  "dwarf2out.c" 2854)
    nil )
  )
  nil 511 nil nil )
 
 (!type struct 1281 
  (!type pointer 1282 nil  gc_used
   (!type already_seen 1281)
  )
  gc_pointed_to "call_arg_loc_node"
  (!srcfileloc  "dwarf2out.c" 2829)
  (!fields 6 
   (!pair  "call_arg_loc_note"
    (!type already_seen 137)
    (!srcfileloc  "dwarf2out.c" 2823)
    nil )
   (!pair  "label"
    (!type already_seen 37)
    (!srcfileloc  "dwarf2out.c" 2824)
    nil )
   (!pair  "block"
    (!type already_seen 5)
    (!srcfileloc  "dwarf2out.c" 2825)
    nil )
   (!pair  "tail_call_p"
    (!type already_seen 9)
    (!srcfileloc  "dwarf2out.c" 2826)
    nil )
   (!pair  "symbol_ref"
    (!type already_seen 137)
    (!srcfileloc  "dwarf2out.c" 2827)
    nil )
   (!pair  "next"
    (!type already_seen 1282)
    (!srcfileloc  "dwarf2out.c" 2828)
    nil )
  )
  (!options 
   (!option chain_next string  "%h.next")
  )
  511 nil nil )
 
 (!type struct 1283 
  (!type pointer 1284 nil  gc_used
   (!type already_seen 1283)
  )
  gc_pointed_to "var_loc_list_def"
  (!srcfileloc  "dwarf2out.c" 2818)
  (!fields 4 
   (!pair  "first"
    (!type pointer 1285 nil  gc_used
     (!type struct 1286 
      (!type already_seen 1285)
      gc_pointed_to "var_loc_node"
      (!srcfileloc  "dwarf2out.c" 2797)
      (!fields 3 
       (!pair  "loc"
        (!type already_seen 137)
        (!srcfileloc  "dwarf2out.c" 2794)
        nil )
       (!pair  "label"
        (!type already_seen 37)
        (!srcfileloc  "dwarf2out.c" 2795)
        nil )
       (!pair  "next"
        (!type already_seen 1285)
        (!srcfileloc  "dwarf2out.c" 2796)
        nil )
      )
      (!options 
       (!option chain_next string  "%h.next")
      )
      511 nil nil )
    )
    (!srcfileloc  "dwarf2out.c" 2801)
    nil )
   (!pair  "last"
    (!type already_seen 1285)
    (!srcfileloc  "dwarf2out.c" 2809)
    (!options 
     (!option skip string  "%h")
    )
   )
   (!pair  "last_before_switch"
    (!type already_seen 1285)
    (!srcfileloc  "dwarf2out.c" 2814)
    (!options 
     (!option skip string  "%h")
    )
   )
   (!pair  "decl_id"
    (!type already_seen 9)
    (!srcfileloc  "dwarf2out.c" 2817)
    nil )
  )
  nil 511 nil nil )
 
 (!type already_seen 1286)
 
 (!type already_seen 1263)
 
 (!type struct 1287 nil  gc_unused "skeleton_chain_struct"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1288 
  (!type pointer 1289 nil  gc_used
   (!type already_seen 1288)
  )
  gc_pointed_to "limbo_die_struct"
  (!srcfileloc  "dwarf2out.c" 2660)
  (!fields 3 
   (!pair  "die"
    (!type already_seen 429)
    (!srcfileloc  "dwarf2out.c" 2657)
    nil )
   (!pair  "created_for"
    (!type already_seen 5)
    (!srcfileloc  "dwarf2out.c" 2658)
    nil )
   (!pair  "next"
    (!type already_seen 1289)
    (!srcfileloc  "dwarf2out.c" 2659)
    nil )
  )
  nil 511 nil nil )
 
 (!type already_seen 1266)
 
 (!type already_seen 437)
 
 (!type already_seen 432)
 
 (!type already_seen 1274)
 
 (!type already_seen 1276)
 
 (!type already_seen 434)
 
 (!type struct 1290 
  (!type pointer 1291 nil  gc_used
   (!type already_seen 1290)
  )
  gc_pointed_to "dw_ranges_by_label_struct"
  (!srcfileloc  "dwarf2out.c" 2642)
  (!fields 2 
   (!pair  "begin"
    (!type already_seen 37)
    (!srcfileloc  "dwarf2out.c" 2640)
    nil )
   (!pair  "end"
    (!type already_seen 37)
    (!srcfileloc  "dwarf2out.c" 2641)
    nil )
  )
  nil 511 nil nil )
 
 (!type struct 1292 
  (!type pointer 1293 nil  gc_used
   (!type already_seen 1292)
  )
  gc_pointed_to "dw_ranges_struct"
  (!srcfileloc  "dwarf2out.c" 2627)
  (!fields 1 
   (!pair  "num"
    (!type already_seen 9)
    (!srcfileloc  "dwarf2out.c" 2626)
    nil )
  )
  nil 511 nil nil )
 
 (!type already_seen 1269)
 
 (!type already_seen 1277)
 
 (!type already_seen 438)
 
 (!type already_seen 423)
 
 (!type user_struct 1294 
  (!type pointer 1295 nil  gc_used
   (!type already_seen 1294)
  )
  gc_pointed_to "vec<deferred_locations,va_gc>"
  (!srcfileloc  "dwarf2out.c" 1238)
  (!fields 2 
   (!pair  "va_gc"
    (!type already_seen 3)
    (!srcfileloc  "dwarf2out.c" 1238)
    nil )
   (!pair  "deferred_locations"
    (!type struct 1296 nil  gc_used "deferred_locations_struct"
     (!srcfileloc  "dwarf2out.c" 1235)
     (!fields 2 
      (!pair  "variable"
       (!type already_seen 5)
       (!srcfileloc  "dwarf2out.c" 1233)
       nil )
      (!pair  "die"
       (!type already_seen 429)
       (!srcfileloc  "dwarf2out.c" 1234)
       nil )
     )
     nil 511 nil nil )
    (!srcfileloc  "dwarf2out.c" 1238)
    nil )
  )
 )
 
 (!type already_seen 1296)
 
 (!type user_struct 1297 
  (!type pointer 1298 nil  gc_used
   (!type already_seen 1297)
  )
  gc_pointed_to "vec<dw_fde_ref,va_gc>"
  (!srcfileloc  "dwarf2out.c" 204)
  (!fields 2 
   (!pair  "va_gc"
    (!type already_seen 3)
    (!srcfileloc  "dwarf2out.c" 204)
    nil )
   (!pair  "dw_fde_ref"
    (!type already_seen 410)
    (!srcfileloc  "dwarf2out.c" 204)
    nil )
  )
 )
 
 (!type struct 1299 nil  gc_unused "pass_dwarf2_frame"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1300 nil  gc_unused "anonymous:/var/tmp/portage/cross-arm-none-eabi/gcc-4.9.2-r278/work/gcc-4.9.2/gcc-4.9/gcc/dwarf2cfi.c:218"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1301 nil  gc_unused "trace_info_hasher"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1302 
  (!type pointer 1303 nil  gc_unused
   (!type already_seen 1302)
  )
  gc_unused "anonymous:/var/tmp/portage/cross-arm-none-eabi/gcc-4.9.2-r278/work/gcc-4.9.2/gcc-4.9/gcc/dwarf2cfi.c:101"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1304 
  (!type pointer 1305 nil  gc_used
   (!type already_seen 1304)
  )
  gc_pointed_to "reg_saved_in_data_struct"
  (!srcfileloc  "dwarf2cfi.c" 80)
  (!fields 2 
   (!pair  "orig_reg"
    (!type already_seen 137)
    (!srcfileloc  "dwarf2cfi.c" 78)
    nil )
   (!pair  "saved_in_reg"
    (!type already_seen 137)
    (!srcfileloc  "dwarf2cfi.c" 79)
    nil )
  )
  nil 511 nil nil )
 
 (!type struct 1306 
  (!type pointer 1307 nil  gc_used
   (!type already_seen 1306)
  )
  gc_pointed_to "dw_cfi_row_struct"
  (!srcfileloc  "dwarf2cfi.c" 74)
  (!fields 3 
   (!pair  "cfa"
    (!type struct 1308 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 414)
    (!srcfileloc  "dwarf2cfi.c" 70)
    nil )
   (!pair  "reg_save"
    (!type already_seen 412)
    (!srcfileloc  "dwarf2cfi.c" 73)
    nil )
  )
  nil 511 nil nil )
 
 (!type struct 1309 nil  gc_unused "array_descr_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 424)
 
 (!type already_seen 445)
 
 (!type already_seen 443)
 
 (!type already_seen 441)
 
 (!type already_seen 428)
 
 (!type already_seen 422)
 
 (!type already_seen 427)
 
 (!type already_seen 1308)
 
 (!type already_seen 413)
 
 (!type already_seen 416)
 
 (!type already_seen 426)
 
 (!type already_seen 418)
 
 (!type already_seen 415)
 
 (!type already_seen 419)
 
 (!type struct 1310 nil  gc_unused "dbx_file"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1311 
  (!type pointer 1312 nil  gc_used
   (!type already_seen 1311)
  )
  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 856)
 
 (!type struct 1313 nil  gc_unused "ipa_polymorphic_call_context"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1314 nil  gc_unused "ipa_dfs_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1315 nil  gc_unused "pass_ipa_cp"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 886)
 
 (!type already_seen 989)
 
 (!type struct 1316 nil  gc_unused "topo_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1317 nil  gc_unused "caller_statistics"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1318 nil  gc_unused "ipcp_param_lattices"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1319 nil  gc_unused "ipcp_agg_lattice"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1320 nil  gc_unused "ipcp_lattice"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1321 nil  gc_unused "ipcp_value_source"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1322 nil  gc_unused "ipcp_value"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1323 nil  gc_unused "lto_input_block"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1324 nil  gc_unused "output_block"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1325 nil  gc_unused "data_in"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1326 nil  gc_unused "bitpack_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 982)
 
 (!type already_seen 1004)
 
 (!type struct 1327 nil  gc_unused "inline_edge_summary"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 985)
 
 (!type struct 1328 nil  gc_unused "ipa_known_agg_contents_list"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1329 nil  gc_unused "type_change_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 993)
 
 (!type already_seen 988)
 
 (!type struct 1330 nil  gc_unused "ipa_node_params"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 998)
 
 (!type struct 1331 nil  gc_unused "param_analysis_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1332 nil  gc_unused "cselib_record_autoinc_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1333 nil  gc_unused "cselib_hasher"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1334 nil  gc_unused "expand_value_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1335 nil  gc_unused "elt_list"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1336 nil  gc_unused "output_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1337 nil  gc_unused "bitmap_desc_hasher"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1338 nil  gc_unused "loc"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1339 
  (!type pointer 1340 nil  gc_unused
   (!type already_seen 1339)
  )
  gc_unused "bitmap_descriptor_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 1341 
  (!type pointer 1342 nil  gc_used
   (!type already_seen 1341)
  )
  gc_pointed_to "vec<alias_set_entry,va_gc>"
  (!srcfileloc  "alias.c" 266)
  (!fields 2 
   (!pair  "va_gc"
    (!type already_seen 3)
    (!srcfileloc  "alias.c" 266)
    nil )
   (!pair  "alias_set_entry"
    (!type pointer 1343 nil  gc_used
     (!type struct 1344 
      (!type already_seen 1343)
      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 1345 nil  gc_used
         (!type param_struct 1346 
          (!type already_seen 1345)
          gc_pointed_to
          (!type struct 1347 
           (!type pointer 1348 nil  gc_unused
            (!type already_seen 1347)
           )
           gc_used "splay_tree_s"
           (!srcfileloc  "../include/splay-tree.h" 123)
           (!fields 7 
            (!pair  "root"
             (!type pointer 1349 nil  gc_unused
              (!type struct 1350 
               (!type already_seen 1349)
               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 1349)
                 (!srcfileloc  "../include/splay-tree.h" 97)
                 (!options 
                  (!option use_params string  "")
                 )
                )
                (!pair  "right"
                 (!type already_seen 1349)
                 (!srcfileloc  "../include/splay-tree.h" 98)
                 (!options 
                  (!option use_params string  "")
                 )
                )
               )
               nil 511 nil nil )
             )
             (!srcfileloc  "../include/splay-tree.h" 104)
             (!options 
              (!option use_params string  "")
             )
            )
            (!pair  "comp"
             (!type already_seen 9)
             (!srcfileloc  "../include/splay-tree.h" 107)
             nil )
            (!pair  "delete_key"
             (!type already_seen 9)
             (!srcfileloc  "../include/splay-tree.h" 110)
             nil )
            (!pair  "delete_value"
             (!type already_seen 9)
             (!srcfileloc  "../include/splay-tree.h" 113)
             nil )
            (!pair  "allocate"
             (!type already_seen 9)
             (!srcfileloc  "../include/splay-tree.h" 116)
             nil )
            (!pair  "deallocate"
             (!type already_seen 9)
             (!srcfileloc  "../include/splay-tree.h" 119)
             nil )
            (!pair  "allocate_data"
             (!type already_seen 10)
             (!srcfileloc  "../include/splay-tree.h" 122)
             (!options 
              (!option skip string  "")
             )
            )
           )
           nil 511 nil nil )
          nil 
          (!type already_seen 9)
          
          (!type already_seen 9)
          nil nil nil nil nil nil nil nil )
        )
        (!srcfileloc  "alias.c" 147)
        (!options 
         (!option param2_is type 
          (!type already_seen 9)
         )
         (!option param1_is type 
          (!type already_seen 9)
         )
        )
       )
      )
      nil 511 nil nil )
    )
    (!srcfileloc  "alias.c" 266)
    nil )
  )
 )
 
 (!type already_seen 1344)
 
 (!type struct 1351 nil  gc_unused "saved_hard_reg"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1352 nil  gc_unused "insn_chain"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1353 nil  gc_unused "reg_equivs_t"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1354 nil  gc_unused "target_reload"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1355 nil  gc_unused "reload"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1356 
  (!type pointer 1357 nil  gc_used
   (!type already_seen 1356)
  )
  gc_pointed_to "constant_descriptor_tree"
  (!srcfileloc  "cgraph.h" 1402)
  (!fields 3 
   (!pair  "rtl"
    (!type already_seen 137)
    (!srcfileloc  "cgraph.h" 1393)
    nil )
   (!pair  "value"
    (!type already_seen 5)
    (!srcfileloc  "cgraph.h" 1396)
    nil )
   (!pair  "hash"
    (!type already_seen 9)
    (!srcfileloc  "cgraph.h" 1401)
    nil )
  )
  nil 511 nil nil )
 
 (!type struct 1358 nil  gc_unused "cgraph_2node_hook_list"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1359 nil  gc_unused "cgraph_2edge_hook_list"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1360 nil  gc_unused "varpool_node_hook_list"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1361 nil  gc_unused "cgraph_node_hook_list"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1362 nil  gc_unused "cgraph_edge_hook_list"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1363 
  (!type pointer 1364 nil  gc_used
   (!type already_seen 1363)
  )
  gc_pointed_to "cgraph_sym"
  (!srcfileloc  "l-ipo.c" 1183)
  (!fields 5 
   (!pair  "assembler_name"
    (!type already_seen 5)
    (!srcfileloc  "cgraph.h" 855)
    nil )
   (!pair  "rep_node"
    (!type already_seen 923)
    (!srcfileloc  "cgraph.h" 856)
    nil )
   (!pair  "rep_decl"
    (!type already_seen 5)
    (!srcfileloc  "cgraph.h" 857)
    nil )
   (!pair  "def_module_hash"
    (!type pointer 1365 nil  gc_used
     (!type param_struct 1366 
      (!type already_seen 1365)
      gc_pointed_to
      (!type already_seen 50)
      
      (!type pointer 1367 nil  gc_used
       (!type struct 1368 
        (!type already_seen 1367)
        gc_pointed_to "cgraph_mod_info"
        (!srcfileloc  "cgraph.h" 850)
        (!fields 1 
         (!pair  "module_id"
          (!type already_seen 9)
          (!srcfileloc  "cgraph.h" 849)
          nil )
        )
        nil 511 nil nil )
      )
      nil nil nil nil nil nil nil nil nil nil )
    )
    (!srcfileloc  "cgraph.h" 858)
    (!options 
     (!option param_is type 
      (!type already_seen 1368)
     )
    )
   )
   (!pair  "is_promoted_static"
    (!type already_seen 9)
    (!srcfileloc  "cgraph.h" 859)
    nil )
  )
  nil 511 nil nil )
 
 (!type already_seen 1368)
 
 (!type struct 1369 
  (!type pointer 1370 nil  gc_used
   (!type already_seen 1369)
  )
  gc_pointed_to "asm_node"
  (!srcfileloc  "cgraph.h" 667)
  (!fields 3 
   (!pair  "next"
    (!type already_seen 1370)
    (!srcfileloc  "cgraph.h" 662)
    nil )
   (!pair  "asm_str"
    (!type already_seen 5)
    (!srcfileloc  "cgraph.h" 664)
    nil )
   (!pair  "order"
    (!type already_seen 9)
    (!srcfileloc  "cgraph.h" 666)
    nil )
  )
  nil 511 nil nil )
 
 (!type already_seen 929)
 
 (!type struct 1371 nil  gc_unused "varpool_node_set_iterator"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1372 nil  gc_unused "cgraph_node_set_iterator"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1373 
  (!type pointer 1374 nil  gc_unused
   (!type already_seen 1373)
  )
  gc_unused "varpool_node_set_def"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1375 
  (!type pointer 1376 nil  gc_unused
   (!type already_seen 1375)
  )
  gc_unused "cgraph_node_set_def"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1377 
  (!type pointer 1378 nil  gc_used
   (!type already_seen 1377)
  )
  gc_pointed_to "cgraph_function_version_info"
  (!srcfileloc  "cgraph.h" 472)
  (!fields 4 
   (!pair  "this_node"
    (!type already_seen 923)
    (!srcfileloc  "cgraph.h" 453)
    nil )
   (!pair  "prev"
    (!type already_seen 1378)
    (!srcfileloc  "cgraph.h" 457)
    nil )
   (!pair  "next"
    (!type already_seen 1378)
    (!srcfileloc  "cgraph.h" 461)
    nil )
   (!pair  "dispatcher_resolver"
    (!type already_seen 5)
    (!srcfileloc  "cgraph.h" 471)
    nil )
  )
  nil 511 nil nil )
 
 (!type already_seen 936)
 
 (!type already_seen 927)
 
 (!type already_seen 933)
 
 (!type already_seen 935)
 
 (!type already_seen 942)
 
 (!type already_seen 944)
 
 (!type already_seen 946)
 
 (!type already_seen 941)
 
 (!type already_seen 940)
 
 (!type already_seen 939)
 
 (!type already_seen 947)
 
 (!type already_seen 958)
 
 (!type already_seen 950)
 
 (!type already_seen 955)
 
 (!type already_seen 952)
 
 (!type already_seen 953)
 
 (!type already_seen 948)
 
 (!type struct 1379 
  (!type pointer 1380 nil  gc_unused
   (!type already_seen 1379)
  )
  gc_pointed_to "varpool_node"
  (!srcfileloc  "cgraph.h" 656)
  (!fields 3 
   (!pair  "module_id"
    (!type already_seen 9)
    (!srcfileloc  "cgraph.h" 649)
    nil )
   (!pair  "output"
    (!type already_seen 9)
    (!srcfileloc  "cgraph.h" 651)
    nil )
   (!pair  "dynamically_initialized"
    (!type already_seen 9)
    (!srcfileloc  "cgraph.h" 655)
    nil )
  )
  (!options 
   (!option tag string  "SYMTAB_VARIABLE")
  )
  511 nil 
  (!type already_seen 948)
 )
 
 (!type already_seen 925)
 
 (!type struct 1381 nil  gc_unused "gcov_working_set_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1382 nil  gc_unused "edge_iterator"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1383 nil  gc_unused "control_dependences"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1384 nil  gc_unused "edge_list"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1385 nil  gc_unused "ce_if_block"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 380)
 
 (!type already_seen 322)
 
 (!type already_seen 324)
 
 (!type already_seen 321)
 
 (!type already_seen 301)
 
 (!type already_seen 323)
 
 (!type already_seen 326)
 
 (!type struct 1386 nil  gc_unused "profile_record"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1387 nil  gc_unused "cselib_set"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1388 nil  gc_unused "elt_loc_list"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1389 nil  gc_unused "cselib_val"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 549)
 
 (!type struct 1390 nil  gc_unused "loop_iterator"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1391 nil  gc_unused "rtx_iv"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1392 nil  gc_unused "eni_weights_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 318)
 
 (!type already_seen 308)
 
 (!type already_seen 314)
 
 (!type already_seen 305)
 
 (!type already_seen 316)
 
 (!type already_seen 310)
 
 (!type already_seen 306)
 
 (!type already_seen 251)
 
 (!type already_seen 250)
 
 (!type already_seen 249)
 
 (!type already_seen 248)
 
 (!type struct 1393 
  (!type pointer 1394 nil  gc_used
   (!type already_seen 1393)
  )
  gc_pointed_to "types_used_by_vars_entry"
  (!srcfileloc  "function.h" 766)
  (!fields 2 
   (!pair  "type"
    (!type already_seen 5)
    (!srcfileloc  "function.h" 764)
    nil )
   (!pair  "var_decl"
    (!type already_seen 5)
    (!srcfileloc  "function.h" 765)
    nil )
  )
  nil 511 nil nil )
 
 (!type already_seen 76)
 
 (!type already_seen 401)
 
 (!type already_seen 378)
 
 (!type already_seen 355)
 
 (!type already_seen 405)
 
 (!type struct 1395 nil  gc_used "rtl_data"
  (!srcfileloc  "function.h" 472)
  (!fields 60 
   (!pair  "expr"
    (!type struct 1396 nil  gc_used "expr_status"
     (!srcfileloc  "function.h" 139)
     (!fields 6 
      (!pair  "x_pending_stack_adjust"
       (!type already_seen 9)
       (!srcfileloc  "function.h" 104)
       nil )
      (!pair  "x_inhibit_defer_pop"
       (!type already_seen 9)
       (!srcfileloc  "function.h" 121)
       nil )
      (!pair  "x_stack_pointer_delta"
       (!type already_seen 9)
       (!srcfileloc  "function.h" 127)
       nil )
      (!pair  "x_saveregs_value"
       (!type already_seen 137)
       (!srcfileloc  "function.h" 132)
       nil )
      (!pair  "x_apply_args_value"
       (!type already_seen 137)
       (!srcfileloc  "function.h" 135)
       nil )
      (!pair  "x_forced_labels"
       (!type already_seen 137)
       (!srcfileloc  "function.h" 138)
       nil )
     )
     nil 511 nil nil )
    (!srcfileloc  "function.h" 237)
    nil )
   (!pair  "emit"
    (!type struct 1397 nil  gc_used "emit_status"
     (!srcfileloc  "function.h" 82)
     (!fields 9 
      (!pair  "x_reg_rtx_no"
       (!type already_seen 9)
       (!srcfileloc  "function.h" 45)
       nil )
      (!pair  "x_first_label_num"
       (!type already_seen 9)
       (!srcfileloc  "function.h" 48)
       nil )
      (!pair  "x_first_insn"
       (!type already_seen 137)
       (!srcfileloc  "function.h" 55)
       nil )
      (!pair  "x_last_insn"
       (!type already_seen 137)
       (!srcfileloc  "function.h" 56)
       nil )
      (!pair  "sequence_stack"
       (!type pointer 1398 nil  gc_used
        (!type struct 1399 
         (!type already_seen 1398)
         gc_pointed_to "sequence_stack"
         (!srcfileloc  "function.h" 40)
         (!fields 3 
          (!pair  "first"
           (!type already_seen 137)
           (!srcfileloc  "function.h" 37)
           nil )
          (!pair  "last"
           (!type already_seen 137)
           (!srcfileloc  "function.h" 38)
           nil )
          (!pair  "next"
           (!type already_seen 1398)
           (!srcfileloc  "function.h" 39)
           nil )
         )
         nil 511 nil nil )
       )
       (!srcfileloc  "function.h" 62)
       nil )
      (!pair  "x_cur_insn_uid"
       (!type already_seen 9)
       (!srcfileloc  "function.h" 66)
       nil )
      (!pair  "x_cur_debug_insn_uid"
       (!type already_seen 9)
       (!srcfileloc  "function.h" 70)
       nil )
      (!pair  "regno_pointer_align_length"
       (!type already_seen 9)
       (!srcfileloc  "function.h" 76)
       nil )
      (!pair  "regno_pointer_align"
       (!type already_seen 37)
       (!srcfileloc  "function.h" 81)
       (!options 
        (!option skip string  "")
       )
      )
     )
     nil 511 nil nil )
    (!srcfileloc  "function.h" 238)
    nil )
   (!pair  "varasm"
    (!type struct 1400 nil  gc_used "varasm_status"
     (!srcfileloc  "function.h" 181)
     (!fields 2 
      (!pair  "pool"
       (!type pointer 1401 nil  gc_used
        (!type struct 1402 
         (!type already_seen 1401)
         gc_pointed_to "rtx_constant_pool"
         (!srcfileloc  "varasm.c" 3496)
         (!fields 4 
          (!pair  "first"
           (!type already_seen 255)
           (!srcfileloc  "varasm.c" 3484)
           nil )
          (!pair  "last"
           (!type already_seen 255)
           (!srcfileloc  "varasm.c" 3485)
           nil )
          (!pair  "const_rtx_htab"
           (!type pointer 1403 nil  gc_used
            (!type param_struct 1404 
             (!type already_seen 1403)
             gc_pointed_to
             (!type already_seen 50)
             
             (!type already_seen 255)
             nil nil nil nil nil nil nil nil nil nil )
           )
           (!srcfileloc  "varasm.c" 3491)
           (!options 
            (!option param_is type 
             (!type already_seen 256)
            )
           )
          )
          (!pair  "offset"
           (!type already_seen 9)
           (!srcfileloc  "varasm.c" 3495)
           nil )
         )
         nil 511 nil nil )
       )
       (!srcfileloc  "function.h" 176)
       nil )
      (!pair  "deferred_constants"
       (!type already_seen 9)
       (!srcfileloc  "function.h" 180)
       nil )
     )
     nil 511 nil nil )
    (!srcfileloc  "function.h" 239)
    nil )
   (!pair  "args"
    (!type struct 1405 nil  gc_used "incoming_args"
     (!srcfileloc  "function.h" 210)
     (!fields 6 
      (!pair  "pops_args"
       (!type already_seen 9)
       (!srcfileloc  "function.h" 188)
       nil )
      (!pair  "size"
       (!type already_seen 9)
       (!srcfileloc  "function.h" 193)
       nil )
      (!pair  "pretend_args_size"
       (!type already_seen 9)
       (!srcfileloc  "function.h" 198)
       nil )
      (!pair  "arg_offset_rtx"
       (!type already_seen 137)
       (!srcfileloc  "function.h" 202)
       nil )
      (!pair  "info"
       (!type already_seen 9)
       (!srcfileloc  "function.h" 206)
       nil )
      (!pair  "internal_arg_pointer"
       (!type already_seen 137)
       (!srcfileloc  "function.h" 209)
       nil )
     )
     nil 511 nil nil )
    (!srcfileloc  "function.h" 240)
    nil )
   (!pair  "subsections"
    (!type struct 1406 nil  gc_used "function_subsections"
     (!srcfileloc  "function.h" 222)
     (!fields 4 
      (!pair  "hot_section_label"
       (!type already_seen 37)
       (!srcfileloc  "function.h" 218)
       nil )
      (!pair  "cold_section_label"
       (!type already_seen 37)
       (!srcfileloc  "function.h" 219)
       nil )
      (!pair  "hot_section_end_label"
       (!type already_seen 37)
       (!srcfileloc  "function.h" 220)
       nil )
      (!pair  "cold_section_end_label"
       (!type already_seen 37)
       (!srcfileloc  "function.h" 221)
       nil )
     )
     nil 511 nil nil )
    (!srcfileloc  "function.h" 241)
    nil )
   (!pair  "eh"
    (!type struct 1407 nil  gc_used "rtl_eh"
     (!srcfileloc  "function.h" 155)
     (!fields 7 
      (!pair  "ehr_stackadj"
       (!type already_seen 137)
       (!srcfileloc  "function.h" 145)
       nil )
      (!pair  "ehr_handler"
       (!type already_seen 137)
       (!srcfileloc  "function.h" 146)
       nil )
      (!pair  "ehr_label"
       (!type already_seen 137)
       (!srcfileloc  "function.h" 147)
       nil )
      (!pair  "sjlj_fc"
       (!type already_seen 137)
       (!srcfileloc  "function.h" 149)
       nil )
      (!pair  "sjlj_exit_after"
       (!type already_seen 137)
       (!srcfileloc  "function.h" 150)
       nil )
      (!pair  "action_record_data"
       (!type already_seen 375)
       (!srcfileloc  "function.h" 152)
       nil )
      (!pair  "call_site_record_v"
       (!type array 1408 nil  gc_used "2" 
        (!type pointer 1409 nil  gc_used
         (!type user_struct 1410 
          (!type already_seen 1409)
          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 1411 nil  gc_used
             (!type struct 1412 
              (!type already_seen 1411)
              gc_pointed_to "call_site_record_d"
              (!srcfileloc  "except.c" 168)
              (!fields 2 
               (!pair  "landing_pad"
                (!type already_seen 137)
                (!srcfileloc  "except.c" 166)
                nil )
               (!pair  "action"
                (!type already_seen 9)
                (!srcfileloc  "except.c" 167)
                nil )
              )
              nil 511 nil nil )
            )
            (!srcfileloc  "function.h" 154)
            nil )
          )
         )
        )
       )
       (!srcfileloc  "function.h" 154)
       nil )
     )
     nil 511 nil nil )
    (!srcfileloc  "function.h" 242)
    nil )
   (!pair  "outgoing_args_size"
    (!type already_seen 9)
    (!srcfileloc  "function.h" 248)
    nil )
   (!pair  "return_rtx"
    (!type already_seen 137)
    (!srcfileloc  "function.h" 254)
    nil )
   (!pair  "hard_reg_initial_vals"
    (!type pointer 1413 nil  gc_used
     (!type struct 1414 
      (!type already_seen 1413)
      gc_pointed_to "initial_value_struct"
      (!srcfileloc  "function.c" 1222)
      (!fields 3 
       (!pair  "num_entries"
        (!type already_seen 9)
        (!srcfileloc  "function.c" 1219)
        nil )
       (!pair  "max_entries"
        (!type already_seen 9)
        (!srcfileloc  "function.c" 1220)
        nil )
       (!pair  "entries"
        (!type already_seen 1216)
        (!srcfileloc  "function.c" 1221)
        (!options 
         (!option length string  "%h.num_entries")
        )
       )
      )
      nil 511 nil nil )
    )
    (!srcfileloc  "function.h" 261)
    nil )
   (!pair  "stack_protect_guard"
    (!type already_seen 5)
    (!srcfileloc  "function.h" 265)
    nil )
   (!pair  "x_nonlocal_goto_handler_labels"
    (!type already_seen 137)
    (!srcfileloc  "function.h" 269)
    nil )
   (!pair  "x_return_label"
    (!type already_seen 137)
    (!srcfileloc  "function.h" 274)
    nil )
   (!pair  "x_naked_return_label"
    (!type already_seen 137)
    (!srcfileloc  "function.h" 279)
    nil )
   (!pair  "x_stack_slot_list"
    (!type already_seen 137)
    (!srcfileloc  "function.h" 283)
    nil )
   (!pair  "frame_space_list"
    (!type pointer 1415 nil  gc_used
     (!type struct 1416 
      (!type already_seen 1415)
      gc_pointed_to "frame_space"
      (!srcfileloc  "function.h" 233)
      (!fields 3 
       (!pair  "next"
        (!type already_seen 1415)
        (!srcfileloc  "function.h" 229)
        nil )
       (!pair  "start"
        (!type already_seen 9)
        (!srcfileloc  "function.h" 231)
        nil )
       (!pair  "length"
        (!type already_seen 9)
        (!srcfileloc  "function.h" 232)
        nil )
      )
      nil 511 nil nil )
    )
    (!srcfileloc  "function.h" 286)
    nil )
   (!pair  "x_stack_check_probe_note"
    (!type already_seen 137)
    (!srcfileloc  "function.h" 289)
    nil )
   (!pair  "x_arg_pointer_save_area"
    (!type already_seen 137)
    (!srcfileloc  "function.h" 295)
    nil )
   (!pair  "drap_reg"
    (!type already_seen 137)
    (!srcfileloc  "function.h" 298)
    nil )
   (!pair  "x_frame_offset"
    (!type already_seen 9)
    (!srcfileloc  "function.h" 303)
    nil )
   (!pair  "x_parm_birth_insn"
    (!type already_seen 137)
    (!srcfileloc  "function.h" 306)
    nil )
   (!pair  "x_used_temp_slots"
    (!type pointer 1417 nil  gc_used
     (!type user_struct 1418 
      (!type already_seen 1417)
      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  "frame_pointer_partially_needed"
    (!type already_seen 9)
    (!srcfileloc  "function.h" 397)
    nil )
   (!pair  "fpset_needed_in_prologue"
    (!type already_seen 9)
    (!srcfileloc  "function.h" 399)
    nil )
   (!pair  "any_fp_def"
    (!type already_seen 9)
    (!srcfileloc  "function.h" 401)
    nil )
   (!pair  "maybe_hot_insn_p"
    (!type already_seen 9)
    (!srcfileloc  "function.h" 404)
    nil )
   (!pair  "stack_realign_needed"
    (!type already_seen 9)
    (!srcfileloc  "function.h" 411)
    nil )
   (!pair  "stack_realign_tried"
    (!type already_seen 9)
    (!srcfileloc  "function.h" 416)
    nil )
   (!pair  "need_drap"
    (!type already_seen 9)
    (!srcfileloc  "function.h" 420)
    nil )
   (!pair  "stack_realign_processed"
    (!type already_seen 9)
    (!srcfileloc  "function.h" 425)
    nil )
   (!pair  "stack_realign_finalized"
    (!type already_seen 9)
    (!srcfileloc  "function.h" 429)
    nil )
   (!pair  "dbr_scheduled_p"
    (!type already_seen 9)
    (!srcfileloc  "function.h" 432)
    nil )
   (!pair  "nothrow"
    (!type already_seen 9)
    (!srcfileloc  "function.h" 437)
    nil )
   (!pair  "shrink_wrapped"
    (!type already_seen 9)
    (!srcfileloc  "function.h" 440)
    nil )
   (!pair  "sp_is_unchanging"
    (!type already_seen 9)
    (!srcfileloc  "function.h" 445)
    nil )
   (!pair  "is_leaf"
    (!type already_seen 9)
    (!srcfileloc  "function.h" 451)
    nil )
   (!pair  "uses_only_leaf_regs"
    (!type already_seen 9)
    (!srcfileloc  "function.h" 456)
    nil )
   (!pair  "has_bb_partition"
    (!type already_seen 9)
    (!srcfileloc  "function.h" 461)
    nil )
   (!pair  "bb_reorder_complete"
    (!type already_seen 9)
    (!srcfileloc  "function.h" 465)
    nil )
   (!pair  "asm_clobbers"
    (!type already_seen 9)
    (!srcfileloc  "function.h" 471)
    nil )
  )
  nil 511 nil nil )
 
 (!type already_seen 1418)
 
 (!type already_seen 1414)
 
 (!type already_seen 1416)
 
 (!type already_seen 1406)
 
 (!type already_seen 1405)
 
 (!type already_seen 1400)
 
 (!type already_seen 1402)
 
 (!type already_seen 938)
 
 (!type already_seen 411)
 
 (!type already_seen 1220)
 
 (!type already_seen 384)
 
 (!type already_seen 1407)
 
 (!type already_seen 1410)
 
 (!type already_seen 376)
 
 (!type already_seen 1412)
 
 (!type already_seen 1396)
 
 (!type already_seen 1397)
 
 (!type already_seen 1399)
 
 (!type struct 1419 nil  gc_unused "real_format"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1420 nil  gc_unused "_obstack_chunk"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1421 nil  gc_unused "ht"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 542)
 
 (!type already_seen 547)
 
 (!type user_struct 1422 
  (!type pointer 1423 nil  gc_used
   (!type already_seen 1422)
  )
  gc_pointed_to "vec<alias_pair,va_gc>"
  (!srcfileloc  "tree-core.h" 1819)
  (!fields 2 
   (!pair  "va_gc"
    (!type already_seen 3)
    (!srcfileloc  "tree-core.h" 1819)
    nil )
   (!pair  "alias_pair"
    (!type struct 1424 nil  gc_used "alias_pair"
     (!srcfileloc  "tree-core.h" 1819)
     (!fields 2 
      (!pair  "decl"
       (!type already_seen 5)
       (!srcfileloc  "tree-core.h" 674)
       nil )
      (!pair  "target"
       (!type already_seen 5)
       (!srcfileloc  "tree-core.h" 675)
       nil )
     )
     nil 511 nil nil )
    (!srcfileloc  "tree-core.h" 1819)
    nil )
  )
 )
 
 (!type struct 1425 nil  gc_used "builtin_info_type"
  (!srcfileloc  "tree-core.h" 1854)
  (!fields 2 
   (!pair  "decl"
    (!type array 1426 nil  gc_used "(int)END_BUILTINS" 
     (!type already_seen 5)
    )
    (!srcfileloc  "tree-core.h" 1797)
    nil )
   (!pair  "implicit_p"
    (!type array 1427 nil  gc_used "(int)END_BUILTINS" 
     (!type already_seen 9)
    )
    (!srcfileloc  "tree-core.h" 1798)
    nil )
  )
  nil 511 nil nil )
 
 (!type struct 1428 nil  gc_unused "const_call_expr_arg_iterator"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1429 nil  gc_unused "call_expr_arg_iterator"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1430 
  (!type pointer 1431 nil  gc_used
   (!type already_seen 1430)
  )
  gc_pointed_to "tree_vec_map"
  (!srcfileloc  "tree-core.h" 1774)
  (!fields 2 
   (!pair  "base"
    (!type already_seen 869)
    (!srcfileloc  "tree-core.h" 1772)
    nil )
   (!pair  "to"
    (!type already_seen 46)
    (!srcfileloc  "tree-core.h" 1773)
    nil )
  )
  nil 511 nil nil )
 
 (!type struct 1432 
  (!type pointer 1433 nil  gc_used
   (!type already_seen 1432)
  )
  gc_pointed_to "tree_priority_map"
  (!srcfileloc  "tree-core.h" 1768)
  (!fields 3 
   (!pair  "base"
    (!type already_seen 869)
    (!srcfileloc  "tree-core.h" 1765)
    nil )
   (!pair  "init"
    (!type already_seen 9)
    (!srcfileloc  "tree-core.h" 1766)
    nil )
   (!pair  "fini"
    (!type already_seen 9)
    (!srcfileloc  "tree-core.h" 1767)
    nil )
  )
  nil 511 nil nil )
 
 (!type struct 1434 
  (!type pointer 1435 nil  gc_used
   (!type already_seen 1434)
  )
  gc_pointed_to "tree_int_map"
  (!srcfileloc  "tree-core.h" 1761)
  (!fields 2 
   (!pair  "base"
    (!type already_seen 869)
    (!srcfileloc  "tree-core.h" 1759)
    nil )
   (!pair  "to"
    (!type already_seen 9)
    (!srcfileloc  "tree-core.h" 1760)
    nil )
  )
  nil 511 nil nil )
 
 (!type struct 1436 
  (!type pointer 1437 nil  gc_used
   (!type already_seen 1436)
  )
  gc_pointed_to "tree_decl_map"
  (!srcfileloc  "tree-core.h" 1755)
  (!fields 2 
   (!pair  "base"
    (!type already_seen 869)
    (!srcfileloc  "tree-core.h" 1753)
    nil )
   (!pair  "to"
    (!type already_seen 5)
    (!srcfileloc  "tree-core.h" 1754)
    nil )
  )
  nil 511 nil nil )
 
 (!type struct 1438 
  (!type pointer 1439 nil  gc_used
   (!type already_seen 1438)
  )
  gc_pointed_to "tree_map"
  (!srcfileloc  "tree-core.h" 1749)
  (!fields 3 
   (!pair  "base"
    (!type already_seen 869)
    (!srcfileloc  "tree-core.h" 1746)
    nil )
   (!pair  "hash"
    (!type already_seen 9)
    (!srcfileloc  "tree-core.h" 1747)
    nil )
   (!pair  "to"
    (!type already_seen 5)
    (!srcfileloc  "tree-core.h" 1748)
    nil )
  )
  nil 511 nil nil )
 
 (!type already_seen 869)
 
 (!type struct 1440 nil  gc_unused "function_args_iterator"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1441 
  (!type pointer 1442 nil  gc_unused
   (!type already_seen 1441)
  )
  gc_unused "record_layout_info_s"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1443 nil  gc_unused "attribute_spec"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 559)
 
 (!type already_seen 529)
 
 (!type already_seen 531)
 
 (!type already_seen 525)
 
 (!type already_seen 518)
 
 (!type already_seen 520)
 
 (!type already_seen 350)
 
 (!type already_seen 446)
 
 (!type already_seen 351)
 
 (!type already_seen 342)
 
 (!type already_seen 345)
 
 (!type already_seen 343)
 
 (!type already_seen 344)
 
 (!type already_seen 349)
 
 (!type already_seen 348)
 
 (!type already_seen 347)
 
 (!type already_seen 346)
 
 (!type already_seen 136)
 
 (!type already_seen 39)
 
 (!type already_seen 41)
 
 (!type already_seen 38)
 
 (!type already_seen 517)
 
 (!type already_seen 500)
 
 (!type already_seen 449)
 
 (!type already_seen 451)
 
 (!type already_seen 447)
 
 (!type already_seen 448)
 
 (!type already_seen 516)
 
 (!type already_seen 47)
 
 (!type already_seen 522)
 
 (!type already_seen 523)
 
 (!type already_seen 1131)
 
 (!type already_seen 507)
 
 (!type already_seen 508)
 
 (!type already_seen 515)
 
 (!type already_seen 513)
 
 (!type already_seen 504)
 
 (!type already_seen 505)
 
 (!type already_seen 521)
 
 (!type already_seen 469)
 
 (!type already_seen 470)
 
 (!type already_seen 502)
 
 (!type already_seen 501)
 
 (!type already_seen 33)
 
 (!type already_seen 25)
 
 (!type already_seen 32)
 
 (!type already_seen 27)
 
 (!type already_seen 22)
 
 (!type already_seen 18)
 
 (!type already_seen 17)
 
 (!type already_seen 16)
 
 (!type already_seen 15)
 
 (!type already_seen 8)
 
 (!type already_seen 12)
 
 (!type already_seen 14)
 
 (!type already_seen 13)
 
 (!type already_seen 1424)
 
 (!type already_seen 431)
 
 (!type already_seen 512)
 
 (!type already_seen 510)
 
 (!type struct 1444 nil  gc_unused "expand_operand"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1445 nil  gc_unused "extraction_insn"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 528)
 
 (!type struct 1446 nil  gc_unused "convert_optab_libcall_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1447 nil  gc_unused "optab_libcall_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1448 nil  gc_unused "rtl_hooks"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 535)
 
 (!type struct 1449 nil  gc_unused "subreg_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1450 nil  gc_unused "replace_label_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 353)
 
 (!type struct 1451 nil  gc_unused "address_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1452 nil  gc_unused "full_rtx_costs"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 140)
 
 (!type already_seen 141)
 
 (!type already_seen 142)
 
 (!type already_seen 143)
 
 (!type already_seen 144)
 
 (!type already_seen 145)
 
 (!type already_seen 146)
 
 (!type already_seen 147)
 
 (!type already_seen 148)
 
 (!type already_seen 149)
 
 (!type already_seen 150)
 
 (!type already_seen 151)
 
 (!type already_seen 152)
 
 (!type already_seen 153)
 
 (!type already_seen 154)
 
 (!type already_seen 155)
 
 (!type already_seen 156)
 
 (!type already_seen 157)
 
 (!type already_seen 158)
 
 (!type already_seen 159)
 
 (!type already_seen 160)
 
 (!type already_seen 161)
 
 (!type already_seen 162)
 
 (!type already_seen 163)
 
 (!type already_seen 164)
 
 (!type already_seen 165)
 
 (!type already_seen 166)
 
 (!type already_seen 167)
 
 (!type already_seen 168)
 
 (!type already_seen 169)
 
 (!type already_seen 170)
 
 (!type already_seen 171)
 
 (!type already_seen 172)
 
 (!type already_seen 173)
 
 (!type already_seen 174)
 
 (!type already_seen 175)
 
 (!type already_seen 176)
 
 (!type already_seen 177)
 
 (!type already_seen 178)
 
 (!type already_seen 179)
 
 (!type already_seen 180)
 
 (!type already_seen 181)
 
 (!type already_seen 182)
 
 (!type already_seen 183)
 
 (!type already_seen 184)
 
 (!type already_seen 185)
 
 (!type already_seen 186)
 
 (!type already_seen 187)
 
 (!type already_seen 188)
 
 (!type already_seen 189)
 
 (!type already_seen 190)
 
 (!type already_seen 191)
 
 (!type already_seen 192)
 
 (!type already_seen 193)
 
 (!type already_seen 194)
 
 (!type already_seen 195)
 
 (!type already_seen 196)
 
 (!type already_seen 197)
 
 (!type already_seen 198)
 
 (!type already_seen 199)
 
 (!type already_seen 200)
 
 (!type already_seen 201)
 
 (!type already_seen 202)
 
 (!type already_seen 203)
 
 (!type already_seen 204)
 
 (!type already_seen 205)
 
 (!type already_seen 206)
 
 (!type already_seen 207)
 
 (!type already_seen 208)
 
 (!type already_seen 209)
 
 (!type already_seen 210)
 
 (!type already_seen 211)
 
 (!type already_seen 212)
 
 (!type already_seen 213)
 
 (!type already_seen 214)
 
 (!type already_seen 215)
 
 (!type already_seen 216)
 
 (!type already_seen 217)
 
 (!type already_seen 218)
 
 (!type already_seen 219)
 
 (!type already_seen 220)
 
 (!type already_seen 221)
 
 (!type already_seen 222)
 
 (!type already_seen 223)
 
 (!type already_seen 224)
 
 (!type already_seen 225)
 
 (!type already_seen 226)
 
 (!type already_seen 227)
 
 (!type already_seen 228)
 
 (!type already_seen 229)
 
 (!type already_seen 230)
 
 (!type already_seen 231)
 
 (!type already_seen 232)
 
 (!type already_seen 233)
 
 (!type already_seen 234)
 
 (!type already_seen 235)
 
 (!type already_seen 236)
 
 (!type already_seen 237)
 
 (!type already_seen 238)
 
 (!type already_seen 239)
 
 (!type already_seen 240)
 
 (!type already_seen 257)
 
 (!type already_seen 258)
 
 (!type already_seen 261)
 
 (!type already_seen 265)
 
 (!type already_seen 266)
 
 (!type already_seen 267)
 
 (!type already_seen 268)
 
 (!type already_seen 269)
 
 (!type already_seen 272)
 
 (!type already_seen 273)
 
 (!type already_seen 274)
 
 (!type already_seen 275)
 
 (!type already_seen 276)
 
 (!type already_seen 277)
 
 (!type already_seen 278)
 
 (!type already_seen 279)
 
 (!type already_seen 280)
 
 (!type already_seen 281)
 
 (!type already_seen 282)
 
 (!type already_seen 283)
 
 (!type already_seen 284)
 
 (!type already_seen 285)
 
 (!type already_seen 286)
 
 (!type already_seen 287)
 
 (!type already_seen 288)
 
 (!type already_seen 289)
 
 (!type already_seen 290)
 
 (!type already_seen 291)
 
 (!type already_seen 292)
 
 (!type already_seen 293)
 
 (!type already_seen 294)
 
 (!type already_seen 295)
 
 (!type already_seen 296)
 
 (!type already_seen 327)
 
 (!type already_seen 328)
 
 (!type already_seen 329)
 
 (!type already_seen 330)
 
 (!type already_seen 331)
 
 (!type already_seen 332)
 
 (!type already_seen 333)
 
 (!type already_seen 334)
 
 (!type already_seen 335)
 
 (!type already_seen 336)
 
 (!type already_seen 337)
 
 (!type already_seen 338)
 
 (!type already_seen 339)
 
 (!type already_seen 340)
 
 (!type already_seen 341)
 
 (!type already_seen 254)
 
 (!type already_seen 297)
 
 (!type already_seen 256)
 
 (!type union 1453 nil  gc_unused "u"
  (!srcfileloc  "rtl.h" 346)
  (!fields 5 
   (!pair  "fld"
    (!type array 1454 nil  gc_unused "1" 
     (!type already_seen 243)
    )
    (!srcfileloc  "rtl.h" 341)
    nil )
   (!pair  "hwint"
    (!type array 1455 nil  gc_unused "1" 
     (!type already_seen 9)
    )
    (!srcfileloc  "rtl.h" 342)
    nil )
   (!pair  "block_sym"
    (!type already_seen 241)
    (!srcfileloc  "rtl.h" 343)
    nil )
   (!pair  "rv"
    (!type already_seen 20)
    (!srcfileloc  "rtl.h" 344)
    nil )
   (!pair  "fv"
    (!type already_seen 24)
    (!srcfileloc  "rtl.h" 345)
    nil )
  )
  nil 511 nil )
 
 (!type already_seen 24)
 
 (!type already_seen 20)
 
 (!type already_seen 3)
 
 (!type already_seen 253)
 
 (!type already_seen 241)
 
 (!type already_seen 245)
 
 (!type already_seen 243)
 
 (!type union 1456 nil  gc_unused "rtunion"nil 
  (!fields 0 )
  nil 0 nil )
 
 (!type already_seen 271)
 
 (!type already_seen 260)
 
 (!type struct 1457 nil  gc_unused "addr_diff_vec_flags"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 859)
 
 (!type struct 1458 nil  gc_unused "gcov_summary"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1459 nil  gc_unused "anonymous:/var/tmp/portage/cross-arm-none-eabi/gcc-4.9.2-r278/work/gcc-4.9.2/gcc-4.9/gcc/coverage.c:658"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1460 nil  gc_unused "module_name_entry"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1461 nil  gc_unused "opt_desc"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1462 nil  gc_unused "string_hasher"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1463 nil  gc_unused "gcov_module_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1464 nil  gc_unused "counts_entry"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1465 nil  gc_unused "str_list"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1466 
  (!type pointer 1467 nil  gc_used
   (!type already_seen 1466)
  )
  gc_pointed_to "coverage_data"
  (!srcfileloc  "coverage.c" 88)
  (!fields 6 
   (!pair  "next"
    (!type already_seen 1467)
    (!srcfileloc  "coverage.c" 82)
    nil )
   (!pair  "ident"
    (!type already_seen 9)
    (!srcfileloc  "coverage.c" 83)
    nil )
   (!pair  "lineno_checksum"
    (!type already_seen 9)
    (!srcfileloc  "coverage.c" 84)
    nil )
   (!pair  "cfg_checksum"
    (!type already_seen 9)
    (!srcfileloc  "coverage.c" 85)
    nil )
   (!pair  "fn_decl"
    (!type already_seen 5)
    (!srcfileloc  "coverage.c" 86)
    nil )
   (!pair  "ctr_vars"
    (!type array 1468 nil  gc_used "GCOV_COUNTERS" 
     (!type already_seen 5)
    )
    (!srcfileloc  "coverage.c" 87)
    nil )
  )
  (!options 
   (!option chain_next string  "%h.next")
  )
  511 nil nil )
 
 (!type struct 1469 nil  gc_unused "bitmap_iterator"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 127)
 
 (!type already_seen 128)
 
 (!type already_seen 124)
 
 (!type already_seen 1347)
 
 (!type already_seen 1350)
 
 (!type struct 1470 nil  gc_unused "anonymous:/var/tmp/portage/cross-arm-none-eabi/gcc-4.9.2-r278/work/gcc-4.9.2/gcc-4.9/gcc/config/arm/arm.h:1582"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 407)
 
 (!type already_seen 408)
 
 (!type union 1471 nil  gc_unused "_dont_use_tree_here_"nil 
  (!fields 0 )
  nil 0 nil )
 
 (!type struct 1472 nil  gc_unused "_dont_use_rtvec_here_"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1473 nil  gc_unused "_dont_use_rtx_here_"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1474 nil  gc_unused "context"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1475 nil  gc_unused "rtl_opt_pass"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 299)
 
 (!type already_seen 303)
 
 (!type struct 1476 nil  gc_unused "pretty_printer"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1477 nil  gc_unused "diagnostic_context"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1478 nil  gc_unused "cl_option_handlers"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1479 nil  gc_unused "cl_decoded_option"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1480 nil  gc_unused "cl_option"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 526)
 
 (!type already_seen 558)
 
 (!type struct 1481 nil  gc_unused "gcc_options"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 247)
 
 (!type struct 1482 nil  gc_unused "gimple_stmt_iterator"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 312)
 
 (!type already_seen 263)
 
 (!type already_seen 139)
 
 (!type struct 1483 
  (!type pointer 1484 nil  gc_unused
   (!type already_seen 1483)
  )
  gc_unused "simple_bitmap_def"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 122)
 
 (!type already_seen 575)
 
 (!type struct 1485 nil  gc_unused "save_macro_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1486 nil  gc_unused "anonymous:/var/tmp/portage/cross-arm-none-eabi/gcc-4.9.2-r278/work/gcc-4.9.2/gcc-4.9/gcc/../libcpp/include/cpplib.h:999"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1487 nil  gc_unused "anonymous:/var/tmp/portage/cross-arm-none-eabi/gcc-4.9.2-r278/work/gcc-4.9.2/gcc-4.9/gcc/../libcpp/include/cpplib.h:988"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1488 nil  gc_unused "cpp_num"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 34)
 
 (!type already_seen 572)
 
 (!type already_seen 578)
 
 (!type already_seen 579)
 
 (!type already_seen 581)
 
 (!type struct 1489 nil  gc_unused "_cpp_file"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 583)
 
 (!type struct 1490 nil  gc_unused "cpp_dir"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1491 nil  gc_unused "cpp_callbacks"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 574)
 
 (!type already_seen 580)
 
 (!type already_seen 577)
 
 (!type struct 1492 nil  gc_unused "cpp_options"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1493 nil  gc_unused "cpp_buffer"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1494 nil  gc_unused "cpp_reader"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1495 nil  gc_unused "linemap_stats"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1496 nil  gc_unused "anonymous:/var/tmp/portage/cross-arm-none-eabi/gcc-4.9.2-r278/work/gcc-4.9.2/gcc-4.9/gcc/../libcpp/include/line-map.h:627"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1497 
  (!type pointer 1498 nil  gc_used
   (!type already_seen 1497)
  )
  gc_pointed_to "line_maps"
  (!srcfileloc  "../libcpp/include/line-map.h" 318)
  (!fields 10 
   (!pair  "info_ordinary"
    (!type struct 1499 nil  gc_used "maps_info"
     (!srcfileloc  "../libcpp/include/line-map.h" 259)
     (!fields 4 
      (!pair  "maps"
       (!type pointer 1500 nil  gc_unused
        (!type struct 1501 
         (!type already_seen 1500)
         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 1502 nil  gc_used "map_u"
            (!srcfileloc  "../libcpp/include/line-map.h" 212)
            (!fields 2 
             (!pair  "ordinary"
              (!type struct 1503 nil  gc_used "line_map_ordinary"
               (!srcfileloc  "../libcpp/include/line-map.h" 87)
               (!fields 5 
                (!pair  "to_file"
                 (!type already_seen 37)
                 (!srcfileloc  "../libcpp/include/line-map.h" 71)
                 nil )
                (!pair  "to_line"
                 (!type already_seen 9)
                 (!srcfileloc  "../libcpp/include/line-map.h" 72)
                 nil )
                (!pair  "included_from"
                 (!type already_seen 9)
                 (!srcfileloc  "../libcpp/include/line-map.h" 77)
                 nil )
                (!pair  "sysp"
                 (!type already_seen 29)
                 (!srcfileloc  "../libcpp/include/line-map.h" 83)
                 nil )
                (!pair  "column_bits"
                 (!type already_seen 9)
                 (!srcfileloc  "../libcpp/include/line-map.h" 86)
                 nil )
               )
               nil 511 nil nil )
              (!srcfileloc  "../libcpp/include/line-map.h" 210)
              (!options 
               (!option tag string  "0")
              )
             )
             (!pair  "macro"
              (!type struct 1504 nil  gc_used "line_map_macro"
               (!srcfileloc  "../libcpp/include/line-map.h" 175)
               (!fields 4 
                (!pair  "macro"
                 (!type already_seen 570)
                 (!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 1499)
    (!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 1505 nil  gc_used "location_adhoc_data_map"
     (!srcfileloc  "../libcpp/include/line-map.h" 284)
     (!fields 4 
      (!pair  "htab"
       (!type already_seen 51)
       (!srcfileloc  "../libcpp/include/line-map.h" 280)
       (!options 
        (!option skip string  "")
       )
      )
      (!pair  "curr_loc"
       (!type already_seen 9)
       (!srcfileloc  "../libcpp/include/line-map.h" 281)
       nil )
      (!pair  "allocated"
       (!type already_seen 9)
       (!srcfileloc  "../libcpp/include/line-map.h" 282)
       nil )
      (!pair  "data"
       (!type pointer 1506 nil  gc_unused
        (!type struct 1507 
         (!type already_seen 1506)
         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 1505)
 
 (!type already_seen 50)
 
 (!type already_seen 1507)
 
 (!type already_seen 1499)
 
 (!type already_seen 1501)
 
 (!type already_seen 1502)
 
 (!type already_seen 1504)
 
 (!type already_seen 7)
 
 (!type already_seen 569)
 
 (!type already_seen 1503)
)
(!typedefs 560
 (!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 619)
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 1259)
  nil )
 (!pair  "prot_list_entry"
  (!type already_seen 621)
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 1258)
  nil )
 (!pair  "vec<msgref_entry,va_gc>"
  (!type already_seen 622)
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 1205)
  nil )
 (!pair  "msgref_entry"
  (!type already_seen 624)
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 1203)
  nil )
 (!pair  "vec<ident_data_tuple,va_gc>"
  (!type already_seen 625)
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 1040)
  nil )
 (!pair  "ident_data_tuple"
  (!type already_seen 627)
  (!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 635)
  (!srcfileloc  "objc/objc-act.h" 239)
  nil )
 (!pair  "hash"
  (!type already_seen 637)
  (!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 640)
  (!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 641)
  (!srcfileloc  "lto/lto.h" 34)
  nil )
 (!pair  "rewrite_rule"
  (!type already_seen 647)
  (!srcfileloc  "java/expr.c" 2068)
  nil )
 (!pair  "class_flag_node"
  (!type already_seen 648)
  (!srcfileloc  "java/class.c" 85)
  nil )
 (!pair  "builtin_creator_function"
  (!type already_seen 652)
  (!srcfileloc  "java/builtins.c" 82)
  nil )
 (!pair  "JCF"
  (!type already_seen 455)
  (!srcfileloc  "java/jcf.h" 123)
  nil )
 (!pair  "BootstrapMethods"
  (!type already_seen 462)
  (!srcfileloc  "java/jcf.h" 99)
  nil )
 (!pair  "bootstrap_method"
  (!type already_seen 464)
  (!srcfileloc  "java/jcf.h" 94)
  nil )
 (!pair  "CPool"
  (!type already_seen 458)
  (!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 466)
  (!srcfileloc  "java/java-tree.h" 882)
  nil )
 (!pair  "method_entry"
  (!type already_seen 467)
  (!srcfileloc  "java/java-tree.h" 869)
  nil )
 (!pair  "type_assertion"
  (!type already_seen 474)
  (!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 458)
  (!srcfileloc  "java/java-tree.h" 135)
  nil )
 (!pair  "go_char_p"
  (!type already_seen 30)
  (!srcfileloc  "go/go-lang.c" 163)
  nil )
 (!pair  "gfc_interface_mapping"
  (!type already_seen 654)
  (!srcfileloc  "fortran/trans.h" 963)
  nil )
 (!pair  "gfc_interface_sym_mapping"
  (!type already_seen 655)
  (!srcfileloc  "fortran/trans.h" 948)
  nil )
 (!pair  "gfc_powdecl_list"
  (!type already_seen 656)
  (!srcfileloc  "fortran/trans.h" 729)
  nil )
 (!pair  "gfc_wrapped_block"
  (!type already_seen 658)
  (!srcfileloc  "fortran/trans.h" 345)
  nil )
 (!pair  "gfc_saved_var"
  (!type already_seen 659)
  (!srcfileloc  "fortran/trans.h" 332)
  nil )
 (!pair  "gfc_loopinfo"
  (!type already_seen 660)
  (!srcfileloc  "fortran/trans.h" 322)
  nil )
 (!pair  "gfc_ss"
  (!type already_seen 661)
  (!srcfileloc  "fortran/trans.h" 273)
  nil )
 (!pair  "gfc_ss_info"
  (!type already_seen 662)
  (!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 663)
  (!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 664)
  (!srcfileloc  "fortran/trans.h" 101)
  nil )
 (!pair  "stmtblock_t"
  (!type already_seen 665)
  (!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 666)
  (!srcfileloc  "fortran/trans-stmt.c" 59)
  nil )
 (!pair  "iter_info"
  (!type already_seen 667)
  (!srcfileloc  "fortran/trans-stmt.c" 47)
  nil )
 (!pair  "gfc_st_parameter"
  (!type already_seen 668)
  (!srcfileloc  "fortran/trans-io.c" 80)
  nil )
 (!pair  "gfc_st_parameter_field"
  (!type already_seen 669)
  (!srcfileloc  "fortran/trans-io.c" 74)
  nil )
 (!pair  "gfc_intrinsic_map_t"
  (!type already_seen 670)
  (!srcfileloc  "fortran/trans-intrinsic.c" 87)
  nil )
 (!pair  "vec<pending_noexcept,va_gc>"
  (!type already_seen 675)
  (!srcfileloc  "cp/except.c" 1185)
  nil )
 (!pair  "pending_noexcept"
  (!type already_seen 677)
  (!srcfileloc  "cp/except.c" 1184)
  nil )
 (!pair  "vec<saved_builtin,va_gc>"
  (!type already_seen 678)
  (!srcfileloc  "cp/cp-objcp-common.c" 187)
  nil )
 (!pair  "saved_builtin"
  (!type already_seen 680)
  (!srcfileloc  "cp/cp-objcp-common.c" 185)
  nil )
 (!pair  "secondary_vptr_vtt_init_data"
  (!type already_seen 681)
  (!srcfileloc  "cp/class.c" 8495)
  nil )
 (!pair  "find_final_overrider_data"
  (!type already_seen 682)
  (!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 684)
  (!srcfileloc  "cp/class.c" 101)
  nil )
 (!pair  "class_stack_node_t"
  (!type already_seen 686)
  (!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 690)
  (!srcfileloc  "cp/parser.c" 8667)
  nil )
 (!pair  "tree_int"
  (!type already_seen 692)
  (!srcfileloc  "cp/parser.c" 8666)
  nil )
 (!pair  "cp_parser_expression_stack"
  (!type array 1508 nil  gc_unused "NUM_PREC_VALUES" 
   (!type already_seen 693)
  )
  (!srcfileloc  "cp/parser.c" 1751)
  nil )
 (!pair  "cp_parser_expression_stack_entry"
  (!type already_seen 693)
  (!srcfileloc  "cp/parser.c" 1745)
  nil )
 (!pair  "cp_parser_binary_operations_map_node"
  (!type already_seen 694)
  (!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 695)
  (!srcfileloc  "cp/parser.h" 405)
  nil )
 (!pair  "cp_omp_declare_simd_data"
  (!type already_seen 711)
  (!srcfileloc  "cp/parser.h" 372)
  nil )
 (!pair  "vec<cp_unparsed_functions_entry,va_gc>"
  (!type already_seen 705)
  (!srcfileloc  "cp/parser.h" 351)
  nil )
 (!pair  "cp_parser_context"
  (!type already_seen 703)
  (!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 706)
  (!srcfileloc  "cp/parser.h" 166)
  nil )
 (!pair  "vec<cp_default_arg_entry,va_gc>"
  (!type already_seen 708)
  (!srcfileloc  "cp/parser.h" 157)
  nil )
 (!pair  "cp_default_arg_entry"
  (!type already_seen 709)
  (!srcfileloc  "cp/parser.h" 149)
  nil )
 (!pair  "cp_token_ident"
  (!type already_seen 712)
  (!srcfileloc  "cp/parser.h" 139)
  nil )
 (!pair  "cp_token_cache_ptr"
  (!type already_seen 65)
  (!srcfileloc  "cp/parser.h" 127)
  nil )
 (!pair  "cp_token_cache"
  (!type already_seen 66)
  (!srcfileloc  "cp/parser.h" 125)
  nil )
 (!pair  "cp_lexer"
  (!type already_seen 698)
  (!srcfileloc  "cp/parser.h" 110)
  nil )
 (!pair  "vec<cp_token_position>"
  (!type already_seen 701)
  (!srcfileloc  "cp/parser.h" 99)
  nil )
 (!pair  "vec<cp_token,va_gc>"
  (!type already_seen 700)
  (!srcfileloc  "cp/parser.h" 85)
  nil )
 (!pair  "cp_token_position"
  (!type already_seen 67)
  (!srcfileloc  "cp/parser.h" 75)
  nil )
 (!pair  "cp_token"
  (!type already_seen 68)
  (!srcfileloc  "cp/parser.h" 71)
  nil )
 (!pair  "cplus_array_info"
  (!type already_seen 714)
  (!srcfileloc  "cp/tree.c" 741)
  nil )
 (!pair  "constexpr_call"
  (!type already_seen 715)
  (!srcfileloc  "cp/semantics.c" 8131)
  nil )
 (!pair  "constexpr_fundef"
  (!type already_seen 718)
  (!srcfileloc  "cp/semantics.c" 7439)
  nil )
 (!pair  "vec<deferred_access,va_gc>"
  (!type already_seen 720)
  (!srcfileloc  "cp/semantics.c" 143)
  nil )
 (!pair  "deferred_access"
  (!type already_seen 722)
  (!srcfileloc  "cp/semantics.c" 140)
  nil )
 (!pair  "vec<deferred_access_check,va_gc>"
  (!type already_seen 73)
  (!srcfileloc  "cp/semantics.c" 135)
  nil )
 (!pair  "spec_entry"
  (!type already_seen 726)
  (!srcfileloc  "cp/pt.c" 98)
  nil )
 (!pair  "tree_fn_t"
  (!type already_seen 9)
  (!srcfileloc  "cp/pt.c" 55)
  nil )
 (!pair  "priority_info"
  (!type already_seen 733)
  (!srcfileloc  "cp/decl2.c" 70)
  nil )
 (!pair  "reshape_iter"
  (!type already_seen 734)
  (!srcfileloc  "cp/decl.c" 5131)
  nil )
 (!pair  "predefined_identifier"
  (!type already_seen 735)
  (!srcfileloc  "cp/decl.c" 3666)
  nil )
 (!pair  "typename_info"
  (!type already_seen 736)
  (!srcfileloc  "cp/decl.c" 3246)
  nil )
 (!pair  "vec<incomplete_var,va_gc>"
  (!type already_seen 738)
  (!srcfileloc  "cp/decl.c" 268)
  nil )
 (!pair  "incomplete_var"
  (!type already_seen 740)
  (!srcfileloc  "cp/decl.c" 265)
  nil )
 (!pair  "candidate_warning"
  (!type already_seen 742)
  (!srcfileloc  "cp/call.c" 438)
  nil )
 (!pair  "z_candidate"
  (!type already_seen 743)
  (!srcfileloc  "cp/call.c" 436)
  nil )
 (!pair  "conversion"
  (!type already_seen 745)
  (!srcfileloc  "cp/call.c" 81)
  nil )
 (!pair  "conversion_rank"
  (!type already_seen 9)
  (!srcfileloc  "cp/call.c" 75)
  nil )
 (!pair  "conversion_kind"
  (!type already_seen 9)
  (!srcfileloc  "cp/call.c" 61)
  nil )
 (!pair  "deferred_access_check"
  (!type already_seen 74)
  (!srcfileloc  "cp/cp-tree.h" 5720)
  nil )
 (!pair  "walk_namespaces_fn"
  (!type already_seen 9)
  (!srcfileloc  "cp/cp-tree.h" 5294)
  nil )
 (!pair  "cp_parameter_declarator"
  (!type already_seen 747)
  (!srcfileloc  "cp/cp-tree.h" 4905)
  nil )
 (!pair  "cp_declarator"
  (!type already_seen 748)
  (!srcfileloc  "cp/cp-tree.h" 4903)
  nil )
 (!pair  "cp_declarator_kind"
  (!type already_seen 9)
  (!srcfileloc  "cp/cp-tree.h" 4899)
  nil )
 (!pair  "cp_decl_specifier_seq"
  (!type already_seen 749)
  (!srcfileloc  "cp/cp-tree.h" 4887)
  nil )
 (!pair  "cp_decl_spec"
  (!type already_seen 9)
  (!srcfileloc  "cp/cp-tree.h" 4843)
  nil )
 (!pair  "cp_storage_class"
  (!type already_seen 9)
  (!srcfileloc  "cp/cp-tree.h" 4812)
  nil )
 (!pair  "cp_virt_specifiers"
  (!type already_seen 9)
  (!srcfileloc  "cp/cp-tree.h" 4782)
  nil )
 (!pair  "operator_name_info_t"
  (!type already_seen 750)
  (!srcfileloc  "cp/cp-tree.h" 4759)
  nil )
 (!pair  "unification_kind_t"
  (!type already_seen 9)
  (!srcfileloc  "cp/cp-tree.h" 4400)
  nil )
 (!pair  "cp_cv_quals"
  (!type already_seen 9)
  (!srcfileloc  "cp/cp-tree.h" 4376)
  nil )
 (!pair  "base_kind"
  (!type already_seen 9)
  (!srcfileloc  "cp/cp-tree.h" 4354)
  nil )
 (!pair  "deferring_kind"
  (!type already_seen 9)
  (!srcfileloc  "cp/cp-tree.h" 4341)
  nil )
 (!pair  "base_access"
  (!type already_seen 9)
  (!srcfileloc  "cp/cp-tree.h" 4334)
  nil )
 (!pair  "tsubst_flags_t"
  (!type already_seen 9)
  (!srcfileloc  "cp/cp-tree.h" 4320)
  nil )
 (!pair  "duration_kind"
  (!type already_seen 9)
  (!srcfileloc  "cp/cp-tree.h" 4291)
  nil )
 (!pair  "linkage_kind"
  (!type already_seen 9)
  (!srcfileloc  "cp/cp-tree.h" 4284)
  nil )
 (!pair  "special_function_kind"
  (!type already_seen 9)
  (!srcfileloc  "cp/cp-tree.h" 4261)
  nil )
 (!pair  "access_kind"
  (!type already_seen 9)
  (!srcfileloc  "cp/cp-tree.h" 4240)
  nil )
 (!pair  "tmpl_spec_kind"
  (!type already_seen 9)
  (!srcfileloc  "cp/cp-tree.h" 4229)
  nil )
 (!pair  "cp_lvalue_kind"
  (!type already_seen 9)
  (!srcfileloc  "cp/cp-tree.h" 4211)
  nil )
 (!pair  "aggr_init_expr_arg_iterator"
  (!type already_seen 751)
  (!srcfileloc  "cp/cp-tree.h" 3098)
  nil )
 (!pair  "vec<tree_pair_s,va_gc>"
  (!type already_seen 486)
  (!srcfileloc  "cp/cp-tree.h" 1469)
  nil )
 (!pair  "tree_pair_p"
  (!type already_seen 488)
  (!srcfileloc  "cp/cp-tree.h" 1374)
  nil )
 (!pair  "tree_pair_s"
  (!type already_seen 487)
  (!srcfileloc  "cp/cp-tree.h" 1373)
  nil )
 (!pair  "vec<cxx_saved_binding,va_gc>"
  (!type already_seen 753)
  (!srcfileloc  "cp/cp-tree.h" 1023)
  nil )
 (!pair  "vec<qualified_typedef_usage_t,va_gc>"
  (!type already_seen 614)
  (!srcfileloc  "cp/cp-tree.h" 785)
  nil )
 (!pair  "qualified_typedef_usage_t"
  (!type already_seen 615)
  (!srcfileloc  "cp/cp-tree.h" 773)
  nil )
 (!pair  "cp_trait_kind"
  (!type already_seen 9)
  (!srcfileloc  "cp/cp-tree.h" 649)
  nil )
 (!pair  "abstract_class_use"
  (!type already_seen 9)
  (!srcfileloc  "cp/cp-tree.h" 502)
  nil )
 (!pair  "impl_conv_void"
  (!type already_seen 9)
  (!srcfileloc  "cp/cp-tree.h" 489)
  nil )
 (!pair  "impl_conv_rhs"
  (!type already_seen 9)
  (!srcfileloc  "cp/cp-tree.h" 478)
  nil )
 (!pair  "expr_list_kind"
  (!type already_seen 9)
  (!srcfileloc  "cp/cp-tree.h" 468)
  nil )
 (!pair  "composite_pointer_operation"
  (!type already_seen 9)
  (!srcfileloc  "cp/cp-tree.h" 461)
  nil )
 (!pair  "cpp0x_warn_str"
  (!type already_seen 9)
  (!srcfileloc  "cp/cp-tree.h" 449)
  nil )
 (!pair  "cp_id_kind"
  (!type already_seen 9)
  (!srcfileloc  "cp/cp-tree.h" 412)
  nil )
 (!pair  "ptrmem_cst_t"
  (!type already_seen 603)
  (!srcfileloc  "cp/cp-tree.h" 288)
  nil )
 (!pair  "template_parm_index"
  (!type already_seen 601)
  (!srcfileloc  "cp/cp-tree.h" 282)
  nil )
 (!pair  "vec<cp_label_binding,va_gc>"
  (!type already_seen 103)
  (!srcfileloc  "cp/name-lookup.h" 216)
  nil )
 (!pair  "vec<cp_class_binding,va_gc>"
  (!type already_seen 98)
  (!srcfileloc  "cp/name-lookup.h" 205)
  nil )
 (!pair  "cp_label_binding"
  (!type already_seen 104)
  (!srcfileloc  "cp/name-lookup.h" 156)
  nil )
 (!pair  "cp_class_binding"
  (!type already_seen 99)
  (!srcfileloc  "cp/name-lookup.h" 148)
  nil )
 (!pair  "tag_scope"
  (!type already_seen 9)
  (!srcfileloc  "cp/name-lookup.h" 142)
  nil )
 (!pair  "scope_kind"
  (!type already_seen 9)
  (!srcfileloc  "cp/name-lookup.h" 125)
  nil )
 (!pair  "cxx_saved_binding"
  (!type already_seen 755)
  (!srcfileloc  "cp/name-lookup.h" 86)
  nil )
 (!pair  "cp_binding_level"
  (!type already_seen 96)
  (!srcfileloc  "cp/name-lookup.h" 55)
  nil )
 (!pair  "cxx_binding"
  (!type already_seen 101)
  (!srcfileloc  "cp/name-lookup.h" 52)
  nil )
 (!pair  "bt_foreach_proc"
  (!type already_seen 9)
  (!srcfileloc  "cp/name-lookup.h" 32)
  nil )
 (!pair  "binding_entry"
  (!type already_seen 492)
  (!srcfileloc  "cp/name-lookup.h" 29)
  nil )
 (!pair  "binding_table"
  (!type already_seen 489)
  (!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 760)
  (!srcfileloc  "cp/mangle.c" 106)
  nil )
 (!pair  "vec<tinfo_s,va_gc>"
  (!type already_seen 761)
  (!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 763)
  (!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 766)
  (!srcfileloc  "c/c-parser.c" 217)
  nil )
 (!pair  "vec<c_token,va_gc>"
  (!type already_seen 772)
  (!srcfileloc  "c/c-parser.c" 216)
  nil )
 (!pair  "c_token"
  (!type already_seen 769)
  (!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 774)
  (!srcfileloc  "c-family/c-pragma.c" 1172)
  nil )
 (!pair  "opt_stack"
  (!type already_seen 775)
  (!srcfileloc  "c-family/c-pragma.c" 902)
  nil )
 (!pair  "vec<pending_redefinition,va_gc>"
  (!type already_seen 777)
  (!srcfileloc  "c-family/c-pragma.c" 433)
  nil )
 (!pair  "pending_redefinition"
  (!type already_seen 779)
  (!srcfileloc  "c-family/c-pragma.c" 430)
  nil )
 (!pair  "vec<pending_weak,va_gc>"
  (!type already_seen 780)
  (!srcfileloc  "c-family/c-pragma.c" 247)
  nil )
 (!pair  "pending_weak"
  (!type already_seen 782)
  (!srcfileloc  "c-family/c-pragma.c" 244)
  nil )
 (!pair  "align_stack"
  (!type already_seen 783)
  (!srcfileloc  "c-family/c-pragma.c" 54)
  nil )
 (!pair  "internal_pragma_handler"
  (!type already_seen 785)
  (!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 788)
  (!srcfileloc  "c-family/c-common.h" 1354)
  nil )
 (!pair  "an_parts"
  (!type already_seen 789)
  (!srcfileloc  "c-family/c-common.h" 1343)
  nil )
 (!pair  "omp_clause_mask"
  (!type already_seen 9)
  (!srcfileloc  "c-family/c-common.h" 1053)
  nil )
 (!pair  "stmt_tree"
  (!type already_seen 90)
  (!srcfileloc  "c-family/c-common.h" 502)
  nil )
 (!pair  "ref_operator"
  (!type already_seen 9)
  (!srcfileloc  "c-family/c-common.h" 482)
  nil )
 (!pair  "c_language_kind"
  (!type already_seen 9)
  (!srcfileloc  "c-family/c-common.h" 459)
  nil )
 (!pair  "vec<tree_gc_vec,va_gc>"
  (!type already_seen 794)
  (!srcfileloc  "c-family/c-common.c" 11625)
  nil )
 (!pair  "tree_gc_vec"
  (!type already_seen 46)
  (!srcfileloc  "c-family/c-common.c" 11624)
  nil )
 (!pair  "vec<const_char_p,va_gc>"
  (!type already_seen 797)
  (!srcfileloc  "c-family/c-common.c" 9089)
  nil )
 (!pair  "const_char_p"
  (!type already_seen 30)
  (!srcfileloc  "c-family/c-common.c" 9088)
  nil )
 (!pair  "disabled_builtin"
  (!type already_seen 799)
  (!srcfileloc  "c-family/c-common.c" 5780)
  nil )
 (!pair  "vec<c_saved_builtin,va_gc>"
  (!type already_seen 804)
  (!srcfileloc  "c/c-decl.c" 10527)
  nil )
 (!pair  "c_saved_builtin"
  (!type already_seen 806)
  (!srcfileloc  "c/c-decl.c" 10525)
  nil )
 (!pair  "c_binding_ptr"
  (!type already_seen 586)
  (!srcfileloc  "c/c-decl.c" 508)
  nil )
 (!pair  "vec<c_goto_bindings_p,va_gc>"
  (!type already_seen 595)
  (!srcfileloc  "c/c-decl.c" 316)
  nil )
 (!pair  "c_goto_bindings_p"
  (!type already_seen 596)
  (!srcfileloc  "c/c-decl.c" 297)
  nil )
 (!pair  "c_arg_tag"
  (!type already_seen 814)
  (!srcfileloc  "c/c-tree.h" 355)
  nil )
 (!pair  "c_expr_t"
  (!type already_seen 817)
  (!srcfileloc  "c/c-tree.h" 133)
  nil )
 (!pair  "builtin_type"
  (!type already_seen 9)
  (!srcfileloc  "ada/gcc-interface/utils.c" 5854)
  nil )
 (!pair  "vec<loop_info,va_gc>"
  (!type already_seen 824)
  (!srcfileloc  "ada/gcc-interface/trans.c" 224)
  nil )
 (!pair  "loop_info"
  (!type already_seen 826)
  (!srcfileloc  "ada/gcc-interface/trans.c" 220)
  nil )
 (!pair  "vec<range_check_info,va_gc>"
  (!type already_seen 829)
  (!srcfileloc  "ada/gcc-interface/trans.c" 217)
  nil )
 (!pair  "range_check_info"
  (!type already_seen 830)
  (!srcfileloc  "ada/gcc-interface/trans.c" 210)
  nil )
 (!pair  "vec<parm_attr,va_gc>"
  (!type already_seen 118)
  (!srcfileloc  "ada/gcc-interface/trans.c" 135)
  nil )
 (!pair  "parm_attr"
  (!type already_seen 119)
  (!srcfileloc  "ada/gcc-interface/trans.c" 131)
  nil )
 (!pair  "vinfo_t"
  (!type already_seen 836)
  (!srcfileloc  "ada/gcc-interface/decl.c" 6911)
  nil )
 (!pair  "intrin_binding_t"
  (!type already_seen 837)
  (!srcfileloc  "ada/gcc-interface/decl.c" 182)
  nil )
 (!pair  "variant_desc"
  (!type already_seen 838)
  (!srcfileloc  "ada/gcc-interface/decl.c" 127)
  nil )
 (!pair  "subst_pair"
  (!type already_seen 839)
  (!srcfileloc  "ada/gcc-interface/decl.c" 112)
  nil )
 (!pair  "polymorphic_call_target_hash_type"
  (!type already_seen 850)
  (!srcfileloc  "ipa-devirt.c" 867)
  nil )
 (!pair  "polymorphic_call_target_hasher"
  (!type already_seen 851)
  (!srcfileloc  "ipa-devirt.c" 866)
  nil )
 (!pair  "hash_table<polymorphic_call_target_hasher>"
  (!type already_seen 850)
  (!srcfileloc  "ipa-devirt.c" 866)
  nil )
 (!pair  "vec<odr_type,va_gc>"
  (!type already_seen 853)
  (!srcfileloc  "ipa-devirt.c" 279)
  nil )
 (!pair  "odr_hash_type"
  (!type already_seen 860)
  (!srcfileloc  "ipa-devirt.c" 272)
  nil )
 (!pair  "odr_hasher"
  (!type already_seen 861)
  (!srcfileloc  "ipa-devirt.c" 272)
  nil )
 (!pair  "hash_table<odr_hasher>"
  (!type already_seen 860)
  (!srcfileloc  "ipa-devirt.c" 272)
  nil )
 (!pair  "pointer_set_t"
  (!type already_seen 859)
  (!srcfileloc  "ipa-devirt.c" 159)
  nil )
 (!pair  "vec<odr_type>"
  (!type already_seen 857)
  (!srcfileloc  "ipa-devirt.c" 152)
  nil )
 (!pair  "vtbl_map_iterator_type"
  (!type already_seen 878)
  (!srcfileloc  "vtable-verify.c" 311)
  nil )
 (!pair  "vtbl_map_table_type::iterator"
  (!type already_seen 878)
  (!srcfileloc  "vtable-verify.c" 311)
  nil )
 (!pair  "vtbl_map_table_type"
  (!type already_seen 879)
  (!srcfileloc  "vtable-verify.c" 310)
  nil )
 (!pair  "vtbl_map_hasher"
  (!type already_seen 880)
  (!srcfileloc  "vtable-verify.c" 310)
  nil )
 (!pair  "hash_table<vtbl_map_hasher>"
  (!type already_seen 879)
  (!srcfileloc  "vtable-verify.c" 310)
  nil )
 (!pair  "inline_edge_summary_t"
  (!type already_seen 1327)
  (!srcfileloc  "ipa-inline.h" 196)
  nil )
 (!pair  "vec<inline_summary_t,va_gc>"
  (!type already_seen 884)
  (!srcfileloc  "ipa-inline.h" 164)
  nil )
 (!pair  "inline_summary_t"
  (!type already_seen 886)
  (!srcfileloc  "ipa-inline.h" 163)
  nil )
 (!pair  "size_time_entry"
  (!type already_seen 892)
  (!srcfileloc  "ipa-inline.h" 141)
  nil )
 (!pair  "vec<size_time_entry,va_gc>"
  (!type already_seen 891)
  (!srcfileloc  "ipa-inline.h" 141)
  nil )
 (!pair  "clause_t"
  (!type already_seen 9)
  (!srcfileloc  "ipa-inline.h" 88)
  nil )
 (!pair  "conditions"
  (!type already_seen 887)
  (!srcfileloc  "ipa-inline.h" 76)
  nil )
 (!pair  "condition"
  (!type already_seen 889)
  (!srcfileloc  "ipa-inline.h" 76)
  nil )
 (!pair  "vec<condition,va_gc>"
  (!type already_seen 888)
  (!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 956)
  (!srcfileloc  "lto-streamer.h" 572)
  nil )
 (!pair  "pointer_map_t"
  (!type already_seen 389)
  (!srcfileloc  "lto-streamer.h" 569)
  nil )
 (!pair  "res_pair"
  (!type already_seen 904)
  (!srcfileloc  "lto-streamer.h" 563)
  nil )
 (!pair  "vec<res_pair>"
  (!type already_seen 903)
  (!srcfileloc  "lto-streamer.h" 563)
  nil )
 (!pair  "lto_out_decl_state_ptr"
  (!type already_seen 1010)
  (!srcfileloc  "lto-streamer.h" 516)
  nil )
 (!pair  "lto_in_decl_state_ptr"
  (!type already_seen 917)
  (!srcfileloc  "lto-streamer.h" 497)
  nil )
 (!pair  "lto_symtab_encoder_t"
  (!type already_seen 909)
  (!srcfileloc  "lto-streamer.h" 454)
  nil )
 (!pair  "lto_free_section_data_f"
  (!type already_seen 9)
  (!srcfileloc  "lto-streamer.h" 313)
  nil )
 (!pair  "lto_get_section_data_f"
  (!type already_seen 9)
  (!srcfileloc  "lto-streamer.h" 304)
  nil )
 (!pair  "ld_plugin_symbol_resolution_t"
  (!type already_seen 9)
  (!srcfileloc  "lto-streamer.h" 272)
  nil )
 (!pair  "lto_decl_flags_t"
  (!type already_seen 29)
  (!srcfileloc  "lto-streamer.h" 146)
  nil )
 (!pair  "cgraph_node_queue"
  (!type already_seen 922)
  (!srcfileloc  "trans-mem.c" 4067)
  nil )
 (!pair  "vec<cgraph_node_ptr>"
  (!type already_seen 922)
  (!srcfileloc  "trans-mem.c" 4067)
  nil )
 (!pair  "tm_memop_t"
  (!type already_seen 966)
  (!srcfileloc  "trans-mem.c" 3302)
  nil )
 (!pair  "tm_region_p"
  (!type already_seen 972)
  (!srcfileloc  "trans-mem.c" 1850)
  nil )
 (!pair  "tm_new_mem_map_t"
  (!type already_seen 975)
  (!srcfileloc  "trans-mem.c" 1016)
  nil )
 (!pair  "tm_log_entry_t"
  (!type already_seen 978)
  (!srcfileloc  "trans-mem.c" 940)
  nil )
 (!pair  "ipa_parm_adjustment_vec"
  (!type already_seen 981)
  (!srcfileloc  "ipa-prop.h" 686)
  nil )
 (!pair  "ipa_parm_adjustment"
  (!type already_seen 982)
  (!srcfileloc  "ipa-prop.h" 686)
  nil )
 (!pair  "vec<ipa_parm_adjustment>"
  (!type already_seen 981)
  (!srcfileloc  "ipa-prop.h" 686)
  nil )
 (!pair  "ipa_edge_args"
  (!type already_seen 985)
  (!srcfileloc  "ipa-prop.h" 511)
  nil )
 (!pair  "vec<ipa_edge_args,va_gc>"
  (!type already_seen 983)
  (!srcfileloc  "ipa-prop.h" 511)
  nil )
 (!pair  "vec<ipa_agg_replacement_value_p,va_gc>"
  (!type already_seen 1001)
  (!srcfileloc  "ipa-prop.h" 509)
  nil )
 (!pair  "ipa_jump_func"
  (!type already_seen 988)
  (!srcfileloc  "ipa-prop.h" 480)
  nil )
 (!pair  "vec<ipa_jump_func,va_gc>"
  (!type already_seen 987)
  (!srcfileloc  "ipa-prop.h" 480)
  nil )
 (!pair  "ipa_agg_replacement_value_p"
  (!type already_seen 1003)
  (!srcfileloc  "ipa-prop.h" 470)
  nil )
 (!pair  "ipa_agg_jump_function_p"
  (!type already_seen 990)
  (!srcfileloc  "ipa-prop.h" 178)
  nil )
 (!pair  "ipa_agg_jf_item"
  (!type already_seen 993)
  (!srcfileloc  "ipa-prop.h" 173)
  nil )
 (!pair  "vec<ipa_agg_jf_item,va_gc>"
  (!type already_seen 992)
  (!srcfileloc  "ipa-prop.h" 173)
  nil )
 (!pair  "uid_range_p"
  (!type already_seen 1013)
  (!srcfileloc  "passes.c" 965)
  nil )
 (!pair  "char_ptr"
  (!type already_seen 30)
  (!srcfileloc  "passes.c" 828)
  nil )
 (!pair  "arm_mangle_map_entry"
  (!type already_seen 1024)
  (!srcfileloc  "config/arm/arm.c" 29480)
  nil )
 (!pair  "builtin_arg"
  (!type already_seen 9)
  (!srcfileloc  "config/arm/arm.c" 24810)
  nil )
 (!pair  "neon_builtin_datum"
  (!type already_seen 1026)
  (!srcfileloc  "config/arm/arm.c" 22901)
  nil )
 (!pair  "neon_itype"
  (!type already_seen 9)
  (!srcfileloc  "config/arm/arm.c" 22893)
  nil )
 (!pair  "neon_builtin_type_mode"
  (!type already_seen 9)
  (!srcfileloc  "config/arm/arm.c" 22824)
  nil )
 (!pair  "arm_pragma_enum"
  (!type already_seen 9)
  (!srcfileloc  "config/arm/arm.c" 5815)
  nil )
 (!pair  "libcall_table_type"
  (!type already_seen 1027)
  (!srcfileloc  "config/arm/arm.c" 4539)
  nil )
 (!pair  "libcall_hasher"
  (!type already_seen 1028)
  (!srcfileloc  "config/arm/arm.c" 4539)
  nil )
 (!pair  "hash_table<libcall_hasher>"
  (!type already_seen 1027)
  (!srcfileloc  "config/arm/arm.c" 4539)
  nil )
 (!pair  "isr_attribute_arg"
  (!type already_seen 1029)
  (!srcfileloc  "config/arm/arm.c" 2873)
  nil )
 (!pair  "arm_fixed_mode_set"
  (!type already_seen 1030)
  (!srcfileloc  "config/arm/arm.c" 1878)
  nil )
 (!pair  "Mfix"
  (!type already_seen 1034)
  (!srcfileloc  "config/arm/arm.c" 65)
  nil )
 (!pair  "Mnode"
  (!type already_seen 1035)
  (!srcfileloc  "config/arm/arm.c" 64)
  nil )
 (!pair  "omp_context"
  (!type already_seen 1046)
  (!srcfileloc  "omp-low.c" 178)
  nil )
 (!pair  "lambda_trans_matrix"
  (!type already_seen 1053)
  (!srcfileloc  "tree-parloops.c" 293)
  nil )
 (!pair  "name_to_copy_table_type"
  (!type already_seen 1054)
  (!srcfileloc  "tree-parloops.c" 282)
  nil )
 (!pair  "name_to_copy_hasher"
  (!type already_seen 1055)
  (!srcfileloc  "tree-parloops.c" 282)
  nil )
 (!pair  "hash_table<name_to_copy_hasher>"
  (!type already_seen 1054)
  (!srcfileloc  "tree-parloops.c" 282)
  nil )
 (!pair  "reduction_info_table_type"
  (!type already_seen 1057)
  (!srcfileloc  "tree-parloops.c" 230)
  nil )
 (!pair  "reduction_hasher"
  (!type already_seen 1058)
  (!srcfileloc  "tree-parloops.c" 230)
  nil )
 (!pair  "hash_table<reduction_hasher>"
  (!type already_seen 1057)
  (!srcfileloc  "tree-parloops.c" 230)
  nil )
 (!pair  "use_optype_p"
  (!type already_seen 394)
  (!srcfileloc  "tree-ssa-operands.h" 42)
  nil )
 (!pair  "use_operand_p"
  (!type already_seen 514)
  (!srcfileloc  "tree-ssa-operands.h" 30)
  nil )
 (!pair  "ssa_use_operand_t"
  (!type already_seen 513)
  (!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 1069)
  (!srcfileloc  "tree-dfa.c" 704)
  nil )
 (!pair  "vec<mem_addr_template,va_gc>"
  (!type already_seen 1083)
  (!srcfileloc  "tree-ssa-address.c" 98)
  nil )
 (!pair  "mem_addr_template"
  (!type already_seen 1085)
  (!srcfileloc  "tree-ssa-address.c" 91)
  nil )
 (!pair  "treemple"
  (!type already_seen 1097)
  (!srcfileloc  "tree-eh.c" 59)
  nil )
 (!pair  "vec<gimple,va_gc>"
  (!type already_seen 386)
  (!srcfileloc  "gimple-ssa.h" 43)
  nil )
 (!pair  "elt_t"
  (!type already_seen 1099)
  (!srcfileloc  "gimple.h" 1279)
  nil )
 (!pair  "gimple_vec"
  (!type already_seen 1144)
  (!srcfileloc  "gimple.h" 29)
  nil )
 (!pair  "vec<gimple>"
  (!type already_seen 1144)
  (!srcfileloc  "gimple.h" 29)
  nil )
 (!pair  "gimple_seq_node"
  (!type already_seen 311)
  (!srcfileloc  "gimple.h" 25)
  nil )
 (!pair  "tm_alias_pair"
  (!type already_seen 1145)
  (!srcfileloc  "varasm.c" 5788)
  nil )
 (!pair  "oc_local_state"
  (!type already_seen 1146)
  (!srcfileloc  "varasm.c" 4860)
  nil )
 (!pair  "oc_outer_state"
  (!type already_seen 1147)
  (!srcfileloc  "varasm.c" 4598)
  nil )
 (!pair  "block_info"
  (!type already_seen 1163)
  (!srcfileloc  "reg-stack.c" 215)
  nil )
 (!pair  "stack_ptr"
  (!type already_seen 1165)
  (!srcfileloc  "reg-stack.c" 202)
  nil )
 (!pair  "augmenting_path_type"
  (!type already_seen 1167)
  (!srcfileloc  "mcf.c" 147)
  nil )
 (!pair  "queue_type"
  (!type already_seen 1168)
  (!srcfileloc  "mcf.c" 136)
  nil )
 (!pair  "fixup_graph_type"
  (!type already_seen 1169)
  (!srcfileloc  "mcf.c" 128)
  nil )
 (!pair  "fixup_vertex_p"
  (!type already_seen 1171)
  (!srcfileloc  "mcf.c" 111)
  nil )
 (!pair  "fixup_vertex_type"
  (!type already_seen 1170)
  (!srcfileloc  "mcf.c" 109)
  nil )
 (!pair  "fixup_edge_p"
  (!type already_seen 1173)
  (!srcfileloc  "mcf.c" 102)
  nil )
 (!pair  "fixup_edge_type"
  (!type already_seen 1172)
  (!srcfileloc  "mcf.c" 100)
  nil )
 (!pair  "edge_type"
  (!type already_seen 9)
  (!srcfileloc  "mcf.c" 81)
  nil )
 (!pair  "vec_modify_pair_heap"
  (!type already_seen 1185)
  (!srcfileloc  "gcse.c" 635)
  nil )
 (!pair  "vec<modify_pair>"
  (!type already_seen 1185)
  (!srcfileloc  "gcse.c" 635)
  nil )
 (!pair  "vec_rtx_heap"
  (!type already_seen 1187)
  (!srcfileloc  "gcse.c" 634)
  nil )
 (!pair  "vec<rtx>"
  (!type already_seen 1187)
  (!srcfileloc  "gcse.c" 634)
  nil )
 (!pair  "modify_pair"
  (!type already_seen 1186)
  (!srcfileloc  "gcse.c" 405)
  nil )
 (!pair  "occr_t"
  (!type already_seen 1193)
  (!srcfileloc  "gcse.c" 309)
  nil )
 (!pair  "ehspec_hash_type"
  (!type already_seen 1197)
  (!srcfileloc  "except.c" 786)
  nil )
 (!pair  "ehspec_hasher"
  (!type already_seen 1198)
  (!srcfileloc  "except.c" 786)
  nil )
 (!pair  "hash_table<ehspec_hasher>"
  (!type already_seen 1197)
  (!srcfileloc  "except.c" 786)
  nil )
 (!pair  "ttypes_hash_type"
  (!type already_seen 1199)
  (!srcfileloc  "except.c" 749)
  nil )
 (!pair  "ttypes_filter_hasher"
  (!type already_seen 1200)
  (!srcfileloc  "except.c" 749)
  nil )
 (!pair  "hash_table<ttypes_filter_hasher>"
  (!type already_seen 1199)
  (!srcfileloc  "except.c" 749)
  nil )
 (!pair  "action_hash_type"
  (!type already_seen 1203)
  (!srcfileloc  "except.c" 211)
  nil )
 (!pair  "action_record_hasher"
  (!type already_seen 1204)
  (!srcfileloc  "except.c" 211)
  nil )
 (!pair  "hash_table<action_record_hasher>"
  (!type already_seen 1203)
  (!srcfileloc  "except.c" 211)
  nil )
 (!pair  "initial_value_struct"
  (!type already_seen 1414)
  (!srcfileloc  "function.c" 1222)
  nil )
 (!pair  "initial_value_pair"
  (!type already_seen 1215)
  (!srcfileloc  "function.c" 1214)
  nil )
 (!pair  "function_p"
  (!type already_seen 352)
  (!srcfileloc  "function.c" 134)
  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 369)
  (!srcfileloc  "except.h" 203)
  nil )
 (!pair  "vec<eh_region,va_gc>"
  (!type already_seen 367)
  (!srcfileloc  "except.h" 200)
  nil )
 (!pair  "eh_region"
  (!type already_seen 356)
  (!srcfileloc  "except.h" 187)
  nil )
 (!pair  "eh_catch"
  (!type already_seen 360)
  (!srcfileloc  "except.h" 186)
  nil )
 (!pair  "eh_landing_pad"
  (!type already_seen 364)
  (!srcfileloc  "except.h" 185)
  nil )
 (!pair  "cgraph_sym"
  (!type already_seen 1363)
  (!srcfileloc  "l-ipo.c" 1183)
  nil )
 (!pair  "type_ent"
  (!type already_seen 1229)
  (!srcfileloc  "l-ipo.c" 525)
  nil )
 (!pair  "saved_module_scope"
  (!type already_seen 1232)
  (!srcfileloc  "l-ipo.c" 62)
  nil )
 (!pair  "elem_op_func"
  (!type already_seen 9)
  (!srcfileloc  "tree-vect-generic.c" 114)
  nil )
 (!pair  "loc_list_hash_type"
  (!type already_seen 1236)
  (!srcfileloc  "dwarf2out.c" 24412)
  nil )
 (!pair  "loc_list_hasher"
  (!type already_seen 1237)
  (!srcfileloc  "dwarf2out.c" 24412)
  nil )
 (!pair  "hash_table<loc_list_hasher>"
  (!type already_seen 1236)
  (!srcfileloc  "dwarf2out.c" 24412)
  nil )
 (!pair  "macinfo_hash_type"
  (!type already_seen 1239)
  (!srcfileloc  "dwarf2out.c" 22217)
  nil )
 (!pair  "macinfo_entry_hasher"
  (!type already_seen 1240)
  (!srcfileloc  "dwarf2out.c" 22217)
  nil )
 (!pair  "hash_table<macinfo_entry_hasher>"
  (!type already_seen 1239)
  (!srcfileloc  "dwarf2out.c" 22217)
  nil )
 (!pair  "dchar_p"
  (!type already_seen 30)
  (!srcfileloc  "dwarf2out.c" 19160)
  nil )
 (!pair  "external_ref_hash_type"
  (!type already_seen 1250)
  (!srcfileloc  "dwarf2out.c" 7578)
  nil )
 (!pair  "external_ref_hasher"
  (!type already_seen 1251)
  (!srcfileloc  "dwarf2out.c" 7578)
  nil )
 (!pair  "hash_table<external_ref_hasher>"
  (!type already_seen 1250)
  (!srcfileloc  "dwarf2out.c" 7578)
  nil )
 (!pair  "decl_hash_type"
  (!type already_seen 1253)
  (!srcfileloc  "dwarf2out.c" 7021)
  nil )
 (!pair  "decl_table_entry_hasher"
  (!type already_seen 1254)
  (!srcfileloc  "dwarf2out.c" 7021)
  nil )
 (!pair  "hash_table<decl_table_entry_hasher>"
  (!type already_seen 1253)
  (!srcfileloc  "dwarf2out.c" 7021)
  nil )
 (!pair  "cu_hash_type"
  (!type already_seen 1256)
  (!srcfileloc  "dwarf2out.c" 6696)
  nil )
 (!pair  "cu_hash_table_entry_hasher"
  (!type already_seen 1257)
  (!srcfileloc  "dwarf2out.c" 6696)
  nil )
 (!pair  "hash_table<cu_hash_table_entry_hasher>"
  (!type already_seen 1256)
  (!srcfileloc  "dwarf2out.c" 6696)
  nil )
 (!pair  "vec<die_arg_entry,va_gc>"
  (!type already_seen 1261)
  (!srcfileloc  "dwarf2out.c" 2958)
  nil )
 (!pair  "vec<macinfo_entry,va_gc>"
  (!type already_seen 1264)
  (!srcfileloc  "dwarf2out.c" 2906)
  nil )
 (!pair  "vec<pubname_entry,va_gc>"
  (!type already_seen 1267)
  (!srcfileloc  "dwarf2out.c" 2898)
  nil )
 (!pair  "vec<dw_line_info_table_p,va_gc>"
  (!type already_seen 1271)
  (!srcfileloc  "dwarf2out.c" 2890)
  nil )
 (!pair  "cached_dw_loc_list"
  (!type already_seen 1279)
  (!srcfileloc  "dwarf2out.c" 2856)
  nil )
 (!pair  "var_loc_list"
  (!type already_seen 1283)
  (!srcfileloc  "dwarf2out.c" 2819)
  nil )
 (!pair  "die_arg_entry"
  (!type already_seen 1263)
  (!srcfileloc  "dwarf2out.c" 2781)
  nil )
 (!pair  "skeleton_chain_node"
  (!type already_seen 1287)
  (!srcfileloc  "dwarf2out.c" 2669)
  nil )
 (!pair  "limbo_die_node"
  (!type already_seen 1288)
  (!srcfileloc  "dwarf2out.c" 2661)
  nil )
 (!pair  "comdat_type_node"
  (!type already_seen 434)
  (!srcfileloc  "dwarf2out.c" 2653)
  nil )
 (!pair  "macinfo_entry"
  (!type already_seen 1266)
  (!srcfileloc  "dwarf2out.c" 2636)
  nil )
 (!pair  "pubname_entry"
  (!type already_seen 1269)
  (!srcfileloc  "dwarf2out.c" 2620)
  nil )
 (!pair  "die_node"
  (!type already_seen 431)
  (!srcfileloc  "dwarf2out.c" 2603)
  nil )
 (!pair  "vec<dw_attr_node,va_gc>"
  (!type already_seen 437)
  (!srcfileloc  "dwarf2out.c" 2588)
  nil )
 (!pair  "dw_attr_node"
  (!type already_seen 438)
  (!srcfileloc  "dwarf2out.c" 2574)
  nil )
 (!pair  "dw_line_info_table_p"
  (!type already_seen 1273)
  (!srcfileloc  "dwarf2out.c" 2563)
  nil )
 (!pair  "dw_line_info_table"
  (!type already_seen 1274)
  (!srcfileloc  "dwarf2out.c" 2561)
  nil )
 (!pair  "vec<dw_line_info_entry,va_gc>"
  (!type already_seen 1276)
  (!srcfileloc  "dwarf2out.c" 2560)
  nil )
 (!pair  "dw_line_info_entry"
  (!type already_seen 1277)
  (!srcfileloc  "dwarf2out.c" 2542)
  nil )
 (!pair  "comdat_type_node_ref"
  (!type already_seen 433)
  (!srcfileloc  "dwarf2out.c" 2506)
  nil )
 (!pair  "dw_ranges_by_label_ref"
  (!type already_seen 1291)
  (!srcfileloc  "dwarf2out.c" 2505)
  nil )
 (!pair  "dw_ranges_ref"
  (!type already_seen 1293)
  (!srcfileloc  "dwarf2out.c" 2504)
  nil )
 (!pair  "pubname_ref"
  (!type already_seen 1270)
  (!srcfileloc  "dwarf2out.c" 2503)
  nil )
 (!pair  "dw_line_info_ref"
  (!type already_seen 1278)
  (!srcfileloc  "dwarf2out.c" 2502)
  nil )
 (!pair  "dw_attr_ref"
  (!type already_seen 439)
  (!srcfileloc  "dwarf2out.c" 2501)
  nil )
 (!pair  "dw_offset"
  (!type already_seen 9)
  (!srcfileloc  "dwarf2out.c" 2497)
  nil )
 (!pair  "dw_loc_list_node"
  (!type already_seen 426)
  (!srcfileloc  "dwarf2out.c" 1284)
  nil )
 (!pair  "addr_table_entry"
  (!type already_seen 422)
  (!srcfileloc  "dwarf2out.c" 1260)
  nil )
 (!pair  "vec<deferred_locations,va_gc>"
  (!type already_seen 1294)
  (!srcfileloc  "dwarf2out.c" 1238)
  nil )
 (!pair  "deferred_locations"
  (!type already_seen 1296)
  (!srcfileloc  "dwarf2out.c" 1235)
  nil )
 (!pair  "vec<dw_fde_ref,va_gc>"
  (!type already_seen 1297)
  (!srcfileloc  "dwarf2out.c" 204)
  nil )
 (!pair  "queued_reg_save"
  (!type already_seen 1300)
  (!srcfileloc  "dwarf2cfi.c" 222)
  nil )
 (!pair  "dw_trace_info_ref"
  (!type already_seen 1303)
  (!srcfileloc  "dwarf2cfi.c" 156)
  nil )
 (!pair  "dw_trace_info"
  (!type already_seen 1302)
  (!srcfileloc  "dwarf2cfi.c" 153)
  nil )
 (!pair  "reg_saved_in_data"
  (!type already_seen 1304)
  (!srcfileloc  "dwarf2cfi.c" 80)
  nil )
 (!pair  "dw_cfi_row"
  (!type already_seen 1306)
  (!srcfileloc  "dwarf2cfi.c" 74)
  nil )
 (!pair  "dw_cfa_location"
  (!type already_seen 1308)
  (!srcfileloc  "dwarf2cfi.c" 69)
  nil )
 (!pair  "dw_val_node"
  (!type already_seen 419)
  (!srcfileloc  "dwarf2out.h" 211)
  nil )
 (!pair  "dw_vec_const"
  (!type already_seen 427)
  (!srcfileloc  "dwarf2out.h" 179)
  nil )
 (!pair  "dw_fde_ref"
  (!type already_seen 410)
  (!srcfileloc  "dwarf2out.h" 65)
  nil )
 (!pair  "cfi_vec"
  (!type already_seen 412)
  (!srcfileloc  "dwarf2out.h" 63)
  nil )
 (!pair  "vec<dw_cfi_ref,va_gc>"
  (!type already_seen 413)
  (!srcfileloc  "dwarf2out.h" 63)
  nil )
 (!pair  "dw_cfi_oprnd"
  (!type already_seen 416)
  (!srcfileloc  "dwarf2out.h" 52)
  nil )
 (!pair  "dw_loc_list_ref"
  (!type already_seen 425)
  (!srcfileloc  "dwarf2out.h" 31)
  nil )
 (!pair  "dw_loc_descr_ref"
  (!type already_seen 417)
  (!srcfileloc  "dwarf2out.h" 30)
  nil )
 (!pair  "dw_cfi_ref"
  (!type already_seen 414)
  (!srcfileloc  "dwarf2out.h" 29)
  nil )
 (!pair  "dw_val_ref"
  (!type already_seen 420)
  (!srcfileloc  "dwarf2out.h" 28)
  nil )
 (!pair  "const_dw_die_ref"
  (!type already_seen 429)
  (!srcfileloc  "dwarf2out.h" 26)
  nil )
 (!pair  "dw_die_ref"
  (!type already_seen 429)
  (!srcfileloc  "dwarf2out.h" 25)
  nil )
 (!pair  "odr_type"
  (!type already_seen 855)
  (!srcfileloc  "ipa-utils.h" 76)
  nil )
 (!pair  "odr_type_d"
  (!type already_seen 856)
  (!srcfileloc  "ipa-utils.h" 76)
  nil )
 (!pair  "const_bitmap_descriptor"
  (!type already_seen 1340)
  (!srcfileloc  "bitmap.c" 45)
  nil )
 (!pair  "bitmap_descriptor"
  (!type already_seen 1340)
  (!srcfileloc  "bitmap.c" 44)
  nil )
 (!pair  "vec<alias_set_entry,va_gc>"
  (!type already_seen 1341)
  (!srcfileloc  "alias.c" 266)
  nil )
 (!pair  "alias_set_entry"
  (!type already_seen 1343)
  (!srcfileloc  "alias.c" 149)
  nil )
 (!pair  "cgraph_2node_hook"
  (!type already_seen 9)
  (!srcfileloc  "cgraph.h" 896)
  nil )
 (!pair  "cgraph_2edge_hook"
  (!type already_seen 9)
  (!srcfileloc  "cgraph.h" 894)
  nil )
 (!pair  "varpool_node_hook"
  (!type already_seen 9)
  (!srcfileloc  "cgraph.h" 892)
  nil )
 (!pair  "cgraph_node_hook"
  (!type already_seen 9)
  (!srcfileloc  "cgraph.h" 891)
  nil )
 (!pair  "cgraph_edge_hook"
  (!type already_seen 9)
  (!srcfileloc  "cgraph.h" 890)
  nil )
 (!pair  "cgraph_edge_p"
  (!type already_seen 926)
  (!srcfileloc  "cgraph.h" 640)
  nil )
 (!pair  "varpool_node_set"
  (!type already_seen 1374)
  (!srcfileloc  "cgraph.h" 514)
  nil )
 (!pair  "cgraph_node_set"
  (!type already_seen 1376)
  (!srcfileloc  "cgraph.h" 511)
  nil )
 (!pair  "varpool_node_ptr"
  (!type already_seen 1380)
  (!srcfileloc  "cgraph.h" 500)
  nil )
 (!pair  "varpool_node"
  (!type already_seen 1379)
  (!srcfileloc  "cgraph.h" 500)
  nil )
 (!pair  "cgraph_node_ptr"
  (!type already_seen 923)
  (!srcfileloc  "cgraph.h" 447)
  nil )
 (!pair  "vec<ipa_opt_pass>"
  (!type already_seen 936)
  (!srcfileloc  "cgraph.h" 395)
  nil )
 (!pair  "vec<ipa_replace_map_p,va_gc>"
  (!type already_seen 944)
  (!srcfileloc  "cgraph.h" 260)
  nil )
 (!pair  "ipa_replace_map_p"
  (!type already_seen 945)
  (!srcfileloc  "cgraph.h" 256)
  nil )
 (!pair  "vec<ipa_ref_ptr>"
  (!type already_seen 955)
  (!srcfileloc  "ipa-ref.h" 58)
  nil )
 (!pair  "vec<ipa_ref_t,va_gc>"
  (!type already_seen 952)
  (!srcfileloc  "ipa-ref.h" 55)
  nil )
 (!pair  "ipa_ref_ptr"
  (!type already_seen 954)
  (!srcfileloc  "ipa-ref.h" 48)
  nil )
 (!pair  "ipa_ref_t"
  (!type already_seen 953)
  (!srcfileloc  "ipa-ref.h" 47)
  nil )
 (!pair  "symtab_node"
  (!type already_seen 948)
  (!srcfileloc  "ipa-ref.h" 38)
  nil )
 (!pair  "gcov_working_set_t"
  (!type already_seen 1381)
  (!srcfileloc  "basic-block.h" 937)
  nil )
 (!pair  "vec<basic_block,va_gc>"
  (!type already_seen 380)
  (!srcfileloc  "basic-block.h" 277)
  nil )
 (!pair  "__assert_gimple_bb_smaller_rtl_bb"
  (!type array 1509 nil  gc_unused "(int) sizeof (struct rtl_bb_info)\n               - (int) sizeof (struct gimple_bb_info)" 
   (!type already_seen 9)
  )
  (!srcfileloc  "basic-block.h" 210)
  nil )
 (!pair  "vec<edge,va_gc>"
  (!type already_seen 301)
  (!srcfileloc  "basic-block.h" 169)
  nil )
 (!pair  "edge_def"
  (!type already_seen 303)
  (!srcfileloc  "basic-block.h" 59)
  nil )
 (!pair  "cselib_expand_callback"
  (!type already_seen 9)
  (!srcfileloc  "cselib.h" 84)
  nil )
 (!pair  "vec<loop_p,va_gc>"
  (!type already_seen 308)
  (!srcfileloc  "cfgloop.h" 135)
  nil )
 (!pair  "loop_p"
  (!type already_seen 304)
  (!srcfileloc  "cfgloop.h" 90)
  nil )
 (!pair  "noswitch_section_callback"
  (!type already_seen 9)
  (!srcfileloc  "output.h" 476)
  nil )
 (!pair  "unnamed_section_callback"
  (!type already_seen 9)
  (!srcfileloc  "output.h" 450)
  nil )
 (!pair  "__gcc_host_wide_int__"
  (!type already_seen 9)
  (!srcfileloc  "hwint.h" 122)
  nil )
 (!pair  "vec<temp_slot_p,va_gc>"
  (!type already_seen 1418)
  (!srcfileloc  "function.h" 309)
  nil )
 (!pair  "ipa_opt_pass"
  (!type already_seen 937)
  (!srcfileloc  "function.h" 171)
  nil )
 (!pair  "ipa_opt_pass_d"
  (!type already_seen 938)
  (!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 1410)
  (!srcfileloc  "function.h" 154)
  nil )
 (!pair  "vec<uchar,va_gc>"
  (!type already_seen 376)
  (!srcfileloc  "function.h" 152)
  nil )
 (!pair  "call_site_record"
  (!type already_seen 1411)
  (!srcfileloc  "function.h" 141)
  nil )
 (!pair  "ht_cb"
  (!type already_seen 9)
  (!srcfileloc  "../libcpp/include/symtab.h" 89)
  nil )
 (!pair  "hashnode"
  (!type already_seen 35)
  (!srcfileloc  "../libcpp/include/symtab.h" 41)
  nil )
 (!pair  "cpp_hash_table"
  (!type already_seen 1421)
  (!srcfileloc  "../libcpp/include/symtab.h" 40)
  nil )
 (!pair  "ht_identifier_ptr"
  (!type already_seen 35)
  (!srcfileloc  "../libcpp/include/symtab.h" 30)
  nil )
 (!pair  "ht_identifier"
  (!type already_seen 34)
  (!srcfileloc  "../libcpp/include/symtab.h" 29)
  nil )
 (!pair  "builtin_info_type"
  (!type already_seen 1425)
  (!srcfileloc  "tree-core.h" 1854)
  nil )
 (!pair  "alias_pair"
  (!type already_seen 1424)
  (!srcfileloc  "tree-core.h" 1819)
  nil )
 (!pair  "vec<alias_pair,va_gc>"
  (!type already_seen 1422)
  (!srcfileloc  "tree-core.h" 1819)
  nil )
 (!pair  "record_layout_info"
  (!type already_seen 1442)
  (!srcfileloc  "tree-core.h" 1731)
  nil )
 (!pair  "vec<tree,va_gc>"
  (!type already_seen 47)
  (!srcfileloc  "tree-core.h" 1254)
  nil )
 (!pair  "constructor_elt"
  (!type already_seen 470)
  (!srcfileloc  "tree-core.h" 1130)
  nil )
 (!pair  "vec<constructor_elt,va_gc>"
  (!type already_seen 469)
  (!srcfileloc  "tree-core.h" 1130)
  nil )
 (!pair  "walk_tree_lh"
  (!type already_seen 9)
  (!srcfileloc  "tree-core.h" 686)
  nil )
 (!pair  "walk_tree_fn"
  (!type already_seen 9)
  (!srcfileloc  "tree-core.h" 682)
  nil )
 (!pair  "priority_type"
  (!type already_seen 9)
  (!srcfileloc  "tree-core.h" 679)
  nil )
 (!pair  "direct_optab"
  (!type already_seen 9)
  (!srcfileloc  "optabs.h" 28)
  nil )
 (!pair  "convert_optab"
  (!type already_seen 9)
  (!srcfileloc  "optabs.h" 27)
  nil )
 (!pair  "optab"
  (!type already_seen 9)
  (!srcfileloc  "optabs.h" 26)
  nil )
 (!pair  "hash_rtx_callback_function"
  (!type already_seen 9)
  (!srcfileloc  "rtl.h" 2105)
  nil )
 (!pair  "rtx_equal_p_callback_function"
  (!type already_seen 9)
  (!srcfileloc  "rtl.h" 2100)
  nil )
 (!pair  "for_each_inc_dec_fn"
  (!type already_seen 9)
  (!srcfileloc  "rtl.h" 2096)
  nil )
 (!pair  "rtx_function"
  (!type already_seen 9)
  (!srcfileloc  "rtl.h" 2085)
  nil )
 (!pair  "va_gc"
  (!type already_seen 3)
  (!srcfileloc  "rtl.h" 238)
  nil )
 (!pair  "vec<rtx,va_gc>"
  (!type already_seen 253)
  (!srcfileloc  "rtl.h" 238)
  nil )
 (!pair  "rtunion"
  (!type already_seen 243)
  (!srcfileloc  "rtl.h" 208)
  nil )
 (!pair  "mod_id_to_name_t"
  (!type already_seen 1459)
  (!srcfileloc  "coverage.c" 661)
  nil )
 (!pair  "counts_entry_t"
  (!type already_seen 1464)
  (!srcfileloc  "coverage.c" 118)
  nil )
 (!pair  "alias_set_type"
  (!type already_seen 9)
  (!srcfileloc  "alias.h" 29)
  nil )
 (!pair  "bitmap_obstack"
  (!type already_seen 127)
  (!srcfileloc  "bitmap.h" 187)
  nil )
 (!pair  "bitmap_element"
  (!type already_seen 124)
  (!srcfileloc  "bitmap.h" 185)
  nil )
 (!pair  "BITMAP_WORD"
  (!type already_seen 9)
  (!srcfileloc  "bitmap.h" 136)
  nil )
 (!pair  "splay_tree"
  (!type already_seen 1348)
  (!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 1349)
  (!srcfileloc  "../include/splay-tree.h" 59)
  nil )
 (!pair  "splay_tree_value"
  (!type already_seen 9)
  (!srcfileloc  "../include/splay-tree.h" 56)
  nil )
 (!pair  "splay_tree_key"
  (!type already_seen 9)
  (!srcfileloc  "../include/splay-tree.h" 55)
  nil )
 (!pair  "htab_t"
  (!type already_seen 51)
  (!srcfileloc  "../include/hashtab.h" 144)
  nil )
 (!pair  "htab_free_with_arg"
  (!type already_seen 9)
  (!srcfileloc  "../include/hashtab.h" 83)
  nil )
 (!pair  "htab_alloc_with_arg"
  (!type already_seen 9)
  (!srcfileloc  "../include/hashtab.h" 82)
  nil )
 (!pair  "htab_free"
  (!type already_seen 9)
  (!srcfileloc  "../include/hashtab.h" 78)
  nil )
 (!pair  "htab_alloc"
  (!type already_seen 9)
  (!srcfileloc  "../include/hashtab.h" 75)
  nil )
 (!pair  "htab_trav"
  (!type already_seen 9)
  (!srcfileloc  "../include/hashtab.h" 69)
  nil )
 (!pair  "htab_del"
  (!type already_seen 9)
  (!srcfileloc  "../include/hashtab.h" 63)
  nil )
 (!pair  "htab_eq"
  (!type already_seen 9)
  (!srcfileloc  "../include/hashtab.h" 59)
  nil )
 (!pair  "htab_hash"
  (!type already_seen 9)
  (!srcfileloc  "../include/hashtab.h" 52)
  nil )
 (!pair  "hashval_t"
  (!type already_seen 9)
  (!srcfileloc  "../include/hashtab.h" 47)
  nil )
 (!pair  "machine_function"
  (!type already_seen 407)
  (!srcfileloc  "config/arm/arm.h" 1552)
  nil )
 (!pair  "arm_stack_offsets"
  (!type already_seen 408)
  (!srcfileloc  "config/arm/arm.h" 1511)
  nil )
 (!pair  "arm_cc"
  (!type already_seen 9)
  (!srcfileloc  "config/arm/arm.h" 191)
  nil )
 (!pair  "gt_pointer_operator"
  (!type already_seen 9)
  (!srcfileloc  "coretypes.h" 218)
  nil )
 (!pair  "reg_class_t"
  (!type already_seen 9)
  (!srcfileloc  "coretypes.h" 169)
  nil )
 (!pair  "const_basic_block"
  (!type already_seen 298)
  (!srcfileloc  "coretypes.h" 156)
  nil )
 (!pair  "basic_block"
  (!type already_seen 298)
  (!srcfileloc  "coretypes.h" 155)
  nil )
 (!pair  "const_edge"
  (!type already_seen 302)
  (!srcfileloc  "coretypes.h" 153)
  nil )
 (!pair  "edge"
  (!type already_seen 302)
  (!srcfileloc  "coretypes.h" 152)
  nil )
 (!pair  "addr_space_t"
  (!type already_seen 29)
  (!srcfileloc  "coretypes.h" 80)
  nil )
 (!pair  "section"
  (!type already_seen 247)
  (!srcfileloc  "coretypes.h" 69)
  nil )
 (!pair  "gimple_seq"
  (!type already_seen 311)
  (!srcfileloc  "coretypes.h" 66)
  nil )
 (!pair  "const_gimple"
  (!type already_seen 311)
  (!srcfileloc  "coretypes.h" 65)
  nil )
 (!pair  "gimple"
  (!type already_seen 311)
  (!srcfileloc  "coretypes.h" 64)
  nil )
 (!pair  "const_tree"
  (!type already_seen 5)
  (!srcfileloc  "coretypes.h" 63)
  nil )
 (!pair  "tree"
  (!type already_seen 5)
  (!srcfileloc  "coretypes.h" 62)
  nil )
 (!pair  "const_rtvec"
  (!type already_seen 262)
  (!srcfileloc  "coretypes.h" 60)
  nil )
 (!pair  "rtvec"
  (!type already_seen 262)
  (!srcfileloc  "coretypes.h" 59)
  nil )
 (!pair  "const_rtx"
  (!type already_seen 137)
  (!srcfileloc  "coretypes.h" 57)
  nil )
 (!pair  "rtx"
  (!type already_seen 137)
  (!srcfileloc  "coretypes.h" 56)
  nil )
 (!pair  "const_sbitmap"
  (!type already_seen 1484)
  (!srcfileloc  "coretypes.h" 54)
  nil )
 (!pair  "sbitmap"
  (!type already_seen 1484)
  (!srcfileloc  "coretypes.h" 53)
  nil )
 (!pair  "const_bitmap"
  (!type already_seen 121)
  (!srcfileloc  "coretypes.h" 51)
  nil )
 (!pair  "bitmap"
  (!type already_seen 121)
  (!srcfileloc  "coretypes.h" 50)
  nil )
 (!pair  "gcov_type_unsigned"
  (!type already_seen 9)
  (!srcfileloc  "coretypes.h" 47)
  nil )
 (!pair  "gcov_type"
  (!type already_seen 9)
  (!srcfileloc  "coretypes.h" 46)
  nil )
 (!pair  "location_t"
  (!type already_seen 9)
  (!srcfileloc  "input.h" 47)
  nil )
 (!pair  "uchar"
  (!type already_seen 29)
  (!srcfileloc  "../libcpp/include/cpp-id-data.h" 21)
  nil )
 (!pair  "cpp_cb"
  (!type already_seen 9)
  (!srcfileloc  "../libcpp/include/cpplib.h" 1021)
  nil )
 (!pair  "cpp_comment_table"
  (!type already_seen 1486)
  (!srcfileloc  "../libcpp/include/cpplib.h" 1008)
  nil )
 (!pair  "cpp_comment"
  (!type already_seen 1487)
  (!srcfileloc  "../libcpp/include/cpplib.h" 994)
  nil )
 (!pair  "cpp_num"
  (!type already_seen 1488)
  (!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 1490)
  (!srcfileloc  "../libcpp/include/cpplib.h" 37)
  nil )
 (!pair  "cpp_callbacks"
  (!type already_seen 1491)
  (!srcfileloc  "../libcpp/include/cpplib.h" 36)
  nil )
 (!pair  "cpp_macro"
  (!type already_seen 574)
  (!srcfileloc  "../libcpp/include/cpplib.h" 35)
  nil )
 (!pair  "cpp_hashnode"
  (!type already_seen 569)
  (!srcfileloc  "../libcpp/include/cpplib.h" 34)
  nil )
 (!pair  "cpp_string"
  (!type already_seen 580)
  (!srcfileloc  "../libcpp/include/cpplib.h" 33)
  nil )
 (!pair  "cpp_token"
  (!type already_seen 577)
  (!srcfileloc  "../libcpp/include/cpplib.h" 32)
  nil )
 (!pair  "cpp_options"
  (!type already_seen 1492)
  (!srcfileloc  "../libcpp/include/cpplib.h" 31)
  nil )
 (!pair  "cpp_buffer"
  (!type already_seen 1493)
  (!srcfileloc  "../libcpp/include/cpplib.h" 30)
  nil )
 (!pair  "cpp_reader"
  (!type already_seen 1494)
  (!srcfileloc  "../libcpp/include/cpplib.h" 29)
  nil )
 (!pair  "expanded_location"
  (!type already_seen 1496)
  (!srcfileloc  "../libcpp/include/line-map.h" 640)
  nil )
 (!pair  "line_map_round_alloc_size_func"
  (!type already_seen 9)
  (!srcfileloc  "../libcpp/include/line-map.h" 57)
  nil )
 (!pair  "line_map_realloc"
  (!type already_seen 9)
  (!srcfileloc  "../libcpp/include/line-map.h" 53)
  nil )
 (!pair  "source_location"
  (!type already_seen 9)
  (!srcfileloc  "../libcpp/include/line-map.h" 50)
  nil )
 (!pair  "linenum_type"
  (!type already_seen 9)
  (!srcfileloc  "../libcpp/include/line-map.h" 47)
  nil )
 (!pair  "PTR"
  (!type already_seen 10)
  (!srcfileloc  "gengtype.c" 5681)
  nil )
 (!pair  "void"
  (!type already_seen 9)
  (!srcfileloc  "gengtype.c" 5678)
  nil )
 (!pair  "JCF_u2"
  (!type already_seen 9)
  (!srcfileloc  "gengtype.c" 5677)
  nil )
 (!pair  "jword"
  (!type already_seen 9)
  (!srcfileloc  "gengtype.c" 5676)
  nil )
 (!pair  "uintptr_t"
  (!type already_seen 9)
  (!srcfileloc  "gengtype.c" 5675)
  nil )
 (!pair  "uint8"
  (!type already_seen 9)
  (!srcfileloc  "gengtype.c" 5674)
  nil )
 (!pair  "uint64_t"
  (!type already_seen 9)
  (!srcfileloc  "gengtype.c" 5673)
  nil )
 (!pair  "double_int"
  (!type already_seen 9)
  (!srcfileloc  "gengtype.c" 5672)
  nil )
 (!pair  "FIXED_VALUE_TYPE"
  (!type already_seen 9)
  (!srcfileloc  "gengtype.c" 5671)
  nil )
 (!pair  "REAL_VALUE_TYPE"
  (!type already_seen 9)
  (!srcfileloc  "gengtype.c" 5670)
  nil )
 (!pair  "CUMULATIVE_ARGS"
  (!type already_seen 9)
  (!srcfileloc  "gengtype.c" 5669)
  nil )
)
(!param_structs 52
 (!type param_struct 1510 nil  gc_pointed_to
  (!type already_seen 1350)
  nil 
  (!type already_seen 9)
  
  (!type already_seen 9)
  nil nil nil nil nil nil nil nil )
 
 (!type param_struct 1511 nil  gc_pointed_to
  (!type already_seen 1350)
  nil 
  (!type already_seen 37)
  
  (!type already_seen 5)
  nil nil nil nil nil nil nil nil )
 
 (!type param_struct 1512 nil  gc_pointed_to
  (!type already_seen 1350)
  nil 
  (!type already_seen 5)
  
  (!type already_seen 5)
  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 50)
  
  (!type already_seen 630)
  nil nil nil nil nil nil nil nil nil nil )
 
 (!type already_seen 472)
 
 (!type already_seen 49)
 
 (!type param_struct 1515 
  (!type pointer 1516 nil  gc_used
   (!type already_seen 1515)
  )
  gc_pointed_to
  (!type already_seen 50)
  
  (!type already_seen 672)
  nil nil nil nil nil nil nil nil nil nil )
 
 (!type param_struct 1517 
  (!type pointer 1518 nil  gc_used
   (!type already_seen 1517)
  )
  gc_pointed_to
  (!type already_seen 50)
  
  (!type already_seen 688)
  nil nil nil nil nil nil nil nil nil nil )
 
 (!type param_struct 1519 
  (!type pointer 1520 nil  gc_used
   (!type already_seen 1519)
  )
  gc_pointed_to
  (!type already_seen 50)
  
  (!type already_seen 716)
  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 50)
  
  (!type already_seen 717)
  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 50)
  
  (!type already_seen 727)
  nil nil nil nil nil nil nil nil nil nil )
 
 (!type already_seen 108)
 
 (!type already_seen 92)
 
 (!type param_struct 1525 
  (!type pointer 1526 nil  gc_used
   (!type already_seen 1525)
  )
  gc_pointed_to
  (!type already_seen 50)
  
  (!type already_seen 820)
  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 50)
  
  (!type already_seen 1435)
  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 50)
  
  (!type already_seen 868)
  nil nil nil nil nil nil nil nil nil nil )
 
 (!type already_seen 960)
 
 (!type param_struct 1531 
  (!type pointer 1532 nil  gc_used
   (!type already_seen 1531)
  )
  gc_pointed_to
  (!type already_seen 1347)
  nil 
  (!type already_seen 5)
  
  (!type already_seen 5)
  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 50)
  
  (!type already_seen 1068)
  nil nil nil nil nil nil nil nil nil nil )
 
 (!type already_seen 397)
 
 (!type param_struct 1535 
  (!type pointer 1536 nil  gc_used
   (!type already_seen 1535)
  )
  gc_pointed_to
  (!type already_seen 50)
  
  (!type already_seen 1439)
  nil nil nil nil nil nil nil nil nil nil )
 
 (!type already_seen 1404)
 
 (!type param_struct 1537 
  (!type pointer 1538 nil  gc_used
   (!type already_seen 1537)
  )
  gc_pointed_to
  (!type already_seen 50)
  
  (!type already_seen 1357)
  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 50)
  
  (!type already_seen 244)
  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 50)
  
  (!type already_seen 246)
  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 50)
  
  (!type already_seen 1433)
  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 50)
  
  (!type already_seen 1431)
  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 50)
  
  (!type already_seen 1437)
  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 50)
  
  (!type already_seen 1153)
  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 50)
  
  (!type already_seen 1218)
  nil nil nil nil nil nil nil nil nil nil )
 
 (!type already_seen 371)
 
 (!type param_struct 1553 
  (!type pointer 1554 nil  gc_used
   (!type already_seen 1553)
  )
  gc_pointed_to
  (!type already_seen 50)
  
  (!type already_seen 270)
  nil nil nil nil nil nil nil nil nil nil )
 
 (!type param_struct 1555 
  (!type pointer 1556 nil  gc_used
   (!type already_seen 1555)
  )
  gc_pointed_to
  (!type already_seen 50)
  
  (!type already_seen 137)
  nil nil nil nil nil nil nil nil nil nil )
 
 (!type param_struct 1557 
  (!type pointer 1558 nil  gc_used
   (!type already_seen 1557)
  )
  gc_pointed_to
  (!type already_seen 50)
  
  (!type already_seen 1364)
  nil nil nil nil nil nil nil nil nil nil )
 
 (!type param_struct 1559 
  (!type pointer 1560 nil  gc_used
   (!type already_seen 1559)
  )
  gc_pointed_to
  (!type already_seen 50)
  
  (!type already_seen 1230)
  nil nil nil nil nil nil nil nil nil nil )
 
 (!type param_struct 1561 
  (!type pointer 1562 nil  gc_used
   (!type already_seen 1561)
  )
  gc_pointed_to
  (!type already_seen 50)
  
  (!type already_seen 1233)
  nil nil nil nil nil nil nil nil nil nil )
 
 (!type param_struct 1563 
  (!type pointer 1564 nil  gc_used
   (!type already_seen 1563)
  )
  gc_pointed_to
  (!type already_seen 50)
  
  (!type already_seen 421)
  nil nil nil nil nil nil nil nil nil nil )
 
 (!type param_struct 1565 
  (!type pointer 1566 nil  gc_used
   (!type already_seen 1565)
  )
  gc_pointed_to
  (!type already_seen 50)
  
  (!type already_seen 1280)
  nil nil nil nil nil nil nil nil nil nil )
 
 (!type param_struct 1567 
  (!type pointer 1568 nil  gc_used
   (!type already_seen 1567)
  )
  gc_pointed_to
  (!type already_seen 50)
  
  (!type already_seen 1284)
  nil nil nil nil nil nil nil nil nil nil )
 
 (!type param_struct 1569 
  (!type pointer 1570 nil  gc_used
   (!type already_seen 1569)
  )
  gc_pointed_to
  (!type already_seen 50)
  
  (!type already_seen 429)
  nil nil nil nil nil nil nil nil nil nil )
 
 (!type param_struct 1571 
  (!type pointer 1572 nil  gc_used
   (!type already_seen 1571)
  )
  gc_pointed_to
  (!type already_seen 50)
  
  (!type already_seen 442)
  nil nil nil nil nil nil nil nil nil nil )
 
 (!type param_struct 1573 
  (!type pointer 1574 nil  gc_used
   (!type already_seen 1573)
  )
  gc_pointed_to
  (!type already_seen 50)
  
  (!type already_seen 440)
  nil nil nil nil nil nil nil nil nil nil )
 
 (!type param_struct 1575 
  (!type pointer 1576 nil  gc_used
   (!type already_seen 1575)
  )
  gc_pointed_to
  (!type already_seen 1347)
  nil 
  (!type already_seen 37)
  
  (!type already_seen 5)
  nil nil nil nil nil nil nil nil )
 
 (!type param_struct 1577 
  (!type pointer 1578 nil  gc_used
   (!type already_seen 1577)
  )
  gc_pointed_to
  (!type already_seen 50)
  
  (!type already_seen 1378)
  nil nil nil nil nil nil nil nil nil nil )
 
 (!type already_seen 1346)
 
 (!type param_struct 1579 
  (!type pointer 1580 nil  gc_used
   (!type already_seen 1579)
  )
  gc_pointed_to
  (!type already_seen 50)
  
  (!type already_seen 949)
  nil nil nil nil nil nil nil nil nil nil )
 
 (!type already_seen 1366)
 
 (!type already_seen 931)
 
 (!type already_seen 403)
 
 (!type param_struct 1581 
  (!type pointer 1582 nil  gc_used
   (!type already_seen 1581)
  )
  gc_pointed_to
  (!type already_seen 50)
  
  (!type already_seen 1394)
  nil nil nil nil nil nil nil nil nil nil )
 
 (!type already_seen 55)
 
 (!type already_seen 545)
)
(!variables 632
 (!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 626)
  (!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 620)
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 2110)
  nil )
 (!pair  "nonlazy_category_list"
  (!type already_seen 46)
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 2022)
  nil )
 (!pair  "category_list"
  (!type already_seen 46)
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 2011)
  nil )
 (!pair  "nonlazy_class_list"
  (!type already_seen 46)
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 2000)
  nil )
 (!pair  "class_list"
  (!type already_seen 46)
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 1992)
  nil )
 (!pair  "metaclass_super_refs"
  (!type already_seen 626)
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 1436)
  nil )
 (!pair  "class_super_refs"
  (!type already_seen 626)
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 1435)
  nil )
 (!pair  "protrefs"
  (!type already_seen 620)
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 1259)
  nil )
 (!pair  "msgrefs"
  (!type already_seen 623)
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 1205)
  nil )
 (!pair  "classrefs"
  (!type already_seen 626)
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 1040)
  nil )
 (!pair  "extern_names"
  (!type already_seen 638)
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 236)
  (!options 
   (!option length string  "SIZEHASHTABLE")
  )
 )
 (!pair  "objc_v2_global_trees"
  (!type array 1583 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 1584 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 1585 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 1586 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 640)
  (!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 1514)
  (!srcfileloc  "objc/objc-act.c" 263)
  (!options 
   (!option param_is type 
    (!type already_seen 629)
   )
  )
 )
 (!pair  "alias_name_map"
  (!type already_seen 640)
  (!srcfileloc  "objc/objc-act.c" 173)
  nil )
 (!pair  "class_name_map"
  (!type already_seen 640)
  (!srcfileloc  "objc/objc-act.c" 172)
  nil )
 (!pair  "class_method_map"
  (!type already_seen 640)
  (!srcfileloc  "objc/objc-act.c" 168)
  nil )
 (!pair  "instance_method_map"
  (!type already_seen 640)
  (!srcfileloc  "objc/objc-act.c" 167)
  nil )
 (!pair  "objc_global_trees"
  (!type array 1587 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 633)
  (!srcfileloc  "objc/objc-act.h" 269)
  nil )
 (!pair  "local_variables_to_volatilize"
  (!type already_seen 46)
  (!srcfileloc  "objc/objc-act.h" 256)
  nil )
 (!pair  "lto_eh_personality_decl"
  (!type already_seen 5)
  (!srcfileloc  "lto/lto.c" 3321)
  nil )
 (!pair  "real_file_decl_data"
  (!type already_seen 957)
  (!srcfileloc  "lto/lto.c" 2880)
  (!options 
   (!option length string  "real_file_count + 1")
  )
 )
 (!pair  "all_file_decl_data"
  (!type already_seen 957)
  (!srcfileloc  "lto/lto.c" 2848)
  (!options 
   (!option length string  "lto_stats.num_input_files + 1")
  )
 )
 (!pair  "tree_with_vars"
  (!type already_seen 46)
  (!srcfileloc  "lto/lto.c" 697)
  nil )
 (!pair  "first_personality_decl"
  (!type already_seen 5)
  (!srcfileloc  "lto/lto.c" 57)
  nil )
 (!pair  "registered_builtin_types"
  (!type already_seen 5)
  (!srcfileloc  "lto/lto-lang.c" 693)
  nil )
 (!pair  "signed_size_type_node"
  (!type already_seen 5)
  (!srcfileloc  "lto/lto-lang.c" 190)
  nil )
 (!pair  "uintmax_type_node"
  (!type already_seen 5)
  (!srcfileloc  "lto/lto-lang.c" 189)
  nil )
 (!pair  "intmax_type_node"
  (!type already_seen 5)
  (!srcfileloc  "lto/lto-lang.c" 188)
  nil )
 (!pair  "wint_type_node"
  (!type already_seen 5)
  (!srcfileloc  "lto/lto-lang.c" 187)
  nil )
 (!pair  "const_string_type_node"
  (!type already_seen 5)
  (!srcfileloc  "lto/lto-lang.c" 186)
  nil )
 (!pair  "string_type_node"
  (!type already_seen 5)
  (!srcfileloc  "lto/lto-lang.c" 185)
  nil )
 (!pair  "builtin_types"
  (!type array 1588 nil  gc_used "(int) BT_LAST + 1" 
   (!type already_seen 5)
  )
  (!srcfileloc  "lto/lto-lang.c" 183)
  nil )
 (!pair  "built_in_attributes"
  (!type array 1589 nil  gc_used "(int) ATTR_LAST" 
   (!type already_seen 5)
  )
  (!srcfileloc  "lto/lto-lang.c" 136)
  nil )
 (!pair  "resources"
  (!type already_seen 46)
  (!srcfileloc  "java/resource.c" 41)
  nil )
 (!pair  "compression_table"
  (!type already_seen 5)
  (!srcfileloc  "java/mangle.c" 298)
  nil )
 (!pair  "atms"
  (!type already_seen 5)
  (!srcfileloc  "java/mangle.c" 72)
  nil )
 (!pair  "java_eh_personality_decl"
  (!type already_seen 5)
  (!srcfileloc  "java/lang.c" 915)
  nil )
 (!pair  "last_error_function"
  (!type already_seen 5)
  (!srcfileloc  "java/lang.c" 483)
  nil )
 (!pair  "last_error_function_context"
  (!type already_seen 5)
  (!srcfileloc  "java/lang.c" 482)
  nil )
 (!pair  "all_class_list"
  (!type already_seen 46)
  (!srcfileloc  "java/jcf-parse.c" 88)
  nil )
 (!pair  "main_jcf"
  (!type already_seen 454)
  (!srcfileloc  "java/jcf-parse.c" 85)
  nil )
 (!pair  "parse_roots"
  (!type array 1590 nil  gc_used "2" 
   (!type already_seen 5)
  )
  (!srcfileloc  "java/jcf-parse.c" 73)
  nil )
 (!pair  "class_ident"
  (!type already_seen 5)
  (!srcfileloc  "java/expr.c" 2360)
  nil )
 (!pair  "page_size"
  (!type already_seen 5)
  (!srcfileloc  "java/expr.c" 130)
  nil )
 (!pair  "quick_stack"
  (!type already_seen 46)
  (!srcfileloc  "java/expr.c" 126)
  nil )
 (!pair  "ncode_ident"
  (!type already_seen 5)
  (!srcfileloc  "java/expr.c" 92)
  nil )
 (!pair  "methods_ident"
  (!type already_seen 5)
  (!srcfileloc  "java/expr.c" 91)
  nil )
 (!pair  "operand_type"
  (!type array 1591 nil  gc_used "59" 
   (!type already_seen 5)
  )
  (!srcfileloc  "java/expr.c" 89)
  nil )
 (!pair  "global_binding_level"
  (!type already_seen 81)
  (!srcfileloc  "java/decl.c" 439)
  nil )
 (!pair  "free_binding_level"
  (!type already_seen 81)
  (!srcfileloc  "java/decl.c" 433)
  nil )
 (!pair  "current_binding_level"
  (!type already_seen 81)
  (!srcfileloc  "java/decl.c" 429)
  nil )
 (!pair  "pending_local_decls"
  (!type already_seen 5)
  (!srcfileloc  "java/decl.c" 118)
  nil )
 (!pair  "base_decl_map"
  (!type already_seen 5)
  (!srcfileloc  "java/decl.c" 110)
  nil )
 (!pair  "decl_map"
  (!type already_seen 5)
  (!srcfileloc  "java/decl.c" 104)
  nil )
 (!pair  "tag_nodes"
  (!type array 1592 nil  gc_used "13" 
   (!type already_seen 5)
  )
  (!srcfileloc  "java/constants.c" 318)
  nil )
 (!pair  "alias_labelno"
  (!type already_seen 9)
  (!srcfileloc  "java/class.c" 1372)
  nil )
 (!pair  "this_classdollar"
  (!type already_seen 5)
  (!srcfileloc  "java/class.c" 106)
  nil )
 (!pair  "registered_class"
  (!type already_seen 46)
  (!srcfileloc  "java/class.c" 102)
  nil )
 (!pair  "class_roots"
  (!type array 1593 nil  gc_used "4" 
   (!type already_seen 5)
  )
  (!srcfileloc  "java/class.c" 96)
  nil )
 (!pair  "java_builtins"
  (!type array 1594 nil  gc_used "" 
   (!type already_seen 649)
  )
  (!srcfileloc  "java/builtins.c" 86)
  nil )
 (!pair  "pending_static_fields"
  (!type already_seen 46)
  (!srcfileloc  "java/java-tree.h" 1182)
  nil )
 (!pair  "soft_resolvepoolentry_node"
  (!type already_seen 5)
  (!srcfileloc  "java/java-tree.h" 575)
  nil )
 (!pair  "java_global_trees"
  (!type array 1595 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 454)
  (!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 1596 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 1597 nil  gc_used "4" 
   (!type array 1598 nil  gc_used "3" 
    (!type already_seen 656)
   )
  )
  (!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 1599 nil  gc_used "MAX_CHARACTER_KINDS + 1" 
   (!type already_seen 5)
  )
  (!srcfileloc  "fortran/trans-types.c" 103)
  nil )
 (!pair  "gfc_character_types"
  (!type array 1600 nil  gc_used "MAX_CHARACTER_KINDS + 1" 
   (!type already_seen 5)
  )
  (!srcfileloc  "fortran/trans-types.c" 102)
  nil )
 (!pair  "gfc_complex_types"
  (!type array 1601 nil  gc_used "MAX_REAL_KINDS + 1" 
   (!type already_seen 5)
  )
  (!srcfileloc  "fortran/trans-types.c" 98)
  nil )
 (!pair  "gfc_real_types"
  (!type array 1602 nil  gc_used "MAX_REAL_KINDS + 1" 
   (!type already_seen 5)
  )
  (!srcfileloc  "fortran/trans-types.c" 97)
  nil )
 (!pair  "gfc_logical_types"
  (!type array 1603 nil  gc_used "MAX_INT_KINDS + 1" 
   (!type already_seen 5)
  )
  (!srcfileloc  "fortran/trans-types.c" 93)
  nil )
 (!pair  "gfc_integer_types"
  (!type array 1604 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 1605 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 1606 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 1607 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 1608 nil  gc_used "IOCALL_NUM" 
   (!type already_seen 5)
  )
  (!srcfileloc  "fortran/trans-io.c" 151)
  nil )
 (!pair  "st_parameter_field"
  (!type array 1609 nil  gc_used "" 
   (!type already_seen 669)
  )
  (!srcfileloc  "fortran/trans-io.c" 101)
  nil )
 (!pair  "st_parameter"
  (!type array 1610 nil  gc_used "" 
   (!type already_seen 668)
  )
  (!srcfileloc  "fortran/trans-io.c" 90)
  nil )
 (!pair  "gfc_intrinsic_map"
  (!type array 1611 nil  gc_used "" 
   (!type already_seen 670)
  )
  (!srcfileloc  "fortran/trans-intrinsic.c" 116)
  nil )
 (!pair  "module_htab"
  (!type already_seen 1516)
  (!srcfileloc  "fortran/trans-decl.c" 4113)
  (!options 
   (!option param_is type 
    (!type already_seen 671)
   )
  )
 )
 (!pair  "saved_local_decls"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans-decl.c" 71)
  nil )
 (!pair  "nonlocal_dummy_decls"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans-decl.c" 67)
  nil )
 (!pair  "saved_parent_function_decls"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans-decl.c" 64)
  nil )
 (!pair  "saved_function_decls"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans-decl.c" 63)
  nil )
 (!pair  "parent_fake_result_decl"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans-decl.c" 58)
  nil )
 (!pair  "current_fake_result_decl"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans-decl.c" 57)
  nil )
 (!pair  "global_binding_level"
  (!type already_seen 81)
  (!srcfileloc  "fortran/f95-lang.c" 325)
  nil )
 (!pair  "current_binding_level"
  (!type already_seen 81)
  (!srcfileloc  "fortran/f95-lang.c" 321)
  nil )
 (!pair  "current_translation_unit"
  (!type already_seen 5)
  (!srcfileloc  "fortran/f95-lang.c" 186)
  nil )
 (!pair  "free_binding_level"
  (!type already_seen 81)
  (!srcfileloc  "fortran/f95-lang.c" 180)
  nil )
 (!pair  "vlt_register_set_fndecl"
  (!type already_seen 5)
  (!srcfileloc  "cp/vtable-class-hierarchy.c" 133)
  nil )
 (!pair  "vlt_register_pairs_fndecl"
  (!type already_seen 5)
  (!srcfileloc  "cp/vtable-class-hierarchy.c" 132)
  nil )
 (!pair  "vlt_saved_class_info"
  (!type already_seen 46)
  (!srcfileloc  "cp/vtable-class-hierarchy.c" 131)
  nil )
 (!pair  "pending_noexcept_checks"
  (!type already_seen 676)
  (!srcfileloc  "cp/except.c" 1185)
  nil )
 (!pair  "cp_eh_personality_decl"
  (!type already_seen 5)
  (!srcfileloc  "cp/cp-lang.c" 180)
  nil )
 (!pair  "shadowed_var_for_decl"
  (!type already_seen 1548)
  (!srcfileloc  "cp/cp-objcp-common.c" 649)
  (!options 
   (!option param_is type 
    (!type already_seen 1436)
   )
   (!option if_marked string  "tree_decl_map_marked_p")
  )
 )
 (!pair  "saved_builtins"
  (!type already_seen 679)
  (!srcfileloc  "cp/cp-objcp-common.c" 187)
  nil )
 (!pair  "abort_fndecl_addr"
  (!type already_seen 5)
  (!srcfileloc  "cp/class.c" 8875)
  nil )
 (!pair  "sizeof_biggest_empty_class"
  (!type already_seen 5)
  (!srcfileloc  "cp/class.c" 112)
  nil )
 (!pair  "abstract_pending_vars"
  (!type already_seen 1518)
  (!srcfileloc  "cp/typeck2.c" 187)
  (!options 
   (!option param_is type 
    (!type already_seen 687)
   )
  )
 )
 (!pair  "thunk_labelno"
  (!type already_seen 9)
  (!srcfileloc  "cp/method.c" 206)
  nil )
 (!pair  "generic_parm_count"
  (!type already_seen 9)
  (!srcfileloc  "cp/parser.c" 32011)
  nil )
 (!pair  "the_parser"
  (!type already_seen 696)
  (!srcfileloc  "cp/parser.c" 31442)
  nil )
 (!pair  "lambda_scope_stack"
  (!type already_seen 691)
  (!srcfileloc  "cp/parser.c" 8667)
  nil )
 (!pair  "lambda_count"
  (!type already_seen 9)
  (!srcfileloc  "cp/parser.c" 8661)
  nil )
 (!pair  "lambda_scope"
  (!type already_seen 5)
  (!srcfileloc  "cp/parser.c" 8660)
  nil )
 (!pair  "cp_parser_context_free_list"
  (!type already_seen 702)
  (!srcfileloc  "cp/parser.c" 1762)
  (!options 
   (!option deletable string  "")
  )
 )
 (!pair  "list_hash_table"
  (!type already_seen 54)
  (!srcfileloc  "cp/tree.c" 1609)
  (!options 
   (!option param_is type 
    (!type already_seen 7)
   )
  )
 )
 (!pair  "cplus_array_htab"
  (!type already_seen 54)
  (!srcfileloc  "cp/tree.c" 757)
  (!options 
   (!option param_is type 
    (!type already_seen 7)
   )
  )
 )
 (!pair  "constexpr_call_table"
  (!type already_seen 1520)
  (!srcfileloc  "cp/semantics.c" 8136)
  (!options 
   (!option param_is type 
    (!type already_seen 715)
   )
  )
 )
 (!pair  "constexpr_fundef_table"
  (!type already_seen 1522)
  (!srcfileloc  "cp/semantics.c" 7444)
  (!options 
   (!option param_is type 
    (!type already_seen 718)
   )
  )
 )
 (!pair  "deferred_access_no_check"
  (!type already_seen 9)
  (!srcfileloc  "cp/semantics.c" 144)
  nil )
 (!pair  "deferred_access_stack"
  (!type already_seen 721)
  (!srcfileloc  "cp/semantics.c" 143)
  nil )
 (!pair  "pending_repo"
  (!type already_seen 46)
  (!srcfileloc  "cp/repo.c" 46)
  nil )
 (!pair  "last_error_tinst_level"
  (!type already_seen 730)
  (!srcfileloc  "cp/pt.c" 8250)
  nil )
 (!pair  "canonical_template_parms"
  (!type already_seen 46)
  (!srcfileloc  "cp/pt.c" 110)
  nil )
 (!pair  "type_specializations"
  (!type already_seen 1524)
  (!srcfileloc  "cp/pt.c" 104)
  (!options 
   (!option param_is type 
    (!type already_seen 726)
   )
  )
 )
 (!pair  "decl_specializations"
  (!type already_seen 1524)
  (!srcfileloc  "cp/pt.c" 101)
  (!options 
   (!option param_is type 
    (!type already_seen 726)
   )
  )
 )
 (!pair  "saved_access_scope"
  (!type already_seen 5)
  (!srcfileloc  "cp/pt.c" 83)
  nil )
 (!pair  "current_tinst_level"
  (!type already_seen 730)
  (!srcfileloc  "cp/pt.c" 81)
  nil )
 (!pair  "saved_trees"
  (!type already_seen 5)
  (!srcfileloc  "cp/pt.c" 78)
  nil )
 (!pair  "last_pending_template"
  (!type already_seen 729)
  (!srcfileloc  "cp/pt.c" 66)
  nil )
 (!pair  "pending_templates"
  (!type already_seen 729)
  (!srcfileloc  "cp/pt.c" 65)
  nil )
 (!pair  "ssdf_decls"
  (!type already_seen 46)
  (!srcfileloc  "cp/decl2.c" 3348)
  nil )
 (!pair  "ssdf_decl"
  (!type already_seen 5)
  (!srcfileloc  "cp/decl2.c" 3344)
  nil )
 (!pair  "priority_decl"
  (!type already_seen 5)
  (!srcfileloc  "cp/decl2.c" 3341)
  nil )
 (!pair  "initialize_p_decl"
  (!type already_seen 5)
  (!srcfileloc  "cp/decl2.c" 3338)
  nil )
 (!pair  "no_linkage_decls"
  (!type already_seen 46)
  (!srcfileloc  "cp/decl2.c" 108)
  nil )
 (!pair  "maybe_comdat_fns"
  (!type already_seen 46)
  (!srcfileloc  "cp/decl2.c" 104)
  nil )
 (!pair  "deferred_fns"
  (!type already_seen 46)
  (!srcfileloc  "cp/decl2.c" 100)
  nil )
 (!pair  "pending_statics"
  (!type already_seen 46)
  (!srcfileloc  "cp/decl2.c" 96)
  nil )
 (!pair  "start_cleanup_cnt"
  (!type already_seen 9)
  (!srcfileloc  "cp/decl.c" 6794)
  nil )
 (!pair  "typename_htab"
  (!type already_seen 54)
  (!srcfileloc  "cp/decl.c" 3269)
  (!options 
   (!option param_is type 
    (!type already_seen 7)
   )
  )
 )
 (!pair  "incomplete_vars"
  (!type already_seen 739)
  (!srcfileloc  "cp/decl.c" 268)
  nil )
 (!pair  "java_iface_lookup_fn"
  (!type already_seen 5)
  (!srcfileloc  "cp/call.c" 7363)
  nil )
 (!pair  "default_arg_context"
  (!type already_seen 46)
  (!srcfileloc  "cp/call.c" 6527)
  nil )
 (!pair  "unemitted_tinfo_decls"
  (!type already_seen 46)
  (!srcfileloc  "cp/cp-tree.h" 5654)
  nil )
 (!pair  "deferred_mark_used_calls"
  (!type already_seen 46)
  (!srcfileloc  "cp/cp-tree.h" 5318)
  nil )
 (!pair  "assignment_operator_name_info"
  (!type array 1612 nil  gc_used "(int) MAX_TREE_CODES" 
   (!type already_seen 750)
  )
  (!srcfileloc  "cp/cp-tree.h" 4766)
  nil )
 (!pair  "operator_name_info"
  (!type array 1613 nil  gc_used "(int) MAX_TREE_CODES" 
   (!type already_seen 750)
  )
  (!srcfileloc  "cp/cp-tree.h" 4763)
  nil )
 (!pair  "tls_aggregates"
  (!type already_seen 5)
  (!srcfileloc  "cp/cp-tree.h" 4508)
  nil )
 (!pair  "static_aggregates"
  (!type already_seen 5)
  (!srcfileloc  "cp/cp-tree.h" 4506)
  nil )
 (!pair  "local_classes"
  (!type already_seen 46)
  (!srcfileloc  "cp/cp-tree.h" 4408)
  nil )
 (!pair  "integer_two_node"
  (!type already_seen 5)
  (!srcfileloc  "cp/cp-tree.h" 4362)
  nil )
 (!pair  "scope_chain"
  (!type already_seen 757)
  (!srcfileloc  "cp/cp-tree.h" 1127)
  nil )
 (!pair  "cp_global_trees"
  (!type array 1614 nil  gc_used "CPTI_MAX" 
   (!type already_seen 5)
  )
  (!srcfileloc  "cp/cp-tree.h" 905)
  nil )
 (!pair  "lambda_cnt"
  (!type already_seen 9)
  (!srcfileloc  "cp/name-lookup.c" 2119)
  nil )
 (!pair  "anon_cnt"
  (!type already_seen 9)
  (!srcfileloc  "cp/name-lookup.c" 2092)
  nil )
 (!pair  "free_binding_level"
  (!type already_seen 95)
  (!srcfileloc  "cp/name-lookup.c" 1532)
  (!options 
   (!option deletable string  "")
  )
 )
 (!pair  "free_bindings"
  (!type already_seen 100)
  (!srcfileloc  "cp/name-lookup.c" 277)
  (!options 
   (!option deletable string  "")
  )
 )
 (!pair  "free_binding_entry"
  (!type already_seen 492)
  (!srcfileloc  "cp/name-lookup.c" 93)
  (!options 
   (!option deletable string  "")
  )
 )
 (!pair  "anonymous_namespace_name"
  (!type already_seen 5)
  (!srcfileloc  "cp/name-lookup.c" 66)
  nil )
 (!pair  "global_type_node"
  (!type already_seen 5)
  (!srcfileloc  "cp/name-lookup.h" 287)
  nil )
 (!pair  "global_scope_name"
  (!type already_seen 5)
  (!srcfileloc  "cp/name-lookup.h" 282)
  nil )
 (!pair  "global_namespace"
  (!type already_seen 5)
  (!srcfileloc  "cp/name-lookup.h" 281)
  nil )
 (!pair  "temp_count"
  (!type already_seen 9)
  (!srcfileloc  "cp/mangle.c" 3876)
  nil )
 (!pair  "conv_type_names"
  (!type already_seen 54)
  (!srcfileloc  "cp/mangle.c" 3740)
  (!options 
   (!option param_is type 
    (!type already_seen 7)
   )
  )
 )
 (!pair  "subst_identifiers"
  (!type array 1615 nil  gc_used "SUBID_MAX" 
   (!type already_seen 5)
  )
  (!srcfileloc  "cp/mangle.c" 137)
  nil )
 (!pair  "G"
  (!type already_seen 760)
  (!srcfileloc  "cp/mangle.c" 108)
  nil )
 (!pair  "tinfo_descs"
  (!type already_seen 762)
  (!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 767)
  (!srcfileloc  "c/c-parser.c" 223)
  nil )
 (!pair  "options_stack"
  (!type already_seen 776)
  (!srcfileloc  "c-family/c-pragma.c" 904)
  nil )
 (!pair  "pending_redefine_extname"
  (!type already_seen 778)
  (!srcfileloc  "c-family/c-pragma.c" 433)
  nil )
 (!pair  "pending_weaks"
  (!type already_seen 781)
  (!srcfileloc  "c-family/c-pragma.c" 247)
  nil )
 (!pair  "alignment_stack"
  (!type already_seen 784)
  (!srcfileloc  "c-family/c-pragma.c" 56)
  nil )
 (!pair  "pragma_extern_prefix"
  (!type already_seen 5)
  (!srcfileloc  "c-family/c-pragma.h" 191)
  nil )
 (!pair  "lazy_hex_fp_value_count"
  (!type already_seen 9)
  (!srcfileloc  "c-family/c-cppbuiltin.c" 1209)
  nil )
 (!pair  "lazy_hex_fp_values"
  (!type array 1616 nil  gc_used "12" 
   (!type already_seen 787)
  )
  (!srcfileloc  "c-family/c-cppbuiltin.c" 1208)
  nil )
 (!pair  "pending_lang_change"
  (!type already_seen 9)
  (!srcfileloc  "c-family/c-common.h" 945)
  nil )
 (!pair  "c_global_trees"
  (!type array 1617 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 795)
  (!srcfileloc  "c-family/c-common.c" 11625)
  (!options 
   (!option deletable string  "")
  )
 )
 (!pair  "optimize_args"
  (!type already_seen 798)
  (!srcfileloc  "c-family/c-common.c" 9089)
  nil )
 (!pair  "compound_literal_number"
  (!type already_seen 9)
  (!srcfileloc  "c-family/c-common.c" 5751)
  nil )
 (!pair  "built_in_attributes"
  (!type array 1618 nil  gc_used "(int) ATTR_LAST" 
   (!type already_seen 5)
  )
  (!srcfileloc  "c-family/c-common.c" 5126)
  nil )
 (!pair  "type_hash_table"
  (!type already_seen 54)
  (!srcfileloc  "c-family/c-common.c" 4828)
  (!options 
   (!option param_is type 
    (!type already_seen 7)
   )
  )
 )
 (!pair  "registered_builtin_types"
  (!type already_seen 5)
  (!srcfileloc  "c-family/c-common.c" 3489)
  nil )
 (!pair  "saved_builtins"
  (!type already_seen 805)
  (!srcfileloc  "c/c-decl.c" 10527)
  nil )
 (!pair  "ext_block"
  (!type already_seen 5)
  (!srcfileloc  "c/c-decl.c" 10393)
  nil )
 (!pair  "ext_blocks"
  (!type already_seen 46)
  (!srcfileloc  "c/c-decl.c" 546)
  nil )
 (!pair  "c_inline_statics"
  (!type already_seen 808)
  (!srcfileloc  "c/c-decl.c" 494)
  nil )
 (!pair  "binding_freelist"
  (!type already_seen 586)
  (!srcfileloc  "c/c-decl.c" 446)
  (!options 
   (!option deletable string  "")
  )
 )
 (!pair  "scope_freelist"
  (!type already_seen 592)
  (!srcfileloc  "c/c-decl.c" 442)
  (!options 
   (!option deletable string  "")
  )
 )
 (!pair  "external_scope"
  (!type already_seen 592)
  (!srcfileloc  "c/c-decl.c" 438)
  nil )
 (!pair  "file_scope"
  (!type already_seen 592)
  (!srcfileloc  "c/c-decl.c" 433)
  nil )
 (!pair  "current_function_scope"
  (!type already_seen 592)
  (!srcfileloc  "c/c-decl.c" 429)
  nil )
 (!pair  "current_scope"
  (!type already_seen 592)
  (!srcfileloc  "c/c-decl.c" 423)
  nil )
 (!pair  "visible_builtins"
  (!type already_seen 5)
  (!srcfileloc  "c/c-decl.c" 127)
  nil )
 (!pair  "c_stmt_tree"
  (!type already_seen 89)
  (!srcfileloc  "c/c-decl.c" 120)
  nil )
 (!pair  "gnat_eh_personality_decl"
  (!type already_seen 5)
  (!srcfileloc  "ada/gcc-interface/misc.c" 834)
  nil )
 (!pair  "built_in_attributes"
  (!type array 1619 nil  gc_used "(int) ATTR_LAST" 
   (!type already_seen 5)
  )
  (!srcfileloc  "ada/gcc-interface/utils.c" 5997)
  nil )
 (!pair  "builtin_types"
  (!type array 1620 nil  gc_used "(int) BT_LAST + 1" 
   (!type already_seen 5)
  )
  (!srcfileloc  "ada/gcc-interface/utils.c" 5857)
  nil )
 (!pair  "dummy_global"
  (!type already_seen 5)
  (!srcfileloc  "ada/gcc-interface/utils.c" 5645)
  nil )
 (!pair  "pad_type_hash_table"
  (!type already_seen 1526)
  (!srcfileloc  "ada/gcc-interface/utils.c" 232)
  (!options 
   (!option param_is type 
    (!type already_seen 819)
   )
   (!option if_marked string  "pad_type_hash_marked_p")
  )
 )
 (!pair  "free_block_chain"
  (!type already_seen 5)
  (!srcfileloc  "ada/gcc-interface/utils.c" 217)
  (!options 
   (!option deletable string  "")
  )
 )
 (!pair  "global_renaming_pointers"
  (!type already_seen 46)
  (!srcfileloc  "ada/gcc-interface/utils.c" 214)
  nil )
 (!pair  "builtin_decls"
  (!type already_seen 46)
  (!srcfileloc  "ada/gcc-interface/utils.c" 211)
  nil )
 (!pair  "global_decls"
  (!type already_seen 46)
  (!srcfileloc  "ada/gcc-interface/utils.c" 208)
  nil )
 (!pair  "global_context"
  (!type already_seen 5)
  (!srcfileloc  "ada/gcc-interface/utils.c" 205)
  nil )
 (!pair  "free_binding_level"
  (!type already_seen 822)
  (!srcfileloc  "ada/gcc-interface/utils.c" 202)
  (!options 
   (!option deletable string  "")
  )
 )
 (!pair  "current_binding_level"
  (!type already_seen 822)
  (!srcfileloc  "ada/gcc-interface/utils.c" 199)
  nil )
 (!pair  "float_types"
  (!type array 1621 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 1622 nil  gc_used "2 * MAX_BITS_PER_WORD + 1" 
   (!type array 1623 nil  gc_used "2" 
    (!type already_seen 5)
   )
  )
  (!srcfileloc  "ada/gcc-interface/utils.c" 180)
  nil )
 (!pair  "dummy_node_table"
  (!type already_seen 6)
  (!srcfileloc  "ada/gcc-interface/utils.c" 163)
  (!options 
   (!option length string  "max_gnat_nodes")
  )
 )
 (!pair  "associate_gnat_to_gnu"
  (!type already_seen 6)
  (!srcfileloc  "ada/gcc-interface/utils.c" 151)
  (!options 
   (!option length string  "max_gnat_nodes")
  )
 )
 (!pair  "gnat_vms_condition_handler_decl"
  (!type already_seen 5)
  (!srcfileloc  "ada/gcc-interface/trans.c" 2870)
  nil )
 (!pair  "vms_builtin_establish_handler_decl"
  (!type already_seen 5)
  (!srcfileloc  "ada/gcc-interface/trans.c" 2869)
  nil )
 (!pair  "gnu_program_error_label_stack"
  (!type already_seen 46)
  (!srcfileloc  "ada/gcc-interface/trans.c" 229)
  nil )
 (!pair  "gnu_storage_error_label_stack"
  (!type already_seen 46)
  (!srcfileloc  "ada/gcc-interface/trans.c" 228)
  nil )
 (!pair  "gnu_constraint_error_label_stack"
  (!type already_seen 46)
  (!srcfileloc  "ada/gcc-interface/trans.c" 227)
  nil )
 (!pair  "gnu_loop_stack"
  (!type already_seen 825)
  (!srcfileloc  "ada/gcc-interface/trans.c" 224)
  nil )
 (!pair  "gnu_return_var_stack"
  (!type already_seen 46)
  (!srcfileloc  "ada/gcc-interface/trans.c" 200)
  nil )
 (!pair  "gnu_return_label_stack"
  (!type already_seen 46)
  (!srcfileloc  "ada/gcc-interface/trans.c" 196)
  nil )
 (!pair  "gnu_elab_proc_stack"
  (!type already_seen 46)
  (!srcfileloc  "ada/gcc-interface/trans.c" 192)
  nil )
 (!pair  "gnu_incoming_exc_ptr"
  (!type already_seen 5)
  (!srcfileloc  "ada/gcc-interface/trans.c" 189)
  nil )
 (!pair  "gnu_except_ptr_stack"
  (!type already_seen 46)
  (!srcfileloc  "ada/gcc-interface/trans.c" 186)
  nil )
 (!pair  "elab_info_list"
  (!type already_seen 833)
  (!srcfileloc  "ada/gcc-interface/trans.c" 181)
  nil )
 (!pair  "stmt_group_free_list"
  (!type already_seen 835)
  (!srcfileloc  "ada/gcc-interface/trans.c" 168)
  (!options 
   (!option deletable string  "")
  )
 )
 (!pair  "current_stmt_group"
  (!type already_seen 835)
  (!srcfileloc  "ada/gcc-interface/trans.c" 165)
  nil )
 (!pair  "annotate_value_cache"
  (!type already_seen 1528)
  (!srcfileloc  "ada/gcc-interface/decl.c" 132)
  (!options 
   (!option param_is type 
    (!type already_seen 1434)
   )
   (!option if_marked string  "tree_int_map_marked_p")
  )
 )
 (!pair  "gnat_raise_decls_ext"
  (!type array 1624 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 1625 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 1626 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 1627 nil  gc_used "IFN_LAST + 1" 
   (!type already_seen 5)
  )
  (!srcfileloc  "internal-fn.h" 57)
  nil )
 (!pair  "odr_types_ptr"
  (!type already_seen 854)
  (!srcfileloc  "ipa-devirt.c" 279)
  nil )
 (!pair  "decl_tree_for_type"
  (!type already_seen 1530)
  (!srcfileloc  "ubsan.c" 71)
  (!options 
   (!option param_is type 
    (!type already_seen 867)
   )
   (!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 1628 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 885)
  (!srcfileloc  "ipa-inline.h" 164)
  nil )
 (!pair  "tm_wrap_map"
  (!type already_seen 1536)
  (!srcfileloc  "trans-mem.c" 475)
  (!options 
   (!option param_is type 
    (!type already_seen 1438)
   )
   (!option if_marked string  "tree_map_marked_p")
  )
 )
 (!pair  "ipa_edge_args_vector"
  (!type already_seen 984)
  (!srcfileloc  "ipa-prop.h" 511)
  nil )
 (!pair  "ipa_node_agg_replacements"
  (!type already_seen 1002)
  (!srcfileloc  "ipa-prop.h" 509)
  nil )
 (!pair  "ipa_escaped_pt"
  (!type already_seen 387)
  (!srcfileloc  "tree-ssa-alias.h" 146)
  nil )
 (!pair  "free_phinodes"
  (!type array 1629 nil  gc_used "NUM_BUCKETS - 2" 
   (!type already_seen 385)
  )
  (!srcfileloc  "tree-phinodes.c" 79)
  (!options 
   (!option deletable string  "")
  )
 )
 (!pair  "varying_ssa_edges"
  (!type already_seen 385)
  (!srcfileloc  "tree-ssa-propagate.c" 172)
  nil )
 (!pair  "interesting_ssa_edges"
  (!type already_seen 385)
  (!srcfileloc  "tree-ssa-propagate.c" 156)
  nil )
 (!pair  "clone_fn_id_num"
  (!type already_seen 9)
  (!srcfileloc  "cgraphclones.c" 534)
  nil )
 (!pair  "output_node_hash"
  (!type already_seen 1580)
  (!srcfileloc  "cgraphunit.c" 1245)
  (!options 
   (!option param_is type 
    (!type already_seen 948)
   )
  )
 )
 (!pair  "vtable_entry_type"
  (!type already_seen 5)
  (!srcfileloc  "cgraphunit.c" 235)
  nil )
 (!pair  "asm_last_node"
  (!type already_seen 1370)
  (!srcfileloc  "cgraphunit.c" 232)
  nil )
 (!pair  "order"
  (!type already_seen 924)
  (!srcfileloc  "passes.c" 1613)
  (!options 
   (!option length string  "nnodes")
  )
 )
 (!pair  "arm_builtin_decls"
  (!type array 1630 nil  gc_used "ARM_BUILTIN_MAX" 
   (!type already_seen 5)
  )
  (!srcfileloc  "config/arm/arm.c" 23282)
  nil )
 (!pair  "tls_get_addr_libfunc"
  (!type already_seen 137)
  (!srcfileloc  "config/arm/arm.c" 7157)
  nil )
 (!pair  "pic_labelno"
  (!type already_seen 9)
  (!srcfileloc  "config/arm/arm.c" 6416)
  nil )
 (!pair  "va_list_type"
  (!type already_seen 5)
  (!srcfileloc  "config/arm/arm.c" 2202)
  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 1532)
  (!srcfileloc  "omp-low.c" 8943)
  (!options 
   (!option param2_is type 
    (!type already_seen 5)
   )
   (!option param1_is type 
    (!type already_seen 5)
   )
  )
 )
 (!pair  "parallelized_functions"
  (!type already_seen 121)
  (!srcfileloc  "tree-parloops.c" 1424)
  nil )
 (!pair  "trampoline_type"
  (!type already_seen 5)
  (!srcfileloc  "tree-nested.c" 479)
  nil )
 (!pair  "gcov_sampling_period_decl"
  (!type already_seen 5)
  (!srcfileloc  "tree-profile.c" 232)
  nil )
 (!pair  "gcov_sample_counter_decl"
  (!type already_seen 5)
  (!srcfileloc  "tree-profile.c" 223)
  nil )
 (!pair  "gcov_info_decl"
  (!type already_seen 5)
  (!srcfileloc  "tree-profile.c" 97)
  nil )
 (!pair  "ptr_void"
  (!type already_seen 5)
  (!srcfileloc  "tree-profile.c" 96)
  nil )
 (!pair  "dc_gcov_type_ptr_var"
  (!type already_seen 5)
  (!srcfileloc  "tree-profile.c" 95)
  nil )
 (!pair  "dc_void_ptr_var"
  (!type already_seen 5)
  (!srcfileloc  "tree-profile.c" 94)
  nil )
 (!pair  "ic_gcov_type_ptr_var"
  (!type already_seen 5)
  (!srcfileloc  "tree-profile.c" 93)
  nil )
 (!pair  "ic_void_ptr_var"
  (!type already_seen 5)
  (!srcfileloc  "tree-profile.c" 92)
  nil )
 (!pair  "tree_ior_profiler_fn"
  (!type already_seen 5)
  (!srcfileloc  "tree-profile.c" 89)
  nil )
 (!pair  "tree_average_profiler_fn"
  (!type already_seen 5)
  (!srcfileloc  "tree-profile.c" 88)
  nil )
 (!pair  "tree_time_profiler_fn"
  (!type already_seen 5)
  (!srcfileloc  "tree-profile.c" 87)
  nil )
 (!pair  "tree_direct_call_profiler_fn"
  (!type already_seen 5)
  (!srcfileloc  "tree-profile.c" 86)
  nil )
 (!pair  "tree_indirect_call_topn_profiler_fn"
  (!type already_seen 5)
  (!srcfileloc  "tree-profile.c" 85)
  nil )
 (!pair  "tree_indirect_call_profiler_fn"
  (!type already_seen 5)
  (!srcfileloc  "tree-profile.c" 84)
  nil )
 (!pair  "tree_one_value_profiler_fn"
  (!type already_seen 5)
  (!srcfileloc  "tree-profile.c" 83)
  nil )
 (!pair  "tree_pow2_profiler_fn"
  (!type already_seen 5)
  (!srcfileloc  "tree-profile.c" 82)
  nil )
 (!pair  "tree_interval_profiler_fn"
  (!type already_seen 5)
  (!srcfileloc  "tree-profile.c" 81)
  nil )
 (!pair  "gcov_type_node"
  (!type already_seen 5)
  (!srcfileloc  "tree-profile.c" 80)
  nil )
 (!pair  "scalar_evolution_info"
  (!type already_seen 1534)
  (!srcfileloc  "tree-scalar-evolution.c" 325)
  (!options 
   (!option param_is type 
    (!type already_seen 1067)
   )
  )
 )
 (!pair  "chrec_known"
  (!type already_seen 5)
  (!srcfileloc  "tree-chrec.h" 30)
  nil )
 (!pair  "chrec_dont_know"
  (!type already_seen 5)
  (!srcfileloc  "tree-chrec.h" 29)
  nil )
 (!pair  "tmp_var_id_num"
  (!type already_seen 9)
  (!srcfileloc  "gimple-expr.c" 445)
  nil )
 (!pair  "stmt_list_cache"
  (!type already_seen 46)
  (!srcfileloc  "tree-iterator.c" 32)
  (!options 
   (!option deletable string  "")
  )
 )
 (!pair  "mem_addr_template_list"
  (!type already_seen 1084)
  (!srcfileloc  "tree-ssa-address.c" 98)
  nil )
 (!pair  "elf_fini_array_section"
  (!type already_seen 246)
  (!srcfileloc  "varasm.c" 7569)
  nil )
 (!pair  "elf_init_array_section"
  (!type already_seen 246)
  (!srcfileloc  "varasm.c" 7568)
  nil )
 (!pair  "tm_clone_hash"
  (!type already_seen 1536)
  (!srcfileloc  "varasm.c" 5746)
  (!options 
   (!option param_is type 
    (!type already_seen 1438)
   )
   (!option if_marked string  "tree_map_marked_p")
  )
 )
 (!pair  "weakref_targets"
  (!type already_seen 5)
  (!srcfileloc  "varasm.c" 5429)
  nil )
 (!pair  "const_desc_htab"
  (!type already_seen 1538)
  (!srcfileloc  "varasm.c" 2809)
  (!options 
   (!option param_is type 
    (!type already_seen 1356)
   )
  )
 )
 (!pair  "initial_trampoline"
  (!type already_seen 137)
  (!srcfileloc  "varasm.c" 2520)
  nil )
 (!pair  "weak_decls"
  (!type already_seen 5)
  (!srcfileloc  "varasm.c" 2291)
  nil )
 (!pair  "pending_assemble_externals"
  (!type already_seen 5)
  (!srcfileloc  "varasm.c" 2221)
  nil )
 (!pair  "shared_constant_pool"
  (!type already_seen 1401)
  (!srcfileloc  "varasm.c" 192)
  nil )
 (!pair  "anchor_labelno"
  (!type already_seen 9)
  (!srcfileloc  "varasm.c" 189)
  nil )
 (!pair  "object_block_htab"
  (!type already_seen 1540)
  (!srcfileloc  "varasm.c" 186)
  (!options 
   (!option param_is type 
    (!type already_seen 245)
   )
  )
 )
 (!pair  "section_htab"
  (!type already_seen 1542)
  (!srcfileloc  "varasm.c" 183)
  (!options 
   (!option param_is type 
    (!type already_seen 247)
   )
  )
 )
 (!pair  "unnamed_sections"
  (!type already_seen 246)
  (!srcfileloc  "varasm.c" 175)
  nil )
 (!pair  "const_labelno"
  (!type already_seen 9)
  (!srcfileloc  "varasm.c" 80)
  nil )
 (!pair  "weak_global_object_name"
  (!type already_seen 37)
  (!srcfileloc  "varasm.c" 66)
  nil )
 (!pair  "first_global_object_name"
  (!type already_seen 37)
  (!srcfileloc  "varasm.c" 65)
  nil )
 (!pair  "gcc_eh_personality_decl"
  (!type already_seen 5)
  (!srcfileloc  "tree.c" 11760)
  nil )
 (!pair  "nonstandard_integer_type_cache"
  (!type array 1631 nil  gc_used "2 * MAX_INT_CACHED_PREC + 2" 
   (!type already_seen 5)
  )
  (!srcfileloc  "tree.c" 7663)
  nil )
 (!pair  "init_priority_for_decl"
  (!type already_seen 1544)
  (!srcfileloc  "tree.c" 223)
  (!options 
   (!option param_is type 
    (!type already_seen 1432)
   )
   (!option if_marked string  "tree_priority_map_marked_p")
  )
 )
 (!pair  "debug_args_for_decl"
  (!type already_seen 1546)
  (!srcfileloc  "tree.c" 219)
  (!options 
   (!option param_is type 
    (!type already_seen 1430)
   )
   (!option if_marked string  "tree_vec_map_marked_p")
  )
 )
 (!pair  "value_expr_for_decl"
  (!type already_seen 1548)
  (!srcfileloc  "tree.c" 216)
  (!options 
   (!option param_is type 
    (!type already_seen 1436)
   )
   (!option if_marked string  "tree_decl_map_marked_p")
  )
 )
 (!pair  "debug_expr_for_decl"
  (!type already_seen 1548)
  (!srcfileloc  "tree.c" 213)
  (!options 
   (!option param_is type 
    (!type already_seen 1436)
   )
   (!option if_marked string  "tree_decl_map_marked_p")
  )
 )
 (!pair  "cl_option_hash_table"
  (!type already_seen 54)
  (!srcfileloc  "tree.c" 207)
  (!options 
   (!option param_is type 
    (!type already_seen 7)
   )
   (!option if_marked string  "ggc_marked_p")
  )
 )
 (!pair  "cl_target_option_node"
  (!type already_seen 5)
  (!srcfileloc  "tree.c" 205)
  nil )
 (!pair  "cl_optimization_node"
  (!type already_seen 5)
  (!srcfileloc  "tree.c" 204)
  nil )
 (!pair  "int_cst_hash_table"
  (!type already_seen 54)
  (!srcfileloc  "tree.c" 197)
  (!options 
   (!option param_is type 
    (!type already_seen 7)
   )
   (!option if_marked string  "ggc_marked_p")
  )
 )
 (!pair  "int_cst_node"
  (!type already_seen 5)
  (!srcfileloc  "tree.c" 195)
  nil )
 (!pair  "type_hash_table"
  (!type already_seen 1550)
  (!srcfileloc  "tree.c" 192)
  (!options 
   (!option param_is type 
    (!type already_seen 1152)
   )
   (!option if_marked string  "type_hash_marked_p")
  )
 )
 (!pair  "next_debug_decl_uid"
  (!type already_seen 9)
  (!srcfileloc  "tree.c" 171)
  nil )
 (!pair  "next_type_uid"
  (!type already_seen 9)
  (!srcfileloc  "tree.c" 168)
  nil )
 (!pair  "next_decl_uid"
  (!type already_seen 9)
  (!srcfileloc  "tree.c" 166)
  nil )
 (!pair  "spd"
  (!type already_seen 1155)
  (!srcfileloc  "stringpool.c" 254)
  nil )
 (!pair  "size_functions"
  (!type already_seen 46)
  (!srcfileloc  "stor-layout.c" 102)
  nil )
 (!pair  "sdbout_initialized"
  (!type already_seen 9)
  (!srcfileloc  "sdbout.c" 68)
  nil )
 (!pair  "preinit_symbols"
  (!type already_seen 5)
  (!srcfileloc  "sdbout.c" 67)
  nil )
 (!pair  "deferred_global_decls"
  (!type already_seen 46)
  (!srcfileloc  "sdbout.c" 61)
  nil )
 (!pair  "unnamed_struct_number"
  (!type already_seen 9)
  (!srcfileloc  "sdbout.c" 57)
  nil )
 (!pair  "anonymous_types"
  (!type already_seen 5)
  (!srcfileloc  "sdbout.c" 53)
  nil )
 (!pair  "cfg_layout_function_header"
  (!type already_seen 137)
  (!srcfileloc  "cfgrtl.c" 68)
  nil )
 (!pair  "cfg_layout_function_footer"
  (!type already_seen 137)
  (!srcfileloc  "cfgrtl.c" 67)
  nil )
 (!pair  "libfunc_decls"
  (!type already_seen 54)
  (!srcfileloc  "optabs.c" 6061)
  (!options 
   (!option param_is type 
    (!type already_seen 7)
   )
  )
 )
 (!pair  "unused_expr_list"
  (!type already_seen 137)
  (!srcfileloc  "lists.c" 36)
  (!options 
   (!option deletable string  "")
  )
 )
 (!pair  "unused_insn_list"
  (!type already_seen 137)
  (!srcfileloc  "lists.c" 33)
  (!options 
   (!option deletable string  "")
  )
 )
 (!pair  "queue"
  (!type already_seen 46)
  (!srcfileloc  "godump.c" 59)
  nil )
 (!pair  "test_insn"
  (!type already_seen 137)
  (!srcfileloc  "gcse.c" 833)
  nil )
 (!pair  "sjlj_fc_type_node"
  (!type already_seen 5)
  (!srcfileloc  "except.c" 156)
  nil )
 (!pair  "type_to_runtime_map"
  (!type already_seen 54)
  (!srcfileloc  "except.c" 153)
  (!options 
   (!option param_is type 
    (!type already_seen 7)
   )
  )
 )
 (!pair  "call_site_base"
  (!type already_seen 9)
  (!srcfileloc  "except.c" 151)
  nil )
 (!pair  "next_block_index"
  (!type already_seen 9)
  (!srcfileloc  "function.c" 4335)
  nil )
 (!pair  "temp_slot_address_table"
  (!type already_seen 1552)
  (!srcfileloc  "function.c" 545)
  (!options 
   (!option param_is type 
    (!type already_seen 1217)
   )
  )
 )
 (!pair  "epilogue_insn_hash"
  (!type already_seen 1556)
  (!srcfileloc  "function.c" 108)
  (!options 
   (!option param_is type 
    (!type already_seen 139)
   )
   (!option if_marked string  "ggc_marked_p")
  )
 )
 (!pair  "prologue_insn_hash"
  (!type already_seen 1556)
  (!srcfileloc  "function.c" 106)
  (!options 
   (!option param_is type 
    (!type already_seen 139)
   )
   (!option if_marked string  "ggc_marked_p")
  )
 )
 (!pair  "funcdef_no"
  (!type already_seen 9)
  (!srcfileloc  "function.c" 95)
  nil )
 (!pair  "block_clear_fn"
  (!type already_seen 5)
  (!srcfileloc  "expr.h" 299)
  nil )
 (!pair  "block_move_fn"
  (!type already_seen 5)
  (!srcfileloc  "expr.c" 1443)
  nil )
 (!pair  "stack_check_libfunc"
  (!type already_seen 137)
  (!srcfileloc  "explow.c" 1527)
  nil )
 (!pair  "hard_reg_clobbers"
  (!type array 1632 nil  gc_used "NUM_MACHINE_MODES" 
   (!type array 1633 nil  gc_used "FIRST_PSEUDO_REGISTER" 
    (!type already_seen 137)
   )
  )
  (!srcfileloc  "emit-rtl.c" 5953)
  (!options 
   (!option deletable string  "")
  )
 )
 (!pair  "free_sequence_stack"
  (!type already_seen 1398)
  (!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 1556)
  (!srcfileloc  "emit-rtl.c" 139)
  (!options 
   (!option param_is type 
    (!type already_seen 139)
   )
   (!option if_marked string  "ggc_marked_p")
  )
 )
 (!pair  "const_double_htab"
  (!type already_seen 1556)
  (!srcfileloc  "emit-rtl.c" 135)
  (!options 
   (!option param_is type 
    (!type already_seen 139)
   )
   (!option if_marked string  "ggc_marked_p")
  )
 )
 (!pair  "reg_attrs_htab"
  (!type already_seen 1554)
  (!srcfileloc  "emit-rtl.c" 131)
  (!options 
   (!option param_is type 
    (!type already_seen 271)
   )
   (!option if_marked string  "ggc_marked_p")
  )
 )
 (!pair  "const_int_htab"
  (!type already_seen 1556)
  (!srcfileloc  "emit-rtl.c" 127)
  (!options 
   (!option param_is type 
    (!type already_seen 139)
   )
   (!option if_marked string  "ggc_marked_p")
  )
 )
 (!pair  "label_num"
  (!type already_seen 9)
  (!srcfileloc  "emit-rtl.c" 89)
  nil )
 (!pair  "varpool_symtab"
  (!type already_seen 1580)
  (!srcfileloc  "l-ipo.c" 2157)
  (!options 
   (!option param_is type 
    (!type already_seen 948)
   )
  )
 )
 (!pair  "cgraph_symtab"
  (!type already_seen 1558)
  (!srcfileloc  "l-ipo.c" 1183)
  (!options 
   (!option param_is type 
    (!type already_seen 1363)
   )
  )
 )
 (!pair  "l_ipo_type_tab"
  (!type already_seen 1560)
  (!srcfileloc  "l-ipo.c" 525)
  (!options 
   (!option param_is type 
    (!type already_seen 1229)
   )
  )
 )
 (!pair  "referenced_asm_ids"
  (!type already_seen 46)
  (!srcfileloc  "l-ipo.c" 72)
  nil )
 (!pair  "saved_module_scope_map"
  (!type already_seen 1562)
  (!srcfileloc  "l-ipo.c" 62)
  (!options 
   (!option param_is type 
    (!type already_seen 1232)
   )
  )
 )
 (!pair  "current_module_scope"
  (!type already_seen 1233)
  (!srcfileloc  "l-ipo.c" 61)
  nil )
 (!pair  "shift_test"
  (!type already_seen 137)
  (!srcfileloc  "dojump.c" 159)
  nil )
 (!pair  "and_test"
  (!type already_seen 137)
  (!srcfileloc  "dojump.c" 158)
  nil )
 (!pair  "and_reg"
  (!type already_seen 137)
  (!srcfileloc  "dojump.c" 157)
  nil )
 (!pair  "vector_last_nunits"
  (!type already_seen 9)
  (!srcfileloc  "tree-vect-generic.c" 89)
  nil )
 (!pair  "vector_last_type"
  (!type already_seen 5)
  (!srcfileloc  "tree-vect-generic.c" 88)
  nil )
 (!pair  "vector_inner_type"
  (!type already_seen 5)
  (!srcfileloc  "tree-vect-generic.c" 87)
  nil )
 (!pair  "addr_index_table"
  (!type already_seen 1564)
  (!srcfileloc  "dwarf2out.c" 4162)
  (!options 
   (!option param_is type 
    (!type already_seen 422)
   )
  )
 )
 (!pair  "generic_type_instances"
  (!type already_seen 46)
  (!srcfileloc  "dwarf2out.c" 2964)
  nil )
 (!pair  "tmpl_value_parm_die_table"
  (!type already_seen 1262)
  (!srcfileloc  "dwarf2out.c" 2958)
  nil )
 (!pair  "file_table_last_lookup"
  (!type already_seen 442)
  (!srcfileloc  "dwarf2out.c" 2956)
  nil )
 (!pair  "label_num"
  (!type already_seen 9)
  (!srcfileloc  "dwarf2out.c" 2953)
  nil )
 (!pair  "last_emitted_file"
  (!type already_seen 442)
  (!srcfileloc  "dwarf2out.c" 2950)
  nil )
 (!pair  "poc_label_num"
  (!type already_seen 9)
  (!srcfileloc  "dwarf2out.c" 2944)
  nil )
 (!pair  "loclabel_num"
  (!type already_seen 9)
  (!srcfileloc  "dwarf2out.c" 2941)
  nil )
 (!pair  "have_location_lists"
  (!type already_seen 9)
  (!srcfileloc  "dwarf2out.c" 2938)
  nil )
 (!pair  "ranges_by_label_in_use"
  (!type already_seen 9)
  (!srcfileloc  "dwarf2out.c" 2931)
  nil )
 (!pair  "ranges_by_label_allocated"
  (!type already_seen 9)
  (!srcfileloc  "dwarf2out.c" 2928)
  nil )
 (!pair  "ranges_by_label"
  (!type already_seen 1291)
  (!srcfileloc  "dwarf2out.c" 2925)
  (!options 
   (!option length string  "ranges_by_label_allocated")
  )
 )
 (!pair  "ranges_table_in_use"
  (!type already_seen 9)
  (!srcfileloc  "dwarf2out.c" 2921)
  nil )
 (!pair  "ranges_table_allocated"
  (!type already_seen 9)
  (!srcfileloc  "dwarf2out.c" 2918)
  nil )
 (!pair  "ranges_table"
  (!type already_seen 1293)
  (!srcfileloc  "dwarf2out.c" 2915)
  (!options 
   (!option length string  "ranges_table_allocated")
  )
 )
 (!pair  "macinfo_table"
  (!type already_seen 1265)
  (!srcfileloc  "dwarf2out.c" 2906)
  nil )
 (!pair  "pubtype_table"
  (!type already_seen 1268)
  (!srcfileloc  "dwarf2out.c" 2902)
  nil )
 (!pair  "pubname_table"
  (!type already_seen 1268)
  (!srcfileloc  "dwarf2out.c" 2898)
  nil )
 (!pair  "separate_line_info"
  (!type already_seen 1272)
  (!srcfileloc  "dwarf2out.c" 2890)
  nil )
 (!pair  "cold_text_section_line_info"
  (!type already_seen 1273)
  (!srcfileloc  "dwarf2out.c" 2887)
  nil )
 (!pair  "text_section_line_info"
  (!type already_seen 1273)
  (!srcfileloc  "dwarf2out.c" 2886)
  nil )
 (!pair  "abbrev_die_table_in_use"
  (!type already_seen 9)
  (!srcfileloc  "dwarf2out.c" 2871)
  nil )
 (!pair  "abbrev_die_table_allocated"
  (!type already_seen 9)
  (!srcfileloc  "dwarf2out.c" 2868)
  nil )
 (!pair  "abbrev_die_table"
  (!type already_seen 430)
  (!srcfileloc  "dwarf2out.c" 2865)
  (!options 
   (!option length string  "abbrev_die_table_allocated")
  )
 )
 (!pair  "cached_dw_loc_list_table"
  (!type already_seen 1566)
  (!srcfileloc  "dwarf2out.c" 2859)
  (!options 
   (!option param_is type 
    (!type already_seen 1279)
   )
  )
 )
 (!pair  "call_arg_locations"
  (!type already_seen 1282)
  (!srcfileloc  "dwarf2out.c" 2836)
  nil )
 (!pair  "decl_loc_table"
  (!type already_seen 1568)
  (!srcfileloc  "dwarf2out.c" 2833)
  (!options 
   (!option param_is type 
    (!type already_seen 1283)
   )
  )
 )
 (!pair  "common_block_die_table"
  (!type already_seen 1570)
  (!srcfileloc  "dwarf2out.c" 2776)
  (!options 
   (!option param_is type 
    (!type already_seen 431)
   )
  )
 )
 (!pair  "decl_die_table"
  (!type already_seen 1570)
  (!srcfileloc  "dwarf2out.c" 2772)
  (!options 
   (!option param_is type 
    (!type already_seen 431)
   )
  )
 )
 (!pair  "file_table"
  (!type already_seen 1572)
  (!srcfileloc  "dwarf2out.c" 2768)
  (!options 
   (!option param_is type 
    (!type already_seen 443)
   )
  )
 )
 (!pair  "deferred_asm_name"
  (!type already_seen 1289)
  (!srcfileloc  "dwarf2out.c" 2765)
  nil )
 (!pair  "limbo_die_list"
  (!type already_seen 1289)
  (!srcfileloc  "dwarf2out.c" 2761)
  nil )
 (!pair  "comdat_type_list"
  (!type already_seen 433)
  (!srcfileloc  "dwarf2out.c" 2758)
  nil )
 (!pair  "single_comp_unit_die"
  (!type already_seen 429)
  (!srcfileloc  "dwarf2out.c" 2755)
  nil )
 (!pair  "deferred_locations_list"
  (!type already_seen 1295)
  (!srcfileloc  "dwarf2out.c" 1238)
  nil )
 (!pair  "current_unit_personality"
  (!type already_seen 137)
  (!srcfileloc  "dwarf2out.c" 265)
  nil )
 (!pair  "decltype_auto_die"
  (!type already_seen 429)
  (!srcfileloc  "dwarf2out.c" 255)
  nil )
 (!pair  "auto_die"
  (!type already_seen 429)
  (!srcfileloc  "dwarf2out.c" 252)
  nil )
 (!pair  "cold_text_section"
  (!type already_seen 246)
  (!srcfileloc  "dwarf2out.c" 249)
  nil )
 (!pair  "cold_text_section_used"
  (!type already_seen 9)
  (!srcfileloc  "dwarf2out.c" 246)
  nil )
 (!pair  "text_section_used"
  (!type already_seen 9)
  (!srcfileloc  "dwarf2out.c" 245)
  nil )
 (!pair  "have_multiple_function_sections"
  (!type already_seen 9)
  (!srcfileloc  "dwarf2out.c" 241)
  nil )
 (!pair  "dw2_string_counter"
  (!type already_seen 9)
  (!srcfileloc  "dwarf2out.c" 238)
  nil )
 (!pair  "skeleton_debug_str_hash"
  (!type already_seen 1574)
  (!srcfileloc  "dwarf2out.c" 236)
  (!options 
   (!option param_is type 
    (!type already_seen 441)
   )
  )
 )
 (!pair  "debug_str_hash"
  (!type already_seen 1574)
  (!srcfileloc  "dwarf2out.c" 214)
  (!options 
   (!option param_is type 
    (!type already_seen 441)
   )
  )
 )
 (!pair  "fde_vec"
  (!type already_seen 1298)
  (!srcfileloc  "dwarf2out.c" 204)
  nil )
 (!pair  "debug_frame_section"
  (!type already_seen 246)
  (!srcfileloc  "dwarf2out.c" 169)
  nil )
 (!pair  "debug_ranges_section"
  (!type already_seen 246)
  (!srcfileloc  "dwarf2out.c" 168)
  nil )
 (!pair  "debug_str_offsets_section"
  (!type already_seen 246)
  (!srcfileloc  "dwarf2out.c" 167)
  nil )
 (!pair  "debug_str_dwo_section"
  (!type already_seen 246)
  (!srcfileloc  "dwarf2out.c" 166)
  nil )
 (!pair  "debug_str_section"
  (!type already_seen 246)
  (!srcfileloc  "dwarf2out.c" 165)
  nil )
 (!pair  "debug_pubtypes_section"
  (!type already_seen 246)
  (!srcfileloc  "dwarf2out.c" 164)
  nil )
 (!pair  "debug_pubnames_section"
  (!type already_seen 246)
  (!srcfileloc  "dwarf2out.c" 163)
  nil )
 (!pair  "debug_loc_section"
  (!type already_seen 246)
  (!srcfileloc  "dwarf2out.c" 162)
  nil )
 (!pair  "debug_skeleton_line_section"
  (!type already_seen 246)
  (!srcfileloc  "dwarf2out.c" 161)
  nil )
 (!pair  "debug_line_section"
  (!type already_seen 246)
  (!srcfileloc  "dwarf2out.c" 160)
  nil )
 (!pair  "debug_macinfo_section"
  (!type already_seen 246)
  (!srcfileloc  "dwarf2out.c" 159)
  nil )
 (!pair  "debug_addr_section"
  (!type already_seen 246)
  (!srcfileloc  "dwarf2out.c" 158)
  nil )
 (!pair  "debug_aranges_section"
  (!type already_seen 246)
  (!srcfileloc  "dwarf2out.c" 157)
  nil )
 (!pair  "debug_skeleton_abbrev_section"
  (!type already_seen 246)
  (!srcfileloc  "dwarf2out.c" 156)
  nil )
 (!pair  "debug_abbrev_section"
  (!type already_seen 246)
  (!srcfileloc  "dwarf2out.c" 155)
  nil )
 (!pair  "debug_skeleton_info_section"
  (!type already_seen 246)
  (!srcfileloc  "dwarf2out.c" 154)
  nil )
 (!pair  "debug_info_section"
  (!type already_seen 246)
  (!srcfileloc  "dwarf2out.c" 153)
  nil )
 (!pair  "decl_scope_table"
  (!type already_seen 46)
  (!srcfileloc  "dwarf2out.c" 150)
  nil )
 (!pair  "incomplete_types"
  (!type already_seen 46)
  (!srcfileloc  "dwarf2out.c" 143)
  nil )
 (!pair  "used_rtx_array"
  (!type already_seen 252)
  (!srcfileloc  "dwarf2out.c" 137)
  nil )
 (!pair  "saved_do_cfi_asm"
  (!type already_seen 9)
  (!srcfileloc  "dwarf2cfi.c" 3312)
  nil )
 (!pair  "dwarf2out_cfi_label_num"
  (!type already_seen 9)
  (!srcfileloc  "dwarf2cfi.c" 196)
  nil )
 (!pair  "cie_return_save"
  (!type already_seen 1305)
  (!srcfileloc  "dwarf2cfi.c" 194)
  nil )
 (!pair  "cie_cfi_row"
  (!type already_seen 1307)
  (!srcfileloc  "dwarf2cfi.c" 192)
  nil )
 (!pair  "dw2_const_labelno"
  (!type already_seen 9)
  (!srcfileloc  "dwarf2asm.c" 797)
  nil )
 (!pair  "indirect_pool"
  (!type already_seen 1576)
  (!srcfileloc  "dwarf2asm.c" 795)
  (!options 
   (!option param2_is type 
    (!type already_seen 5)
   )
   (!option param1_is type 
    (!type already_seen 37)
   )
  )
 )
 (!pair  "cie_cfi_vec"
  (!type already_seen 412)
  (!srcfileloc  "dwarf2out.h" 238)
  nil )
 (!pair  "lastfile_is_base"
  (!type already_seen 9)
  (!srcfileloc  "dbxout.c" 251)
  nil )
 (!pair  "lastfile"
  (!type already_seen 37)
  (!srcfileloc  "dbxout.c" 247)
  nil )
 (!pair  "source_label_number"
  (!type already_seen 9)
  (!srcfileloc  "dbxout.c" 243)
  nil )
 (!pair  "dbxout_source_line_counter"
  (!type already_seen 9)
  (!srcfileloc  "dbxout.c" 238)
  nil )
 (!pair  "scope_labelno"
  (!type already_seen 9)
  (!srcfileloc  "dbxout.c" 234)
  nil )
 (!pair  "next_file_number"
  (!type already_seen 9)
  (!srcfileloc  "dbxout.c" 230)
  nil )
 (!pair  "preinit_symbols"
  (!type already_seen 5)
  (!srcfileloc  "dbxout.c" 197)
  nil )
 (!pair  "next_type_number"
  (!type already_seen 9)
  (!srcfileloc  "dbxout.c" 191)
  nil )
 (!pair  "typevec_len"
  (!type already_seen 9)
  (!srcfileloc  "dbxout.c" 185)
  nil )
 (!pair  "typevec"
  (!type already_seen 1312)
  (!srcfileloc  "dbxout.c" 181)
  (!options 
   (!option length string  "typevec_len")
  )
 )
 (!pair  "version_info_node"
  (!type already_seen 1378)
  (!srcfileloc  "cgraph.c" 176)
  nil )
 (!pair  "cgraph_fnver_htab"
  (!type already_seen 1578)
  (!srcfileloc  "cgraph.c" 152)
  (!options 
   (!option param_is type 
    (!type already_seen 1377)
   )
  )
 )
 (!pair  "free_edges"
  (!type already_seen 926)
  (!srcfileloc  "cgraph.c" 142)
  nil )
 (!pair  "free_nodes"
  (!type already_seen 923)
  (!srcfileloc  "cgraph.c" 139)
  nil )
 (!pair  "callmem"
  (!type already_seen 137)
  (!srcfileloc  "cselib.c" 233)
  nil )
 (!pair  "bitmap_ggc_free"
  (!type already_seen 123)
  (!srcfileloc  "bitmap.c" 139)
  (!options 
   (!option deletable string  "")
  )
 )
 (!pair  "frame_set"
  (!type already_seen 9)
  (!srcfileloc  "alias.c" 1042)
  nil )
 (!pair  "varargs_set"
  (!type already_seen 9)
  (!srcfileloc  "alias.c" 1020)
  nil )
 (!pair  "alias_sets"
  (!type already_seen 1342)
  (!srcfileloc  "alias.c" 266)
  nil )
 (!pair  "reg_known_value"
  (!type already_seen 252)
  (!srcfileloc  "alias.c" 244)
  nil )
 (!pair  "old_reg_base_value"
  (!type already_seen 252)
  (!srcfileloc  "alias.c" 225)
  (!options 
   (!option deletable string  "")
  )
 )
 (!pair  "arg_base_value"
  (!type already_seen 137)
  (!srcfileloc  "alias.c" 217)
  nil )
 (!pair  "reg_base_value"
  (!type already_seen 252)
  (!srcfileloc  "alias.c" 212)
  nil )
 (!pair  "assembler_name_hash"
  (!type already_seen 1580)
  (!srcfileloc  "symtab.c" 63)
  (!options 
   (!option param_is type 
    (!type already_seen 948)
   )
  )
 )
 (!pair  "symtab_hash"
  (!type already_seen 1580)
  (!srcfileloc  "symtab.c" 61)
  (!options 
   (!option param_is type 
    (!type already_seen 948)
   )
  )
 )
 (!pair  "restinsn"
  (!type already_seen 137)
  (!srcfileloc  "caller-save.c" 106)
  nil )
 (!pair  "saveinsn"
  (!type already_seen 137)
  (!srcfileloc  "caller-save.c" 105)
  nil )
 (!pair  "test_mem"
  (!type already_seen 137)
  (!srcfileloc  "caller-save.c" 104)
  nil )
 (!pair  "test_reg"
  (!type already_seen 137)
  (!srcfileloc  "caller-save.c" 103)
  nil )
 (!pair  "restpat"
  (!type already_seen 137)
  (!srcfileloc  "caller-save.c" 102)
  nil )
 (!pair  "savepat"
  (!type already_seen 137)
  (!srcfileloc  "caller-save.c" 101)
  nil )
 (!pair  "symtab_order"
  (!type already_seen 9)
  (!srcfileloc  "cgraph.h" 716)
  nil )
 (!pair  "asm_nodes"
  (!type already_seen 1370)
  (!srcfileloc  "cgraph.h" 715)
  nil )
 (!pair  "cgraph_edge_max_uid"
  (!type already_seen 9)
  (!srcfileloc  "cgraph.h" 692)
  nil )
 (!pair  "cgraph_max_uid"
  (!type already_seen 9)
  (!srcfileloc  "cgraph.h" 691)
  nil )
 (!pair  "cgraph_n_nodes"
  (!type already_seen 9)
  (!srcfileloc  "cgraph.h" 690)
  nil )
 (!pair  "symtab_nodes"
  (!type already_seen 949)
  (!srcfileloc  "cgraph.h" 689)
  nil )
 (!pair  "in_cold_section_p"
  (!type already_seen 9)
  (!srcfileloc  "output.h" 516)
  nil )
 (!pair  "in_section"
  (!type already_seen 246)
  (!srcfileloc  "output.h" 515)
  nil )
 (!pair  "bss_noswitch_section"
  (!type already_seen 246)
  (!srcfileloc  "output.h" 513)
  nil )
 (!pair  "lcomm_section"
  (!type already_seen 246)
  (!srcfileloc  "output.h" 512)
  nil )
 (!pair  "comm_section"
  (!type already_seen 246)
  (!srcfileloc  "output.h" 511)
  nil )
 (!pair  "tls_comm_section"
  (!type already_seen 246)
  (!srcfileloc  "output.h" 510)
  nil )
 (!pair  "eh_frame_section"
  (!type already_seen 246)
  (!srcfileloc  "output.h" 509)
  nil )
 (!pair  "exception_section"
  (!type already_seen 246)
  (!srcfileloc  "output.h" 508)
  nil )
 (!pair  "sbss_section"
  (!type already_seen 246)
  (!srcfileloc  "output.h" 507)
  nil )
 (!pair  "bss_section"
  (!type already_seen 246)
  (!srcfileloc  "output.h" 506)
  nil )
 (!pair  "dtors_section"
  (!type already_seen 246)
  (!srcfileloc  "output.h" 505)
  nil )
 (!pair  "ctors_section"
  (!type already_seen 246)
  (!srcfileloc  "output.h" 504)
  nil )
 (!pair  "sdata_section"
  (!type already_seen 246)
  (!srcfileloc  "output.h" 503)
  nil )
 (!pair  "readonly_data_section"
  (!type already_seen 246)
  (!srcfileloc  "output.h" 502)
  nil )
 (!pair  "data_section"
  (!type already_seen 246)
  (!srcfileloc  "output.h" 501)
  nil )
 (!pair  "text_section"
  (!type already_seen 246)
  (!srcfileloc  "output.h" 500)
  nil )
 (!pair  "types_used_by_cur_var_decl"
  (!type already_seen 46)
  (!srcfileloc  "function.h" 782)
  nil )
 (!pair  "types_used_by_vars_hash"
  (!type already_seen 1582)
  (!srcfileloc  "function.h" 774)
  (!options 
   (!option param_is type 
    (!type already_seen 1393)
   )
  )
 )
 (!pair  "cfun"
  (!type already_seen 352)
  (!srcfileloc  "function.h" 750)
  nil )
 (!pair  "x_rtl"
  (!type already_seen 1395)
  (!srcfileloc  "function.h" 492)
  nil )
 (!pair  "regno_reg_rtx"
  (!type already_seen 138)
  (!srcfileloc  "function.h" 93)
  (!options 
   (!option length string  "crtl->emit.x_reg_rtx_no")
  )
 )
 (!pair  "default_target_libfuncs"
  (!type already_seen 542)
  (!srcfileloc  "libfuncs.h" 73)
  nil )
 (!pair  "current_function_func_begin_label"
  (!type already_seen 37)
  (!srcfileloc  "tree-core.h" 1867)
  nil )
 (!pair  "current_function_decl"
  (!type already_seen 5)
  (!srcfileloc  "tree-core.h" 1864)
  nil )
 (!pair  "builtin_info"
  (!type already_seen 1425)
  (!srcfileloc  "tree-core.h" 1854)
  nil )
 (!pair  "sizetype_tab"
  (!type array 1634 nil  gc_used "(int) stk_type_kind_last" 
   (!type already_seen 5)
  )
  (!srcfileloc  "tree-core.h" 1842)
  nil )
 (!pair  "integer_types"
  (!type array 1635 nil  gc_used "itk_none" 
   (!type already_seen 5)
  )
  (!srcfileloc  "tree-core.h" 1839)
  nil )
 (!pair  "global_trees"
  (!type array 1636 nil  gc_used "TI_MAX" 
   (!type already_seen 5)
  )
  (!srcfileloc  "tree-core.h" 1835)
  nil )
 (!pair  "all_translation_units"
  (!type already_seen 46)
  (!srcfileloc  "tree-core.h" 1832)
  nil )
 (!pair  "alias_pairs"
  (!type already_seen 1423)
  (!srcfileloc  "tree-core.h" 1819)
  nil )
 (!pair  "stack_limit_rtx"
  (!type already_seen 137)
  (!srcfileloc  "rtl.h" 2734)
  nil )
 (!pair  "default_target_rtl"
  (!type already_seen 535)
  (!srcfileloc  "rtl.h" 2308)
  nil )
 (!pair  "simple_return_rtx"
  (!type already_seen 137)
  (!srcfileloc  "rtl.h" 2209)
  nil )
 (!pair  "ret_rtx"
  (!type already_seen 137)
  (!srcfileloc  "rtl.h" 2208)
  nil )
 (!pair  "cc0_rtx"
  (!type already_seen 137)
  (!srcfileloc  "rtl.h" 2207)
  nil )
 (!pair  "pc_rtx"
  (!type already_seen 137)
  (!srcfileloc  "rtl.h" 2206)
  nil )
 (!pair  "const_tiny_rtx"
  (!type array 1637 nil  gc_used "4" 
   (!type array 1638 nil  gc_used "(int) MAX_MACHINE_MODE" 
    (!type already_seen 137)
   )
  )
  (!srcfileloc  "rtl.h" 2193)
  nil )
 (!pair  "const_true_rtx"
  (!type already_seen 137)
  (!srcfileloc  "rtl.h" 2191)
  nil )
 (!pair  "const_int_rtx"
  (!type array 1639 nil  gc_used "MAX_SAVED_CONST_INT * 2 + 1" 
   (!type already_seen 137)
  )
  (!srcfileloc  "rtl.h" 2185)
  nil )
 (!pair  "gcov_fn_info_ptr_type"
  (!type already_seen 5)
  (!srcfileloc  "coverage.c" 136)
  nil )
 (!pair  "gcov_fn_info_type"
  (!type already_seen 5)
  (!srcfileloc  "coverage.c" 135)
  nil )
 (!pair  "gcov_info_var"
  (!type already_seen 5)
  (!srcfileloc  "coverage.c" 134)
  nil )
 (!pair  "fn_v_ctrs"
  (!type array 1640 nil  gc_used "GCOV_COUNTERS" 
   (!type already_seen 5)
  )
  (!srcfileloc  "coverage.c" 129)
  nil )
 (!pair  "functions_head"
  (!type already_seen 1467)
  (!srcfileloc  "coverage.c" 120)
  nil )
 (!pair  "thumb_call_via_label"
  (!type array 1641 nil  gc_used "14" 
   (!type already_seen 137)
  )
  (!srcfileloc  "config/arm/arm.h" 1557)
  nil )
 (!pair  "arm_target_insn"
  (!type already_seen 137)
  (!srcfileloc  "config/arm/arm.h" 204)
  nil )
 (!pair  "line_table"
  (!type already_seen 1498)
  (!srcfileloc  "input.h" 26)
  nil )
)

(!endfile)
