;;;;@@@@ 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-aarch64-cros-linux-gnu/gcc-4.9.2-r278/work/gcc-4.9.2/gcc-4.9/gcc")
(!languages 9 ada c cp fortran go java lto objc objcp)
(!fileslist 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/aarch64/biarchlp64.h")
 (!srcfile 511  "config/aarch64/aarch64.h")
 (!srcfile 511  "config/dbxelf.h")
 (!srcfile 511  "config/elfos.h")
 (!srcfile 511  "config/gnu-user.h")
 (!srcfile 511  "config/linux.h")
 (!srcfile 511  "config/linux-android.h")
 (!srcfile 511  "config/glibc-stdint.h")
 (!srcfile 511  "config/aarch64/aarch64-elf.h")
 (!srcfile 511  "config/aarch64/aarch64-linux.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/aarch64/aarch64.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 1096
 
 (!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-aarch64-cros-linux-gnu/gcc-4.9.2-r278/work/gcc-4.9.2/gcc-4.9/gcc/tree-core.h:734"
               (!srcfileloc  "tree-core.h" 779)
               (!fields 4 
                (!pair  "bits"
                 (!type struct 13 nil  gc_unused "anonymous:/var/tmp/portage/cross-aarch64-cros-linux-gnu/gcc-4.9.2-r278/work/gcc-4.9.2/gcc-4.9/gcc/tree-core.h:737"
                  (!srcfileloc  "tree-core.h" 761)
                  (!fields 17 
                   (!pair  "lang_flag_0"
                    (!type already_seen 9)
                    (!srcfileloc  "tree-core.h" 738)
                    nil )
                   (!pair  "lang_flag_1"
                    (!type already_seen 9)
                    (!srcfileloc  "tree-core.h" 739)
                    nil )
                   (!pair  "lang_flag_2"
                    (!type already_seen 9)
                    (!srcfileloc  "tree-core.h" 740)
                    nil )
                   (!pair  "lang_flag_3"
                    (!type already_seen 9)
                    (!srcfileloc  "tree-core.h" 741)
                    nil )
                   (!pair  "lang_flag_4"
                    (!type already_seen 9)
                    (!srcfileloc  "tree-core.h" 742)
                    nil )
                   (!pair  "lang_flag_5"
                    (!type already_seen 9)
                    (!srcfileloc  "tree-core.h" 743)
                    nil )
                   (!pair  "lang_flag_6"
                    (!type already_seen 9)
                    (!srcfileloc  "tree-core.h" 744)
                    nil )
                   (!pair  "saturating_flag"
                    (!type already_seen 9)
                    (!srcfileloc  "tree-core.h" 745)
                    nil )
                   (!pair  "expr_folded_flag"
                    (!type already_seen 9)
                    (!srcfileloc  "tree-core.h" 746)
                    nil )
                   (!pair  "unsigned_flag"
                    (!type already_seen 9)
                    (!srcfileloc  "tree-core.h" 748)
                    nil )
                   (!pair  "packed_flag"
                    (!type already_seen 9)
                    (!srcfileloc  "tree-core.h" 749)
                    nil )
                   (!pair  "user_align"
                    (!type already_seen 9)
                    (!srcfileloc  "tree-core.h" 750)
                    nil )
                   (!pair  "nameless_flag"
                    (!type already_seen 9)
                    (!srcfileloc  "tree-core.h" 751)
                    nil )
                   (!pair  "atomic_flag"
                    (!type already_seen 9)
                    (!srcfileloc  "tree-core.h" 752)
                    nil )
                   (!pair  "spare0"
                    (!type already_seen 9)
                    (!srcfileloc  "tree-core.h" 753)
                    nil )
                   (!pair  "spare1"
                    (!type already_seen 9)
                    (!srcfileloc  "tree-core.h" 755)
                    nil )
                   (!pair  "address_space"
                    (!type already_seen 9)
                    (!srcfileloc  "tree-core.h" 760)
                    nil )
                  )
                  nil 511 nil nil )
                 (!srcfileloc  "tree-core.h" 761)
                 nil )
                (!pair  "length"
                 (!type already_seen 9)
                 (!srcfileloc  "tree-core.h" 766)
                 nil )
                (!pair  "version"
                 (!type already_seen 9)
                 (!srcfileloc  "tree-core.h" 768)
                 nil )
                (!pair  "dependence_info"
                 (!type struct 14 nil  gc_unused "anonymous:/var/tmp/portage/cross-aarch64-cros-linux-gnu/gcc-4.9.2-r278/work/gcc-4.9.2/gcc-4.9/gcc/tree-core.h:775"
                  (!srcfileloc  "tree-core.h" 778)
                  (!fields 2 
                   (!pair  "clique"
                    (!type already_seen 9)
                    (!srcfileloc  "tree-core.h" 776)
                    nil )
                   (!pair  "base"
                    (!type already_seen 9)
                    (!srcfileloc  "tree-core.h" 777)
                    nil )
                  )
                  nil 511 nil nil )
                 (!srcfileloc  "tree-core.h" 778)
                 nil )
               )
               nil 511 nil )
              (!srcfileloc  "tree-core.h" 779)
              (!options 
               (!option skip string  "")
              )
             )
            )
            nil 511 nil nil )
           (!srcfileloc  "tree-core.h" 1610)
           (!options 
            (!option tag string  "TS_BASE")
           )
          )
          (!pair  "typed"
           (!type struct 15 nil  gc_used "tree_typed"
            (!srcfileloc  "tree-core.h" 1063)
            (!fields 2 
             (!pair  "base"
              (!type already_seen 8)
              (!srcfileloc  "tree-core.h" 1061)
              nil )
             (!pair  "type"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1062)
              nil )
            )
            nil 511 nil nil )
           (!srcfileloc  "tree-core.h" 1611)
           (!options 
            (!option tag string  "TS_TYPED")
           )
          )
          (!pair  "common"
           (!type struct 16 nil  gc_used "tree_common"
            (!srcfileloc  "tree-core.h" 1068)
            (!fields 2 
             (!pair  "typed"
              (!type already_seen 15)
              (!srcfileloc  "tree-core.h" 1066)
              nil )
             (!pair  "chain"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1067)
              nil )
            )
            nil 511 nil nil )
           (!srcfileloc  "tree-core.h" 1612)
           (!options 
            (!option tag string  "TS_COMMON")
           )
          )
          (!pair  "int_cst"
           (!type struct 17 nil  gc_used "tree_int_cst"
            (!srcfileloc  "tree-core.h" 1073)
            (!fields 2 
             (!pair  "typed"
              (!type already_seen 15)
              (!srcfileloc  "tree-core.h" 1071)
              nil )
             (!pair  "int_cst"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1072)
              nil )
            )
            nil 511 nil nil )
           (!srcfileloc  "tree-core.h" 1613)
           (!options 
            (!option tag string  "TS_INT_CST")
           )
          )
          (!pair  "real_cst"
           (!type struct 18 nil  gc_used "tree_real_cst"
            (!srcfileloc  "tree-core.h" 1079)
            (!fields 2 
             (!pair  "typed"
              (!type already_seen 15)
              (!srcfileloc  "tree-core.h" 1077)
              nil )
             (!pair  "real_cst_ptr"
              (!type pointer 19 nil  gc_used
               (!type struct 20 
                (!type already_seen 19)
                gc_pointed_to "real_value"
                (!srcfileloc  "real.h" 52)
                (!fields 7 
                 (!pair  "cl"
                  (!type already_seen 9)
                  (!srcfileloc  "real.h" 45)
                  nil )
                 (!pair  "decimal"
                  (!type already_seen 9)
                  (!srcfileloc  "real.h" 46)
                  nil )
                 (!pair  "sign"
                  (!type already_seen 9)
                  (!srcfileloc  "real.h" 47)
                  nil )
                 (!pair  "signalling"
                  (!type already_seen 9)
                  (!srcfileloc  "real.h" 48)
                  nil )
                 (!pair  "canonical"
                  (!type already_seen 9)
                  (!srcfileloc  "real.h" 49)
                  nil )
                 (!pair  "uexp"
                  (!type already_seen 9)
                  (!srcfileloc  "real.h" 50)
                  nil )
                 (!pair  "sig"
                  (!type array 21 nil  gc_used "SIGSZ" 
                   (!type already_seen 9)
                  )
                  (!srcfileloc  "real.h" 51)
                  nil )
                )
                nil 511 nil nil )
              )
              (!srcfileloc  "tree-core.h" 1078)
              nil )
            )
            nil 511 nil nil )
           (!srcfileloc  "tree-core.h" 1614)
           (!options 
            (!option tag string  "TS_REAL_CST")
           )
          )
          (!pair  "fixed_cst"
           (!type struct 22 nil  gc_used "tree_fixed_cst"
            (!srcfileloc  "tree-core.h" 1084)
            (!fields 2 
             (!pair  "typed"
              (!type already_seen 15)
              (!srcfileloc  "tree-core.h" 1082)
              nil )
             (!pair  "fixed_cst_ptr"
              (!type pointer 23 nil  gc_used
               (!type struct 24 
                (!type already_seen 23)
                gc_pointed_to "fixed_value"
                (!srcfileloc  "fixed-value.h" 31)
                (!fields 2 
                 (!pair  "data"
                  (!type already_seen 9)
                  (!srcfileloc  "fixed-value.h" 29)
                  nil )
                 (!pair  "mode"
                  (!type already_seen 9)
                  (!srcfileloc  "fixed-value.h" 30)
                  nil )
                )
                nil 511 nil nil )
              )
              (!srcfileloc  "tree-core.h" 1083)
              nil )
            )
            nil 511 nil nil )
           (!srcfileloc  "tree-core.h" 1615)
           (!options 
            (!option tag string  "TS_FIXED_CST")
           )
          )
          (!pair  "vector"
           (!type struct 25 nil  gc_used "tree_vector"
            (!srcfileloc  "tree-core.h" 1101)
            (!fields 2 
             (!pair  "typed"
              (!type already_seen 15)
              (!srcfileloc  "tree-core.h" 1099)
              nil )
             (!pair  "elts"
              (!type array 26 nil  gc_used "1" 
               (!type already_seen 5)
              )
              (!srcfileloc  "tree-core.h" 1100)
              (!options 
               (!option length string  "TYPE_VECTOR_SUBPARTS (TREE_TYPE ((tree)&%h))")
              )
             )
            )
            nil 511 nil nil )
           (!srcfileloc  "tree-core.h" 1616)
           (!options 
            (!option tag string  "TS_VECTOR")
           )
          )
          (!pair  "string"
           (!type struct 27 nil  gc_used "tree_string"
            (!srcfileloc  "tree-core.h" 1090)
            (!fields 3 
             (!pair  "typed"
              (!type already_seen 15)
              (!srcfileloc  "tree-core.h" 1087)
              nil )
             (!pair  "length"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1088)
              nil )
             (!pair  "str"
              (!type array 28 nil  gc_used "1" 
               (!type scalar_char 29 
                (!type pointer 30 
                 (!type pointer 31 nil  gc_unused
                  (!type already_seen 30)
                 )
                 gc_unused
                 (!type already_seen 29)
                )
                gc_used)
              )
              (!srcfileloc  "tree-core.h" 1089)
              nil )
            )
            nil 511 nil nil )
           (!srcfileloc  "tree-core.h" 1617)
           (!options 
            (!option tag string  "TS_STRING")
           )
          )
          (!pair  "complex"
           (!type struct 32 nil  gc_used "tree_complex"
            (!srcfileloc  "tree-core.h" 1096)
            (!fields 3 
             (!pair  "typed"
              (!type already_seen 15)
              (!srcfileloc  "tree-core.h" 1093)
              nil )
             (!pair  "real"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1094)
              nil )
             (!pair  "imag"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1095)
              nil )
            )
            nil 511 nil nil )
           (!srcfileloc  "tree-core.h" 1618)
           (!options 
            (!option tag string  "TS_COMPLEX")
           )
          )
          (!pair  "identifier"
           (!type struct 33 nil  gc_used "tree_identifier"
            (!srcfileloc  "tree-core.h" 1106)
            (!fields 2 
             (!pair  "common"
              (!type already_seen 16)
              (!srcfileloc  "tree-core.h" 1104)
              nil )
             (!pair  "id"
              (!type struct 34 
               (!type pointer 35 
                (!type pointer 36 nil  gc_unused
                 (!type already_seen 35)
                )
                gc_unused
                (!type already_seen 34)
               )
               gc_used "ht_identifier"
               (!srcfileloc  "../libcpp/include/symtab.h" 35)
               (!fields 3 
                (!pair  "str"
                 (!type string 37 nil  gc_used)
                 (!srcfileloc  "../libcpp/include/symtab.h" 32)
                 nil )
                (!pair  "len"
                 (!type already_seen 9)
                 (!srcfileloc  "../libcpp/include/symtab.h" 33)
                 nil )
                (!pair  "hash_value"
                 (!type already_seen 9)
                 (!srcfileloc  "../libcpp/include/symtab.h" 34)
                 nil )
               )
               nil 511 nil nil )
              (!srcfileloc  "tree-core.h" 1105)
              nil )
            )
            nil 511 nil nil )
           (!srcfileloc  "tree-core.h" 1619)
           (!options 
            (!option tag string  "TS_IDENTIFIER")
           )
          )
          (!pair  "decl_minimal"
           (!type struct 38 nil  gc_used "tree_decl_minimal"
            (!srcfileloc  "tree-core.h" 1340)
            (!fields 5 
             (!pair  "common"
              (!type already_seen 16)
              (!srcfileloc  "tree-core.h" 1335)
              nil )
             (!pair  "locus"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1336)
              nil )
             (!pair  "uid"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1337)
              nil )
             (!pair  "name"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1338)
              nil )
             (!pair  "context"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1339)
              nil )
            )
            nil 511 nil nil )
           (!srcfileloc  "tree-core.h" 1620)
           (!options 
            (!option tag string  "TS_DECL_MINIMAL")
           )
          )
          (!pair  "decl_common"
           (!type struct 39 nil  gc_used "tree_decl_common"
            (!srcfileloc  "tree-core.h" 1406)
            (!fields 35 
             (!pair  "common"
              (!type already_seen 38)
              (!srcfileloc  "tree-core.h" 1343)
              nil )
             (!pair  "size"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1344)
              nil )
             (!pair  "mode"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1346)
              nil )
             (!pair  "nonlocal_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1348)
              nil )
             (!pair  "virtual_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1349)
              nil )
             (!pair  "ignored_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1350)
              nil )
             (!pair  "abstract_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1351)
              nil )
             (!pair  "artificial_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1352)
              nil )
             (!pair  "preserve_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1353)
              nil )
             (!pair  "debug_expr_is_from"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1354)
              nil )
             (!pair  "lang_flag_0"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1356)
              nil )
             (!pair  "lang_flag_1"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1357)
              nil )
             (!pair  "lang_flag_2"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1358)
              nil )
             (!pair  "lang_flag_3"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1359)
              nil )
             (!pair  "lang_flag_4"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1360)
              nil )
             (!pair  "lang_flag_5"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1361)
              nil )
             (!pair  "lang_flag_6"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1362)
              nil )
             (!pair  "lang_flag_7"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1363)
              nil )
             (!pair  "lang_flag_8"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1364)
              nil )
             (!pair  "decl_flag_0"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1367)
              nil )
             (!pair  "decl_flag_1"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1371)
              nil )
             (!pair  "decl_flag_2"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1375)
              nil )
             (!pair  "decl_flag_3"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1377)
              nil )
             (!pair  "gimple_reg_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1380)
              nil )
             (!pair  "decl_by_reference_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1382)
              nil )
             (!pair  "decl_read_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1384)
              nil )
             (!pair  "decl_nonshareable_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1386)
              nil )
             (!pair  "off_align"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1389)
              nil )
             (!pair  "align"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1394)
              nil )
             (!pair  "pt_uid"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1397)
              nil )
             (!pair  "size_unit"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1399)
              nil )
             (!pair  "initial"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1400)
              nil )
             (!pair  "attributes"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1401)
              nil )
             (!pair  "abstract_origin"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1402)
              nil )
             (!pair  "lang_specific"
              (!type pointer 40 nil  gc_used
               (!type lang_struct 41 
                (!type already_seen 40)
                gc_pointed_to "lang_decl"
                (!srcfileloc  "ada/gcc-interface/ada-tree.h" 41)
                (!fields 0 )
                (!options 
                 (!option variable_size string  "")
                )
                511 
                (!homotypes 7
                 (!type struct 42 nil  gc_pointed_to "lang_decl"
                  (!srcfileloc  "lto/lto-tree.h" 34)
                  (!fields 1 
                   (!pair  "dummy"
                    (!type already_seen 9)
                    (!srcfileloc  "lto/lto-tree.h" 33)
                    nil )
                  )
                  (!options 
                   (!option variable_size string  "")
                  )
                  64 
                  (!type already_seen 41)
                  nil )
                 
                 (!type struct 43 nil  gc_pointed_to "lang_decl"
                  (!srcfileloc  "java/java-tree.h" 818)
                  (!fields 2 
                   (!pair  "desc"
                    (!type already_seen 9)
                    (!srcfileloc  "java/java-tree.h" 812)
                    nil )
                   (!pair  "u"
                    (!type union 44 nil  gc_used "lang_decl_u"
                     (!srcfileloc  "java/java-tree.h" 817)
                     (!fields 2 
                      (!pair  "f"
                       (!type struct 45 nil  gc_used "lang_decl_func"
                        (!srcfileloc  "java/java-tree.h" 744)
                        (!fields 20 
                         (!pair  "code_offset"
                          (!type already_seen 9)
                          (!srcfileloc  "java/java-tree.h" 717)
                          nil )
                         (!pair  "code_length"
                          (!type already_seen 9)
                          (!srcfileloc  "java/java-tree.h" 718)
                          nil )
                         (!pair  "linenumbers_offset"
                          (!type already_seen 9)
                          (!srcfileloc  "java/java-tree.h" 719)
                          nil )
                         (!pair  "localvariables_offset"
                          (!type already_seen 9)
                          (!srcfileloc  "java/java-tree.h" 720)
                          nil )
                         (!pair  "arg_slots"
                          (!type already_seen 9)
                          (!srcfileloc  "java/java-tree.h" 721)
                          nil )
                         (!pair  "max_locals"
                          (!type already_seen 9)
                          (!srcfileloc  "java/java-tree.h" 722)
                          nil )
                         (!pair  "max_stack"
                          (!type already_seen 9)
                          (!srcfileloc  "java/java-tree.h" 723)
                          nil )
                         (!pair  "arg_slot_count"
                          (!type already_seen 9)
                          (!srcfileloc  "java/java-tree.h" 724)
                          nil )
                         (!pair  "last_line"
                          (!type already_seen 9)
                          (!srcfileloc  "java/java-tree.h" 725)
                          nil )
                         (!pair  "throws_list"
                          (!type pointer 46 nil  gc_used
                           (!type user_struct 47 
                            (!type already_seen 46)
                            gc_pointed_to "vec<tree,va_gc>"
                            (!srcfileloc  "tree-core.h" 1254)
                            (!fields 2 
                             (!pair  "va_gc"
                              (!type already_seen 3)
                              (!srcfileloc  "tree-core.h" 1254)
                              nil )
                             (!pair  "tree"
                              (!type already_seen 5)
                              (!srcfileloc  "tree-core.h" 1254)
                              nil )
                            )
                           )
                          )
                          (!srcfileloc  "java/java-tree.h" 726)
                          nil )
                         (!pair  "exc_obj"
                          (!type already_seen 5)
                          (!srcfileloc  "java/java-tree.h" 727)
                          nil )
                         (!pair  "init_test_table"
                          (!type pointer 48 nil  gc_used
                           (!type param_struct 49 
                            (!type already_seen 48)
                            gc_pointed_to
                            (!type struct 50 
                             (!type pointer 51 nil  gc_unused
                              (!type already_seen 50)
                             )
                             gc_used "htab"
                             (!srcfileloc  "../include/hashtab.h" 142)
                             (!fields 15 
                              (!pair  "hash_f"
                               (!type already_seen 9)
                               (!srcfileloc  "../include/hashtab.h" 102)
                               nil )
                              (!pair  "eq_f"
                               (!type already_seen 9)
                               (!srcfileloc  "../include/hashtab.h" 105)
                               nil )
                              (!pair  "del_f"
                               (!type already_seen 9)
                               (!srcfileloc  "../include/hashtab.h" 108)
                               nil )
                              (!pair  "entries"
                               (!type already_seen 11)
                               (!srcfileloc  "../include/hashtab.h" 111)
                               (!options 
                                (!option length string  "%h.size")
                                (!option use_param string  "")
                               )
                              )
                              (!pair  "size"
                               (!type already_seen 9)
                               (!srcfileloc  "../include/hashtab.h" 114)
                               nil )
                              (!pair  "n_elements"
                               (!type already_seen 9)
                               (!srcfileloc  "../include/hashtab.h" 117)
                               nil )
                              (!pair  "n_deleted"
                               (!type already_seen 9)
                               (!srcfileloc  "../include/hashtab.h" 120)
                               nil )
                              (!pair  "searches"
                               (!type already_seen 9)
                               (!srcfileloc  "../include/hashtab.h" 124)
                               nil )
                              (!pair  "collisions"
                               (!type already_seen 9)
                               (!srcfileloc  "../include/hashtab.h" 128)
                               nil )
                              (!pair  "alloc_f"
                               (!type already_seen 9)
                               (!srcfileloc  "../include/hashtab.h" 131)
                               nil )
                              (!pair  "free_f"
                               (!type already_seen 9)
                               (!srcfileloc  "../include/hashtab.h" 132)
                               nil )
                              (!pair  "alloc_arg"
                               (!type already_seen 10)
                               (!srcfileloc  "../include/hashtab.h" 135)
                               (!options 
                                (!option skip string  "")
                               )
                              )
                              (!pair  "alloc_with_arg_f"
                               (!type already_seen 9)
                               (!srcfileloc  "../include/hashtab.h" 136)
                               nil )
                              (!pair  "free_with_arg_f"
                               (!type already_seen 9)
                               (!srcfileloc  "../include/hashtab.h" 137)
                               nil )
                              (!pair  "size_prime_index"
                               (!type already_seen 9)
                               (!srcfileloc  "../include/hashtab.h" 141)
                               nil )
                             )
                             nil 511 nil nil )
                            
                            (!type pointer 52 nil  gc_used
                             (!type struct 53 
                              (!type already_seen 52)
                              gc_pointed_to "treetreehash_entry"
                              (!srcfileloc  "java/java-tree.h" 749)
                              (!fields 2 
                               (!pair  "key"
                                (!type already_seen 5)
                                (!srcfileloc  "java/java-tree.h" 747)
                                nil )
                               (!pair  "value"
                                (!type already_seen 5)
                                (!srcfileloc  "java/java-tree.h" 748)
                                nil )
                              )
                              nil 32 nil nil )
                            )
                            nil nil nil nil nil nil nil nil nil nil )
                          )
                          (!srcfileloc  "java/java-tree.h" 730)
                          (!options 
                           (!option param_is type 
                            (!type already_seen 53)
                           )
                          )
                         )
                         (!pair  "ict"
                          (!type pointer 54 nil  gc_used
                           (!type param_struct 55 
                            (!type already_seen 54)
                            gc_pointed_to
                            (!type already_seen 50)
                            
                            (!type already_seen 5)
                            nil nil nil nil nil nil nil nil nil nil )
                          )
                          (!srcfileloc  "java/java-tree.h" 733)
                          (!options 
                           (!option param_is type 
                            (!type already_seen 7)
                           )
                          )
                         )
                         (!pair  "native"
                          (!type already_seen 9)
                          (!srcfileloc  "java/java-tree.h" 735)
                          nil )
                         (!pair  "strictfp"
                          (!type already_seen 9)
                          (!srcfileloc  "java/java-tree.h" 736)
                          nil )
                         (!pair  "invisible"
                          (!type already_seen 9)
                          (!srcfileloc  "java/java-tree.h" 737)
                          nil )
                         (!pair  "dummy"
                          (!type already_seen 9)
                          (!srcfileloc  "java/java-tree.h" 740)
                          nil )
                         (!pair  "local_cni"
                          (!type already_seen 9)
                          (!srcfileloc  "java/java-tree.h" 741)
                          nil )
                         (!pair  "bridge"
                          (!type already_seen 9)
                          (!srcfileloc  "java/java-tree.h" 742)
                          nil )
                         (!pair  "varargs"
                          (!type already_seen 9)
                          (!srcfileloc  "java/java-tree.h" 743)
                          nil )
                        )
                        nil 32 nil nil )
                       (!srcfileloc  "java/java-tree.h" 815)
                       (!options 
                        (!option tag string  "LANG_DECL_FUNC")
                       )
                      )
                      (!pair  "v"
                       (!type struct 56 nil  gc_used "lang_decl_var"
                        (!srcfileloc  "java/java-tree.h" 805)
                        (!fields 10 
                         (!pair  "slot_number"
                          (!type already_seen 9)
                          (!srcfileloc  "java/java-tree.h" 795)
                          nil )
                         (!pair  "start_pc"
                          (!type already_seen 9)
                          (!srcfileloc  "java/java-tree.h" 796)
                          nil )
                         (!pair  "end_pc"
                          (!type already_seen 9)
                          (!srcfileloc  "java/java-tree.h" 797)
                          nil )
                         (!pair  "slot_chain"
                          (!type already_seen 5)
                          (!srcfileloc  "java/java-tree.h" 798)
                          nil )
                         (!pair  "owner"
                          (!type already_seen 5)
                          (!srcfileloc  "java/java-tree.h" 799)
                          nil )
                         (!pair  "freed"
                          (!type already_seen 9)
                          (!srcfileloc  "java/java-tree.h" 800)
                          nil )
                         (!pair  "local_slot"
                          (!type already_seen 9)
                          (!srcfileloc  "java/java-tree.h" 801)
                          nil )
                         (!pair  "class_field"
                          (!type already_seen 9)
                          (!srcfileloc  "java/java-tree.h" 802)
                          nil )
                         (!pair  "vtable"
                          (!type already_seen 9)
                          (!srcfileloc  "java/java-tree.h" 803)
                          nil )
                         (!pair  "field_enum"
                          (!type already_seen 9)
                          (!srcfileloc  "java/java-tree.h" 804)
                          nil )
                        )
                        nil 32 nil nil )
                       (!srcfileloc  "java/java-tree.h" 816)
                       (!options 
                        (!option tag string  "LANG_DECL_VAR")
                       )
                      )
                     )
                     nil 32 
                     (!type lang_struct 57 nil  gc_used "lang_decl_u"
                      (!srcfileloc  "cp/cp-tree.h" 2084)
                      (!fields 0 )
                      (!options 
                       (!option desc string  "%h.base.selector")
                      )
                      292 
                      (!homotypes 2
                       (!type already_seen 44)
                       
                       (!type union 58 nil  gc_used "lang_decl_u"
                        (!srcfileloc  "cp/cp-tree.h" 2084)
                        (!fields 5 
                         (!pair  "base"
                          (!type struct 59 nil  gc_used "lang_decl_base"
                           (!srcfileloc  "cp/cp-tree.h" 1963)
                           (!fields 12 
                            (!pair  "selector"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 1950)
                             nil )
                            (!pair  "language"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 1951)
                             nil )
                            (!pair  "use_template"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 1952)
                             nil )
                            (!pair  "not_really_extern"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 1953)
                             nil )
                            (!pair  "initialized_in_class"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 1954)
                             nil )
                            (!pair  "repo_available_p"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 1955)
                             nil )
                            (!pair  "threadprivate_or_deleted_p"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 1956)
                             nil )
                            (!pair  "anticipated_p"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 1957)
                             nil )
                            (!pair  "friend_attr"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 1958)
                             nil )
                            (!pair  "template_conv_p"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 1959)
                             nil )
                            (!pair  "odr_used"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 1960)
                             nil )
                            (!pair  "u2sel"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 1961)
                             nil )
                           )
                           nil 260 nil nil )
                          (!srcfileloc  "cp/cp-tree.h" 2079)
                          (!options 
                           (!option default string  "")
                          )
                         )
                         (!pair  "min"
                          (!type struct 60 nil  gc_used "lang_decl_min"
                           (!srcfileloc  "cp/cp-tree.h" 1995)
                           (!fields 3 
                            (!pair  "base"
                             (!type already_seen 59)
                             (!srcfileloc  "cp/cp-tree.h" 1977)
                             nil )
                            (!pair  "template_info"
                             (!type already_seen 5)
                             (!srcfileloc  "cp/cp-tree.h" 1984)
                             nil )
                            (!pair  "u2"
                             (!type union 61 nil  gc_used "lang_decl_u2"
                              (!srcfileloc  "cp/cp-tree.h" 1994)
                              (!fields 2 
                               (!pair  "access"
                                (!type already_seen 5)
                                (!srcfileloc  "cp/cp-tree.h" 1990)
                                (!options 
                                 (!option tag string  "0")
                                )
                               )
                               (!pair  "discriminator"
                                (!type already_seen 9)
                                (!srcfileloc  "cp/cp-tree.h" 1993)
                                (!options 
                                 (!option tag string  "1")
                                )
                               )
                              )
                              nil 260 nil )
                             (!srcfileloc  "cp/cp-tree.h" 1994)
                             (!options 
                              (!option desc string  "%0.u.base.u2sel")
                             )
                            )
                           )
                           nil 260 nil nil )
                          (!srcfileloc  "cp/cp-tree.h" 2080)
                          (!options 
                           (!option tag string  "0")
                          )
                         )
                         (!pair  "fn"
                          (!type struct 62 nil  gc_used "lang_decl_fn"
                           (!srcfileloc  "cp/cp-tree.h" 2056)
                           (!fields 22 
                            (!pair  "min"
                             (!type already_seen 60)
                             (!srcfileloc  "cp/cp-tree.h" 2000)
                             nil )
                            (!pair  "operator_code"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 2004)
                             nil )
                            (!pair  "global_ctor_p"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 2006)
                             nil )
                            (!pair  "global_dtor_p"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 2007)
                             nil )
                            (!pair  "constructor_attr"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 2008)
                             nil )
                            (!pair  "destructor_attr"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 2009)
                             nil )
                            (!pair  "assignment_operator_p"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 2010)
                             nil )
                            (!pair  "static_function"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 2011)
                             nil )
                            (!pair  "pure_virtual"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 2012)
                             nil )
                            (!pair  "defaulted_p"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 2013)
                             nil )
                            (!pair  "has_in_charge_parm_p"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 2015)
                             nil )
                            (!pair  "has_vtt_parm_p"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 2016)
                             nil )
                            (!pair  "pending_inline_p"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 2017)
                             nil )
                            (!pair  "nonconverting"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 2018)
                             nil )
                            (!pair  "thunk_p"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 2019)
                             nil )
                            (!pair  "this_thunk_p"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 2020)
                             nil )
                            (!pair  "hidden_friend_p"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 2021)
                             nil )
                            (!pair  "omp_declare_reduction_p"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 2022)
                             nil )
                            (!pair  "befriending_classes"
                             (!type already_seen 5)
                             (!srcfileloc  "cp/cp-tree.h" 2028)
                             nil )
                            (!pair  "context"
                             (!type already_seen 5)
                             (!srcfileloc  "cp/cp-tree.h" 2036)
                             nil )
                            (!pair  "u5"
                             (!type union 63 nil  gc_used "lang_decl_u5"
                              (!srcfileloc  "cp/cp-tree.h" 2047)
                              (!fields 2 
                               (!pair  "cloned_function"
                                (!type already_seen 5)
                                (!srcfileloc  "cp/cp-tree.h" 2042)
                                (!options 
                                 (!option tag string  "0")
                                )
                               )
                               (!pair  "fixed_offset"
                                (!type already_seen 9)
                                (!srcfileloc  "cp/cp-tree.h" 2046)
                                (!options 
                                 (!option tag string  "1")
                                )
                               )
                              )
                              nil 260 nil )
                             (!srcfileloc  "cp/cp-tree.h" 2047)
                             (!options 
                              (!option desc string  "%1.thunk_p")
                             )
                            )
                            (!pair  "u"
                             (!type union 64 nil  gc_used "lang_decl_u3"
                              (!srcfileloc  "cp/cp-tree.h" 2054)
                              (!fields 2 
                               (!pair  "pending_inline_info"
                                (!type pointer 65 nil  gc_used
                                 (!type struct 66 
                                  (!type already_seen 65)
                                  gc_pointed_to "cp_token_cache"
                                  (!srcfileloc  "cp/parser.h" 125)
                                  (!fields 2 
                                   (!pair  "first"
                                    (!type pointer 67 nil  gc_unused
                                     (!type struct 68 
                                      (!type already_seen 67)
                                      gc_used "cp_token"
                                      (!srcfileloc  "cp/parser.h" 71)
                                      (!fields 9 
                                       (!pair  "type"
                                        (!type already_seen 9)
                                        (!srcfileloc  "cp/parser.h" 44)
                                        nil )
                                       (!pair  "keyword"
                                        (!type already_seen 9)
                                        (!srcfileloc  "cp/parser.h" 47)
                                        nil )
                                       (!pair  "flags"
                                        (!type already_seen 29)
                                        (!srcfileloc  "cp/parser.h" 49)
                                        nil )
                                       (!pair  "pragma_kind"
                                        (!type already_seen 9)
                                        (!srcfileloc  "cp/parser.h" 51)
                                        nil )
                                       (!pair  "implicit_extern_c"
                                        (!type already_seen 9)
                                        (!srcfileloc  "cp/parser.h" 53)
                                        nil )
                                       (!pair  "ambiguous_p"
                                        (!type already_seen 9)
                                        (!srcfileloc  "cp/parser.h" 57)
                                        nil )
                                       (!pair  "purged_p"
                                        (!type already_seen 9)
                                        (!srcfileloc  "cp/parser.h" 61)
                                        nil )
                                       (!pair  "location"
                                        (!type already_seen 9)
                                        (!srcfileloc  "cp/parser.h" 63)
                                        nil )
                                       (!pair  "u"
                                        (!type union 69 nil  gc_used "cp_token_value"
                                         (!srcfileloc  "cp/parser.h" 70)
                                         (!fields 2 
                                          (!pair  "tree_check_value"
                                           (!type pointer 70 nil  gc_used
                                            (!type struct 71 
                                             (!type already_seen 70)
                                             gc_pointed_to "tree_check"
                                             (!srcfileloc  "cp/parser.h" 38)
                                             (!fields 3 
                                              (!pair  "value"
                                               (!type already_seen 5)
                                               (!srcfileloc  "cp/parser.h" 32)
                                               nil )
                                              (!pair  "checks"
                                               (!type pointer 72 nil  gc_used
                                                (!type user_struct 73 
                                                 (!type already_seen 72)
                                                 gc_pointed_to "vec<deferred_access_check,va_gc>"
                                                 (!srcfileloc  "cp/semantics.c" 135)
                                                 (!fields 2 
                                                  (!pair  "va_gc"
                                                   (!type already_seen 3)
                                                   (!srcfileloc  "cp/semantics.c" 135)
                                                   nil )
                                                  (!pair  "deferred_access_check"
                                                   (!type struct 74 nil  gc_used "deferred_access_check"
                                                    (!srcfileloc  "cp/cp-tree.h" 5720)
                                                    (!fields 4 
                                                     (!pair  "binfo"
                                                      (!type already_seen 5)
                                                      (!srcfileloc  "cp/cp-tree.h" 5713)
                                                      nil )
                                                     (!pair  "decl"
                                                      (!type already_seen 5)
                                                      (!srcfileloc  "cp/cp-tree.h" 5715)
                                                      nil )
                                                     (!pair  "diag_decl"
                                                      (!type already_seen 5)
                                                      (!srcfileloc  "cp/cp-tree.h" 5717)
                                                      nil )
                                                     (!pair  "loc"
                                                      (!type already_seen 9)
                                                      (!srcfileloc  "cp/cp-tree.h" 5719)
                                                      nil )
                                                    )
                                                    nil 260 nil nil )
                                                   (!srcfileloc  "cp/semantics.c" 135)
                                                   nil )
                                                 )
                                                )
                                               )
                                               (!srcfileloc  "cp/parser.h" 34)
                                               nil )
                                              (!pair  "qualifying_scope"
                                               (!type already_seen 5)
                                               (!srcfileloc  "cp/parser.h" 37)
                                               nil )
                                             )
                                             nil 260 nil nil )
                                           )
                                           (!srcfileloc  "cp/parser.h" 67)
                                           (!options 
                                            (!option tag string  "1")
                                           )
                                          )
                                          (!pair  "value"
                                           (!type already_seen 5)
                                           (!srcfileloc  "cp/parser.h" 69)
                                           (!options 
                                            (!option tag string  "0")
                                           )
                                          )
                                         )
                                         nil 260 nil )
                                        (!srcfileloc  "cp/parser.h" 70)
                                        (!options 
                                         (!option desc string  "(%1.type == CPP_TEMPLATE_ID) || (%1.type == CPP_NESTED_NAME_SPECIFIER)")
                                        )
                                       )
                                      )
                                      nil 260 nil nil )
                                    )
                                    (!srcfileloc  "cp/parser.h" 121)
                                    (!options 
                                     (!option skip string  "")
                                    )
                                   )
                                   (!pair  "last"
                                    (!type already_seen 67)
                                    (!srcfileloc  "cp/parser.h" 124)
                                    (!options 
                                     (!option skip string  "")
                                    )
                                   )
                                  )
                                  nil 260 nil nil )
                                )
                                (!srcfileloc  "cp/cp-tree.h" 2051)
                                (!options 
                                 (!option tag string  "1")
                                )
                               )
                               (!pair  "saved_language_function"
                                (!type pointer 75 nil  gc_used
                                 (!type lang_struct 76 
                                  (!type already_seen 75)
                                  gc_pointed_to "language_function"
                                  (!srcfileloc  "ada/gcc-interface/trans.c" 139)
                                  (!fields 0 )
                                  nil 511 
                                  (!homotypes 7
                                   (!type struct 77 nil  gc_pointed_to "language_function"
                                    (!srcfileloc  "lto/lto-tree.h" 44)
                                    (!fields 1 
                                     (!pair  "dummy"
                                      (!type already_seen 9)
                                      (!srcfileloc  "lto/lto-tree.h" 43)
                                      nil )
                                    )
                                    nil 64 
                                    (!type already_seen 76)
                                    nil )
                                   
                                   (!type struct 78 nil  gc_pointed_to "language_function"
                                    (!srcfileloc  "java/lang.c" 119)
                                    (!fields 1 
                                     (!pair  "unused"
                                      (!type already_seen 9)
                                      (!srcfileloc  "java/lang.c" 118)
                                      nil )
                                    )
                                    nil 32 
                                    (!type already_seen 76)
                                    nil )
                                   
                                   (!type struct 79 nil  gc_pointed_to "language_function"
                                    (!srcfileloc  "go/go-lang.c" 83)
                                    (!fields 1 
                                     (!pair  "dummy"
                                      (!type already_seen 9)
                                      (!srcfileloc  "go/go-lang.c" 82)
                                      nil )
                                    )
                                    nil 16 
                                    (!type already_seen 76)
                                    nil )
                                   
                                   (!type struct 80 nil  gc_pointed_to "language_function"
                                    (!srcfileloc  "fortran/f95-lang.c" 75)
                                    (!fields 1 
                                     (!pair  "binding_level"
                                      (!type pointer 81 nil  gc_used
                                       (!type lang_struct 82 
                                        (!type already_seen 81)
                                        gc_pointed_to "binding_level"
                                        (!srcfileloc  "fortran/f95-lang.c" 318)
                                        (!fields 0 )
                                        nil 40 
                                        (!homotypes 2
                                         (!type struct 83 nil  gc_pointed_to "binding_level"
                                          (!srcfileloc  "java/decl.c" 423)
                                          (!fields 10 
                                           (!pair  "names"
                                            (!type already_seen 5)
                                            (!srcfileloc  "java/decl.c" 391)
                                            nil )
                                           (!pair  "shadowed"
                                            (!type already_seen 5)
                                            (!srcfileloc  "java/decl.c" 397)
                                            nil )
                                           (!pair  "blocks"
                                            (!type already_seen 5)
                                            (!srcfileloc  "java/decl.c" 402)
                                            nil )
                                           (!pair  "level_chain"
                                            (!type already_seen 81)
                                            (!srcfileloc  "java/decl.c" 405)
                                            nil )
                                           (!pair  "end_pc"
                                            (!type already_seen 9)
                                            (!srcfileloc  "java/decl.c" 408)
                                            nil )
                                           (!pair  "start_pc"
                                            (!type already_seen 9)
                                            (!srcfileloc  "java/decl.c" 410)
                                            nil )
                                           (!pair  "stmts"
                                            (!type already_seen 5)
                                            (!srcfileloc  "java/decl.c" 413)
                                            nil )
                                           (!pair  "exception_range"
                                            (!type pointer 84 nil  gc_unused
                                             (!type struct 85 
                                              (!type already_seen 84)
                                              gc_unused "eh_range"nil 
                                              (!fields 0 )
                                              nil 0 nil nil )
                                            )
                                            (!srcfileloc  "java/decl.c" 416)
                                            (!options 
                                             (!option skip string  "")
                                            )
                                           )
                                           (!pair  "binding_depth"
                                            (!type already_seen 9)
                                            (!srcfileloc  "java/decl.c" 419)
                                            nil )
                                           (!pair  "loc"
                                            (!type already_seen 9)
                                            (!srcfileloc  "java/decl.c" 422)
                                            nil )
                                          )
                                          nil 32 
                                          (!type already_seen 82)
                                          nil )
                                         
                                         (!type struct 86 nil  gc_pointed_to "binding_level"
                                          (!srcfileloc  "fortran/f95-lang.c" 318)
                                          (!fields 3 
                                           (!pair  "names"
                                            (!type already_seen 5)
                                            (!srcfileloc  "fortran/f95-lang.c" 312)
                                            nil )
                                           (!pair  "blocks"
                                            (!type already_seen 5)
                                            (!srcfileloc  "fortran/f95-lang.c" 315)
                                            nil )
                                           (!pair  "level_chain"
                                            (!type already_seen 81)
                                            (!srcfileloc  "fortran/f95-lang.c" 317)
                                            nil )
                                          )
                                          nil 8 
                                          (!type already_seen 82)
                                          nil )
                                        )
                                       )
                                      )
                                      (!srcfileloc  "fortran/f95-lang.c" 74)
                                      nil )
                                    )
                                    nil 8 
                                    (!type already_seen 76)
                                    nil )
                                   
                                   (!type struct 87 nil  gc_pointed_to "language_function"
                                    (!srcfileloc  "cp/cp-tree.h" 1168)
                                    (!fields 21 
                                     (!pair  "base"
                                      (!type struct 88 nil  gc_used "c_language_function"
                                       (!srcfileloc  "c-family/c-common.h" 515)
                                       (!fields 2 
                                        (!pair  "x_stmt_tree"
                                         (!type struct 89 
                                          (!type pointer 90 nil  gc_unused
                                           (!type already_seen 89)
                                          )
                                          gc_used "stmt_tree_s"
                                          (!srcfileloc  "c-family/c-common.h" 500)
                                          (!fields 2 
                                           (!pair  "x_cur_stmt_list"
                                            (!type already_seen 46)
                                            (!srcfileloc  "c-family/c-common.h" 488)
                                            nil )
                                           (!pair  "stmts_are_full_exprs_p"
                                            (!type already_seen 9)
                                            (!srcfileloc  "c-family/c-common.h" 499)
                                            nil )
                                          )
                                          nil 390 nil nil )
                                         (!srcfileloc  "c-family/c-common.h" 510)
                                         nil )
                                        (!pair  "local_typedefs"
                                         (!type already_seen 46)
                                         (!srcfileloc  "c-family/c-common.h" 514)
                                         nil )
                                       )
                                       nil 390 nil nil )
                                      (!srcfileloc  "cp/cp-tree.h" 1140)
                                      nil )
                                     (!pair  "x_cdtor_label"
                                      (!type already_seen 5)
                                      (!srcfileloc  "cp/cp-tree.h" 1142)
                                      nil )
                                     (!pair  "x_current_class_ptr"
                                      (!type already_seen 5)
                                      (!srcfileloc  "cp/cp-tree.h" 1143)
                                      nil )
                                     (!pair  "x_current_class_ref"
                                      (!type already_seen 5)
                                      (!srcfileloc  "cp/cp-tree.h" 1144)
                                      nil )
                                     (!pair  "x_eh_spec_block"
                                      (!type already_seen 5)
                                      (!srcfileloc  "cp/cp-tree.h" 1145)
                                      nil )
                                     (!pair  "x_in_charge_parm"
                                      (!type already_seen 5)
                                      (!srcfileloc  "cp/cp-tree.h" 1146)
                                      nil )
                                     (!pair  "x_vtt_parm"
                                      (!type already_seen 5)
                                      (!srcfileloc  "cp/cp-tree.h" 1147)
                                      nil )
                                     (!pair  "x_return_value"
                                      (!type already_seen 5)
                                      (!srcfileloc  "cp/cp-tree.h" 1148)
                                      nil )
                                     (!pair  "x_auto_return_pattern"
                                      (!type already_seen 5)
                                      (!srcfileloc  "cp/cp-tree.h" 1149)
                                      nil )
                                     (!pair  "returns_value"
                                      (!type already_seen 9)
                                      (!srcfileloc  "cp/cp-tree.h" 1151)
                                      nil )
                                     (!pair  "returns_null"
                                      (!type already_seen 9)
                                      (!srcfileloc  "cp/cp-tree.h" 1152)
                                      nil )
                                     (!pair  "returns_abnormally"
                                      (!type already_seen 9)
                                      (!srcfileloc  "cp/cp-tree.h" 1153)
                                      nil )
                                     (!pair  "infinite_loop"
                                      (!type already_seen 9)
                                      (!srcfileloc  "cp/cp-tree.h" 1154)
                                      nil )
                                     (!pair  "x_in_function_try_handler"
                                      (!type already_seen 9)
                                      (!srcfileloc  "cp/cp-tree.h" 1155)
                                      nil )
                                     (!pair  "x_in_base_initializer"
                                      (!type already_seen 9)
                                      (!srcfileloc  "cp/cp-tree.h" 1156)
                                      nil )
                                     (!pair  "can_throw"
                                      (!type already_seen 9)
                                      (!srcfileloc  "cp/cp-tree.h" 1159)
                                      nil )
                                     (!pair  "x_named_labels"
                                      (!type pointer 91 nil  gc_used
                                       (!type param_struct 92 
                                        (!type already_seen 91)
                                        gc_pointed_to
                                        (!type already_seen 50)
                                        
                                        (!type pointer 93 nil  gc_used
                                         (!type struct 94 
                                          (!type already_seen 93)
                                          gc_pointed_to "named_label_entry"
                                          (!srcfileloc  "cp/decl.c" 238)
                                          (!fields 8 
                                           (!pair  "label_decl"
                                            (!type already_seen 5)
                                            (!srcfileloc  "cp/decl.c" 215)
                                            nil )
                                           (!pair  "binding_level"
                                            (!type pointer 95 nil  gc_used
                                             (!type struct 96 
                                              (!type already_seen 95)
                                              gc_pointed_to "cp_binding_level"
                                              (!srcfileloc  "cp/name-lookup.h" 267)
                                              (!fields 20 
                                               (!pair  "names"
                                                (!type already_seen 5)
                                                (!srcfileloc  "cp/name-lookup.h" 188)
                                                nil )
                                               (!pair  "namespaces"
                                                (!type already_seen 5)
                                                (!srcfileloc  "cp/name-lookup.h" 191)
                                                nil )
                                               (!pair  "static_decls"
                                                (!type already_seen 46)
                                                (!srcfileloc  "cp/name-lookup.h" 194)
                                                nil )
                                               (!pair  "usings"
                                                (!type already_seen 5)
                                                (!srcfileloc  "cp/name-lookup.h" 197)
                                                nil )
                                               (!pair  "using_directives"
                                                (!type already_seen 5)
                                                (!srcfileloc  "cp/name-lookup.h" 201)
                                                nil )
                                               (!pair  "class_shadowed"
                                                (!type pointer 97 nil  gc_used
                                                 (!type user_struct 98 
                                                  (!type already_seen 97)
                                                  gc_pointed_to "vec<cp_class_binding,va_gc>"
                                                  (!srcfileloc  "cp/name-lookup.h" 205)
                                                  (!fields 2 
                                                   (!pair  "va_gc"
                                                    (!type already_seen 3)
                                                    (!srcfileloc  "cp/name-lookup.h" 205)
                                                    nil )
                                                   (!pair  "cp_class_binding"
                                                    (!type struct 99 nil  gc_used "cp_class_binding"
                                                     (!srcfileloc  "cp/name-lookup.h" 148)
                                                     (!fields 2 
                                                      (!pair  "base"
                                                       (!type pointer 100 nil  gc_used
                                                        (!type struct 101 
                                                         (!type already_seen 100)
                                                         gc_pointed_to "cxx_binding"
                                                         (!srcfileloc  "cp/name-lookup.h" 76)
                                                         (!fields 6 
                                                          (!pair  "previous"
                                                           (!type already_seen 100)
                                                           (!srcfileloc  "cp/name-lookup.h" 67)
                                                           nil )
                                                          (!pair  "value"
                                                           (!type already_seen 5)
                                                           (!srcfileloc  "cp/name-lookup.h" 69)
                                                           nil )
                                                          (!pair  "type"
                                                           (!type already_seen 5)
                                                           (!srcfileloc  "cp/name-lookup.h" 71)
                                                           nil )
                                                          (!pair  "scope"
                                                           (!type already_seen 95)
                                                           (!srcfileloc  "cp/name-lookup.h" 73)
                                                           nil )
                                                          (!pair  "value_is_inherited"
                                                           (!type already_seen 9)
                                                           (!srcfileloc  "cp/name-lookup.h" 74)
                                                           nil )
                                                          (!pair  "is_local"
                                                           (!type already_seen 9)
                                                           (!srcfileloc  "cp/name-lookup.h" 75)
                                                           nil )
                                                         )
                                                         nil 260 nil nil )
                                                       )
                                                       (!srcfileloc  "cp/name-lookup.h" 145)
                                                       nil )
                                                      (!pair  "identifier"
                                                       (!type already_seen 5)
                                                       (!srcfileloc  "cp/name-lookup.h" 147)
                                                       nil )
                                                     )
                                                     nil 260 nil nil )
                                                    (!srcfileloc  "cp/name-lookup.h" 205)
                                                    nil )
                                                  )
                                                 )
                                                )
                                                (!srcfileloc  "cp/name-lookup.h" 205)
                                                nil )
                                               (!pair  "type_shadowed"
                                                (!type already_seen 5)
                                                (!srcfileloc  "cp/name-lookup.h" 212)
                                                nil )
                                               (!pair  "shadowed_labels"
                                                (!type pointer 102 nil  gc_used
                                                 (!type user_struct 103 
                                                  (!type already_seen 102)
                                                  gc_pointed_to "vec<cp_label_binding,va_gc>"
                                                  (!srcfileloc  "cp/name-lookup.h" 216)
                                                  (!fields 2 
                                                   (!pair  "va_gc"
                                                    (!type already_seen 3)
                                                    (!srcfileloc  "cp/name-lookup.h" 216)
                                                    nil )
                                                   (!pair  "cp_label_binding"
                                                    (!type struct 104 nil  gc_used "cp_label_binding"
                                                     (!srcfileloc  "cp/name-lookup.h" 156)
                                                     (!fields 2 
                                                      (!pair  "label"
                                                       (!type already_seen 5)
                                                       (!srcfileloc  "cp/name-lookup.h" 153)
                                                       nil )
                                                      (!pair  "prev_value"
                                                       (!type already_seen 5)
                                                       (!srcfileloc  "cp/name-lookup.h" 155)
                                                       nil )
                                                     )
                                                     nil 260 nil nil )
                                                    (!srcfileloc  "cp/name-lookup.h" 216)
                                                    nil )
                                                  )
                                                 )
                                                )
                                                (!srcfileloc  "cp/name-lookup.h" 216)
                                                nil )
                                               (!pair  "blocks"
                                                (!type already_seen 5)
                                                (!srcfileloc  "cp/name-lookup.h" 221)
                                                nil )
                                               (!pair  "this_entity"
                                                (!type already_seen 5)
                                                (!srcfileloc  "cp/name-lookup.h" 225)
                                                nil )
                                               (!pair  "level_chain"
                                                (!type already_seen 95)
                                                (!srcfileloc  "cp/name-lookup.h" 228)
                                                nil )
                                               (!pair  "dead_vars_from_for"
                                                (!type already_seen 46)
                                                (!srcfileloc  "cp/name-lookup.h" 233)
                                                nil )
                                               (!pair  "statement_list"
                                                (!type already_seen 5)
                                                (!srcfileloc  "cp/name-lookup.h" 237)
                                                nil )
                                               (!pair  "binding_depth"
                                                (!type already_seen 9)
                                                (!srcfileloc  "cp/name-lookup.h" 240)
                                                nil )
                                               (!pair  "kind"
                                                (!type already_seen 9)
                                                (!srcfileloc  "cp/name-lookup.h" 245)
                                                nil )
                                               (!pair  "explicit_spec_p"
                                                (!type already_seen 9)
                                                (!srcfileloc  "cp/name-lookup.h" 249)
                                                nil )
                                               (!pair  "keep"
                                                (!type already_seen 9)
                                                (!srcfileloc  "cp/name-lookup.h" 252)
                                                nil )
                                               (!pair  "more_cleanups_ok"
                                                (!type already_seen 9)
                                                (!srcfileloc  "cp/name-lookup.h" 256)
                                                nil )
                                               (!pair  "have_cleanups"
                                                (!type already_seen 9)
                                                (!srcfileloc  "cp/name-lookup.h" 257)
                                                nil )
                                               (!pair  "defining_class_p"
                                                (!type already_seen 9)
                                                (!srcfileloc  "cp/name-lookup.h" 264)
                                                nil )
                                              )
                                              nil 260 nil nil )
                                            )
                                            (!srcfileloc  "cp/decl.c" 220)
                                            nil )
                                           (!pair  "names_in_scope"
                                            (!type already_seen 5)
                                            (!srcfileloc  "cp/decl.c" 224)
                                            nil )
                                           (!pair  "bad_decls"
                                            (!type already_seen 46)
                                            (!srcfileloc  "cp/decl.c" 227)
                                            nil )
                                           (!pair  "uses"
                                            (!type pointer 105 nil  gc_used
                                             (!type struct 106 
                                              (!type already_seen 105)
                                              gc_pointed_to "named_label_use_entry"
                                              (!srcfileloc  "cp/decl.c" 207)
                                              (!fields 5 
                                               (!pair  "next"
                                                (!type already_seen 105)
                                                (!srcfileloc  "cp/decl.c" 192)
                                                nil )
                                               (!pair  "binding_level"
                                                (!type already_seen 95)
                                                (!srcfileloc  "cp/decl.c" 196)
                                                nil )
                                               (!pair  "names_in_scope"
                                                (!type already_seen 5)
                                                (!srcfileloc  "cp/decl.c" 200)
                                                nil )
                                               (!pair  "o_goto_locus"
                                                (!type already_seen 9)
                                                (!srcfileloc  "cp/decl.c" 202)
                                                nil )
                                               (!pair  "in_omp_scope"
                                                (!type already_seen 9)
                                                (!srcfileloc  "cp/decl.c" 206)
                                                nil )
                                              )
                                              (!options 
                                               (!option chain_next string  "%h.next")
                                              )
                                              260 nil nil )
                                            )
                                            (!srcfileloc  "cp/decl.c" 230)
                                            nil )
                                           (!pair  "in_try_scope"
                                            (!type already_seen 9)
                                            (!srcfileloc  "cp/decl.c" 235)
                                            nil )
                                           (!pair  "in_catch_scope"
                                            (!type already_seen 9)
                                            (!srcfileloc  "cp/decl.c" 236)
                                            nil )
                                           (!pair  "in_omp_scope"
                                            (!type already_seen 9)
                                            (!srcfileloc  "cp/decl.c" 237)
                                            nil )
                                          )
                                          nil 260 nil nil )
                                        )
                                        nil nil nil nil nil nil nil nil nil nil )
                                      )
                                      (!srcfileloc  "cp/cp-tree.h" 1161)
                                      (!options 
                                       (!option param_is type 
                                        (!type already_seen 94)
                                       )
                                      )
                                     )
                                     (!pair  "bindings"
                                      (!type already_seen 95)
                                      (!srcfileloc  "cp/cp-tree.h" 1162)
                                      nil )
                                     (!pair  "x_local_names"
                                      (!type already_seen 46)
                                      (!srcfileloc  "cp/cp-tree.h" 1163)
                                      nil )
                                     (!pair  "infinite_loops"
                                      (!type already_seen 46)
                                      (!srcfileloc  "cp/cp-tree.h" 1166)
                                      nil )
                                     (!pair  "extern_decl_map"
                                      (!type pointer 107 nil  gc_used
                                       (!type param_struct 108 
                                        (!type already_seen 107)
                                        gc_pointed_to
                                        (!type already_seen 50)
                                        
                                        (!type pointer 109 nil  gc_used
                                         (!type struct 110 
                                          (!type already_seen 109)
                                          gc_pointed_to "cxx_int_tree_map"
                                          (!srcfileloc  "cp/cp-tree.h" 1132)
                                          (!fields 2 
                                           (!pair  "uid"
                                            (!type already_seen 9)
                                            (!srcfileloc  "cp/cp-tree.h" 1130)
                                            nil )
                                           (!pair  "to"
                                            (!type already_seen 5)
                                            (!srcfileloc  "cp/cp-tree.h" 1131)
                                            nil )
                                          )
                                          nil 260 nil nil )
                                        )
                                        nil nil nil nil nil nil nil nil nil nil )
                                      )
                                      (!srcfileloc  "cp/cp-tree.h" 1167)
                                      (!options 
                                       (!option param_is type 
                                        (!type already_seen 110)
                                       )
                                      )
                                     )
                                    )
                                    nil 260 
                                    (!type already_seen 76)
                                    nil )
                                   
                                   (!type struct 111 nil  gc_pointed_to "language_function"
                                    (!srcfileloc  "c/c-lang.h" 56)
                                    (!fields 9 
                                     (!pair  "base"
                                      (!type already_seen 88)
                                      (!srcfileloc  "c/c-lang.h" 47)
                                      nil )
                                     (!pair  "x_break_label"
                                      (!type already_seen 5)
                                      (!srcfileloc  "c/c-lang.h" 48)
                                      nil )
                                     (!pair  "x_cont_label"
                                      (!type already_seen 5)
                                      (!srcfileloc  "c/c-lang.h" 49)
                                      nil )
                                     (!pair  "x_switch_stack"
                                      (!type pointer 112 nil  gc_unused
                                       (!type struct 113 
                                        (!type already_seen 112)
                                        gc_unused "c_switch"nil 
                                        (!fields 0 )
                                        nil 0 nil nil )
                                      )
                                      (!srcfileloc  "c/c-lang.h" 50)
                                      (!options 
                                       (!option skip string  "")
                                      )
                                     )
                                     (!pair  "arg_info"
                                      (!type pointer 114 nil  gc_unused
                                       (!type struct 115 
                                        (!type already_seen 114)
                                        gc_unused "c_arg_info"nil 
                                        (!fields 0 )
                                        nil 0 nil nil )
                                      )
                                      (!srcfileloc  "c/c-lang.h" 51)
                                      (!options 
                                       (!option skip string  "")
                                      )
                                     )
                                     (!pair  "returns_value"
                                      (!type already_seen 9)
                                      (!srcfileloc  "c/c-lang.h" 52)
                                      nil )
                                     (!pair  "returns_null"
                                      (!type already_seen 9)
                                      (!srcfileloc  "c/c-lang.h" 53)
                                      nil )
                                     (!pair  "returns_abnormally"
                                      (!type already_seen 9)
                                      (!srcfileloc  "c/c-lang.h" 54)
                                      nil )
                                     (!pair  "warn_about_return_type"
                                      (!type already_seen 9)
                                      (!srcfileloc  "c/c-lang.h" 55)
                                      nil )
                                    )
                                    nil 130 
                                    (!type already_seen 76)
                                    nil )
                                   
                                   (!type struct 116 nil  gc_pointed_to "language_function"
                                    (!srcfileloc  "ada/gcc-interface/trans.c" 139)
                                    (!fields 4 
                                     (!pair  "parm_attr_cache"
                                      (!type pointer 117 nil  gc_used
                                       (!type user_struct 118 
                                        (!type already_seen 117)
                                        gc_pointed_to "vec<parm_attr,va_gc>"
                                        (!srcfileloc  "ada/gcc-interface/trans.c" 135)
                                        (!fields 2 
                                         (!pair  "va_gc"
                                          (!type already_seen 3)
                                          (!srcfileloc  "ada/gcc-interface/trans.c" 135)
                                          nil )
                                         (!pair  "parm_attr"
                                          (!type pointer 119 nil  gc_used
                                           (!type struct 120 
                                            (!type already_seen 119)
                                            gc_pointed_to "parm_attr_d"
                                            (!srcfileloc  "ada/gcc-interface/trans.c" 129)
                                            (!fields 5 
                                             (!pair  "id"
                                              (!type already_seen 9)
                                              (!srcfileloc  "ada/gcc-interface/trans.c" 124)
                                              nil )
                                             (!pair  "dim"
                                              (!type already_seen 9)
                                              (!srcfileloc  "ada/gcc-interface/trans.c" 125)
                                              nil )
                                             (!pair  "first"
                                              (!type already_seen 5)
                                              (!srcfileloc  "ada/gcc-interface/trans.c" 126)
                                              nil )
                                             (!pair  "last"
                                              (!type already_seen 5)
                                              (!srcfileloc  "ada/gcc-interface/trans.c" 127)
                                              nil )
                                             (!pair  "length"
                                              (!type already_seen 5)
                                              (!srcfileloc  "ada/gcc-interface/trans.c" 128)
                                              nil )
                                            )
                                            nil 1 nil nil )
                                          )
                                          (!srcfileloc  "ada/gcc-interface/trans.c" 135)
                                          nil )
                                        )
                                       )
                                      )
                                      (!srcfileloc  "ada/gcc-interface/trans.c" 135)
                                      nil )
                                     (!pair  "named_ret_val"
                                      (!type pointer 121 nil  gc_used
                                       (!type struct 122 
                                        (!type already_seen 121)
                                        gc_pointed_to "bitmap_head"
                                        (!srcfileloc  "bitmap.h" 189)
                                        (!fields 5 
                                         (!pair  "indx"
                                          (!type already_seen 9)
                                          (!srcfileloc  "bitmap.h" 181)
                                          nil )
                                         (!pair  "descriptor_id"
                                          (!type already_seen 9)
                                          (!srcfileloc  "bitmap.h" 182)
                                          nil )
                                         (!pair  "first"
                                          (!type pointer 123 nil  gc_used
                                           (!type struct 124 
                                            (!type already_seen 123)
                                            gc_pointed_to "bitmap_element"
                                            (!srcfileloc  "bitmap.h" 185)
                                            (!fields 4 
                                             (!pair  "next"
                                              (!type already_seen 123)
                                              (!srcfileloc  "bitmap.h" 171)
                                              nil )
                                             (!pair  "prev"
                                              (!type already_seen 123)
                                              (!srcfileloc  "bitmap.h" 172)
                                              nil )
                                             (!pair  "indx"
                                              (!type already_seen 9)
                                              (!srcfileloc  "bitmap.h" 173)
                                              nil )
                                             (!pair  "bits"
                                              (!type array 125 nil  gc_used "BITMAP_ELEMENT_WORDS" 
                                               (!type already_seen 9)
                                              )
                                              (!srcfileloc  "bitmap.h" 174)
                                              nil )
                                            )
                                            (!options 
                                             (!option chain_prev string  "%h.prev")
                                             (!option chain_next string  "%h.next")
                                            )
                                            511 nil nil )
                                          )
                                          (!srcfileloc  "bitmap.h" 185)
                                          nil )
                                         (!pair  "current"
                                          (!type already_seen 123)
                                          (!srcfileloc  "bitmap.h" 186)
                                          (!options 
                                           (!option skip string  "")
                                          )
                                         )
                                         (!pair  "obstack"
                                          (!type pointer 126 nil  gc_used
                                           (!type struct 127 
                                            (!type already_seen 126)
                                            gc_pointed_to "bitmap_obstack"
                                            (!srcfileloc  "bitmap.h" 187)
                                            (!fields 3 
                                             (!pair  "elements"
                                              (!type already_seen 123)
                                              (!srcfileloc  "bitmap.h" 153)
                                              nil )
                                             (!pair  "heads"
                                              (!type already_seen 121)
                                              (!srcfileloc  "bitmap.h" 154)
                                              nil )
                                             (!pair  "obstack"
                                              (!type struct 128 nil  gc_unused "obstack"nil 
                                               (!fields 0 )
                                               nil 0 nil nil )
                                              (!srcfileloc  "bitmap.h" 155)
                                              (!options 
                                               (!option skip string  "")
                                              )
                                             )
                                            )
                                            nil 511 nil nil )
                                          )
                                          (!srcfileloc  "bitmap.h" 187)
                                          nil )
                                        )
                                        nil 511 nil nil )
                                      )
                                      (!srcfileloc  "ada/gcc-interface/trans.c" 136)
                                      nil )
                                     (!pair  "other_ret_val"
                                      (!type already_seen 46)
                                      (!srcfileloc  "ada/gcc-interface/trans.c" 137)
                                      nil )
                                     (!pair  "gnat_ret"
                                      (!type already_seen 9)
                                      (!srcfileloc  "ada/gcc-interface/trans.c" 138)
                                      nil )
                                    )
                                    nil 1 
                                    (!type already_seen 76)
                                    nil )
                                  )
                                 )
                                )
                                (!srcfileloc  "cp/cp-tree.h" 2053)
                                (!options 
                                 (!option tag string  "0")
                                )
                               )
                              )
                              nil 260 nil )
                             (!srcfileloc  "cp/cp-tree.h" 2054)
                             (!options 
                              (!option desc string  "%1.pending_inline_p")
                             )
                            )
                           )
                           nil 260 nil nil )
                          (!srcfileloc  "cp/cp-tree.h" 2081)
                          (!options 
                           (!option tag string  "1")
                          )
                         )
                         (!pair  "ns"
                          (!type struct 129 nil  gc_used "lang_decl_ns"
                           (!srcfileloc  "cp/cp-tree.h" 2063)
                           (!fields 2 
                            (!pair  "base"
                             (!type already_seen 59)
                             (!srcfileloc  "cp/cp-tree.h" 2061)
                             nil )
                            (!pair  "level"
                             (!type already_seen 95)
                             (!srcfileloc  "cp/cp-tree.h" 2062)
                             nil )
                           )
                           nil 260 nil nil )
                          (!srcfileloc  "cp/cp-tree.h" 2082)
                          (!options 
                           (!option tag string  "2")
                          )
                         )
                         (!pair  "parm"
                          (!type struct 130 nil  gc_used "lang_decl_parm"
                           (!srcfileloc  "cp/cp-tree.h" 2071)
                           (!fields 3 
                            (!pair  "base"
                             (!type already_seen 59)
                             (!srcfileloc  "cp/cp-tree.h" 2068)
                             nil )
                            (!pair  "level"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 2069)
                             nil )
                            (!pair  "index"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 2070)
                             nil )
                           )
                           nil 260 nil nil )
                          (!srcfileloc  "cp/cp-tree.h" 2083)
                          (!options 
                           (!option tag string  "3")
                          )
                         )
                        )
                        (!options 
                         (!option desc string  "%h.base.selector")
                        )
                        260 
                        (!type already_seen 57)
                       )
                      )
                     )
                    )
                    (!srcfileloc  "java/java-tree.h" 817)
                    (!options 
                     (!option desc string  "%0.desc")
                    )
                   )
                  )
                  (!options 
                   (!option variable_size string  "")
                  )
                  32 
                  (!type already_seen 41)
                  nil )
                 
                 (!type struct 131 nil  gc_pointed_to "lang_decl"
                  (!srcfileloc  "go/go-lang.c" 57)
                  (!fields 1 
                   (!pair  "dummy"
                    (!type already_seen 29)
                    (!srcfileloc  "go/go-lang.c" 56)
                    nil )
                  )
                  (!options 
                   (!option variable_size string  "")
                  )
                  16 
                  (!type already_seen 41)
                  nil )
                 
                 (!type struct 132 nil  gc_pointed_to "lang_decl"
                  (!srcfileloc  "fortran/trans.h" 834)
                  (!fields 8 
                   (!pair  "saved_descriptor"
                    (!type already_seen 5)
                    (!srcfileloc  "fortran/trans.h" 822)
                    nil )
                   (!pair  "stringlen"
                    (!type already_seen 5)
                    (!srcfileloc  "fortran/trans.h" 827)
                    nil )
                   (!pair  "addr"
                    (!type already_seen 5)
                    (!srcfileloc  "fortran/trans.h" 828)
                    nil )
                   (!pair  "span"
                    (!type already_seen 5)
                    (!srcfileloc  "fortran/trans.h" 829)
                    nil )
                   (!pair  "token"
                    (!type already_seen 5)
                    (!srcfileloc  "fortran/trans.h" 831)
                    nil )
                   (!pair  "caf_offset"
                    (!type already_seen 5)
                    (!srcfileloc  "fortran/trans.h" 831)
                    nil )
                   (!pair  "scalar_allocatable"
                    (!type already_seen 9)
                    (!srcfileloc  "fortran/trans.h" 832)
                    nil )
                   (!pair  "scalar_pointer"
                    (!type already_seen 9)
                    (!srcfileloc  "fortran/trans.h" 833)
                    nil )
                  )
                  (!options 
                   (!option variable_size string  "")
                  )
                  8 
                  (!type already_seen 41)
                  nil )
                 
                 (!type struct 133 nil  gc_pointed_to "lang_decl"
                  (!srcfileloc  "cp/cp-tree.h" 2085)
                  (!fields 1 
                   (!pair  "u"
                    (!type already_seen 57)
                    (!srcfileloc  "cp/cp-tree.h" 2084)
                    nil )
                  )
                  (!options 
                   (!option variable_size string  "")
                  )
                  260 
                  (!type already_seen 41)
                  nil )
                 
                 (!type struct 134 nil  gc_pointed_to "lang_decl"
                  (!srcfileloc  "c/c-lang.h" 40)
                  (!fields 1 
                   (!pair  "dummy"
                    (!type already_seen 29)
                    (!srcfileloc  "c/c-lang.h" 39)
                    nil )
                  )
                  (!options 
                   (!option variable_size string  "")
                  )
                  130 
                  (!type already_seen 41)
                  nil )
                 
                 (!type struct 135 nil  gc_pointed_to "lang_decl"
                  (!srcfileloc  "ada/gcc-interface/ada-tree.h" 41)
                  (!fields 1 
                   (!pair  "t"
                    (!type already_seen 5)
                    (!srcfileloc  "ada/gcc-interface/ada-tree.h" 41)
                    nil )
                  )
                  (!options 
                   (!option variable_size string  "")
                  )
                  1 
                  (!type already_seen 41)
                  nil )
                )
               )
              )
              (!srcfileloc  "tree-core.h" 1405)
              nil )
            )
            nil 511 nil nil )
           (!srcfileloc  "tree-core.h" 1621)
           (!options 
            (!option tag string  "TS_DECL_COMMON")
           )
          )
          (!pair  "decl_with_rtl"
           (!type struct 136 nil  gc_used "tree_decl_with_rtl"
            (!srcfileloc  "tree-core.h" 1411)
            (!fields 2 
             (!pair  "common"
              (!type already_seen 39)
              (!srcfileloc  "tree-core.h" 1409)
              nil )
             (!pair  "rtl"
              (!type pointer 137 
               (!type pointer 138 nil  gc_used
                (!type already_seen 137)
               )
               gc_pointed_to
               (!type struct 139 
                (!type already_seen 137)
                gc_pointed_to "rtx_def"
                (!srcfileloc  "rtl.h" 347)
                (!fields 11 
                 (!pair  "code"
                  (!type already_seen 9)
                  (!srcfileloc  "rtl.h" 256)
                  nil )
                 (!pair  "mode"
                  (!type already_seen 9)
                  (!srcfileloc  "rtl.h" 259)
                  nil )
                 (!pair  "jump"
                  (!type already_seen 9)
                  (!srcfileloc  "rtl.h" 269)
                  nil )
                 (!pair  "call"
                  (!type already_seen 9)
                  (!srcfileloc  "rtl.h" 274)
                  nil )
                 (!pair  "unchanging"
                  (!type already_seen 9)
                  (!srcfileloc  "rtl.h" 285)
                  nil )
                 (!pair  "volatil"
                  (!type already_seen 9)
                  (!srcfileloc  "rtl.h" 298)
                  nil )
                 (!pair  "in_struct"
                  (!type already_seen 9)
                  (!srcfileloc  "rtl.h" 312)
                  nil )
                 (!pair  "used"
                  (!type already_seen 9)
                  (!srcfileloc  "rtl.h" 321)
                  nil )
                 (!pair  "frame_related"
                  (!type already_seen 9)
                  (!srcfileloc  "rtl.h" 329)
                  nil )
                 (!pair  "return_val"
                  (!type already_seen 9)
                  (!srcfileloc  "rtl.h" 335)
                  nil )
                 (!pair  "u"
                  (!type union 140 nil  gc_used "rtx_def_subunion"
                   (!srcfileloc  "rtl.h" 346)
                   (!fields 147 
                    (!pair  ""
                     (!type struct 141 nil  gc_used "rtx_def_debug_parameter_ref"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_tree"
                        (!type already_seen 5)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "DEBUG_PARAMETER_REF")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 142 nil  gc_used "rtx_def_entry_value"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "ENTRY_VALUE")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 143 nil  gc_used "rtx_def_debug_implicit_ptr"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_tree"
                        (!type already_seen 5)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "DEBUG_IMPLICIT_PTR")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 144 nil  gc_used "rtx_def_var_location"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 3 
                       (!pair  ".fld[2].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_tree"
                        (!type already_seen 5)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "VAR_LOCATION")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 145 nil  gc_used "rtx_def_fma"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 3 
                       (!pair  ".fld[2].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "FMA")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 146 nil  gc_used "rtx_def_us_truncate"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "US_TRUNCATE")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 147 nil  gc_used "rtx_def_ss_truncate"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "SS_TRUNCATE")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 148 nil  gc_used "rtx_def_us_minus"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "US_MINUS")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 149 nil  gc_used "rtx_def_us_ashift"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "US_ASHIFT")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 150 nil  gc_used "rtx_def_ss_ashift"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "SS_ASHIFT")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 151 nil  gc_used "rtx_def_ss_abs"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "SS_ABS")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 152 nil  gc_used "rtx_def_us_neg"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "US_NEG")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 153 nil  gc_used "rtx_def_ss_neg"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "SS_NEG")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 154 nil  gc_used "rtx_def_ss_minus"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "SS_MINUS")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 155 nil  gc_used "rtx_def_us_plus"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "US_PLUS")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 156 nil  gc_used "rtx_def_ss_plus"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "SS_PLUS")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 157 nil  gc_used "rtx_def_vec_duplicate"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "VEC_DUPLICATE")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 158 nil  gc_used "rtx_def_vec_concat"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "VEC_CONCAT")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 159 nil  gc_used "rtx_def_vec_select"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "VEC_SELECT")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 160 nil  gc_used "rtx_def_vec_merge"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 3 
                       (!pair  ".fld[2].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "VEC_MERGE")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 161 nil  gc_used "rtx_def_lo_sum"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "LO_SUM")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 162 nil  gc_used "rtx_def_high"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "HIGH")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 163 nil  gc_used "rtx_def_zero_extract"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 3 
                       (!pair  ".fld[2].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "ZERO_EXTRACT")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 164 nil  gc_used "rtx_def_sign_extract"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 3 
                       (!pair  ".fld[2].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "SIGN_EXTRACT")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 165 nil  gc_used "rtx_def_parity"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "PARITY")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 166 nil  gc_used "rtx_def_popcount"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "POPCOUNT")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 167 nil  gc_used "rtx_def_ctz"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "CTZ")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 168 nil  gc_used "rtx_def_clz"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "CLZ")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 169 nil  gc_used "rtx_def_clrsb"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "CLRSB")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 170 nil  gc_used "rtx_def_ffs"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "FFS")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 171 nil  gc_used "rtx_def_bswap"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "BSWAP")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 172 nil  gc_used "rtx_def_sqrt"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "SQRT")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 173 nil  gc_used "rtx_def_abs"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "ABS")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 174 nil  gc_used "rtx_def_unsigned_sat_fract"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "UNSIGNED_SAT_FRACT")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 175 nil  gc_used "rtx_def_sat_fract"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "SAT_FRACT")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 176 nil  gc_used "rtx_def_unsigned_fract_convert"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "UNSIGNED_FRACT_CONVERT")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 177 nil  gc_used "rtx_def_fract_convert"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "FRACT_CONVERT")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 178 nil  gc_used "rtx_def_unsigned_fix"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "UNSIGNED_FIX")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 179 nil  gc_used "rtx_def_unsigned_float"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "UNSIGNED_FLOAT")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 180 nil  gc_used "rtx_def_fix"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "FIX")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 181 nil  gc_used "rtx_def_float"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "FLOAT")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 182 nil  gc_used "rtx_def_float_truncate"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "FLOAT_TRUNCATE")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 183 nil  gc_used "rtx_def_float_extend"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "FLOAT_EXTEND")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 184 nil  gc_used "rtx_def_truncate"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "TRUNCATE")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 185 nil  gc_used "rtx_def_zero_extend"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "ZERO_EXTEND")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 186 nil  gc_used "rtx_def_sign_extend"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "SIGN_EXTEND")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 187 nil  gc_used "rtx_def_ltgt"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "LTGT")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 188 nil  gc_used "rtx_def_unlt"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "UNLT")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 189 nil  gc_used "rtx_def_unle"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "UNLE")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 190 nil  gc_used "rtx_def_ungt"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "UNGT")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 191 nil  gc_used "rtx_def_unge"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "UNGE")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 192 nil  gc_used "rtx_def_uneq"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "UNEQ")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 193 nil  gc_used "rtx_def_ordered"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "ORDERED")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 194 nil  gc_used "rtx_def_unordered"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "UNORDERED")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 195 nil  gc_used "rtx_def_ltu"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "LTU")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 196 nil  gc_used "rtx_def_leu"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "LEU")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 197 nil  gc_used "rtx_def_gtu"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "GTU")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 198 nil  gc_used "rtx_def_geu"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "GEU")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 199 nil  gc_used "rtx_def_lt"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "LT")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 200 nil  gc_used "rtx_def_le"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "LE")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 201 nil  gc_used "rtx_def_gt"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "GT")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 202 nil  gc_used "rtx_def_ge"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "GE")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 203 nil  gc_used "rtx_def_eq"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "EQ")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 204 nil  gc_used "rtx_def_ne"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "NE")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 205 nil  gc_used "rtx_def_post_modify"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "POST_MODIFY")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 206 nil  gc_used "rtx_def_pre_modify"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "PRE_MODIFY")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 207 nil  gc_used "rtx_def_post_inc"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "POST_INC")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 208 nil  gc_used "rtx_def_post_dec"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "POST_DEC")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 209 nil  gc_used "rtx_def_pre_inc"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "PRE_INC")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 210 nil  gc_used "rtx_def_pre_dec"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "PRE_DEC")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 211 nil  gc_used "rtx_def_umax"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "UMAX")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 212 nil  gc_used "rtx_def_umin"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "UMIN")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 213 nil  gc_used "rtx_def_smax"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "SMAX")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 214 nil  gc_used "rtx_def_smin"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "SMIN")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 215 nil  gc_used "rtx_def_rotatert"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "ROTATERT")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 216 nil  gc_used "rtx_def_lshiftrt"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "LSHIFTRT")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 217 nil  gc_used "rtx_def_ashiftrt"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "ASHIFTRT")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 218 nil  gc_used "rtx_def_rotate"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "ROTATE")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 219 nil  gc_used "rtx_def_ashift"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "ASHIFT")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 220 nil  gc_used "rtx_def_not"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "NOT")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 221 nil  gc_used "rtx_def_xor"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "XOR")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 222 nil  gc_used "rtx_def_ior"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "IOR")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 223 nil  gc_used "rtx_def_and"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "AND")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 224 nil  gc_used "rtx_def_umod"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "UMOD")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 225 nil  gc_used "rtx_def_udiv"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "UDIV")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 226 nil  gc_used "rtx_def_mod"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "MOD")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 227 nil  gc_used "rtx_def_us_div"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "US_DIV")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 228 nil  gc_used "rtx_def_ss_div"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "SS_DIV")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 229 nil  gc_used "rtx_def_div"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "DIV")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 230 nil  gc_used "rtx_def_us_mult"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "US_MULT")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 231 nil  gc_used "rtx_def_ss_mult"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "SS_MULT")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 232 nil  gc_used "rtx_def_mult"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "MULT")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 233 nil  gc_used "rtx_def_neg"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "NEG")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 234 nil  gc_used "rtx_def_minus"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "MINUS")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 235 nil  gc_used "rtx_def_plus"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "PLUS")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 236 nil  gc_used "rtx_def_compare"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "COMPARE")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 237 nil  gc_used "rtx_def_if_then_else"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 3 
                       (!pair  ".fld[2].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "IF_THEN_ELSE")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 238 nil  gc_used "rtx_def_cc0"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 0 )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "CC0")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 239 nil  gc_used "rtx_def_symbol_ref"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 4 
                       (!pair  "block_sym"
                        (!type union 240 nil  gc_used "fake_union_1"
                         (!srcfileloc  "rtl.h" 346)
                         (!fields 1 
                          (!pair  ""
                           (!type struct 241 nil  gc_used "block_symbol"
                            (!srcfileloc  "rtl.h" 216)
                            (!fields 3 
                             (!pair  "fld"
                              (!type array 242 nil  gc_unused "3" 
                               (!type undefined 243 nil  gc_unused "rtunion"
                                (!srcfileloc  "rtl.h" 208)
                               )
                              )
                              (!srcfileloc  "rtl.h" 208)
                              (!options 
                               (!option skip string  "")
                              )
                             )
                             (!pair  "block"
                              (!type pointer 244 nil  gc_used
                               (!type struct 245 
                                (!type already_seen 244)
                                gc_pointed_to "object_block"
                                (!srcfileloc  "rtl.h" 249)
                                (!fields 5 
                                 (!pair  "sect"
                                  (!type pointer 246 nil  gc_used
                                   (!type union 247 
                                    (!type already_seen 246)
                                    gc_pointed_to "section"
                                    (!srcfileloc  "output.h" 492)
                                    (!fields 4 
                                     (!pair  "common"
                                      (!type struct 248 nil  gc_used "section_common"
                                       (!srcfileloc  "output.h" 434)
                                       (!fields 1 
                                        (!pair  "flags"
                                         (!type already_seen 9)
                                         (!srcfileloc  "output.h" 433)
                                         nil )
                                       )
                                       nil 511 nil nil )
                                      (!srcfileloc  "output.h" 488)
                                      (!options 
                                       (!option skip string  "")
                                      )
                                     )
                                     (!pair  "named"
                                      (!type struct 249 nil  gc_used "named_section"
                                       (!srcfileloc  "output.h" 446)
                                       (!fields 3 
                                        (!pair  "common"
                                         (!type already_seen 248)
                                         (!srcfileloc  "output.h" 438)
                                         nil )
                                        (!pair  "name"
                                         (!type already_seen 37)
                                         (!srcfileloc  "output.h" 441)
                                         nil )
                                        (!pair  "decl"
                                         (!type already_seen 5)
                                         (!srcfileloc  "output.h" 445)
                                         nil )
                                       )
                                       nil 511 nil nil )
                                      (!srcfileloc  "output.h" 489)
                                      (!options 
                                       (!option tag string  "SECTION_NAMED")
                                      )
                                     )
                                     (!pair  "unnamed"
                                      (!type struct 250 nil  gc_used "unnamed_section"
                                       (!srcfileloc  "output.h" 463)
                                       (!fields 4 
                                        (!pair  "common"
                                         (!type already_seen 248)
                                         (!srcfileloc  "output.h" 454)
                                         nil )
                                        (!pair  "callback"
                                         (!type already_seen 9)
                                         (!srcfileloc  "output.h" 458)
                                         (!options 
                                          (!option skip string  "")
                                         )
                                        )
                                        (!pair  "data"
                                         (!type already_seen 10)
                                         (!srcfileloc  "output.h" 459)
                                         (!options 
                                          (!option skip string  "")
                                         )
                                        )
                                        (!pair  "next"
                                         (!type already_seen 246)
                                         (!srcfileloc  "output.h" 462)
                                         nil )
                                       )
                                       nil 511 nil nil )
                                      (!srcfileloc  "output.h" 490)
                                      (!options 
                                       (!option tag string  "SECTION_UNNAMED")
                                      )
                                     )
                                     (!pair  "noswitch"
                                      (!type struct 251 nil  gc_used "noswitch_section"
                                       (!srcfileloc  "output.h" 484)
                                       (!fields 2 
                                        (!pair  "common"
                                         (!type already_seen 248)
                                         (!srcfileloc  "output.h" 480)
                                         nil )
                                        (!pair  "callback"
                                         (!type already_seen 9)
                                         (!srcfileloc  "output.h" 483)
                                         (!options 
                                          (!option skip string  "")
                                         )
                                        )
                                       )
                                       nil 511 nil nil )
                                      (!srcfileloc  "output.h" 491)
                                      (!options 
                                       (!option tag string  "SECTION_NOSWITCH")
                                      )
                                     )
                                    )
                                    (!options 
                                     (!option desc string  "SECTION_STYLE (&(%h))")
                                    )
                                    511 nil )
                                  )
                                  (!srcfileloc  "rtl.h" 222)
                                  nil )
                                 (!pair  "alignment"
                                  (!type already_seen 9)
                                  (!srcfileloc  "rtl.h" 225)
                                  nil )
                                 (!pair  "size"
                                  (!type already_seen 9)
                                  (!srcfileloc  "rtl.h" 228)
                                  nil )
                                 (!pair  "objects"
                                  (!type pointer 252 nil  gc_used
                                   (!type user_struct 253 
                                    (!type already_seen 252)
                                    gc_pointed_to "vec<rtx,va_gc>"
                                    (!srcfileloc  "rtl.h" 238)
                                    (!fields 2 
                                     (!pair  "va_gc"
                                      (!type already_seen 3)
                                      (!srcfileloc  "rtl.h" 238)
                                      nil )
                                     (!pair  "rtx"
                                      (!type already_seen 137)
                                      (!srcfileloc  "rtl.h" 238)
                                      nil )
                                    )
                                   )
                                  )
                                  (!srcfileloc  "rtl.h" 238)
                                  nil )
                                 (!pair  "anchors"
                                  (!type already_seen 252)
                                  (!srcfileloc  "rtl.h" 248)
                                  nil )
                                )
                                nil 511 nil nil )
                              )
                              (!srcfileloc  "rtl.h" 211)
                              nil )
                             (!pair  "offset"
                              (!type already_seen 9)
                              (!srcfileloc  "rtl.h" 215)
                              nil )
                            )
                            nil 511 nil nil )
                           (!srcfileloc  "gengtype.c" 995)
                           (!options 
                            (!option tag string  "1")
                            (!option dot string  "")
                           )
                          )
                         )
                         nil 511 nil )
                        (!srcfileloc  "gengtype.c" 1340)
                        (!options 
                         (!option desc string  "SYMBOL_REF_HAS_BLOCK_INFO_P (&%0)")
                        )
                       )
                       (!pair  ".fld[2]."
                        (!type union 254 nil  gc_used "rtx_def_symbol_subunion"
                         (!srcfileloc  "rtl.h" 346)
                         (!fields 2 
                          (!pair  "rt_constant"
                           (!type pointer 255 nil  gc_used
                            (!type struct 256 
                             (!type already_seen 255)
                             gc_pointed_to "constant_descriptor_rtx"
                             (!srcfileloc  "varasm.c" 3509)
                             (!fields 10 
                              (!pair  "next"
                               (!type already_seen 255)
                               (!srcfileloc  "varasm.c" 3499)
                               nil )
                              (!pair  "mem"
                               (!type already_seen 137)
                               (!srcfileloc  "varasm.c" 3500)
                               nil )
                              (!pair  "sym"
                               (!type already_seen 137)
                               (!srcfileloc  "varasm.c" 3501)
                               nil )
                              (!pair  "constant"
                               (!type already_seen 137)
                               (!srcfileloc  "varasm.c" 3502)
                               nil )
                              (!pair  "offset"
                               (!type already_seen 9)
                               (!srcfileloc  "varasm.c" 3503)
                               nil )
                              (!pair  "hash"
                               (!type already_seen 9)
                               (!srcfileloc  "varasm.c" 3504)
                               nil )
                              (!pair  "mode"
                               (!type already_seen 9)
                               (!srcfileloc  "varasm.c" 3505)
                               nil )
                              (!pair  "align"
                               (!type already_seen 9)
                               (!srcfileloc  "varasm.c" 3506)
                               nil )
                              (!pair  "labelno"
                               (!type already_seen 9)
                               (!srcfileloc  "varasm.c" 3507)
                               nil )
                              (!pair  "mark"
                               (!type already_seen 9)
                               (!srcfileloc  "varasm.c" 3508)
                               nil )
                             )
                             (!options 
                              (!option chain_next string  "%h.next")
                             )
                             511 nil nil )
                           )
                           (!srcfileloc  "gengtype.c" 1200)
                           (!options 
                            (!option tag string  "1")
                            (!option dot string  "")
                           )
                          )
                          (!pair  "rt_tree"
                           (!type already_seen 5)
                           (!srcfileloc  "gengtype.c" 1198)
                           (!options 
                            (!option default string  "")
                            (!option dot string  "")
                           )
                          )
                         )
                         nil 511 nil )
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option desc string  "CONSTANT_POOL_ADDRESS_P (&%0)")
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[1].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_str"
                        (!type already_seen 37)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "SYMBOL_REF")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 257 nil  gc_used "rtx_def_label_ref"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "LABEL_REF")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 258 nil  gc_used "rtx_def_mem"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_mem"
                        (!type pointer 259 nil  gc_used
                         (!type struct 260 
                          (!type already_seen 259)
                          gc_pointed_to "mem_attrs"
                          (!srcfileloc  "rtl.h" 169)
                          (!fields 8 
                           (!pair  "expr"
                            (!type already_seen 5)
                            (!srcfileloc  "rtl.h" 143)
                            nil )
                           (!pair  "offset"
                            (!type already_seen 9)
                            (!srcfileloc  "rtl.h" 147)
                            nil )
                           (!pair  "size"
                            (!type already_seen 9)
                            (!srcfileloc  "rtl.h" 151)
                            nil )
                           (!pair  "alias"
                            (!type already_seen 9)
                            (!srcfileloc  "rtl.h" 154)
                            nil )
                           (!pair  "align"
                            (!type already_seen 9)
                            (!srcfileloc  "rtl.h" 159)
                            nil )
                           (!pair  "addrspace"
                            (!type already_seen 29)
                            (!srcfileloc  "rtl.h" 162)
                            nil )
                           (!pair  "offset_known_p"
                            (!type already_seen 9)
                            (!srcfileloc  "rtl.h" 165)
                            nil )
                           (!pair  "size_known_p"
                            (!type already_seen 9)
                            (!srcfileloc  "rtl.h" 168)
                            nil )
                          )
                          nil 511 nil nil )
                        )
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "MEM")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 261 nil  gc_used "rtx_def_concatn"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtvec"
                        (!type pointer 262 nil  gc_used
                         (!type struct 263 
                          (!type already_seen 262)
                          gc_pointed_to "rtvec_def"
                          (!srcfileloc  "rtl.h" 388)
                          (!fields 2 
                           (!pair  "num_elem"
                            (!type already_seen 9)
                            (!srcfileloc  "rtl.h" 386)
                            nil )
                           (!pair  "elem"
                            (!type array 264 nil  gc_used "1" 
                             (!type already_seen 137)
                            )
                            (!srcfileloc  "rtl.h" 387)
                            (!options 
                             (!option length string  "%h.num_elem")
                            )
                           )
                          )
                          (!options 
                           (!option variable_size string  "")
                          )
                          511 nil nil )
                        )
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "CONCATN")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 265 nil  gc_used "rtx_def_concat"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "CONCAT")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 266 nil  gc_used "rtx_def_strict_low_part"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "STRICT_LOW_PART")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 267 nil  gc_used "rtx_def_subreg"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "SUBREG")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 268 nil  gc_used "rtx_def_scratch"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "SCRATCH")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 269 nil  gc_used "rtx_def_reg"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 3 
                       (!pair  ".fld[2].rt_reg"
                        (!type pointer 270 nil  gc_used
                         (!type struct 271 
                          (!type already_seen 270)
                          gc_pointed_to "reg_attrs"
                          (!srcfileloc  "rtl.h" 181)
                          (!fields 2 
                           (!pair  "decl"
                            (!type already_seen 5)
                            (!srcfileloc  "rtl.h" 179)
                            nil )
                           (!pair  "offset"
                            (!type already_seen 9)
                            (!srcfileloc  "rtl.h" 180)
                            nil )
                          )
                          nil 511 nil nil )
                        )
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[1].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "REG")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 272 nil  gc_used "rtx_def_pc"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 0 )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "PC")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 273 nil  gc_used "rtx_def_const"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "CONST")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 274 nil  gc_used "rtx_def_const_string"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_str"
                        (!type already_seen 37)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "CONST_STRING")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 275 nil  gc_used "rtx_def_const_vector"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtvec"
                        (!type already_seen 262)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "CONST_VECTOR")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 276 nil  gc_used "rtx_def_const_double"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "CONST_DOUBLE")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 277 nil  gc_used "rtx_def_const_fixed"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 3 
                       (!pair  ".fld[2].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[1].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "CONST_FIXED")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 278 nil  gc_used "rtx_def_const_int"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "CONST_INT")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 279 nil  gc_used "rtx_def_trap_if"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "TRAP_IF")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 280 nil  gc_used "rtx_def_eh_return"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 0 )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "EH_RETURN")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 281 nil  gc_used "rtx_def_simple_return"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 0 )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "SIMPLE_RETURN")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 282 nil  gc_used "rtx_def_return"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 0 )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "RETURN")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 283 nil  gc_used "rtx_def_call"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "CALL")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 284 nil  gc_used "rtx_def_clobber"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "CLOBBER")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 285 nil  gc_used "rtx_def_use"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "USE")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 286 nil  gc_used "rtx_def_set"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "SET")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 287 nil  gc_used "rtx_def_prefetch"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 3 
                       (!pair  ".fld[2].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "PREFETCH")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 288 nil  gc_used "rtx_def_addr_diff_vec"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 5 
                       (!pair  ".fld[4].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[3].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[2].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[1].rt_rtvec"
                        (!type already_seen 262)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "ADDR_DIFF_VEC")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 289 nil  gc_used "rtx_def_addr_vec"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtvec"
                        (!type already_seen 262)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "ADDR_VEC")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 290 nil  gc_used "rtx_def_unspec_volatile"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtvec"
                        (!type already_seen 262)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "UNSPEC_VOLATILE")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 291 nil  gc_used "rtx_def_unspec"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtvec"
                        (!type already_seen 262)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "UNSPEC")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 292 nil  gc_used "rtx_def_asm_operands"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 7 
                       (!pair  ".fld[6].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[5].rt_rtvec"
                        (!type already_seen 262)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[4].rt_rtvec"
                        (!type already_seen 262)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[3].rt_rtvec"
                        (!type already_seen 262)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[2].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[1].rt_str"
                        (!type already_seen 37)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_str"
                        (!type already_seen 37)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "ASM_OPERANDS")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 293 nil  gc_used "rtx_def_asm_input"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_str"
                        (!type already_seen 37)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "ASM_INPUT")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 294 nil  gc_used "rtx_def_parallel"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtvec"
                        (!type already_seen 262)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "PARALLEL")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 295 nil  gc_used "rtx_def_cond_exec"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "COND_EXEC")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 296 nil  gc_used "rtx_def_note"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 7 
                       (!pair  ".fld[6].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[5].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[4]."
                        (!type union 297 nil  gc_used "rtx_def_note_subunion"
                         (!srcfileloc  "rtl.h" 346)
                         (!fields 17 
                          (!pair  "rt_str"
                           (!type already_seen 37)
                           (!srcfileloc  "gengtype.c" 1166)
                           (!options 
                            (!option default string  "")
                            (!option dot string  "")
                           )
                          )
                          (!pair  "rt_int"
                           (!type already_seen 9)
                           (!srcfileloc  "gengtype.c" 1180)
                           (!options 
                            (!option tag string  "NOTE_INSN_CFI_LABEL")
                            (!option dot string  "")
                           )
                          )
                          (!pair  "rt_int"
                           (!type already_seen 9)
                           (!srcfileloc  "gengtype.c" 1180)
                           (!options 
                            (!option tag string  "NOTE_INSN_CFI")
                            (!option dot string  "")
                           )
                          )
                          (!pair  "rt_int"
                           (!type already_seen 9)
                           (!srcfileloc  "gengtype.c" 1180)
                           (!options 
                            (!option tag string  "NOTE_INSN_SWITCH_TEXT_SECTIONS")
                            (!option dot string  "")
                           )
                          )
                          (!pair  "rt_int"
                           (!type already_seen 9)
                           (!srcfileloc  "gengtype.c" 1180)
                           (!options 
                            (!option tag string  "NOTE_INSN_BASIC_BLOCK")
                            (!option dot string  "")
                           )
                          )
                          (!pair  "rt_rtx"
                           (!type already_seen 137)
                           (!srcfileloc  "gengtype.c" 1176)
                           (!options 
                            (!option tag string  "NOTE_INSN_CALL_ARG_LOCATION")
                            (!option dot string  "")
                           )
                          )
                          (!pair  "rt_rtx"
                           (!type already_seen 137)
                           (!srcfileloc  "gengtype.c" 1176)
                           (!options 
                            (!option tag string  "NOTE_INSN_VAR_LOCATION")
                            (!option dot string  "")
                           )
                          )
                          (!pair  "rt_int"
                           (!type already_seen 9)
                           (!srcfileloc  "gengtype.c" 1180)
                           (!options 
                            (!option tag string  "NOTE_INSN_EH_REGION_END")
                            (!option dot string  "")
                           )
                          )
                          (!pair  "rt_int"
                           (!type already_seen 9)
                           (!srcfileloc  "gengtype.c" 1180)
                           (!options 
                            (!option tag string  "NOTE_INSN_EH_REGION_BEG")
                            (!option dot string  "")
                           )
                          )
                          (!pair  "rt_int"
                           (!type already_seen 9)
                           (!srcfileloc  "gengtype.c" 1180)
                           (!options 
                            (!option tag string  "NOTE_INSN_EPILOGUE_BEG")
                            (!option dot string  "")
                           )
                          )
                          (!pair  "rt_int"
                           (!type already_seen 9)
                           (!srcfileloc  "gengtype.c" 1180)
                           (!options 
                            (!option tag string  "NOTE_INSN_PROLOGUE_END")
                            (!option dot string  "")
                           )
                          )
                          (!pair  "rt_int"
                           (!type already_seen 9)
                           (!srcfileloc  "gengtype.c" 1180)
                           (!options 
                            (!option tag string  "NOTE_INSN_FUNCTION_BEG")
                            (!option dot string  "")
                           )
                          )
                          (!pair  "rt_tree"
                           (!type already_seen 5)
                           (!srcfileloc  "gengtype.c" 1171)
                           (!options 
                            (!option tag string  "NOTE_INSN_BLOCK_END")
                            (!option dot string  "")
                           )
                          )
                          (!pair  "rt_tree"
                           (!type already_seen 5)
                           (!srcfileloc  "gengtype.c" 1171)
                           (!options 
                            (!option tag string  "NOTE_INSN_BLOCK_BEG")
                            (!option dot string  "")
                           )
                          )
                          (!pair  "rt_str"
                           (!type already_seen 37)
                           (!srcfileloc  "gengtype.c" 1166)
                           (!options 
                            (!option tag string  "NOTE_INSN_DELETED_DEBUG_LABEL")
                            (!option dot string  "")
                           )
                          )
                          (!pair  "rt_str"
                           (!type already_seen 37)
                           (!srcfileloc  "gengtype.c" 1166)
                           (!options 
                            (!option tag string  "NOTE_INSN_DELETED_LABEL")
                            (!option dot string  "")
                           )
                          )
                          (!pair  "rt_int"
                           (!type already_seen 9)
                           (!srcfileloc  "gengtype.c" 1180)
                           (!options 
                            (!option tag string  "NOTE_INSN_DELETED")
                            (!option dot string  "")
                           )
                          )
                         )
                         nil 511 nil )
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option desc string  "NOTE_KIND (&%0)")
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[3].rt_bb"
                        (!type pointer 298 nil  gc_used
                         (!type struct 299 
                          (!type already_seen 298)
                          gc_pointed_to "basic_block_def"
                          (!srcfileloc  "basic-block.h" 204)
                          (!fields 12 
                           (!pair  "preds"
                            (!type pointer 300 nil  gc_used
                             (!type user_struct 301 
                              (!type already_seen 300)
                              gc_pointed_to "vec<edge,va_gc>"
                              (!srcfileloc  "basic-block.h" 169)
                              (!fields 2 
                               (!pair  "va_gc"
                                (!type already_seen 3)
                                (!srcfileloc  "basic-block.h" 169)
                                nil )
                               (!pair  "edge"
                                (!type pointer 302 nil  gc_used
                                 (!type user_struct 303 
                                  (!type already_seen 302)
                                  gc_pointed_to "edge_def"
                                  (!srcfileloc  "basic-block.h" 59)
                                  (!fields 0 )
                                 )
                                )
                                (!srcfileloc  "basic-block.h" 169)
                                nil )
                              )
                             )
                            )
                            (!srcfileloc  "basic-block.h" 169)
                            nil )
                           (!pair  "succs"
                            (!type already_seen 300)
                            (!srcfileloc  "basic-block.h" 170)
                            nil )
                           (!pair  "aux"
                            (!type already_seen 10)
                            (!srcfileloc  "basic-block.h" 173)
                            (!options 
                             (!option skip string  "")
                            )
                           )
                           (!pair  "loop_father"
                            (!type pointer 304 nil  gc_used
                             (!type struct 305 
                              (!type already_seen 304)
                              gc_pointed_to "loop"
                              (!srcfileloc  "cfgloop.h" 212)
                              (!fields 28 
                               (!pair  "num"
                                (!type already_seen 9)
                                (!srcfileloc  "cfgloop.h" 114)
                                nil )
                               (!pair  "ninsns"
                                (!type already_seen 9)
                                (!srcfileloc  "cfgloop.h" 117)
                                nil )
                               (!pair  "header"
                                (!type already_seen 298)
                                (!srcfileloc  "cfgloop.h" 120)
                                nil )
                               (!pair  "latch"
                                (!type already_seen 298)
                                (!srcfileloc  "cfgloop.h" 123)
                                nil )
                               (!pair  "lpt_decision"
                                (!type struct 306 nil  gc_used "lpt_decision"
                                 (!srcfileloc  "cfgloop.h" 42)
                                 (!fields 2 
                                  (!pair  "decision"
                                   (!type already_seen 9)
                                   (!srcfileloc  "cfgloop.h" 40)
                                   nil )
                                  (!pair  "times"
                                   (!type already_seen 9)
                                   (!srcfileloc  "cfgloop.h" 41)
                                   nil )
                                 )
                                 nil 511 nil nil )
                                (!srcfileloc  "cfgloop.h" 126)
                                nil )
                               (!pair  "av_ninsns"
                                (!type already_seen 9)
                                (!srcfileloc  "cfgloop.h" 129)
                                nil )
                               (!pair  "num_nodes"
                                (!type already_seen 9)
                                (!srcfileloc  "cfgloop.h" 132)
                                nil )
                               (!pair  "superloops"
                                (!type pointer 307 nil  gc_used
                                 (!type user_struct 308 
                                  (!type already_seen 307)
                                  gc_pointed_to "vec<loop_p,va_gc>"
                                  (!srcfileloc  "cfgloop.h" 135)
                                  (!fields 2 
                                   (!pair  "va_gc"
                                    (!type already_seen 3)
                                    (!srcfileloc  "cfgloop.h" 135)
                                    nil )
                                   (!pair  "loop_p"
                                    (!type already_seen 304)
                                    (!srcfileloc  "cfgloop.h" 135)
                                    nil )
                                  )
                                 )
                                )
                                (!srcfileloc  "cfgloop.h" 135)
                                nil )
                               (!pair  "inner"
                                (!type already_seen 304)
                                (!srcfileloc  "cfgloop.h" 138)
                                nil )
                               (!pair  "next"
                                (!type already_seen 304)
                                (!srcfileloc  "cfgloop.h" 141)
                                nil )
                               (!pair  "aux"
                                (!type already_seen 10)
                                (!srcfileloc  "cfgloop.h" 144)
                                (!options 
                                 (!option skip string  "")
                                )
                               )
                               (!pair  "nb_iterations"
                                (!type already_seen 5)
                                (!srcfileloc  "cfgloop.h" 153)
                                nil )
                               (!pair  "nb_iterations_upper_bound"
                                (!type already_seen 9)
                                (!srcfileloc  "cfgloop.h" 157)
                                nil )
                               (!pair  "nb_iterations_estimate"
                                (!type already_seen 9)
                                (!srcfileloc  "cfgloop.h" 162)
                                nil )
                               (!pair  "any_upper_bound"
                                (!type already_seen 9)
                                (!srcfileloc  "cfgloop.h" 164)
                                nil )
                               (!pair  "any_estimate"
                                (!type already_seen 9)
                                (!srcfileloc  "cfgloop.h" 165)
                                nil )
                               (!pair  "can_be_parallel"
                                (!type already_seen 9)
                                (!srcfileloc  "cfgloop.h" 168)
                                nil )
                               (!pair  "warned_aggressive_loop_optimizations"
                                (!type already_seen 9)
                                (!srcfileloc  "cfgloop.h" 172)
                                nil )
                               (!pair  "estimate_state"
                                (!type already_seen 9)
                                (!srcfileloc  "cfgloop.h" 176)
                                nil )
                               (!pair  "safelen"
                                (!type already_seen 9)
                                (!srcfileloc  "cfgloop.h" 182)
                                nil )
                               (!pair  "force_vect"
                                (!type already_seen 9)
                                (!srcfileloc  "cfgloop.h" 185)
                                nil )
                               (!pair  "dont_vectorize"
                                (!type already_seen 9)
                                (!srcfileloc  "cfgloop.h" 188)
                                nil )
                               (!pair  "simduid"
                                (!type already_seen 5)
                                (!srcfileloc  "cfgloop.h" 193)
                                nil )
                               (!pair  "bounds"
                                (!type pointer 309 nil  gc_used
                                 (!type struct 310 
                                  (!type already_seen 309)
                                  gc_pointed_to "nb_iter_bound"
                                  (!srcfileloc  "cfgloop.h" 74)
                                  (!fields 4 
                                   (!pair  "stmt"
                                    (!type pointer 311 nil  gc_used
                                     (!type struct 312 
                                      (!type already_seen 311)
                                      gc_pointed_to "gimple_statement_base"
                                      (!srcfileloc  "gimple.h" 203)
                                      (!fields 15 
                                       (!pair  "code"
                                        (!type already_seen 9)
                                        (!srcfileloc  "gimple.h" 144)
                                        nil )
                                       (!pair  "no_warning"
                                        (!type already_seen 9)
                                        (!srcfileloc  "gimple.h" 147)
                                        nil )
                                       (!pair  "visited"
                                        (!type already_seen 9)
                                        (!srcfileloc  "gimple.h" 151)
                                        nil )
                                       (!pair  "nontemporal_move"
                                        (!type already_seen 9)
                                        (!srcfileloc  "gimple.h" 154)
                                        nil )
                                       (!pair  "plf"
                                        (!type already_seen 9)
                                        (!srcfileloc  "gimple.h" 161)
                                        nil )
                                       (!pair  "modified"
                                        (!type already_seen 9)
                                        (!srcfileloc  "gimple.h" 165)
                                        nil )
                                       (!pair  "has_volatile_ops"
                                        (!type already_seen 9)
                                        (!srcfileloc  "gimple.h" 168)
                                        nil )
                                       (!pair  "pad"
                                        (!type already_seen 9)
                                        (!srcfileloc  "gimple.h" 171)
                                        nil )
                                       (!pair  "subcode"
                                        (!type already_seen 9)
                                        (!srcfileloc  "gimple.h" 177)
                                        nil )
                                       (!pair  "uid"
                                        (!type already_seen 9)
                                        (!srcfileloc  "gimple.h" 182)
                                        nil )
                                       (!pair  "location"
                                        (!type already_seen 9)
                                        (!srcfileloc  "gimple.h" 186)
                                        nil )
                                       (!pair  "num_ops"
                                        (!type already_seen 9)
                                        (!srcfileloc  "gimple.h" 189)
                                        nil )
                                       (!pair  "bb"
                                        (!type already_seen 298)
                                        (!srcfileloc  "gimple.h" 193)
                                        nil )
                                       (!pair  "next"
                                        (!type already_seen 311)
                                        (!srcfileloc  "gimple.h" 201)
                                        nil )
                                       (!pair  "prev"
                                        (!type already_seen 311)
                                        (!srcfileloc  "gimple.h" 202)
                                        (!options 
                                         (!option skip string  "")
                                        )
                                       )
                                      )
                                      (!options 
                                       (!option variable_size string  "")
                                       (!option chain_next string  "%h.next")
                                       (!option tag string  "GSS_BASE")
                                       (!option desc string  "gimple_statement_structure (&%h)")
                                      )
                                      511 nil nil )
                                    )
                                    (!srcfileloc  "cfgloop.h" 56)
                                    nil )
                                   (!pair  "bound"
                                    (!type already_seen 9)
                                    (!srcfileloc  "cfgloop.h" 65)
                                    nil )
                                   (!pair  "is_exit"
                                    (!type already_seen 9)
                                    (!srcfileloc  "cfgloop.h" 70)
                                    nil )
                                   (!pair  "next"
                                    (!type already_seen 309)
                                    (!srcfileloc  "cfgloop.h" 73)
                                    nil )
                                  )
                                  (!options 
                                   (!option chain_next string  "%h.next")
                                  )
                                  511 nil nil )
                                )
                                (!srcfileloc  "cfgloop.h" 196)
                                nil )
                               (!pair  "control_ivs"
                                (!type pointer 313 nil  gc_used
                                 (!type struct 314 
                                  (!type already_seen 313)
                                  gc_pointed_to "control_iv"
                                  (!srcfileloc  "cfgloop.h" 109)
                                  (!fields 3 
                                   (!pair  "base"
                                    (!type already_seen 5)
                                    (!srcfileloc  "cfgloop.h" 106)
                                    nil )
                                   (!pair  "step"
                                    (!type already_seen 5)
                                    (!srcfileloc  "cfgloop.h" 107)
                                    nil )
                                   (!pair  "next"
                                    (!type already_seen 313)
                                    (!srcfileloc  "cfgloop.h" 108)
                                    nil )
                                  )
                                  (!options 
                                   (!option chain_next string  "%h.next")
                                  )
                                  511 nil nil )
                                )
                                (!srcfileloc  "cfgloop.h" 199)
                                nil )
                               (!pair  "exits"
                                (!type pointer 315 nil  gc_used
                                 (!type struct 316 
                                  (!type already_seen 315)
                                  gc_pointed_to "loop_exit"
                                  (!srcfileloc  "cfgloop.h" 88)
                                  (!fields 4 
                                   (!pair  "e"
                                    (!type already_seen 302)
                                    (!srcfileloc  "cfgloop.h" 80)
                                    nil )
                                   (!pair  "prev"
                                    (!type already_seen 315)
                                    (!srcfileloc  "cfgloop.h" 83)
                                    nil )
                                   (!pair  "next"
                                    (!type already_seen 315)
                                    (!srcfileloc  "cfgloop.h" 84)
                                    nil )
                                   (!pair  "next_e"
                                    (!type already_seen 315)
                                    (!srcfileloc  "cfgloop.h" 87)
                                    nil )
                                  )
                                  nil 511 nil nil )
                                )
                                (!srcfileloc  "cfgloop.h" 202)
                                nil )
                               (!pair  "simple_loop_desc"
                                (!type pointer 317 nil  gc_used
                                 (!type struct 318 
                                  (!type already_seen 317)
                                  gc_pointed_to "niter_desc"
                                  (!srcfileloc  "cfgloop.h" 453)
                                  (!fields 15 
                                   (!pair  "out_edge"
                                    (!type already_seen 302)
                                    (!srcfileloc  "cfgloop.h" 408)
                                    nil )
                                   (!pair  "in_edge"
                                    (!type already_seen 302)
                                    (!srcfileloc  "cfgloop.h" 411)
                                    nil )
                                   (!pair  "simple_p"
                                    (!type already_seen 9)
                                    (!srcfileloc  "cfgloop.h" 415)
                                    nil )
                                   (!pair  "const_iter"
                                    (!type already_seen 9)
                                    (!srcfileloc  "cfgloop.h" 418)
                                    nil )
                                   (!pair  "niter"
                                    (!type already_seen 9)
                                    (!srcfileloc  "cfgloop.h" 421)
                                    nil )
                                   (!pair  "assumptions"
                                    (!type already_seen 137)
                                    (!srcfileloc  "cfgloop.h" 424)
                                    nil )
                                   (!pair  "noloop_assumptions"
                                    (!type already_seen 137)
                                    (!srcfileloc  "cfgloop.h" 428)
                                    nil )
                                   (!pair  "infinite"
                                    (!type already_seen 137)
                                    (!srcfileloc  "cfgloop.h" 431)
                                    nil )
                                   (!pair  "signed_p"
                                    (!type already_seen 9)
                                    (!srcfileloc  "cfgloop.h" 434)
                                    nil )
                                   (!pair  "mode"
                                    (!type already_seen 9)
                                    (!srcfileloc  "cfgloop.h" 437)
                                    nil )
                                   (!pair  "niter_expr"
                                    (!type already_seen 137)
                                    (!srcfileloc  "cfgloop.h" 440)
                                    nil )
                                   (!pair  "num_branches"
                                    (!type already_seen 9)
                                    (!srcfileloc  "cfgloop.h" 443)
                                    nil )
                                   (!pair  "av_num_branches"
                                    (!type already_seen 9)
                                    (!srcfileloc  "cfgloop.h" 446)
                                    nil )
                                   (!pair  "has_call"
                                    (!type already_seen 9)
                                    (!srcfileloc  "cfgloop.h" 449)
                                    nil )
                                   (!pair  "has_fp"
                                    (!type already_seen 9)
                                    (!srcfileloc  "cfgloop.h" 452)
                                    nil )
                                  )
                                  nil 511 nil nil )
                                )
                                (!srcfileloc  "cfgloop.h" 205)
                                nil )
                               (!pair  "former_header"
                                (!type already_seen 298)
                                (!srcfileloc  "cfgloop.h" 211)
                                nil )
                              )
                              (!options 
                               (!option chain_next string  "%h.next")
                              )
                              511 nil nil )
                            )
                            (!srcfileloc  "basic-block.h" 176)
                            nil )
                           (!pair  "dom"
                            (!type array 319 nil  gc_unused "2" 
                             (!type pointer 320 nil  gc_unused
                              (!type struct 321 
                               (!type already_seen 320)
                               gc_unused "et_node"nil 
                               (!fields 0 )
                               nil 0 nil nil )
                             )
                            )
                            (!srcfileloc  "basic-block.h" 179)
                            (!options 
                             (!option skip string  "")
                            )
                           )
                           (!pair  "prev_bb"
                            (!type already_seen 298)
                            (!srcfileloc  "basic-block.h" 182)
                            nil )
                           (!pair  "next_bb"
                            (!type already_seen 298)
                            (!srcfileloc  "basic-block.h" 183)
                            nil )
                           (!pair  "il"
                            (!type union 322 nil  gc_used "basic_block_il_dependent"
                             (!srcfileloc  "basic-block.h" 191)
                             (!fields 2 
                              (!pair  "gimple"
                               (!type struct 323 nil  gc_used "gimple_bb_info"
                                (!srcfileloc  "basic-block.h" 139)
                                (!fields 2 
                                 (!pair  "seq"
                                  (!type already_seen 311)
                                  (!srcfileloc  "basic-block.h" 135)
                                  nil )
                                 (!pair  "phi_nodes"
                                  (!type already_seen 311)
                                  (!srcfileloc  "basic-block.h" 138)
                                  nil )
                                )
                                nil 511 nil nil )
                               (!srcfileloc  "basic-block.h" 186)
                               (!options 
                                (!option tag string  "0")
                               )
                              )
                              (!pair  "x"
                               (!type struct 324 nil  gc_used "anonymous:/var/tmp/portage/cross-aarch64-cros-linux-gnu/gcc-4.9.2-r278/work/gcc-4.9.2/gcc-4.9/gcc/basic-block.h:187"
                                (!srcfileloc  "basic-block.h" 190)
                                (!fields 2 
                                 (!pair  "head_"
                                  (!type already_seen 137)
                                  (!srcfileloc  "basic-block.h" 188)
                                  nil )
                                 (!pair  "rtl"
                                  (!type pointer 325 nil  gc_used
                                   (!type struct 326 
                                    (!type already_seen 325)
                                    gc_pointed_to "rtl_bb_info"
                                    (!srcfileloc  "basic-block.h" 131)
                                    (!fields 3 
                                     (!pair  "end_"
                                      (!type already_seen 137)
                                      (!srcfileloc  "basic-block.h" 125)
                                      nil )
                                     (!pair  "header_"
                                      (!type already_seen 137)
                                      (!srcfileloc  "basic-block.h" 129)
                                      nil )
                                     (!pair  "footer_"
                                      (!type already_seen 137)
                                      (!srcfileloc  "basic-block.h" 130)
                                      nil )
                                    )
                                    nil 511 nil nil )
                                  )
                                  (!srcfileloc  "basic-block.h" 189)
                                  nil )
                                )
                                nil 511 nil nil )
                               (!srcfileloc  "basic-block.h" 190)
                               (!options 
                                (!option tag string  "1")
                               )
                              )
                             )
                             nil 511 nil )
                            (!srcfileloc  "basic-block.h" 191)
                            (!options 
                             (!option desc string  "((%1.flags & BB_RTL) != 0)")
                            )
                           )
                           (!pair  "flags"
                            (!type already_seen 9)
                            (!srcfileloc  "basic-block.h" 194)
                            nil )
                           (!pair  "index"
                            (!type already_seen 9)
                            (!srcfileloc  "basic-block.h" 197)
                            nil )
                           (!pair  "count"
                            (!type already_seen 9)
                            (!srcfileloc  "basic-block.h" 200)
                            nil )
                           (!pair  "frequency"
                            (!type already_seen 9)
                            (!srcfileloc  "basic-block.h" 203)
                            nil )
                          )
                          (!options 
                           (!option chain_prev string  "%h.prev_bb")
                           (!option chain_next string  "%h.next_bb")
                          )
                          511 nil nil )
                        )
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[2].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "NOTE")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 327 nil  gc_used "rtx_def_code_label"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 8 
                       (!pair  ".fld[7].rt_str"
                        (!type already_seen 37)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[6].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[5].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[4].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[3].rt_bb"
                        (!type already_seen 298)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[2].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "CODE_LABEL")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 328 nil  gc_used "rtx_def_barrier"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 8 
                       (!pair  ".fld[7].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[6].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[5].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[4].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[3].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[2].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "BARRIER")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 329 nil  gc_used "rtx_def_jump_table_data"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 9 
                       (!pair  ".fld[8].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[7].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[6].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[5].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[4].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[3].rt_bb"
                        (!type already_seen 298)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[2].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "JUMP_TABLE_DATA")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 330 nil  gc_used "rtx_def_call_insn"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 9 
                       (!pair  ".fld[8].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[7].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[6].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[5].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[4].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[3].rt_bb"
                        (!type already_seen 298)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[2].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "CALL_INSN")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 331 nil  gc_used "rtx_def_jump_insn"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 9 
                       (!pair  ".fld[8].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[7].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[6].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[5].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[4].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[3].rt_bb"
                        (!type already_seen 298)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[2].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "JUMP_INSN")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 332 nil  gc_used "rtx_def_insn"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 8 
                       (!pair  ".fld[7].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[6].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[5].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[4].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[3].rt_bb"
                        (!type already_seen 298)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[2].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "INSN")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 333 nil  gc_used "rtx_def_debug_insn"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 8 
                       (!pair  ".fld[7].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[6].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[5].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[4].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[3].rt_bb"
                        (!type already_seen 298)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[2].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "DEBUG_INSN")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 334 nil  gc_used "rtx_def_address"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "ADDRESS")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 335 nil  gc_used "rtx_def_sequence"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtvec"
                        (!type already_seen 262)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "SEQUENCE")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 336 nil  gc_used "rtx_def_int_list"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "INT_LIST")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 337 nil  gc_used "rtx_def_insn_list"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "INSN_LIST")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 338 nil  gc_used "rtx_def_expr_list"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "EXPR_LIST")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 339 nil  gc_used "rtx_def_debug_expr"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_tree"
                        (!type already_seen 5)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "DEBUG_EXPR")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 340 nil  gc_used "rtx_def_value"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "VALUE")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 341 nil  gc_used "rtx_def_UnKnown"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "UNKNOWN")
                      (!option dot string  "")
                     )
                    )
                   )
                   (!options 
                    (!option dot string  "")
                   )
                   511 nil )
                  (!srcfileloc  "rtl.h" 346)
                  (!options 
                   (!option desc string  "GET_CODE (&%0)")
                   (!option special string  "rtx_def")
                  )
                 )
                )
                (!options 
                 (!option variable_size string  "")
                 (!option chain_prev string  "RTX_PREV (&%h)")
                 (!option chain_next string  "RTX_NEXT (&%h)")
                )
                511 nil nil )
              )
              (!srcfileloc  "tree-core.h" 1410)
              nil )
            )
            nil 511 nil nil )
           (!srcfileloc  "tree-core.h" 1622)
           (!options 
            (!option tag string  "TS_DECL_WRTL")
           )
          )
          (!pair  "decl_non_common"
           (!type struct 342 nil  gc_used "tree_decl_non_common"
            (!srcfileloc  "tree-core.h" 1494)
            (!fields 5 
             (!pair  "common"
              (!type struct 343 nil  gc_used "tree_decl_with_vis"
               (!srcfileloc  "tree-core.h" 1478)
               (!fields 22 
                (!pair  "common"
                 (!type already_seen 136)
                 (!srcfileloc  "tree-core.h" 1443)
                 nil )
                (!pair  "assembler_name"
                 (!type already_seen 5)
                 (!srcfileloc  "tree-core.h" 1444)
                 nil )
                (!pair  "section_name"
                 (!type already_seen 5)
                 (!srcfileloc  "tree-core.h" 1445)
                 nil )
                (!pair  "comdat_group"
                 (!type already_seen 5)
                 (!srcfileloc  "tree-core.h" 1446)
                 nil )
                (!pair  "defer_output"
                 (!type already_seen 9)
                 (!srcfileloc  "tree-core.h" 1449)
                 nil )
                (!pair  "hard_register"
                 (!type already_seen 9)
                 (!srcfileloc  "tree-core.h" 1450)
                 nil )
                (!pair  "common_flag"
                 (!type already_seen 9)
                 (!srcfileloc  "tree-core.h" 1451)
                 nil )
                (!pair  "in_text_section"
                 (!type already_seen 9)
                 (!srcfileloc  "tree-core.h" 1452)
                 nil )
                (!pair  "in_constant_pool"
                 (!type already_seen 9)
                 (!srcfileloc  "tree-core.h" 1453)
                 nil )
                (!pair  "dllimport_flag"
                 (!type already_seen 9)
                 (!srcfileloc  "tree-core.h" 1454)
                 nil )
                (!pair  "weak_flag"
                 (!type already_seen 9)
                 (!srcfileloc  "tree-core.h" 1456)
                 nil )
                (!pair  "implicit_section_name_p"
                 (!type already_seen 9)
                 (!srcfileloc  "tree-core.h" 1458)
                 nil )
                (!pair  "seen_in_bind_expr"
                 (!type already_seen 9)
                 (!srcfileloc  "tree-core.h" 1460)
                 nil )
                (!pair  "comdat_flag"
                 (!type already_seen 9)
                 (!srcfileloc  "tree-core.h" 1461)
                 nil )
                (!pair  "visibility"
                 (!type already_seen 9)
                 (!srcfileloc  "tree-core.h" 1462)
                 nil )
                (!pair  "visibility_specified"
                 (!type already_seen 9)
                 (!srcfileloc  "tree-core.h" 1463)
                 nil )
                (!pair  "tls_model"
                 (!type already_seen 9)
                 (!srcfileloc  "tree-core.h" 1465)
                 nil )
                (!pair  "init_priority_p"
                 (!type already_seen 9)
                 (!srcfileloc  "tree-core.h" 1468)
                 nil )
                (!pair  "shadowed_for_var_p"
                 (!type already_seen 9)
                 (!srcfileloc  "tree-core.h" 1470)
                 nil )
                (!pair  "cxx_constructor"
                 (!type already_seen 9)
                 (!srcfileloc  "tree-core.h" 1472)
                 nil )
                (!pair  "cxx_destructor"
                 (!type already_seen 9)
                 (!srcfileloc  "tree-core.h" 1474)
                 nil )
                (!pair  "final"
                 (!type already_seen 9)
                 (!srcfileloc  "tree-core.h" 1476)
                 nil )
               )
               nil 511 nil nil )
              (!srcfileloc  "tree-core.h" 1485)
              nil )
             (!pair  "saved_tree"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1487)
              nil )
             (!pair  "arguments"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1489)
              nil )
             (!pair  "result"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1491)
              nil )
             (!pair  "vindex"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1493)
              nil )
            )
            nil 511 nil nil )
           (!srcfileloc  "tree-core.h" 1624)
           (!options 
            (!option tag string  "TS_DECL_NON_COMMON")
           )
          )
          (!pair  "parm_decl"
           (!type struct 344 nil  gc_used "tree_parm_decl"
            (!srcfileloc  "tree-core.h" 1440)
            (!fields 2 
             (!pair  "common"
              (!type already_seen 136)
              (!srcfileloc  "tree-core.h" 1438)
              nil )
             (!pair  "incoming_rtl"
              (!type already_seen 137)
              (!srcfileloc  "tree-core.h" 1439)
              nil )
            )
            nil 511 nil nil )
           (!srcfileloc  "tree-core.h" 1625)
           (!options 
            (!option tag string  "TS_PARM_DECL")
           )
          )
          (!pair  "decl_with_vis"
           (!type already_seen 343)
           (!srcfileloc  "tree-core.h" 1626)
           (!options 
            (!option tag string  "TS_DECL_WITH_VIS")
           )
          )
          (!pair  "var_decl"
           (!type struct 345 nil  gc_used "tree_var_decl"
            (!srcfileloc  "tree-core.h" 1482)
            (!fields 1 
             (!pair  "common"
              (!type already_seen 343)
              (!srcfileloc  "tree-core.h" 1481)
              nil )
            )
            nil 511 nil nil )
           (!srcfileloc  "tree-core.h" 1627)
           (!options 
            (!option tag string  "TS_VAR_DECL")
           )
          )
          (!pair  "field_decl"
           (!type struct 346 nil  gc_used "tree_field_decl"
            (!srcfileloc  "tree-core.h" 1421)
            (!fields 6 
             (!pair  "common"
              (!type already_seen 39)
              (!srcfileloc  "tree-core.h" 1414)
              nil )
             (!pair  "offset"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1416)
              nil )
             (!pair  "bit_field_type"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1417)
              nil )
             (!pair  "qualifier"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1418)
              nil )
             (!pair  "bit_offset"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1419)
              nil )
             (!pair  "fcontext"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1420)
              nil )
            )
            nil 511 nil nil )
           (!srcfileloc  "tree-core.h" 1628)
           (!options 
            (!option tag string  "TS_FIELD_DECL")
           )
          )
          (!pair  "label_decl"
           (!type struct 347 nil  gc_used "tree_label_decl"
            (!srcfileloc  "tree-core.h" 1427)
            (!fields 3 
             (!pair  "common"
              (!type already_seen 136)
              (!srcfileloc  "tree-core.h" 1424)
              nil )
             (!pair  "label_decl_uid"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1425)
              nil )
             (!pair  "eh_landing_pad_nr"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1426)
              nil )
            )
            nil 511 nil nil )
           (!srcfileloc  "tree-core.h" 1629)
           (!options 
            (!option tag string  "TS_LABEL_DECL")
           )
          )
          (!pair  "result_decl"
           (!type struct 348 nil  gc_used "tree_result_decl"
            (!srcfileloc  "tree-core.h" 1431)
            (!fields 1 
             (!pair  "common"
              (!type already_seen 136)
              (!srcfileloc  "tree-core.h" 1430)
              nil )
            )
            nil 511 nil nil )
           (!srcfileloc  "tree-core.h" 1630)
           (!options 
            (!option tag string  "TS_RESULT_DECL")
           )
          )
          (!pair  "const_decl"
           (!type struct 349 nil  gc_used "tree_const_decl"
            (!srcfileloc  "tree-core.h" 1435)
            (!fields 1 
             (!pair  "common"
              (!type already_seen 39)
              (!srcfileloc  "tree-core.h" 1434)
              nil )
            )
            nil 511 nil nil )
           (!srcfileloc  "tree-core.h" 1631)
           (!options 
            (!option tag string  "TS_CONST_DECL")
           )
          )
          (!pair  "type_decl"
           (!type struct 350 nil  gc_used "tree_type_decl"
            (!srcfileloc  "tree-core.h" 1555)
            (!fields 1 
             (!pair  "common"
              (!type already_seen 342)
              (!srcfileloc  "tree-core.h" 1553)
              nil )
            )
            nil 511 nil nil )
           (!srcfileloc  "tree-core.h" 1632)
           (!options 
            (!option tag string  "TS_TYPE_DECL")
           )
          )
          (!pair  "function_decl"
           (!type struct 351 nil  gc_used "tree_function_decl"
            (!srcfileloc  "tree-core.h" 1542)
            (!fields 26 
             (!pair  "common"
              (!type already_seen 342)
              (!srcfileloc  "tree-core.h" 1502)
              nil )
             (!pair  "f"
              (!type pointer 352 nil  gc_used
               (!type struct 353 
                (!type already_seen 352)
                gc_pointed_to "function"
                (!srcfileloc  "function.h" 691)
                (!fields 45 
                 (!pair  "eh"
                  (!type pointer 354 nil  gc_used
                   (!type struct 355 
                    (!type already_seen 354)
                    gc_pointed_to "eh_status"
                    (!srcfileloc  "except.h" 221)
                    (!fields 6 
                     (!pair  "region_tree"
                      (!type pointer 356 nil  gc_used
                       (!type struct 357 
                        (!type already_seen 356)
                        gc_pointed_to "eh_region_d"
                        (!srcfileloc  "except.h" 183)
                        (!fields 10 
                         (!pair  "outer"
                          (!type already_seen 356)
                          (!srcfileloc  "except.h" 124)
                          nil )
                         (!pair  "inner"
                          (!type already_seen 356)
                          (!srcfileloc  "except.h" 127)
                          nil )
                         (!pair  "next_peer"
                          (!type already_seen 356)
                          (!srcfileloc  "except.h" 128)
                          nil )
                         (!pair  "index"
                          (!type already_seen 9)
                          (!srcfileloc  "except.h" 131)
                          nil )
                         (!pair  "type"
                          (!type already_seen 9)
                          (!srcfileloc  "except.h" 134)
                          nil )
                         (!pair  "u"
                          (!type union 358 nil  gc_used "eh_region_u"
                           (!srcfileloc  "except.h" 170)
                           (!fields 3 
                            (!pair  "eh_try"
                             (!type struct 359 nil  gc_used "eh_region_u_try"
                              (!srcfileloc  "except.h" 142)
                              (!fields 2 
                               (!pair  "first_catch"
                                (!type pointer 360 nil  gc_used
                                 (!type struct 361 
                                  (!type already_seen 360)
                                  gc_pointed_to "eh_catch_d"
                                  (!srcfileloc  "except.h" 117)
                                  (!fields 5 
                                   (!pair  "next_catch"
                                    (!type already_seen 360)
                                    (!srcfileloc  "except.h" 101)
                                    nil )
                                   (!pair  "prev_catch"
                                    (!type already_seen 360)
                                    (!srcfileloc  "except.h" 102)
                                    nil )
                                   (!pair  "type_list"
                                    (!type already_seen 5)
                                    (!srcfileloc  "except.h" 106)
                                    nil )
                                   (!pair  "filter_list"
                                    (!type already_seen 5)
                                    (!srcfileloc  "except.h" 111)
                                    nil )
                                   (!pair  "label"
                                    (!type already_seen 5)
                                    (!srcfileloc  "except.h" 116)
                                    nil )
                                  )
                                  nil 511 nil nil )
                                )
                                (!srcfileloc  "except.h" 140)
                                nil )
                               (!pair  "last_catch"
                                (!type already_seen 360)
                                (!srcfileloc  "except.h" 141)
                                nil )
                              )
                              nil 511 nil nil )
                             (!srcfileloc  "except.h" 142)
                             (!options 
                              (!option tag string  "ERT_TRY")
                             )
                            )
                            (!pair  "allowed"
                             (!type struct 362 nil  gc_used "eh_region_u_allowed"
                              (!srcfileloc  "except.h" 156)
                              (!fields 3 
                               (!pair  "type_list"
                                (!type already_seen 5)
                                (!srcfileloc  "except.h" 146)
                                nil )
                               (!pair  "label"
                                (!type already_seen 5)
                                (!srcfileloc  "except.h" 150)
                                nil )
                               (!pair  "filter"
                                (!type already_seen 9)
                                (!srcfileloc  "except.h" 155)
                                nil )
                              )
                              nil 511 nil nil )
                             (!srcfileloc  "except.h" 156)
                             (!options 
                              (!option tag string  "ERT_ALLOWED_EXCEPTIONS")
                             )
                            )
                            (!pair  "must_not_throw"
                             (!type struct 363 nil  gc_used "eh_region_u_must_not_throw"
                              (!srcfileloc  "except.h" 169)
                              (!fields 2 
                               (!pair  "failure_decl"
                                (!type already_seen 5)
                                (!srcfileloc  "except.h" 166)
                                nil )
                               (!pair  "failure_loc"
                                (!type already_seen 9)
                                (!srcfileloc  "except.h" 168)
                                nil )
                              )
                              nil 511 nil nil )
                             (!srcfileloc  "except.h" 169)
                             (!options 
                              (!option tag string  "ERT_MUST_NOT_THROW")
                             )
                            )
                           )
                           nil 511 nil )
                          (!srcfileloc  "except.h" 170)
                          (!options 
                           (!option desc string  "%0.type")
                          )
                         )
                         (!pair  "landing_pads"
                          (!type pointer 364 nil  gc_used
                           (!type struct 365 
                            (!type already_seen 364)
                            gc_pointed_to "eh_landing_pad_d"
                            (!srcfileloc  "except.h" 94)
                            (!fields 5 
                             (!pair  "next_lp"
                              (!type already_seen 364)
                              (!srcfileloc  "except.h" 75)
                              nil )
                             (!pair  "region"
                              (!type already_seen 356)
                              (!srcfileloc  "except.h" 78)
                              nil )
                             (!pair  "post_landing_pad"
                              (!type already_seen 5)
                              (!srcfileloc  "except.h" 83)
                              nil )
                             (!pair  "landing_pad"
                              (!type already_seen 137)
                              (!srcfileloc  "except.h" 90)
                              nil )
                             (!pair  "index"
                              (!type already_seen 9)
                              (!srcfileloc  "except.h" 93)
                              nil )
                            )
                            nil 511 nil nil )
                          )
                          (!srcfileloc  "except.h" 173)
                          nil )
                         (!pair  "exc_ptr_reg"
                          (!type already_seen 137)
                          (!srcfileloc  "except.h" 178)
                          nil )
                         (!pair  "filter_reg"
                          (!type already_seen 137)
                          (!srcfileloc  "except.h" 178)
                          nil )
                         (!pair  "use_cxa_end_cleanup"
                          (!type already_seen 9)
                          (!srcfileloc  "except.h" 182)
                          nil )
                        )
                        nil 511 nil nil )
                      )
                      (!srcfileloc  "except.h" 197)
                      nil )
                     (!pair  "region_array"
                      (!type pointer 366 nil  gc_used
                       (!type user_struct 367 
                        (!type already_seen 366)
                        gc_pointed_to "vec<eh_region,va_gc>"
                        (!srcfileloc  "except.h" 200)
                        (!fields 2 
                         (!pair  "va_gc"
                          (!type already_seen 3)
                          (!srcfileloc  "except.h" 200)
                          nil )
                         (!pair  "eh_region"
                          (!type already_seen 356)
                          (!srcfileloc  "except.h" 200)
                          nil )
                        )
                       )
                      )
                      (!srcfileloc  "except.h" 200)
                      nil )
                     (!pair  "lp_array"
                      (!type pointer 368 nil  gc_used
                       (!type user_struct 369 
                        (!type already_seen 368)
                        gc_pointed_to "vec<eh_landing_pad,va_gc>"
                        (!srcfileloc  "except.h" 203)
                        (!fields 2 
                         (!pair  "va_gc"
                          (!type already_seen 3)
                          (!srcfileloc  "except.h" 203)
                          nil )
                         (!pair  "eh_landing_pad"
                          (!type already_seen 364)
                          (!srcfileloc  "except.h" 203)
                          nil )
                        )
                       )
                      )
                      (!srcfileloc  "except.h" 203)
                      nil )
                     (!pair  "throw_stmt_table"
                      (!type pointer 370 nil  gc_used
                       (!type param_struct 371 
                        (!type already_seen 370)
                        gc_pointed_to
                        (!type already_seen 50)
                        
                        (!type pointer 372 nil  gc_used
                         (!type struct 373 
                          (!type already_seen 372)
                          gc_pointed_to "throw_stmt_node"
                          (!srcfileloc  "except.h" 292)
                          (!fields 2 
                           (!pair  "stmt"
                            (!type already_seen 311)
                            (!srcfileloc  "except.h" 290)
                            nil )
                           (!pair  "lp_nr"
                            (!type already_seen 9)
                            (!srcfileloc  "except.h" 291)
                            nil )
                          )
                          nil 511 nil nil )
                        )
                        nil nil nil nil nil nil nil nil nil nil )
                      )
                      (!srcfileloc  "except.h" 207)
                      (!options 
                       (!option param_is type 
                        (!type already_seen 373)
                       )
                      )
                     )
                     (!pair  "ttype_data"
                      (!type already_seen 46)
                      (!srcfileloc  "except.h" 211)
                      nil )
                     (!pair  "ehspec_data"
                      (!type union 374 nil  gc_used "eh_status_u"
                       (!srcfileloc  "except.h" 220)
                       (!fields 2 
                        (!pair  "arm_eabi"
                         (!type already_seen 46)
                         (!srcfileloc  "except.h" 218)
                         (!options 
                          (!option tag string  "1")
                         )
                        )
                        (!pair  "other"
                         (!type pointer 375 nil  gc_used
                          (!type user_struct 376 
                           (!type already_seen 375)
                           gc_pointed_to "vec<uchar,va_gc>"
                           (!srcfileloc  "function.h" 152)
                           (!fields 2 
                            (!pair  "va_gc"
                             (!type already_seen 3)
                             (!srcfileloc  "function.h" 152)
                             nil )
                            (!pair  "uchar"
                             (!type already_seen 29)
                             (!srcfileloc  "function.h" 152)
                             nil )
                           )
                          )
                         )
                         (!srcfileloc  "except.h" 219)
                         (!options 
                          (!option tag string  "0")
                         )
                        )
                       )
                       nil 511 nil )
                      (!srcfileloc  "except.h" 220)
                      (!options 
                       (!option desc string  "targetm.arm_eabi_unwinder")
                      )
                     )
                    )
                    nil 511 nil nil )
                  )
                  (!srcfileloc  "function.h" 530)
                  nil )
                 (!pair  "cfg"
                  (!type pointer 377 nil  gc_used
                   (!type struct 378 
                    (!type already_seen 377)
                    gc_pointed_to "control_flow_graph"
                    (!srcfileloc  "basic-block.h" 306)
                    (!fields 12 
                     (!pair  "x_entry_block_ptr"
                      (!type already_seen 298)
                      (!srcfileloc  "basic-block.h" 273)
                      nil )
                     (!pair  "x_exit_block_ptr"
                      (!type already_seen 298)
                      (!srcfileloc  "basic-block.h" 274)
                      nil )
                     (!pair  "x_basic_block_info"
                      (!type pointer 379 nil  gc_used
                       (!type user_struct 380 
                        (!type already_seen 379)
                        gc_pointed_to "vec<basic_block,va_gc>"
                        (!srcfileloc  "basic-block.h" 277)
                        (!fields 2 
                         (!pair  "va_gc"
                          (!type already_seen 3)
                          (!srcfileloc  "basic-block.h" 277)
                          nil )
                         (!pair  "basic_block"
                          (!type already_seen 298)
                          (!srcfileloc  "basic-block.h" 277)
                          nil )
                        )
                       )
                      )
                      (!srcfileloc  "basic-block.h" 277)
                      nil )
                     (!pair  "x_n_basic_blocks"
                      (!type already_seen 9)
                      (!srcfileloc  "basic-block.h" 280)
                      nil )
                     (!pair  "x_n_edges"
                      (!type already_seen 9)
                      (!srcfileloc  "basic-block.h" 283)
                      nil )
                     (!pair  "x_last_basic_block"
                      (!type already_seen 9)
                      (!srcfileloc  "basic-block.h" 286)
                      nil )
                     (!pair  "last_label_uid"
                      (!type already_seen 9)
                      (!srcfileloc  "basic-block.h" 289)
                      nil )
                     (!pair  "x_label_to_block_map"
                      (!type already_seen 379)
                      (!srcfileloc  "basic-block.h" 293)
                      nil )
                     (!pair  "x_profile_status"
                      (!type already_seen 9)
                      (!srcfileloc  "basic-block.h" 295)
                      nil )
                     (!pair  "x_dom_computed"
                      (!type array 381 nil  gc_used "2" 
                       (!type already_seen 9)
                      )
                      (!srcfileloc  "basic-block.h" 298)
                      nil )
                     (!pair  "x_n_bbs_in_dom_tree"
                      (!type array 382 nil  gc_used "2" 
                       (!type already_seen 9)
                      )
                      (!srcfileloc  "basic-block.h" 301)
                      nil )
                     (!pair  "max_jumptable_ents"
                      (!type already_seen 9)
                      (!srcfileloc  "basic-block.h" 305)
                      nil )
                    )
                    nil 511 nil nil )
                  )
                  (!srcfileloc  "function.h" 533)
                  nil )
                 (!pair  "gimple_body"
                  (!type already_seen 311)
                  (!srcfileloc  "function.h" 536)
                  nil )
                 (!pair  "gimple_df"
                  (!type pointer 383 nil  gc_used
                   (!type struct 384 
                    (!type already_seen 383)
                    gc_pointed_to "gimple_df"
                    (!srcfileloc  "gimple-ssa.h" 84)
                    (!fields 13 
                     (!pair  "modified_noreturn_calls"
                      (!type pointer 385 nil  gc_used
                       (!type user_struct 386 
                        (!type already_seen 385)
                        gc_pointed_to "vec<gimple,va_gc>"
                        (!srcfileloc  "gimple-ssa.h" 43)
                        (!fields 2 
                         (!pair  "va_gc"
                          (!type already_seen 3)
                          (!srcfileloc  "gimple-ssa.h" 43)
                          nil )
                         (!pair  "gimple"
                          (!type already_seen 311)
                          (!srcfileloc  "gimple-ssa.h" 43)
                          nil )
                        )
                       )
                      )
                      (!srcfileloc  "gimple-ssa.h" 43)
                      nil )
                     (!pair  "ssa_names"
                      (!type already_seen 46)
                      (!srcfileloc  "gimple-ssa.h" 46)
                      nil )
                     (!pair  "vop"
                      (!type already_seen 5)
                      (!srcfileloc  "gimple-ssa.h" 49)
                      nil )
                     (!pair  "escaped"
                      (!type struct 387 nil  gc_used "pt_solution"
                       (!srcfileloc  "tree-ssa-alias.h" 61)
                       (!fields 9 
                        (!pair  "anything"
                         (!type already_seen 9)
                         (!srcfileloc  "tree-ssa-alias.h" 32)
                         nil )
                        (!pair  "nonlocal"
                         (!type already_seen 9)
                         (!srcfileloc  "tree-ssa-alias.h" 36)
                         nil )
                        (!pair  "escaped"
                         (!type already_seen 9)
                         (!srcfileloc  "tree-ssa-alias.h" 40)
                         nil )
                        (!pair  "ipa_escaped"
                         (!type already_seen 9)
                         (!srcfileloc  "tree-ssa-alias.h" 44)
                         nil )
                        (!pair  "null"
                         (!type already_seen 9)
                         (!srcfileloc  "tree-ssa-alias.h" 48)
                         nil )
                        (!pair  "vars_contains_nonlocal"
                         (!type already_seen 9)
                         (!srcfileloc  "tree-ssa-alias.h" 52)
                         nil )
                        (!pair  "vars_contains_escaped"
                         (!type already_seen 9)
                         (!srcfileloc  "tree-ssa-alias.h" 54)
                         nil )
                        (!pair  "vars_contains_escaped_heap"
                         (!type already_seen 9)
                         (!srcfileloc  "tree-ssa-alias.h" 57)
                         nil )
                        (!pair  "vars"
                         (!type already_seen 121)
                         (!srcfileloc  "tree-ssa-alias.h" 60)
                         nil )
                       )
                       nil 511 nil nil )
                      (!srcfileloc  "gimple-ssa.h" 52)
                      nil )
                     (!pair  "decls_to_pointers"
                      (!type pointer 388 nil  gc_used
                       (!type struct 389 
                        (!type already_seen 388)
                        gc_pointed_to "pointer_map_t"
                        (!srcfileloc  "lto-streamer.h" 569)
                        (!fields 0 )
                        nil 511 nil nil )
                      )
                      (!srcfileloc  "gimple-ssa.h" 56)
                      (!options 
                       (!option skip string  "")
                      )
                     )
                     (!pair  "free_ssanames"
                      (!type already_seen 46)
                      (!srcfileloc  "gimple-ssa.h" 59)
                      nil )
                     (!pair  "default_defs"
                      (!type already_seen 54)
                      (!srcfileloc  "gimple-ssa.h" 65)
                      (!options 
                       (!option param_is type 
                        (!type already_seen 7)
                       )
                      )
                     )
                     (!pair  "ssa_renaming_needed"
                      (!type already_seen 9)
                      (!srcfileloc  "gimple-ssa.h" 68)
                      nil )
                     (!pair  "rename_vops"
                      (!type already_seen 9)
                      (!srcfileloc  "gimple-ssa.h" 71)
                      nil )
                     (!pair  "in_ssa_p"
                      (!type already_seen 9)
                      (!srcfileloc  "gimple-ssa.h" 74)
                      nil )
                     (!pair  "ipa_pta"
                      (!type already_seen 9)
                      (!srcfileloc  "gimple-ssa.h" 77)
                      nil )
                     (!pair  "ssa_operands"
                      (!type struct 390 nil  gc_used "ssa_operands"
                       (!srcfileloc  "tree-ssa-operands.h" 63)
                       (!fields 5 
                        (!pair  "operand_memory"
                         (!type pointer 391 nil  gc_used
                          (!type struct 392 
                           (!type already_seen 391)
                           gc_pointed_to "ssa_operand_memory_d"
                           (!srcfileloc  "tree-ssa-operands.h" 51)
                           (!fields 2 
                            (!pair  "next"
                             (!type already_seen 391)
                             (!srcfileloc  "tree-ssa-operands.h" 49)
                             nil )
                            (!pair  "mem"
                             (!type array 393 nil  gc_used "1" 
                              (!type already_seen 29)
                             )
                             (!srcfileloc  "tree-ssa-operands.h" 50)
                             nil )
                           )
                           (!options 
                            (!option variable_size string  "")
                            (!option chain_next string  "%h.next")
                           )
                           511 nil nil )
                         )
                         (!srcfileloc  "tree-ssa-operands.h" 55)
                         nil )
                        (!pair  "operand_memory_index"
                         (!type already_seen 9)
                         (!srcfileloc  "tree-ssa-operands.h" 56)
                         nil )
                        (!pair  "ssa_operand_mem_size"
                         (!type already_seen 9)
                         (!srcfileloc  "tree-ssa-operands.h" 58)
                         nil )
                        (!pair  "ops_active"
                         (!type already_seen 9)
                         (!srcfileloc  "tree-ssa-operands.h" 60)
                         nil )
                        (!pair  "free_uses"
                         (!type pointer 394 nil  gc_unused
                          (!type struct 395 
                           (!type already_seen 394)
                           gc_unused "use_optype_d"nil 
                           (!fields 0 )
                           nil 0 nil nil )
                         )
                         (!srcfileloc  "tree-ssa-operands.h" 62)
                         (!options 
                          (!option skip string  "")
                         )
                        )
                       )
                       nil 511 nil nil )
                      (!srcfileloc  "gimple-ssa.h" 79)
                      nil )
                     (!pair  "tm_restart"
                      (!type pointer 396 nil  gc_used
                       (!type param_struct 397 
                        (!type already_seen 396)
                        gc_pointed_to
                        (!type already_seen 50)
                        
                        (!type pointer 398 nil  gc_used
                         (!type struct 399 
                          (!type already_seen 398)
                          gc_pointed_to "tm_restart_node"
                          (!srcfileloc  "gimple-ssa.h" 32)
                          (!fields 2 
                           (!pair  "stmt"
                            (!type already_seen 311)
                            (!srcfileloc  "gimple-ssa.h" 30)
                            nil )
                           (!pair  "label_or_list"
                            (!type already_seen 5)
                            (!srcfileloc  "gimple-ssa.h" 31)
                            nil )
                          )
                          nil 511 nil nil )
                        )
                        nil nil nil nil nil nil nil nil nil nil )
                      )
                      (!srcfileloc  "gimple-ssa.h" 83)
                      (!options 
                       (!option param_is type 
                        (!type already_seen 399)
                       )
                      )
                     )
                    )
                    nil 511 nil nil )
                  )
                  (!srcfileloc  "function.h" 539)
                  nil )
                 (!pair  "x_current_loops"
                  (!type pointer 400 nil  gc_used
                   (!type struct 401 
                    (!type already_seen 400)
                    gc_pointed_to "loops"
                    (!srcfileloc  "cfgloop.h" 246)
                    (!fields 4 
                     (!pair  "state"
                      (!type already_seen 9)
                      (!srcfileloc  "cfgloop.h" 234)
                      nil )
                     (!pair  "larray"
                      (!type already_seen 307)
                      (!srcfileloc  "cfgloop.h" 237)
                      nil )
                     (!pair  "exits"
                      (!type pointer 402 nil  gc_used
                       (!type param_struct 403 
                        (!type already_seen 402)
                        gc_pointed_to
                        (!type already_seen 50)
                        
                        (!type already_seen 315)
                        nil nil nil nil nil nil nil nil nil nil )
                      )
                      (!srcfileloc  "cfgloop.h" 242)
                      (!options 
                       (!option param_is type 
                        (!type already_seen 316)
                       )
                      )
                     )
                     (!pair  "tree_root"
                      (!type already_seen 304)
                      (!srcfileloc  "cfgloop.h" 245)
                      nil )
                    )
                    nil 511 nil nil )
                  )
                  (!srcfileloc  "function.h" 542)
                  nil )
                 (!pair  "su"
                  (!type pointer 404 nil  gc_used
                   (!type struct 405 
                    (!type already_seen 404)
                    gc_pointed_to "stack_usage"
                    (!srcfileloc  "function.h" 515)
                    (!fields 4 
                     (!pair  "static_stack_size"
                      (!type already_seen 9)
                      (!srcfileloc  "function.h" 502)
                      nil )
                     (!pair  "dynamic_stack_size"
                      (!type already_seen 9)
                      (!srcfileloc  "function.h" 506)
                      nil )
                     (!pair  "pushed_stack_size"
                      (!type already_seen 9)
                      (!srcfileloc  "function.h" 510)
                      nil )
                     (!pair  "has_unbounded_dynamic_stack_size"
                      (!type already_seen 9)
                      (!srcfileloc  "function.h" 514)
                      nil )
                    )
                    nil 511 nil nil )
                  )
                  (!srcfileloc  "function.h" 545)
                  nil )
                 (!pair  "value_histograms"
                  (!type already_seen 51)
                  (!srcfileloc  "function.h" 548)
                  (!options 
                   (!option skip string  "")
                  )
                 )
                 (!pair  "decl"
                  (!type already_seen 5)
                  (!srcfileloc  "function.h" 553)
                  nil )
                 (!pair  "static_chain_decl"
                  (!type already_seen 5)
                  (!srcfileloc  "function.h" 557)
                  nil )
                 (!pair  "nonlocal_goto_save_area"
                  (!type already_seen 5)
                  (!srcfileloc  "function.h" 562)
                  nil )
                 (!pair  "local_decls"
                  (!type already_seen 46)
                  (!srcfileloc  "function.h" 565)
                  nil )
                 (!pair  "cilk_frame_decl"
                  (!type already_seen 5)
                  (!srcfileloc  "function.h" 568)
                  nil )
                 (!pair  "machine"
                  (!type pointer 406 nil  gc_unused
                   (!type struct 407 
                    (!type already_seen 406)
                    gc_maybe_pointed_to "machine_function"
                    (!srcfileloc  "config/aarch64/aarch64.h" 545)
                    (!fields 2 
                     (!pair  "frame"
                      (!type struct 408 nil  gc_used "aarch64_frame"
                       (!srcfileloc  "config/aarch64/aarch64.h" 535)
                       (!fields 6 
                        (!pair  "reg_offset"
                         (!type array 409 nil  gc_used "FIRST_PSEUDO_REGISTER" 
                          (!type already_seen 9)
                         )
                         (!srcfileloc  "config/aarch64/aarch64.h" 526)
                         nil )
                        (!pair  "saved_regs_size"
                         (!type already_seen 9)
                         (!srcfileloc  "config/aarch64/aarch64.h" 527)
                         nil )
                        (!pair  "padding0"
                         (!type already_seen 9)
                         (!srcfileloc  "config/aarch64/aarch64.h" 530)
                         nil )
                        (!pair  "hardfp_offset"
                         (!type already_seen 9)
                         (!srcfileloc  "config/aarch64/aarch64.h" 531)
                         nil )
                        (!pair  "fp_lr_offset"
                         (!type already_seen 9)
                         (!srcfileloc  "config/aarch64/aarch64.h" 532)
                         nil )
                        (!pair  "laid_out"
                         (!type already_seen 9)
                         (!srcfileloc  "config/aarch64/aarch64.h" 534)
                         nil )
                       )
                       nil 511 nil nil )
                      (!srcfileloc  "config/aarch64/aarch64.h" 539)
                      nil )
                     (!pair  "saved_varargs_size"
                      (!type already_seen 9)
                      (!srcfileloc  "config/aarch64/aarch64.h" 543)
                      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-aarch64-cros-linux-gnu/gcc-4.9.2-r278/work/gcc-4.9.2/gcc-4.9/gcc/dwarf2out.h:47"
                               (!srcfileloc  "dwarf2out.h" 52)
                               (!fields 4 
                                (!pair  "dw_cfi_reg_num"
                                 (!type already_seen 9)
                                 (!srcfileloc  "dwarf2out.h" 48)
                                 (!options 
                                  (!option tag string  "dw_cfi_oprnd_reg_num")
                                 )
                                )
                                (!pair  "dw_cfi_offset"
                                 (!type already_seen 9)
                                 (!srcfileloc  "dwarf2out.h" 49)
                                 (!options 
                                  (!option tag string  "dw_cfi_oprnd_offset")
                                 )
                                )
                                (!pair  "dw_cfi_addr"
                                 (!type already_seen 37)
                                 (!srcfileloc  "dwarf2out.h" 50)
                                 (!options 
                                  (!option tag string  "dw_cfi_oprnd_addr")
                                 )
                                )
                                (!pair  "dw_cfi_loc"
                                 (!type pointer 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-aarch64-cros-linux-gnu/gcc-4.9.2-r278/work/gcc-4.9.2/gcc-4.9/gcc/tree-core.h:1188"
                  (!srcfileloc  "tree-core.h" 1188)
                  (!fields 2 
                   (!pair  "stmt"
                    (!type already_seen 311)
                    (!srcfileloc  "tree-core.h" 1188)
                    nil )
                   (!pair  "ssa_name"
                    (!type already_seen 5)
                    (!srcfileloc  "tree-core.h" 1188)
                    nil )
                  )
                  nil 511 nil )
                 (!srcfileloc  "tree-core.h" 1188)
                 (!options 
                  (!option skip string  "")
                 )
                )
                (!pair  "use"
                 (!type already_seen 6)
                 (!srcfileloc  "tree-core.h" 1189)
                 (!options 
                  (!option skip string  "")
                 )
                )
               )
               nil 511 nil nil )
              (!srcfileloc  "tree-core.h" 1211)
              nil )
            )
            nil 511 nil nil )
           (!srcfileloc  "tree-core.h" 1644)
           (!options 
            (!option tag string  "TS_SSA_NAME")
           )
          )
          (!pair  "block"
           (!type struct 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" 4140)
               (!fields 201 
                (!pair  "x_align_functions"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3939)
                 nil )
                (!pair  "x_align_jumps"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3940)
                 nil )
                (!pair  "x_align_labels"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3941)
                 nil )
                (!pair  "x_align_loops"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3942)
                 nil )
                (!pair  "x_flag_profile_gen_atomic"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3943)
                 nil )
                (!pair  "x_flag_sched_stalled_insns"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3944)
                 nil )
                (!pair  "x_flag_sched_stalled_insns_dep"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3945)
                 nil )
                (!pair  "x_flag_fp_contract_mode"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3946)
                 nil )
                (!pair  "x_optimize"
                 (!type already_seen 29)
                 (!fileloc  "options.h" 3947)
                 nil )
                (!pair  "x_optimize_size"
                 (!type already_seen 29)
                 (!fileloc  "options.h" 3948)
                 nil )
                (!pair  "x_flag_aggressive_loop_optimizations"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3949)
                 nil )
                (!pair  "x_flag_asynchronous_unwind_tables"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3950)
                 nil )
                (!pair  "x_flag_auto_profile"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3951)
                 nil )
                (!pair  "x_flag_auto_profile_accurate"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3952)
                 nil )
                (!pair  "x_flag_auto_profile_record_coverage_in_elf"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3953)
                 nil )
                (!pair  "x_flag_branch_on_count_reg"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3954)
                 nil )
                (!pair  "x_flag_branch_probabilities"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3955)
                 nil )
                (!pair  "x_flag_branch_target_load_optimize"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3956)
                 nil )
                (!pair  "x_flag_branch_target_load_optimize2"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3957)
                 nil )
                (!pair  "x_flag_btr_bb_exclusive"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3958)
                 nil )
                (!pair  "x_flag_caller_saves"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3959)
                 nil )
                (!pair  "x_flag_combine_stack_adjustments"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3960)
                 nil )
                (!pair  "x_flag_no_common"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3961)
                 nil )
                (!pair  "x_flag_compare_elim_after_reload"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3962)
                 nil )
                (!pair  "x_flag_conserve_stack"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3963)
                 nil )
                (!pair  "x_flag_cprop_registers"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3964)
                 nil )
                (!pair  "x_flag_crossjumping"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3965)
                 nil )
                (!pair  "x_flag_cse_follow_jumps"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3966)
                 nil )
                (!pair  "x_flag_cx_fortran_rules"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3967)
                 nil )
                (!pair  "x_flag_cx_limited_range"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3968)
                 nil )
                (!pair  "x_flag_data_sections"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3969)
                 nil )
                (!pair  "x_flag_dce"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3970)
                 nil )
                (!pair  "x_flag_default_noexcept"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3971)
                 nil )
                (!pair  "x_flag_defer_pop"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3972)
                 nil )
                (!pair  "x_flag_delayed_branch"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3973)
                 nil )
                (!pair  "x_flag_delete_null_pointer_checks"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3974)
                 nil )
                (!pair  "x_flag_devirtualize"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3975)
                 nil )
                (!pair  "x_flag_devirtualize_speculatively"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3976)
                 nil )
                (!pair  "x_flag_dse"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3977)
                 nil )
                (!pair  "x_flag_early_inlining"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3978)
                 nil )
                (!pair  "x_flag_exceptions"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3979)
                 nil )
                (!pair  "x_flag_expensive_optimizations"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3980)
                 nil )
                (!pair  "x_flag_finite_math_only"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3981)
                 nil )
                (!pair  "x_flag_float_store"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3982)
                 nil )
                (!pair  "x_flag_forward_propagate"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3983)
                 nil )
                (!pair  "x_flag_gcse"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3984)
                 nil )
                (!pair  "x_flag_gcse_after_reload"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3985)
                 nil )
                (!pair  "x_flag_gcse_las"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3986)
                 nil )
                (!pair  "x_flag_gcse_lm"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3987)
                 nil )
                (!pair  "x_flag_gcse_sm"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3988)
                 nil )
                (!pair  "x_flag_graphite_identity"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3989)
                 nil )
                (!pair  "x_flag_guess_branch_prob"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3990)
                 nil )
                (!pair  "x_flag_hoist_adjacent_loads"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3991)
                 nil )
                (!pair  "x_flag_if_conversion"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3992)
                 nil )
                (!pair  "x_flag_if_conversion2"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3993)
                 nil )
                (!pair  "x_flag_no_inline"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3994)
                 nil )
                (!pair  "x_flag_inline_atomics"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3995)
                 nil )
                (!pair  "x_flag_inline_functions"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3996)
                 nil )
                (!pair  "x_flag_inline_functions_called_once"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3997)
                 nil )
                (!pair  "x_flag_inline_small_functions"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3998)
                 nil )
                (!pair  "x_flag_ipa_cp"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3999)
                 nil )
                (!pair  "x_flag_ipa_cp_clone"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4000)
                 nil )
                (!pair  "x_flag_ipa_profile"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4001)
                 nil )
                (!pair  "x_flag_ipa_pta"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4002)
                 nil )
                (!pair  "x_flag_ipa_pure_const"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4003)
                 nil )
                (!pair  "x_flag_ipa_reference"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4004)
                 nil )
                (!pair  "x_flag_ipa_sra"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4005)
                 nil )
                (!pair  "x_flag_ira_hoist_pressure"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4006)
                 nil )
                (!pair  "x_flag_ira_loop_pressure"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4007)
                 nil )
                (!pair  "x_flag_isolate_erroneous_paths_attribute"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4008)
                 nil )
                (!pair  "x_flag_isolate_erroneous_paths_dereference"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4009)
                 nil )
                (!pair  "x_flag_ivopts"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4010)
                 nil )
                (!pair  "x_flag_jump_tables"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4011)
                 nil )
                (!pair  "x_flag_lifetime_dse"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4012)
                 nil )
                (!pair  "x_flag_live_range_shrinkage"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4013)
                 nil )
                (!pair  "x_flag_loop_block"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4014)
                 nil )
                (!pair  "x_flag_loop_interchange"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4015)
                 nil )
                (!pair  "x_flag_loop_optimize_isl"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4016)
                 nil )
                (!pair  "x_flag_loop_parallelize_all"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4017)
                 nil )
                (!pair  "x_flag_loop_strip_mine"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4018)
                 nil )
                (!pair  "x_flag_errno_math"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4019)
                 nil )
                (!pair  "x_flag_merge_constants"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4020)
                 nil )
                (!pair  "x_flag_modulo_sched"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4021)
                 nil )
                (!pair  "x_flag_move_loop_invariants"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4022)
                 nil )
                (!pair  "x_flag_non_call_exceptions"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4023)
                 nil )
                (!pair  "x_flag_nothrow_opt"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4024)
                 nil )
                (!pair  "x_flag_omit_frame_pointer"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4025)
                 nil )
                (!pair  "x_flag_opt_info"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4026)
                 nil )
                (!pair  "x_flag_optimize_sibling_calls"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4027)
                 nil )
                (!pair  "x_flag_optimize_strlen"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4028)
                 nil )
                (!pair  "x_flag_pack_struct"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4029)
                 nil )
                (!pair  "x_flag_peel_codesize_limit"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4030)
                 nil )
                (!pair  "x_flag_peel_loops"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4031)
                 nil )
                (!pair  "x_flag_no_peephole"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4032)
                 nil )
                (!pair  "x_flag_peephole2"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4033)
                 nil )
                (!pair  "x_flag_plt"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4034)
                 nil )
                (!pair  "x_flag_predictive_commoning"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4035)
                 nil )
                (!pair  "x_flag_prefetch_loop_arrays"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4036)
                 nil )
                (!pair  "x_flag_profile_dump"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4037)
                 nil )
                (!pair  "x_flag_pcc_struct_return"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4038)
                 nil )
                (!pair  "x_flag_rename_registers"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4039)
                 nil )
                (!pair  "x_flag_reorder_blocks"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4040)
                 nil )
                (!pair  "x_flag_reorder_blocks_and_partition"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4041)
                 nil )
                (!pair  "x_flag_reorder_functions"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4042)
                 nil )
                (!pair  "x_flag_rerun_cse_after_loop"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4043)
                 nil )
                (!pair  "x_flag_resched_modulo_sched"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4044)
                 nil )
                (!pair  "x_flag_rounding_math"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4045)
                 nil )
                (!pair  "x_flag_rtti"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4046)
                 nil )
                (!pair  "x_flag_sched_critical_path_heuristic"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4047)
                 nil )
                (!pair  "x_flag_sched_dep_count_heuristic"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4048)
                 nil )
                (!pair  "x_flag_sched_group_heuristic"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4049)
                 nil )
                (!pair  "x_flag_schedule_interblock"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4050)
                 nil )
                (!pair  "x_flag_sched_last_insn_heuristic"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4051)
                 nil )
                (!pair  "x_flag_sched_pressure"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4052)
                 nil )
                (!pair  "x_flag_sched_rank_heuristic"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4053)
                 nil )
                (!pair  "x_flag_schedule_speculative"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4054)
                 nil )
                (!pair  "x_flag_sched_spec_insn_heuristic"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4055)
                 nil )
                (!pair  "x_flag_schedule_speculative_load"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4056)
                 nil )
                (!pair  "x_flag_schedule_speculative_load_dangerous"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4057)
                 nil )
                (!pair  "x_flag_sched2_use_superblocks"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4058)
                 nil )
                (!pair  "x_flag_schedule_insns"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4059)
                 nil )
                (!pair  "x_flag_schedule_insns_after_reload"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4060)
                 nil )
                (!pair  "x_flag_section_anchors"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4061)
                 nil )
                (!pair  "x_flag_sel_sched_pipelining"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4062)
                 nil )
                (!pair  "x_flag_sel_sched_pipelining_outer_loops"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4063)
                 nil )
                (!pair  "x_flag_sel_sched_reschedule_pipelined"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4064)
                 nil )
                (!pair  "x_flag_selective_scheduling"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4065)
                 nil )
                (!pair  "x_flag_selective_scheduling2"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4066)
                 nil )
                (!pair  "x_flag_short_double"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4067)
                 nil )
                (!pair  "x_flag_short_enums"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4068)
                 nil )
                (!pair  "x_flag_short_wchar"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4069)
                 nil )
                (!pair  "x_flag_shrink_wrap"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4070)
                 nil )
                (!pair  "x_flag_shrink_wrap_frame_pointer"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4071)
                 nil )
                (!pair  "x_flag_signaling_nans"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4072)
                 nil )
                (!pair  "x_flag_signed_zeros"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4073)
                 nil )
                (!pair  "x_flag_single_precision_constant"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4074)
                 nil )
                (!pair  "x_flag_sized_delete"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4075)
                 nil )
                (!pair  "x_flag_split_ivs_in_unroller"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4076)
                 nil )
                (!pair  "x_flag_split_wide_types"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4077)
                 nil )
                (!pair  "x_flag_strict_aliasing"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4078)
                 nil )
                (!pair  "x_flag_strict_enum_precision"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4079)
                 nil )
                (!pair  "x_flag_strict_enums"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4080)
                 nil )
                (!pair  "x_flag_thread_jumps"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4081)
                 nil )
                (!pair  "x_flag_threadsafe_statics"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4082)
                 nil )
                (!pair  "x_flag_toplevel_reorder"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4083)
                 nil )
                (!pair  "x_flag_trapping_math"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4084)
                 nil )
                (!pair  "x_flag_trapv"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4085)
                 nil )
                (!pair  "x_flag_tree_bit_ccp"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4086)
                 nil )
                (!pair  "x_flag_tree_builtin_call_dce"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4087)
                 nil )
                (!pair  "x_flag_tree_ccp"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4088)
                 nil )
                (!pair  "x_flag_tree_ch"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4089)
                 nil )
                (!pair  "x_flag_ssa_coalesce_vars"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4090)
                 nil )
                (!pair  "x_flag_tree_copy_prop"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4091)
                 nil )
                (!pair  "x_flag_tree_copyrename"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4092)
                 nil )
                (!pair  "x_flag_tree_cselim"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4093)
                 nil )
                (!pair  "x_flag_tree_dce"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4094)
                 nil )
                (!pair  "x_flag_tree_dom"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4095)
                 nil )
                (!pair  "x_flag_tree_dse"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4096)
                 nil )
                (!pair  "x_flag_tree_forwprop"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4097)
                 nil )
                (!pair  "x_flag_tree_fre"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4098)
                 nil )
                (!pair  "x_flag_tree_loop_distribute_patterns"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4099)
                 nil )
                (!pair  "x_flag_tree_loop_distribution"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4100)
                 nil )
                (!pair  "x_flag_tree_loop_if_convert"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4101)
                 nil )
                (!pair  "x_flag_tree_loop_if_convert_stores"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4102)
                 nil )
                (!pair  "x_flag_tree_loop_im"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4103)
                 nil )
                (!pair  "x_flag_tree_loop_ivcanon"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4104)
                 nil )
                (!pair  "x_flag_tree_loop_optimize"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4105)
                 nil )
                (!pair  "x_flag_tree_loop_vectorize"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4106)
                 nil )
                (!pair  "x_flag_tree_live_range_split"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4107)
                 nil )
                (!pair  "x_flag_tree_partial_pre"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4108)
                 nil )
                (!pair  "x_flag_tree_phiprop"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4109)
                 nil )
                (!pair  "x_flag_tree_pre"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4110)
                 nil )
                (!pair  "x_flag_tree_pta"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4111)
                 nil )
                (!pair  "x_flag_tree_reassoc"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4112)
                 nil )
                (!pair  "x_flag_tree_scev_cprop"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4113)
                 nil )
                (!pair  "x_flag_tree_sink"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4114)
                 nil )
                (!pair  "x_flag_tree_slp_vectorize"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4115)
                 nil )
                (!pair  "x_flag_tree_slsr"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4116)
                 nil )
                (!pair  "x_flag_tree_sra"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4117)
                 nil )
                (!pair  "x_flag_tree_switch_conversion"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4118)
                 nil )
                (!pair  "x_flag_tree_tail_merge"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4119)
                 nil )
                (!pair  "x_flag_tree_ter"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4120)
                 nil )
                (!pair  "x_flag_tree_vectorize"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4121)
                 nil )
                (!pair  "x_flag_tree_vrp"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4122)
                 nil )
                (!pair  "x_flag_unit_at_a_time"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4123)
                 nil )
                (!pair  "x_flag_unroll_all_loops"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4124)
                 nil )
                (!pair  "x_flag_unroll_codesize_limit"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4125)
                 nil )
                (!pair  "x_flag_unroll_loops"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4126)
                 nil )
                (!pair  "x_flag_unsafe_loop_optimizations"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4127)
                 nil )
                (!pair  "x_flag_unsafe_math_optimizations"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4128)
                 nil )
                (!pair  "x_flag_unswitch_loops"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4129)
                 nil )
                (!pair  "x_flag_unwind_tables"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4130)
                 nil )
                (!pair  "x_flag_var_tracking"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4131)
                 nil )
                (!pair  "x_flag_var_tracking_assignments"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4132)
                 nil )
                (!pair  "x_flag_var_tracking_assignments_toggle"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4133)
                 nil )
                (!pair  "x_flag_var_tracking_uninit"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4134)
                 nil )
                (!pair  "x_flag_variable_expansion_in_unroller"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4135)
                 nil )
                (!pair  "x_flag_value_profile_transformations"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4136)
                 nil )
                (!pair  "x_flag_web"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4137)
                 nil )
                (!pair  "x_flag_whole_program"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4138)
                 nil )
                (!pair  "x_flag_wrapv"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4139)
                 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" 4147)
               (!fields 2 
                (!pair  "x_aarch64_lra_flag"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4145)
                 nil )
                (!pair  "x_flag_omit_leaf_frame_pointer"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4146)
                 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-aarch64-cros-linux-gnu/gcc-4.9.2-r278/work/gcc-4.9.2/gcc-4.9/gcc/c/c-decl.c:199"
                          (!srcfileloc  "c/c-decl.c" 202)
                          (!fields 2 
                           (!pair  "type"
                            (!type already_seen 5)
                            (!srcfileloc  "c/c-decl.c" 200)
                            (!options 
                             (!option tag string  "0")
                            )
                           )
                           (!pair  "label"
                            (!type pointer 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-aarch64-cros-linux-gnu/gcc-4.9.2-r278/work/gcc-4.9.2/gcc-4.9/gcc/java/expr.c:2060"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 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-aarch64-cros-linux-gnu/gcc-4.9.2-r278/work/gcc-4.9.2/gcc-4.9/gcc/fortran/trans.h:340"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 659 nil  gc_unused "anonymous:/var/tmp/portage/cross-aarch64-cros-linux-gnu/gcc-4.9.2-r278/work/gcc-4.9.2/gcc-4.9/gcc/fortran/trans.h:328"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 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-aarch64-cros-linux-gnu/gcc-4.9.2-r278/work/gcc-4.9.2/gcc-4.9/gcc/fortran/trans.h:33"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 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-aarch64-cros-linux-gnu/gcc-4.9.2-r278/work/gcc-4.9.2/gcc-4.9/gcc/c/c-parser.c:6068"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 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-aarch64-cros-linux-gnu/gcc-4.9.2-r278/work/gcc-4.9.2/gcc-4.9/gcc/c-family/c-pragma.c:1169"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 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-aarch64-cros-linux-gnu/gcc-4.9.2-r278/work/gcc-4.9.2/gcc-4.9/gcc/ada/gcc-interface/decl.c:178"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 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 "gcc_target"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1024 nil  gc_unused "expand_vec_perm_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1025 nil  gc_unused "anonymous:/var/tmp/portage/cross-aarch64-cros-linux-gnu/gcc-4.9.2-r278/work/gcc-4.9.2/gcc-4.9/gcc/config/aarch64/aarch64.c:7354"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1026 nil  gc_unused "aarch64_option_extension"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1027 nil  gc_unused "processor"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1028 nil  gc_unused "simd_immediate_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1029 nil  gc_unused "aarch64_address_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1030 nil  gc_unused "cl_option_state"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1031 nil  gc_unused "_stmt_vec_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1032 nil  gc_unused "pass_omp_simd_clone"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1033 nil  gc_unused "modify_stmt_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1034 nil  gc_unused "pass_diagnose_omp_blocks"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1035 nil  gc_unused "pass_lower_omp"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1036 nil  gc_unused "omp_taskcopy_context"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1037 nil  gc_unused "pass_expand_omp"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1038 nil  gc_unused "omp_for_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1039 nil  gc_unused "omp_for_data_loop"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1040 nil  gc_unused "omp_context"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1041 nil  gc_unused "pass_parallelize_loops"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1042 nil  gc_unused "clsn_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1043 nil  gc_unused "elv_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1044 nil  gc_unused "int_tree_map"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1045 nil  gc_unused "data_dependence_relation"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1046 
  (!type pointer 1047 nil  gc_unused
   (!type already_seen 1046)
  )
  gc_unused "lambda_trans_matrix_s"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 1048 nil  gc_unused "hash_table<name_to_copy_hasher>"
  (!srcfileloc  "tree-parloops.c" 282)
  (!fields 1 
   (!pair  "name_to_copy_hasher"
    (!type struct 1049 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 1049)
 
 (!type struct 1050 nil  gc_unused "name_to_copy_elt"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 1051 nil  gc_unused "hash_table<reduction_hasher>"
  (!srcfileloc  "tree-parloops.c" 230)
  (!fields 1 
   (!pair  "reduction_hasher"
    (!type struct 1052 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 1052)
 
 (!type struct 1053 nil  gc_unused "reduction_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1054 nil  gc_unused "nesting_copy_body_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1055 nil  gc_unused "nesting_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1056 nil  gc_unused "pass_direct_call_profile"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1057 nil  gc_unused "pass_ipa_tree_profile"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 392)
 
 (!type struct 1058 nil  gc_unused "chrec_stats"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1059 nil  gc_unused "tree_niter_desc"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1060 nil  gc_unused "instantiate_cache_type"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1061 
  (!type pointer 1062 nil  gc_used
   (!type already_seen 1061)
  )
  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 1063 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 1064 nil  gc_unused "dfa_stats_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1065 nil  gc_unused "pass_fixup_cfg"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1066 nil  gc_unused "pass_warn_unused_result"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1067 nil  gc_unused "pass_warn_function_return"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1068 nil  gc_unused "pass_split_crit_edges"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1069 nil  gc_unused "move_stmt_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1070 nil  gc_unused "walk_stmt_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1071 nil  gc_unused "omp_region"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1072 nil  gc_unused "pass_build_cfg"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1073 nil  gc_unused "locus_discrim_hasher"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1074 nil  gc_unused "locus_discrim_map"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1075 nil  gc_unused "cfg_stats_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1076 nil  gc_unused "mem_address"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 1077 
  (!type pointer 1078 nil  gc_used
   (!type already_seen 1077)
  )
  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 1079 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 1079)
 
 (!type struct 1080 nil  gc_unused "pass_cleanup_eh"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1081 nil  gc_unused "pass_lower_eh_dispatch"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1082 nil  gc_unused "pass_lower_resx"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1083 nil  gc_unused "pass_refactor_eh"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1084 nil  gc_unused "pass_lower_eh"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1085 nil  gc_unused "labels_s"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1086 nil  gc_unused "leh_tf_state"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1087 nil  gc_unused "leh_state"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1088 nil  gc_unused "goto_queue_node"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1089 nil  gc_unused "finally_tree_hasher"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1090 nil  gc_unused "finally_tree_node"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type union 1091 nil  gc_unused "anonymous:/var/tmp/portage/cross-aarch64-cros-linux-gnu/gcc-4.9.2-r278/work/gcc-4.9.2/gcc-4.9/gcc/tree-eh.c:59"nil 
  (!fields 0 )
  nil 0 nil )
 
 (!type struct 1092 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 1093 nil  gc_unused "gimple_temp_hash_elt"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1094 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 1095 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 1096 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 1097 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 1098 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 1099 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 1098)
 )
 
 (!type already_seen 1098)
 
 (!type struct 1100 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 1101 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 1102 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 1103 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 1104 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 1102)
 )
 
 (!type already_seen 1102)
 
 (!type struct 1105 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 1106 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 1103)
 )
 
 (!type struct 1107 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 1108 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 1109 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 1103)
   )
  )
 )
 
 (!type struct 1110 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 1109)
 )
 
 (!type struct 1111 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 1108)
 )
 
 (!type already_seen 1108)
 
 (!type already_seen 1109)
 
 (!type struct 1112 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 1113 nil  gc_unused
     (!type struct 1114 
      (!type already_seen 1113)
      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 1103)
 )
 
 (!type already_seen 1114)
 
 (!type struct 1115 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 1103)
 )
 
 (!type struct 1116 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 1117 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 1095)
 )
 
 (!type struct 1118 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 1119 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 1120 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 1121 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 1122 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 1121)
 )
 
 (!type already_seen 1121)
 
 (!type struct 1123 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 1124 nil  gc_used "1" 
     (!type struct 1125 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 1126 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 1127 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 1128 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 1129 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 1130 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 1103)
 
 (!type struct 1131 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 1132 nil  gc_used "anonymous:/var/tmp/portage/cross-aarch64-cros-linux-gnu/gcc-4.9.2-r278/work/gcc-4.9.2/gcc-4.9/gcc/gimple.h:281"
     (!srcfileloc  "gimple.h" 284)
     (!fields 2 
      (!pair  "fntype"
       (!type already_seen 5)
       (!srcfileloc  "gimple.h" 282)
       (!options 
        (!option tag string  "0")
       )
      )
      (!pair  "internal_fn"
       (!type already_seen 9)
       (!srcfileloc  "gimple.h" 283)
       (!options 
        (!option tag string  "GF_CALL_INTERNAL")
       )
      )
     )
     (!options 
      (!option desc string  "%1.subcode & GF_CALL_INTERNAL")
     )
     511 nil )
    (!srcfileloc  "gimple.h" 284)
    nil )
   (!pair  "op"
    (!type array 1133 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 1095)
 )
 
 (!type already_seen 1132)
 
 (!type already_seen 387)
 
 (!type struct 1134 nil  gc_pointed_to "gimple_statement_with_memory_ops"
  (!srcfileloc  "gimple.h" 266)
  (!fields 1 
   (!pair  "op"
    (!type array 1135 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 1095)
 )
 
 (!type already_seen 1095)
 
 (!type struct 1136 nil  gc_pointed_to "gimple_statement_with_ops"
  (!srcfileloc  "gimple.h" 235)
  (!fields 1 
   (!pair  "op"
    (!type array 1137 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 1096)
 )
 
 (!type already_seen 1096)
 
 (!type already_seen 395)
 
 (!type user_struct 1138 nil  gc_unused "vec<gimple>"
  (!srcfileloc  "gimple.h" 29)
  (!fields 1 
   (!pair  "gimple"
    (!type already_seen 311)
    (!srcfileloc  "gimple.h" 29)
    nil )
  )
 )
 
 (!type struct 1139 nil  gc_unused "tm_alias_pair"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1140 nil  gc_unused "anonymous:/var/tmp/portage/cross-aarch64-cros-linux-gnu/gcc-4.9.2-r278/work/gcc-4.9.2/gcc-4.9/gcc/varasm.c:4839"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1141 nil  gc_unused "anonymous:/var/tmp/portage/cross-aarch64-cros-linux-gnu/gcc-4.9.2-r278/work/gcc-4.9.2/gcc-4.9/gcc/varasm.c:4595"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1142 nil  gc_unused "asm_int_op"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1143 nil  gc_unused "addr_const"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1144 nil  gc_unused "pass_ipa_free_lang_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1145 nil  gc_unused "free_lang_data_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1146 
  (!type pointer 1147 nil  gc_used
   (!type already_seen 1146)
  )
  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 1148 
  (!type pointer 1149 nil  gc_used
   (!type already_seen 1148)
  )
  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 1150 nil  gc_unused "cfg_hooks"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1151 nil  gc_unused "pass_outof_cfg_layout_mode"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1152 nil  gc_unused "pass_into_cfg_layout_mode"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1153 nil  gc_unused "pass_free_cfg"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1154 nil  gc_unused "pass_stack_regs_run"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1155 nil  gc_unused "pass_stack_regs"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1156 
  (!type pointer 1157 nil  gc_unused
   (!type already_seen 1156)
  )
  gc_unused "block_info_def"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1158 
  (!type pointer 1159 nil  gc_unused
   (!type already_seen 1158)
  )
  gc_unused "stack_def"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type union 1160 nil  gc_unused "anonymous:/var/tmp/portage/cross-aarch64-cros-linux-gnu/gcc-4.9.2-r278/work/gcc-4.9.2/gcc-4.9/gcc/mcf.c:355"nil 
  (!fields 0 )
  nil 0 nil )
 
 (!type struct 1161 nil  gc_unused "augmenting_path_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1162 nil  gc_unused "queue_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1163 nil  gc_unused "fixup_graph_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1164 
  (!type pointer 1165 nil  gc_unused
   (!type already_seen 1164)
  )
  gc_unused "fixup_vertex_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1166 
  (!type pointer 1167 nil  gc_unused
   (!type already_seen 1166)
  )
  gc_unused "fixup_edge_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1168 nil  gc_unused "edge_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1169 nil  gc_unused "bb_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1170 nil  gc_unused "atomic_op_functions"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1171 nil  gc_unused "no_conflict_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1172 nil  gc_unused "godump_container"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1173 nil  gc_unused "macro_hash_value"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1174 nil  gc_unused "pass_rtl_hoist"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1175 nil  gc_unused "pass_rtl_pre"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1176 nil  gc_unused "set_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1177 nil  gc_unused "mem_conflict_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1178 nil  gc_unused "reg_avail_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 1179 nil  gc_unused "vec<modify_pair>"
  (!srcfileloc  "gcse.c" 635)
  (!fields 1 
   (!pair  "modify_pair"
    (!type struct 1180 nil  gc_unused "modify_pair_s"nil 
     (!fields 0 )
     nil 0 nil nil )
    (!srcfileloc  "gcse.c" 635)
    nil )
  )
 )
 
 (!type user_struct 1181 nil  gc_unused "vec<rtx>"
  (!srcfileloc  "gcse.c" 634)
  (!fields 1 
   (!pair  "rtx"
    (!type already_seen 137)
    (!srcfileloc  "gcse.c" 634)
    nil )
  )
 )
 
 (!type struct 1182 nil  gc_unused "bb_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 1180)
 
 (!type struct 1183 nil  gc_unused "pre_ldst_expr_hasher"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1184 nil  gc_unused "ls_expr"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1185 nil  gc_unused "hash_table_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1186 
  (!type pointer 1187 nil  gc_unused
   (!type already_seen 1186)
  )
  gc_unused "occr"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1188 nil  gc_unused "expr"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 553)
 
 (!type struct 1189 nil  gc_unused "pass_convert_to_eh_region_ranges"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1190 nil  gc_unused "pass_set_nothrow_function_flags"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 1191 nil  gc_unused "hash_table<ehspec_hasher>"
  (!srcfileloc  "except.c" 786)
  (!fields 1 
   (!pair  "ehspec_hasher"
    (!type struct 1192 nil  gc_unused "ehspec_hasher"
     (!srcfileloc  "except.c" 786)
     (!fields 0 )
     nil 511 nil nil )
    (!srcfileloc  "except.c" 786)
    nil )
  )
 )
 
 (!type already_seen 1192)
 
 (!type user_struct 1193 nil  gc_unused "hash_table<ttypes_filter_hasher>"
  (!srcfileloc  "except.c" 749)
  (!fields 1 
   (!pair  "ttypes_filter_hasher"
    (!type struct 1194 nil  gc_unused "ttypes_filter_hasher"
     (!srcfileloc  "except.c" 749)
     (!fields 0 )
     nil 511 nil nil )
    (!srcfileloc  "except.c" 749)
    nil )
  )
 )
 
 (!type already_seen 1194)
 
 (!type struct 1195 nil  gc_unused "ttypes_filter"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1196 nil  gc_unused "duplicate_eh_regions_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 1197 nil  gc_unused "hash_table<action_record_hasher>"
  (!srcfileloc  "except.c" 211)
  (!fields 1 
   (!pair  "action_record_hasher"
    (!type struct 1198 nil  gc_unused "action_record_hasher"
     (!srcfileloc  "except.c" 211)
     (!fields 0 )
     nil 511 nil nil )
    (!srcfileloc  "except.c" 211)
    nil )
  )
 )
 
 (!type already_seen 1198)
 
 (!type struct 1199 nil  gc_unused "action_record"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1200 nil  gc_unused "pass_match_asm_constraints"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1201 nil  gc_unused "pass_thread_prologue_and_epilogue"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1202 nil  gc_unused "pass_leaf_regs"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1203 nil  gc_unused "hard_reg_set_container"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1204 nil  gc_unused "promote_fpset_dom_walker"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1205 nil  gc_unused "bb_fpset"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1206 nil  gc_unused "assign_parm_data_one"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1207 nil  gc_unused "assign_parm_data_all"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1208 nil  gc_unused "pass_instantiate_virtual_regs"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1209 
  (!type pointer 1210 nil  gc_unused
   (!type already_seen 1209)
  )
  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 1211 
  (!type pointer 1212 nil  gc_used
   (!type already_seen 1211)
  )
  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 1213 nil  gc_used
     (!type struct 1214 
      (!type already_seen 1213)
      gc_pointed_to "temp_slot"
      (!srcfileloc  "function.c" 541)
      (!fields 10 
       (!pair  "next"
        (!type already_seen 1213)
        (!srcfileloc  "function.c" 517)
        nil )
       (!pair  "prev"
        (!type already_seen 1213)
        (!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 1215 nil  gc_unused "saved_pending_stack_adjust"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1216 nil  gc_unused "locate_and_pad_arg_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1217 nil  gc_unused "args_size"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1218 
  (!type pointer 1219 nil  gc_unused
   (!type already_seen 1218)
  )
  gc_unused "separate_ops"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1220 nil  gc_unused "store_by_pieces_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1221 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 1222 nil  gc_unused "promo_ent"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1223 
  (!type pointer 1224 nil  gc_used
   (!type already_seen 1223)
  )
  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 1225 nil  gc_unused "type_ec"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1226 
  (!type pointer 1227 nil  gc_used
   (!type already_seen 1226)
  )
  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 1228 nil  gc_unused "pass_lower_vector_ssa"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1229 nil  gc_unused "pass_lower_vector"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 1230 nil  gc_unused "hash_table<loc_list_hasher>"
  (!srcfileloc  "dwarf2out.c" 24412)
  (!fields 1 
   (!pair  "loc_list_hasher"
    (!type struct 1231 nil  gc_unused "loc_list_hasher"
     (!srcfileloc  "dwarf2out.c" 24412)
     (!fields 0 )
     nil 511 nil nil )
    (!srcfileloc  "dwarf2out.c" 24412)
    nil )
  )
 )
 
 (!type already_seen 1231)
 
 (!type struct 1232 nil  gc_unused "comdat_type_hasher"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 1233 nil  gc_unused "hash_table<macinfo_entry_hasher>"
  (!srcfileloc  "dwarf2out.c" 22217)
  (!fields 1 
   (!pair  "macinfo_entry_hasher"
    (!type struct 1234 nil  gc_unused "macinfo_entry_hasher"
     (!srcfileloc  "dwarf2out.c" 22217)
     (!fields 0 )
     nil 511 nil nil )
    (!srcfileloc  "dwarf2out.c" 22217)
    nil )
  )
 )
 
 (!type already_seen 1234)
 
 (!type struct 1235 nil  gc_unused "logical_hasher"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1236 nil  gc_unused "logical_entry"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1237 nil  gc_unused "block_hasher"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1238 nil  gc_unused "block_entry"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1239 nil  gc_unused "subprog_hasher"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1240 nil  gc_unused "subprog_entry"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1241 nil  gc_unused "file_name_acquire_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1242 nil  gc_unused "dir_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1243 nil  gc_unused "file_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 1244 nil  gc_unused "hash_table<external_ref_hasher>"
  (!srcfileloc  "dwarf2out.c" 7578)
  (!fields 1 
   (!pair  "external_ref_hasher"
    (!type struct 1245 nil  gc_unused "external_ref_hasher"
     (!srcfileloc  "dwarf2out.c" 7578)
     (!fields 0 )
     nil 511 nil nil )
    (!srcfileloc  "dwarf2out.c" 7578)
    nil )
  )
 )
 
 (!type already_seen 1245)
 
 (!type struct 1246 nil  gc_unused "external_ref"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 1247 nil  gc_unused "hash_table<decl_table_entry_hasher>"
  (!srcfileloc  "dwarf2out.c" 7021)
  (!fields 1 
   (!pair  "decl_table_entry_hasher"
    (!type struct 1248 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 1248)
 
 (!type struct 1249 nil  gc_unused "decl_table_entry"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 1250 nil  gc_unused "hash_table<cu_hash_table_entry_hasher>"
  (!srcfileloc  "dwarf2out.c" 6696)
  (!fields 1 
   (!pair  "cu_hash_table_entry_hasher"
    (!type struct 1251 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 1251)
 
 (!type struct 1252 nil  gc_unused "cu_hash_table_entry"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1253 nil  gc_unused "checksum_attributes"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1254 nil  gc_unused "md5_ctx"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 1255 
  (!type pointer 1256 nil  gc_used
   (!type already_seen 1255)
  )
  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 1257 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 1258 
  (!type pointer 1259 nil  gc_used
   (!type already_seen 1258)
  )
  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 1260 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 1261 
  (!type pointer 1262 nil  gc_used
   (!type already_seen 1261)
  )
  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 1263 
     (!type pointer 1264 nil  gc_unused
      (!type already_seen 1263)
     )
     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 1265 
  (!type pointer 1266 nil  gc_used
   (!type already_seen 1265)
  )
  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 1267 nil  gc_used
     (!type struct 1268 
      (!type already_seen 1267)
      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 1269 nil  gc_used
         (!type user_struct 1270 
          (!type already_seen 1269)
          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 1271 
             (!type pointer 1272 nil  gc_unused
              (!type already_seen 1271)
             )
             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 1273 
  (!type pointer 1274 nil  gc_used
   (!type already_seen 1273)
  )
  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 1275 
  (!type pointer 1276 nil  gc_used
   (!type already_seen 1275)
  )
  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 1276)
    (!srcfileloc  "dwarf2out.c" 2828)
    nil )
  )
  (!options 
   (!option chain_next string  "%h.next")
  )
  511 nil nil )
 
 (!type struct 1277 
  (!type pointer 1278 nil  gc_used
   (!type already_seen 1277)
  )
  gc_pointed_to "var_loc_list_def"
  (!srcfileloc  "dwarf2out.c" 2818)
  (!fields 4 
   (!pair  "first"
    (!type pointer 1279 nil  gc_used
     (!type struct 1280 
      (!type already_seen 1279)
      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 1279)
        (!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 1279)
    (!srcfileloc  "dwarf2out.c" 2809)
    (!options 
     (!option skip string  "%h")
    )
   )
   (!pair  "last_before_switch"
    (!type already_seen 1279)
    (!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 1280)
 
 (!type already_seen 1257)
 
 (!type struct 1281 nil  gc_unused "skeleton_chain_struct"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1282 
  (!type pointer 1283 nil  gc_used
   (!type already_seen 1282)
  )
  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 1283)
    (!srcfileloc  "dwarf2out.c" 2659)
    nil )
  )
  nil 511 nil nil )
 
 (!type already_seen 1260)
 
 (!type already_seen 437)
 
 (!type already_seen 432)
 
 (!type already_seen 1268)
 
 (!type already_seen 1270)
 
 (!type already_seen 434)
 
 (!type struct 1284 
  (!type pointer 1285 nil  gc_used
   (!type already_seen 1284)
  )
  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 1286 
  (!type pointer 1287 nil  gc_used
   (!type already_seen 1286)
  )
  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 1263)
 
 (!type already_seen 1271)
 
 (!type already_seen 438)
 
 (!type already_seen 423)
 
 (!type user_struct 1288 
  (!type pointer 1289 nil  gc_used
   (!type already_seen 1288)
  )
  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 1290 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 1290)
 
 (!type user_struct 1291 
  (!type pointer 1292 nil  gc_used
   (!type already_seen 1291)
  )
  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 1293 nil  gc_unused "pass_dwarf2_frame"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1294 nil  gc_unused "anonymous:/var/tmp/portage/cross-aarch64-cros-linux-gnu/gcc-4.9.2-r278/work/gcc-4.9.2/gcc-4.9/gcc/dwarf2cfi.c:218"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1295 nil  gc_unused "trace_info_hasher"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1296 
  (!type pointer 1297 nil  gc_unused
   (!type already_seen 1296)
  )
  gc_unused "anonymous:/var/tmp/portage/cross-aarch64-cros-linux-gnu/gcc-4.9.2-r278/work/gcc-4.9.2/gcc-4.9/gcc/dwarf2cfi.c:101"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1298 
  (!type pointer 1299 nil  gc_used
   (!type already_seen 1298)
  )
  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 1300 
  (!type pointer 1301 nil  gc_used
   (!type already_seen 1300)
  )
  gc_pointed_to "dw_cfi_row_struct"
  (!srcfileloc  "dwarf2cfi.c" 74)
  (!fields 3 
   (!pair  "cfa"
    (!type struct 1302 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 1303 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 1302)
 
 (!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 1304 nil  gc_unused "dbx_file"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1305 
  (!type pointer 1306 nil  gc_used
   (!type already_seen 1305)
  )
  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 1307 nil  gc_unused "ipa_polymorphic_call_context"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1308 nil  gc_unused "ipa_dfs_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1309 nil  gc_unused "pass_ipa_cp"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 886)
 
 (!type already_seen 989)
 
 (!type struct 1310 nil  gc_unused "topo_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1311 nil  gc_unused "caller_statistics"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1312 nil  gc_unused "ipcp_param_lattices"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1313 nil  gc_unused "ipcp_agg_lattice"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1314 nil  gc_unused "ipcp_lattice"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1315 nil  gc_unused "ipcp_value_source"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1316 nil  gc_unused "ipcp_value"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1317 nil  gc_unused "lto_input_block"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1318 nil  gc_unused "output_block"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1319 nil  gc_unused "data_in"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1320 nil  gc_unused "bitpack_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 982)
 
 (!type already_seen 1004)
 
 (!type struct 1321 nil  gc_unused "inline_edge_summary"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 985)
 
 (!type struct 1322 nil  gc_unused "ipa_known_agg_contents_list"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1323 nil  gc_unused "type_change_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 993)
 
 (!type already_seen 988)
 
 (!type struct 1324 nil  gc_unused "ipa_node_params"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 998)
 
 (!type struct 1325 nil  gc_unused "param_analysis_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1326 nil  gc_unused "cselib_record_autoinc_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1327 nil  gc_unused "cselib_hasher"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1328 nil  gc_unused "expand_value_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1329 nil  gc_unused "elt_list"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1330 nil  gc_unused "output_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1331 nil  gc_unused "bitmap_desc_hasher"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1332 nil  gc_unused "loc"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1333 
  (!type pointer 1334 nil  gc_unused
   (!type already_seen 1333)
  )
  gc_unused "bitmap_descriptor_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 1335 
  (!type pointer 1336 nil  gc_used
   (!type already_seen 1335)
  )
  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 1337 nil  gc_used
     (!type struct 1338 
      (!type already_seen 1337)
      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 1339 nil  gc_used
         (!type param_struct 1340 
          (!type already_seen 1339)
          gc_pointed_to
          (!type struct 1341 
           (!type pointer 1342 nil  gc_unused
            (!type already_seen 1341)
           )
           gc_used "splay_tree_s"
           (!srcfileloc  "../include/splay-tree.h" 123)
           (!fields 7 
            (!pair  "root"
             (!type pointer 1343 nil  gc_unused
              (!type struct 1344 
               (!type already_seen 1343)
               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 1343)
                 (!srcfileloc  "../include/splay-tree.h" 97)
                 (!options 
                  (!option use_params string  "")
                 )
                )
                (!pair  "right"
                 (!type already_seen 1343)
                 (!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 1338)
 
 (!type struct 1345 nil  gc_unused "saved_hard_reg"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1346 nil  gc_unused "insn_chain"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1347 nil  gc_unused "reg_equivs_t"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1348 nil  gc_unused "target_reload"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1349 nil  gc_unused "reload"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1350 
  (!type pointer 1351 nil  gc_used
   (!type already_seen 1350)
  )
  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 1352 nil  gc_unused "cgraph_2node_hook_list"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1353 nil  gc_unused "cgraph_2edge_hook_list"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1354 nil  gc_unused "varpool_node_hook_list"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1355 nil  gc_unused "cgraph_node_hook_list"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1356 nil  gc_unused "cgraph_edge_hook_list"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1357 
  (!type pointer 1358 nil  gc_used
   (!type already_seen 1357)
  )
  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 1359 nil  gc_used
     (!type param_struct 1360 
      (!type already_seen 1359)
      gc_pointed_to
      (!type already_seen 50)
      
      (!type pointer 1361 nil  gc_used
       (!type struct 1362 
        (!type already_seen 1361)
        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 1362)
     )
    )
   )
   (!pair  "is_promoted_static"
    (!type already_seen 9)
    (!srcfileloc  "cgraph.h" 859)
    nil )
  )
  nil 511 nil nil )
 
 (!type already_seen 1362)
 
 (!type struct 1363 
  (!type pointer 1364 nil  gc_used
   (!type already_seen 1363)
  )
  gc_pointed_to "asm_node"
  (!srcfileloc  "cgraph.h" 667)
  (!fields 3 
   (!pair  "next"
    (!type already_seen 1364)
    (!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 1365 nil  gc_unused "varpool_node_set_iterator"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1366 nil  gc_unused "cgraph_node_set_iterator"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1367 
  (!type pointer 1368 nil  gc_unused
   (!type already_seen 1367)
  )
  gc_unused "varpool_node_set_def"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1369 
  (!type pointer 1370 nil  gc_unused
   (!type already_seen 1369)
  )
  gc_unused "cgraph_node_set_def"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1371 
  (!type pointer 1372 nil  gc_used
   (!type already_seen 1371)
  )
  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 1372)
    (!srcfileloc  "cgraph.h" 457)
    nil )
   (!pair  "next"
    (!type already_seen 1372)
    (!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 1373 
  (!type pointer 1374 nil  gc_unused
   (!type already_seen 1373)
  )
  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 1375 nil  gc_unused "gcov_working_set_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1376 nil  gc_unused "edge_iterator"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1377 nil  gc_unused "control_dependences"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1378 nil  gc_unused "edge_list"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1379 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 1380 nil  gc_unused "profile_record"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1381 nil  gc_unused "cselib_set"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1382 nil  gc_unused "elt_loc_list"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1383 nil  gc_unused "cselib_val"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 549)
 
 (!type struct 1384 nil  gc_unused "loop_iterator"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1385 nil  gc_unused "rtx_iv"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1386 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 1387 
  (!type pointer 1388 nil  gc_used
   (!type already_seen 1387)
  )
  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 1389 nil  gc_used "rtl_data"
  (!srcfileloc  "function.h" 472)
  (!fields 60 
   (!pair  "expr"
    (!type struct 1390 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 1391 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 1392 nil  gc_used
        (!type struct 1393 
         (!type already_seen 1392)
         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 1392)
           (!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 1394 nil  gc_used "varasm_status"
     (!srcfileloc  "function.h" 181)
     (!fields 2 
      (!pair  "pool"
       (!type pointer 1395 nil  gc_used
        (!type struct 1396 
         (!type already_seen 1395)
         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 1397 nil  gc_used
            (!type param_struct 1398 
             (!type already_seen 1397)
             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 1399 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 1400 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 1401 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 1402 nil  gc_used "2" 
        (!type pointer 1403 nil  gc_used
         (!type user_struct 1404 
          (!type already_seen 1403)
          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 1405 nil  gc_used
             (!type struct 1406 
              (!type already_seen 1405)
              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 1407 nil  gc_used
     (!type struct 1408 
      (!type already_seen 1407)
      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 1210)
        (!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 1409 nil  gc_used
     (!type struct 1410 
      (!type already_seen 1409)
      gc_pointed_to "frame_space"
      (!srcfileloc  "function.h" 233)
      (!fields 3 
       (!pair  "next"
        (!type already_seen 1409)
        (!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 1411 nil  gc_used
     (!type user_struct 1412 
      (!type already_seen 1411)
      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 1213)
        (!srcfileloc  "function.h" 309)
        nil )
      )
     )
    )
    (!srcfileloc  "function.h" 309)
    nil )
   (!pair  "x_avail_temp_slots"
    (!type already_seen 1213)
    (!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 1412)
 
 (!type already_seen 1408)
 
 (!type already_seen 1410)
 
 (!type already_seen 1400)
 
 (!type already_seen 1399)
 
 (!type already_seen 1394)
 
 (!type already_seen 1396)
 
 (!type already_seen 938)
 
 (!type already_seen 411)
 
 (!type already_seen 1214)
 
 (!type already_seen 384)
 
 (!type already_seen 1401)
 
 (!type already_seen 1404)
 
 (!type already_seen 376)
 
 (!type already_seen 1406)
 
 (!type already_seen 1390)
 
 (!type already_seen 1391)
 
 (!type already_seen 1393)
 
 (!type struct 1413 nil  gc_unused "real_format"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1414 nil  gc_unused "_obstack_chunk"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1415 nil  gc_unused "ht"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 542)
 
 (!type already_seen 547)
 
 (!type user_struct 1416 
  (!type pointer 1417 nil  gc_used
   (!type already_seen 1416)
  )
  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 1418 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 1419 nil  gc_used "builtin_info_type"
  (!srcfileloc  "tree-core.h" 1854)
  (!fields 2 
   (!pair  "decl"
    (!type array 1420 nil  gc_used "(int)END_BUILTINS" 
     (!type already_seen 5)
    )
    (!srcfileloc  "tree-core.h" 1797)
    nil )
   (!pair  "implicit_p"
    (!type array 1421 nil  gc_used "(int)END_BUILTINS" 
     (!type already_seen 9)
    )
    (!srcfileloc  "tree-core.h" 1798)
    nil )
  )
  nil 511 nil nil )
 
 (!type struct 1422 nil  gc_unused "const_call_expr_arg_iterator"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1423 nil  gc_unused "call_expr_arg_iterator"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1424 
  (!type pointer 1425 nil  gc_used
   (!type already_seen 1424)
  )
  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 1426 
  (!type pointer 1427 nil  gc_used
   (!type already_seen 1426)
  )
  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 1428 
  (!type pointer 1429 nil  gc_used
   (!type already_seen 1428)
  )
  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 1430 
  (!type pointer 1431 nil  gc_used
   (!type already_seen 1430)
  )
  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 1432 
  (!type pointer 1433 nil  gc_used
   (!type already_seen 1432)
  )
  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 1434 nil  gc_unused "function_args_iterator"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1435 
  (!type pointer 1436 nil  gc_unused
   (!type already_seen 1435)
  )
  gc_unused "record_layout_info_s"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1437 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 1125)
 
 (!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 1418)
 
 (!type already_seen 431)
 
 (!type already_seen 512)
 
 (!type already_seen 510)
 
 (!type struct 1438 nil  gc_unused "expand_operand"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1439 nil  gc_unused "extraction_insn"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 528)
 
 (!type struct 1440 nil  gc_unused "convert_optab_libcall_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1441 nil  gc_unused "optab_libcall_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1442 nil  gc_unused "rtl_hooks"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 535)
 
 (!type struct 1443 nil  gc_unused "subreg_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1444 nil  gc_unused "replace_label_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 353)
 
 (!type struct 1445 nil  gc_unused "address_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1446 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 1447 nil  gc_unused "u"
  (!srcfileloc  "rtl.h" 346)
  (!fields 5 
   (!pair  "fld"
    (!type array 1448 nil  gc_unused "1" 
     (!type already_seen 243)
    )
    (!srcfileloc  "rtl.h" 341)
    nil )
   (!pair  "hwint"
    (!type array 1449 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 1450 nil  gc_unused "rtunion"nil 
  (!fields 0 )
  nil 0 nil )
 
 (!type already_seen 271)
 
 (!type already_seen 260)
 
 (!type struct 1451 nil  gc_unused "addr_diff_vec_flags"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 859)
 
 (!type struct 1452 nil  gc_unused "gcov_summary"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1453 nil  gc_unused "anonymous:/var/tmp/portage/cross-aarch64-cros-linux-gnu/gcc-4.9.2-r278/work/gcc-4.9.2/gcc-4.9/gcc/coverage.c:658"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1454 nil  gc_unused "module_name_entry"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1455 nil  gc_unused "opt_desc"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1456 nil  gc_unused "string_hasher"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1457 nil  gc_unused "gcov_module_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1458 nil  gc_unused "counts_entry"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1459 nil  gc_unused "str_list"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1460 
  (!type pointer 1461 nil  gc_used
   (!type already_seen 1460)
  )
  gc_pointed_to "coverage_data"
  (!srcfileloc  "coverage.c" 88)
  (!fields 6 
   (!pair  "next"
    (!type already_seen 1461)
    (!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 1462 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 1463 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 1341)
 
 (!type already_seen 1344)
 
 (!type struct 1464 nil  gc_unused "anonymous:/var/tmp/portage/cross-aarch64-cros-linux-gnu/gcc-4.9.2-r278/work/gcc-4.9.2/gcc-4.9/gcc/config/aarch64/aarch64.h:587"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 407)
 
 (!type already_seen 408)
 
 (!type union 1465 nil  gc_unused "_dont_use_tree_here_"nil 
  (!fields 0 )
  nil 0 nil )
 
 (!type struct 1466 nil  gc_unused "_dont_use_rtvec_here_"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1467 nil  gc_unused "_dont_use_rtx_here_"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1468 nil  gc_unused "context"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1469 nil  gc_unused "rtl_opt_pass"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 299)
 
 (!type already_seen 303)
 
 (!type struct 1470 nil  gc_unused "pretty_printer"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1471 nil  gc_unused "diagnostic_context"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1472 nil  gc_unused "cl_option_handlers"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1473 nil  gc_unused "cl_decoded_option"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1474 nil  gc_unused "cl_option"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 526)
 
 (!type already_seen 558)
 
 (!type struct 1475 nil  gc_unused "gcc_options"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 247)
 
 (!type struct 1476 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 1477 
  (!type pointer 1478 nil  gc_unused
   (!type already_seen 1477)
  )
  gc_unused "simple_bitmap_def"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 122)
 
 (!type already_seen 575)
 
 (!type struct 1479 nil  gc_unused "save_macro_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1480 nil  gc_unused "anonymous:/var/tmp/portage/cross-aarch64-cros-linux-gnu/gcc-4.9.2-r278/work/gcc-4.9.2/gcc-4.9/gcc/../libcpp/include/cpplib.h:999"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1481 nil  gc_unused "anonymous:/var/tmp/portage/cross-aarch64-cros-linux-gnu/gcc-4.9.2-r278/work/gcc-4.9.2/gcc-4.9/gcc/../libcpp/include/cpplib.h:988"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1482 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 1483 nil  gc_unused "_cpp_file"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 583)
 
 (!type struct 1484 nil  gc_unused "cpp_dir"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1485 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 1486 nil  gc_unused "cpp_options"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1487 nil  gc_unused "cpp_buffer"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1488 nil  gc_unused "cpp_reader"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1489 nil  gc_unused "linemap_stats"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1490 nil  gc_unused "anonymous:/var/tmp/portage/cross-aarch64-cros-linux-gnu/gcc-4.9.2-r278/work/gcc-4.9.2/gcc-4.9/gcc/../libcpp/include/line-map.h:627"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1491 
  (!type pointer 1492 nil  gc_used
   (!type already_seen 1491)
  )
  gc_pointed_to "line_maps"
  (!srcfileloc  "../libcpp/include/line-map.h" 318)
  (!fields 10 
   (!pair  "info_ordinary"
    (!type struct 1493 nil  gc_used "maps_info"
     (!srcfileloc  "../libcpp/include/line-map.h" 259)
     (!fields 4 
      (!pair  "maps"
       (!type pointer 1494 nil  gc_unused
        (!type struct 1495 
         (!type already_seen 1494)
         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 1496 nil  gc_used "map_u"
            (!srcfileloc  "../libcpp/include/line-map.h" 212)
            (!fields 2 
             (!pair  "ordinary"
              (!type struct 1497 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 1498 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 1493)
    (!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 1499 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 1500 nil  gc_unused
        (!type struct 1501 
         (!type already_seen 1500)
         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 1499)
 
 (!type already_seen 50)
 
 (!type already_seen 1501)
 
 (!type already_seen 1493)
 
 (!type already_seen 1495)
 
 (!type already_seen 1496)
 
 (!type already_seen 1498)
 
 (!type already_seen 7)
 
 (!type already_seen 569)
 
 (!type already_seen 1497)
)
(!typedefs 547
 (!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 1502 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 1321)
  (!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  "aarch64_simd_mangle_map_entry"
  (!type already_seen 1025)
  (!srcfileloc  "config/aarch64/aarch64.c" 7358)
  nil )
 (!pair  "aarch64_cc"
  (!type already_seen 9)
  (!srcfileloc  "config/aarch64/aarch64.c" 377)
  nil )
 (!pair  "omp_context"
  (!type already_seen 1040)
  (!srcfileloc  "omp-low.c" 178)
  nil )
 (!pair  "lambda_trans_matrix"
  (!type already_seen 1047)
  (!srcfileloc  "tree-parloops.c" 293)
  nil )
 (!pair  "name_to_copy_table_type"
  (!type already_seen 1048)
  (!srcfileloc  "tree-parloops.c" 282)
  nil )
 (!pair  "name_to_copy_hasher"
  (!type already_seen 1049)
  (!srcfileloc  "tree-parloops.c" 282)
  nil )
 (!pair  "hash_table<name_to_copy_hasher>"
  (!type already_seen 1048)
  (!srcfileloc  "tree-parloops.c" 282)
  nil )
 (!pair  "reduction_info_table_type"
  (!type already_seen 1051)
  (!srcfileloc  "tree-parloops.c" 230)
  nil )
 (!pair  "reduction_hasher"
  (!type already_seen 1052)
  (!srcfileloc  "tree-parloops.c" 230)
  nil )
 (!pair  "hash_table<reduction_hasher>"
  (!type already_seen 1051)
  (!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 1063)
  (!srcfileloc  "tree-dfa.c" 704)
  nil )
 (!pair  "vec<mem_addr_template,va_gc>"
  (!type already_seen 1077)
  (!srcfileloc  "tree-ssa-address.c" 98)
  nil )
 (!pair  "mem_addr_template"
  (!type already_seen 1079)
  (!srcfileloc  "tree-ssa-address.c" 91)
  nil )
 (!pair  "treemple"
  (!type already_seen 1091)
  (!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 1093)
  (!srcfileloc  "gimple.h" 1279)
  nil )
 (!pair  "gimple_vec"
  (!type already_seen 1138)
  (!srcfileloc  "gimple.h" 29)
  nil )
 (!pair  "vec<gimple>"
  (!type already_seen 1138)
  (!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 1139)
  (!srcfileloc  "varasm.c" 5788)
  nil )
 (!pair  "oc_local_state"
  (!type already_seen 1140)
  (!srcfileloc  "varasm.c" 4860)
  nil )
 (!pair  "oc_outer_state"
  (!type already_seen 1141)
  (!srcfileloc  "varasm.c" 4598)
  nil )
 (!pair  "block_info"
  (!type already_seen 1157)
  (!srcfileloc  "reg-stack.c" 215)
  nil )
 (!pair  "stack_ptr"
  (!type already_seen 1159)
  (!srcfileloc  "reg-stack.c" 202)
  nil )
 (!pair  "augmenting_path_type"
  (!type already_seen 1161)
  (!srcfileloc  "mcf.c" 147)
  nil )
 (!pair  "queue_type"
  (!type already_seen 1162)
  (!srcfileloc  "mcf.c" 136)
  nil )
 (!pair  "fixup_graph_type"
  (!type already_seen 1163)
  (!srcfileloc  "mcf.c" 128)
  nil )
 (!pair  "fixup_vertex_p"
  (!type already_seen 1165)
  (!srcfileloc  "mcf.c" 111)
  nil )
 (!pair  "fixup_vertex_type"
  (!type already_seen 1164)
  (!srcfileloc  "mcf.c" 109)
  nil )
 (!pair  "fixup_edge_p"
  (!type already_seen 1167)
  (!srcfileloc  "mcf.c" 102)
  nil )
 (!pair  "fixup_edge_type"
  (!type already_seen 1166)
  (!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 1179)
  (!srcfileloc  "gcse.c" 635)
  nil )
 (!pair  "vec<modify_pair>"
  (!type already_seen 1179)
  (!srcfileloc  "gcse.c" 635)
  nil )
 (!pair  "vec_rtx_heap"
  (!type already_seen 1181)
  (!srcfileloc  "gcse.c" 634)
  nil )
 (!pair  "vec<rtx>"
  (!type already_seen 1181)
  (!srcfileloc  "gcse.c" 634)
  nil )
 (!pair  "modify_pair"
  (!type already_seen 1180)
  (!srcfileloc  "gcse.c" 405)
  nil )
 (!pair  "occr_t"
  (!type already_seen 1187)
  (!srcfileloc  "gcse.c" 309)
  nil )
 (!pair  "ehspec_hash_type"
  (!type already_seen 1191)
  (!srcfileloc  "except.c" 786)
  nil )
 (!pair  "ehspec_hasher"
  (!type already_seen 1192)
  (!srcfileloc  "except.c" 786)
  nil )
 (!pair  "hash_table<ehspec_hasher>"
  (!type already_seen 1191)
  (!srcfileloc  "except.c" 786)
  nil )
 (!pair  "ttypes_hash_type"
  (!type already_seen 1193)
  (!srcfileloc  "except.c" 749)
  nil )
 (!pair  "ttypes_filter_hasher"
  (!type already_seen 1194)
  (!srcfileloc  "except.c" 749)
  nil )
 (!pair  "hash_table<ttypes_filter_hasher>"
  (!type already_seen 1193)
  (!srcfileloc  "except.c" 749)
  nil )
 (!pair  "action_hash_type"
  (!type already_seen 1197)
  (!srcfileloc  "except.c" 211)
  nil )
 (!pair  "action_record_hasher"
  (!type already_seen 1198)
  (!srcfileloc  "except.c" 211)
  nil )
 (!pair  "hash_table<action_record_hasher>"
  (!type already_seen 1197)
  (!srcfileloc  "except.c" 211)
  nil )
 (!pair  "initial_value_struct"
  (!type already_seen 1408)
  (!srcfileloc  "function.c" 1222)
  nil )
 (!pair  "initial_value_pair"
  (!type already_seen 1209)
  (!srcfileloc  "function.c" 1214)
  nil )
 (!pair  "function_p"
  (!type already_seen 352)
  (!srcfileloc  "function.c" 134)
  nil )
 (!pair  "sepops"
  (!type already_seen 1219)
  (!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 1357)
  (!srcfileloc  "l-ipo.c" 1183)
  nil )
 (!pair  "type_ent"
  (!type already_seen 1223)
  (!srcfileloc  "l-ipo.c" 525)
  nil )
 (!pair  "saved_module_scope"
  (!type already_seen 1226)
  (!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 1230)
  (!srcfileloc  "dwarf2out.c" 24412)
  nil )
 (!pair  "loc_list_hasher"
  (!type already_seen 1231)
  (!srcfileloc  "dwarf2out.c" 24412)
  nil )
 (!pair  "hash_table<loc_list_hasher>"
  (!type already_seen 1230)
  (!srcfileloc  "dwarf2out.c" 24412)
  nil )
 (!pair  "macinfo_hash_type"
  (!type already_seen 1233)
  (!srcfileloc  "dwarf2out.c" 22217)
  nil )
 (!pair  "macinfo_entry_hasher"
  (!type already_seen 1234)
  (!srcfileloc  "dwarf2out.c" 22217)
  nil )
 (!pair  "hash_table<macinfo_entry_hasher>"
  (!type already_seen 1233)
  (!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 1244)
  (!srcfileloc  "dwarf2out.c" 7578)
  nil )
 (!pair  "external_ref_hasher"
  (!type already_seen 1245)
  (!srcfileloc  "dwarf2out.c" 7578)
  nil )
 (!pair  "hash_table<external_ref_hasher>"
  (!type already_seen 1244)
  (!srcfileloc  "dwarf2out.c" 7578)
  nil )
 (!pair  "decl_hash_type"
  (!type already_seen 1247)
  (!srcfileloc  "dwarf2out.c" 7021)
  nil )
 (!pair  "decl_table_entry_hasher"
  (!type already_seen 1248)
  (!srcfileloc  "dwarf2out.c" 7021)
  nil )
 (!pair  "hash_table<decl_table_entry_hasher>"
  (!type already_seen 1247)
  (!srcfileloc  "dwarf2out.c" 7021)
  nil )
 (!pair  "cu_hash_type"
  (!type already_seen 1250)
  (!srcfileloc  "dwarf2out.c" 6696)
  nil )
 (!pair  "cu_hash_table_entry_hasher"
  (!type already_seen 1251)
  (!srcfileloc  "dwarf2out.c" 6696)
  nil )
 (!pair  "hash_table<cu_hash_table_entry_hasher>"
  (!type already_seen 1250)
  (!srcfileloc  "dwarf2out.c" 6696)
  nil )
 (!pair  "vec<die_arg_entry,va_gc>"
  (!type already_seen 1255)
  (!srcfileloc  "dwarf2out.c" 2958)
  nil )
 (!pair  "vec<macinfo_entry,va_gc>"
  (!type already_seen 1258)
  (!srcfileloc  "dwarf2out.c" 2906)
  nil )
 (!pair  "vec<pubname_entry,va_gc>"
  (!type already_seen 1261)
  (!srcfileloc  "dwarf2out.c" 2898)
  nil )
 (!pair  "vec<dw_line_info_table_p,va_gc>"
  (!type already_seen 1265)
  (!srcfileloc  "dwarf2out.c" 2890)
  nil )
 (!pair  "cached_dw_loc_list"
  (!type already_seen 1273)
  (!srcfileloc  "dwarf2out.c" 2856)
  nil )
 (!pair  "var_loc_list"
  (!type already_seen 1277)
  (!srcfileloc  "dwarf2out.c" 2819)
  nil )
 (!pair  "die_arg_entry"
  (!type already_seen 1257)
  (!srcfileloc  "dwarf2out.c" 2781)
  nil )
 (!pair  "skeleton_chain_node"
  (!type already_seen 1281)
  (!srcfileloc  "dwarf2out.c" 2669)
  nil )
 (!pair  "limbo_die_node"
  (!type already_seen 1282)
  (!srcfileloc  "dwarf2out.c" 2661)
  nil )
 (!pair  "comdat_type_node"
  (!type already_seen 434)
  (!srcfileloc  "dwarf2out.c" 2653)
  nil )
 (!pair  "macinfo_entry"
  (!type already_seen 1260)
  (!srcfileloc  "dwarf2out.c" 2636)
  nil )
 (!pair  "pubname_entry"
  (!type already_seen 1263)
  (!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 1267)
  (!srcfileloc  "dwarf2out.c" 2563)
  nil )
 (!pair  "dw_line_info_table"
  (!type already_seen 1268)
  (!srcfileloc  "dwarf2out.c" 2561)
  nil )
 (!pair  "vec<dw_line_info_entry,va_gc>"
  (!type already_seen 1270)
  (!srcfileloc  "dwarf2out.c" 2560)
  nil )
 (!pair  "dw_line_info_entry"
  (!type already_seen 1271)
  (!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 1285)
  (!srcfileloc  "dwarf2out.c" 2505)
  nil )
 (!pair  "dw_ranges_ref"
  (!type already_seen 1287)
  (!srcfileloc  "dwarf2out.c" 2504)
  nil )
 (!pair  "pubname_ref"
  (!type already_seen 1264)
  (!srcfileloc  "dwarf2out.c" 2503)
  nil )
 (!pair  "dw_line_info_ref"
  (!type already_seen 1272)
  (!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 1288)
  (!srcfileloc  "dwarf2out.c" 1238)
  nil )
 (!pair  "deferred_locations"
  (!type already_seen 1290)
  (!srcfileloc  "dwarf2out.c" 1235)
  nil )
 (!pair  "vec<dw_fde_ref,va_gc>"
  (!type already_seen 1291)
  (!srcfileloc  "dwarf2out.c" 204)
  nil )
 (!pair  "queued_reg_save"
  (!type already_seen 1294)
  (!srcfileloc  "dwarf2cfi.c" 222)
  nil )
 (!pair  "dw_trace_info_ref"
  (!type already_seen 1297)
  (!srcfileloc  "dwarf2cfi.c" 156)
  nil )
 (!pair  "dw_trace_info"
  (!type already_seen 1296)
  (!srcfileloc  "dwarf2cfi.c" 153)
  nil )
 (!pair  "reg_saved_in_data"
  (!type already_seen 1298)
  (!srcfileloc  "dwarf2cfi.c" 80)
  nil )
 (!pair  "dw_cfi_row"
  (!type already_seen 1300)
  (!srcfileloc  "dwarf2cfi.c" 74)
  nil )
 (!pair  "dw_cfa_location"
  (!type already_seen 1302)
  (!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 1334)
  (!srcfileloc  "bitmap.c" 45)
  nil )
 (!pair  "bitmap_descriptor"
  (!type already_seen 1334)
  (!srcfileloc  "bitmap.c" 44)
  nil )
 (!pair  "vec<alias_set_entry,va_gc>"
  (!type already_seen 1335)
  (!srcfileloc  "alias.c" 266)
  nil )
 (!pair  "alias_set_entry"
  (!type already_seen 1337)
  (!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 1368)
  (!srcfileloc  "cgraph.h" 514)
  nil )
 (!pair  "cgraph_node_set"
  (!type already_seen 1370)
  (!srcfileloc  "cgraph.h" 511)
  nil )
 (!pair  "varpool_node_ptr"
  (!type already_seen 1374)
  (!srcfileloc  "cgraph.h" 500)
  nil )
 (!pair  "varpool_node"
  (!type already_seen 1373)
  (!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 1375)
  (!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 1503 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 1412)
  (!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 1213)
  (!srcfileloc  "function.h" 166)
  nil )
 (!pair  "vec<call_site_record,va_gc>"
  (!type already_seen 1404)
  (!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 1405)
  (!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 1415)
  (!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 1419)
  (!srcfileloc  "tree-core.h" 1854)
  nil )
 (!pair  "alias_pair"
  (!type already_seen 1418)
  (!srcfileloc  "tree-core.h" 1819)
  nil )
 (!pair  "vec<alias_pair,va_gc>"
  (!type already_seen 1416)
  (!srcfileloc  "tree-core.h" 1819)
  nil )
 (!pair  "record_layout_info"
  (!type already_seen 1436)
  (!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 1453)
  (!srcfileloc  "coverage.c" 661)
  nil )
 (!pair  "counts_entry_t"
  (!type already_seen 1458)
  (!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 1342)
  (!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 1343)
  (!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/aarch64/aarch64.h" 545)
  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 1478)
  (!srcfileloc  "coretypes.h" 54)
  nil )
 (!pair  "sbitmap"
  (!type already_seen 1478)
  (!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 1480)
  (!srcfileloc  "../libcpp/include/cpplib.h" 1008)
  nil )
 (!pair  "cpp_comment"
  (!type already_seen 1481)
  (!srcfileloc  "../libcpp/include/cpplib.h" 994)
  nil )
 (!pair  "cpp_num"
  (!type already_seen 1482)
  (!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 1484)
  (!srcfileloc  "../libcpp/include/cpplib.h" 37)
  nil )
 (!pair  "cpp_callbacks"
  (!type already_seen 1485)
  (!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 1486)
  (!srcfileloc  "../libcpp/include/cpplib.h" 31)
  nil )
 (!pair  "cpp_buffer"
  (!type already_seen 1487)
  (!srcfileloc  "../libcpp/include/cpplib.h" 30)
  nil )
 (!pair  "cpp_reader"
  (!type already_seen 1488)
  (!srcfileloc  "../libcpp/include/cpplib.h" 29)
  nil )
 (!pair  "expanded_location"
  (!type already_seen 1490)
  (!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 1504 nil  gc_pointed_to
  (!type already_seen 1344)
  nil 
  (!type already_seen 9)
  
  (!type already_seen 9)
  nil nil nil nil nil nil nil nil )
 
 (!type param_struct 1505 nil  gc_pointed_to
  (!type already_seen 1344)
  nil 
  (!type already_seen 37)
  
  (!type already_seen 5)
  nil nil nil nil nil nil nil nil )
 
 (!type param_struct 1506 nil  gc_pointed_to
  (!type already_seen 1344)
  nil 
  (!type already_seen 5)
  
  (!type already_seen 5)
  nil nil nil nil nil nil nil nil )
 
 (!type param_struct 1507 
  (!type pointer 1508 nil  gc_used
   (!type already_seen 1507)
  )
  gc_pointed_to
  (!type already_seen 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 1509 
  (!type pointer 1510 nil  gc_used
   (!type already_seen 1509)
  )
  gc_pointed_to
  (!type already_seen 50)
  
  (!type already_seen 672)
  nil nil nil nil nil nil nil nil nil nil )
 
 (!type param_struct 1511 
  (!type pointer 1512 nil  gc_used
   (!type already_seen 1511)
  )
  gc_pointed_to
  (!type already_seen 50)
  
  (!type already_seen 688)
  nil nil nil nil nil nil nil nil nil nil )
 
 (!type param_struct 1513 
  (!type pointer 1514 nil  gc_used
   (!type already_seen 1513)
  )
  gc_pointed_to
  (!type already_seen 50)
  
  (!type already_seen 716)
  nil nil nil nil nil nil nil nil nil nil )
 
 (!type param_struct 1515 
  (!type pointer 1516 nil  gc_used
   (!type already_seen 1515)
  )
  gc_pointed_to
  (!type already_seen 50)
  
  (!type already_seen 717)
  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 727)
  nil nil nil nil nil nil nil nil nil nil )
 
 (!type already_seen 108)
 
 (!type already_seen 92)
 
 (!type param_struct 1519 
  (!type pointer 1520 nil  gc_used
   (!type already_seen 1519)
  )
  gc_pointed_to
  (!type already_seen 50)
  
  (!type already_seen 820)
  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 1429)
  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 868)
  nil nil nil nil nil nil nil nil nil nil )
 
 (!type already_seen 960)
 
 (!type param_struct 1525 
  (!type pointer 1526 nil  gc_used
   (!type already_seen 1525)
  )
  gc_pointed_to
  (!type already_seen 1341)
  nil 
  (!type already_seen 5)
  
  (!type already_seen 5)
  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 1062)
  nil nil nil nil nil nil nil nil nil nil )
 
 (!type already_seen 397)
 
 (!type param_struct 1529 
  (!type pointer 1530 nil  gc_used
   (!type already_seen 1529)
  )
  gc_pointed_to
  (!type already_seen 50)
  
  (!type already_seen 1433)
  nil nil nil nil nil nil nil nil nil nil )
 
 (!type already_seen 1398)
 
 (!type param_struct 1531 
  (!type pointer 1532 nil  gc_used
   (!type already_seen 1531)
  )
  gc_pointed_to
  (!type already_seen 50)
  
  (!type already_seen 1351)
  nil nil nil nil nil nil nil nil nil nil )
 
 (!type param_struct 1533 
  (!type pointer 1534 nil  gc_used
   (!type already_seen 1533)
  )
  gc_pointed_to
  (!type already_seen 50)
  
  (!type already_seen 244)
  nil nil nil nil nil nil nil nil nil nil )
 
 (!type param_struct 1535 
  (!type pointer 1536 nil  gc_used
   (!type already_seen 1535)
  )
  gc_pointed_to
  (!type already_seen 50)
  
  (!type already_seen 246)
  nil nil nil nil nil nil nil nil nil nil )
 
 (!type param_struct 1537 
  (!type pointer 1538 nil  gc_used
   (!type already_seen 1537)
  )
  gc_pointed_to
  (!type already_seen 50)
  
  (!type already_seen 1427)
  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 1425)
  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 1431)
  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 1147)
  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 1212)
  nil nil nil nil nil nil nil nil nil nil )
 
 (!type already_seen 371)
 
 (!type param_struct 1547 
  (!type pointer 1548 nil  gc_used
   (!type already_seen 1547)
  )
  gc_pointed_to
  (!type already_seen 50)
  
  (!type already_seen 270)
  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 137)
  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 1358)
  nil nil nil nil nil nil nil nil nil nil )
 
 (!type param_struct 1553 
  (!type pointer 1554 nil  gc_used
   (!type already_seen 1553)
  )
  gc_pointed_to
  (!type already_seen 50)
  
  (!type already_seen 1224)
  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 1227)
  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 421)
  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 1274)
  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 1278)
  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 429)
  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 442)
  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 440)
  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 1341)
  nil 
  (!type already_seen 37)
  
  (!type already_seen 5)
  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 1372)
  nil nil nil nil nil nil nil nil nil nil )
 
 (!type already_seen 1340)
 
 (!type param_struct 1573 
  (!type pointer 1574 nil  gc_used
   (!type already_seen 1573)
  )
  gc_pointed_to
  (!type already_seen 50)
  
  (!type already_seen 949)
  nil nil nil nil nil nil nil nil nil nil )
 
 (!type already_seen 1360)
 
 (!type already_seen 931)
 
 (!type already_seen 403)
 
 (!type param_struct 1575 
  (!type pointer 1576 nil  gc_used
   (!type already_seen 1575)
  )
  gc_pointed_to
  (!type already_seen 50)
  
  (!type already_seen 1388)
  nil nil nil nil nil nil nil nil nil nil )
 
 (!type already_seen 55)
 
 (!type already_seen 545)
)
(!variables 629
 (!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 1577 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 1578 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 1579 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 1580 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 1508)
  (!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 1581 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 1582 nil  gc_used "(int) BT_LAST + 1" 
   (!type already_seen 5)
  )
  (!srcfileloc  "lto/lto-lang.c" 183)
  nil )
 (!pair  "built_in_attributes"
  (!type array 1583 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 1584 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 1585 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 1586 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 1587 nil  gc_used "4" 
   (!type already_seen 5)
  )
  (!srcfileloc  "java/class.c" 96)
  nil )
 (!pair  "java_builtins"
  (!type array 1588 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 1589 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 1590 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 1591 nil  gc_used "4" 
   (!type array 1592 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 1593 nil  gc_used "MAX_CHARACTER_KINDS + 1" 
   (!type already_seen 5)
  )
  (!srcfileloc  "fortran/trans-types.c" 103)
  nil )
 (!pair  "gfc_character_types"
  (!type array 1594 nil  gc_used "MAX_CHARACTER_KINDS + 1" 
   (!type already_seen 5)
  )
  (!srcfileloc  "fortran/trans-types.c" 102)
  nil )
 (!pair  "gfc_complex_types"
  (!type array 1595 nil  gc_used "MAX_REAL_KINDS + 1" 
   (!type already_seen 5)
  )
  (!srcfileloc  "fortran/trans-types.c" 98)
  nil )
 (!pair  "gfc_real_types"
  (!type array 1596 nil  gc_used "MAX_REAL_KINDS + 1" 
   (!type already_seen 5)
  )
  (!srcfileloc  "fortran/trans-types.c" 97)
  nil )
 (!pair  "gfc_logical_types"
  (!type array 1597 nil  gc_used "MAX_INT_KINDS + 1" 
   (!type already_seen 5)
  )
  (!srcfileloc  "fortran/trans-types.c" 93)
  nil )
 (!pair  "gfc_integer_types"
  (!type array 1598 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 1599 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 1600 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 1601 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 1602 nil  gc_used "IOCALL_NUM" 
   (!type already_seen 5)
  )
  (!srcfileloc  "fortran/trans-io.c" 151)
  nil )
 (!pair  "st_parameter_field"
  (!type array 1603 nil  gc_used "" 
   (!type already_seen 669)
  )
  (!srcfileloc  "fortran/trans-io.c" 101)
  nil )
 (!pair  "st_parameter"
  (!type array 1604 nil  gc_used "" 
   (!type already_seen 668)
  )
  (!srcfileloc  "fortran/trans-io.c" 90)
  nil )
 (!pair  "gfc_intrinsic_map"
  (!type array 1605 nil  gc_used "" 
   (!type already_seen 670)
  )
  (!srcfileloc  "fortran/trans-intrinsic.c" 116)
  nil )
 (!pair  "module_htab"
  (!type already_seen 1510)
  (!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 1542)
  (!srcfileloc  "cp/cp-objcp-common.c" 649)
  (!options 
   (!option param_is type 
    (!type already_seen 1430)
   )
   (!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 1512)
  (!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 1514)
  (!srcfileloc  "cp/semantics.c" 8136)
  (!options 
   (!option param_is type 
    (!type already_seen 715)
   )
  )
 )
 (!pair  "constexpr_fundef_table"
  (!type already_seen 1516)
  (!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 1518)
  (!srcfileloc  "cp/pt.c" 104)
  (!options 
   (!option param_is type 
    (!type already_seen 726)
   )
  )
 )
 (!pair  "decl_specializations"
  (!type already_seen 1518)
  (!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 1606 nil  gc_used "(int) MAX_TREE_CODES" 
   (!type already_seen 750)
  )
  (!srcfileloc  "cp/cp-tree.h" 4766)
  nil )
 (!pair  "operator_name_info"
  (!type array 1607 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 1608 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 1609 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 1610 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 1611 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 1612 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 1613 nil  gc_used "(int) ATTR_LAST" 
   (!type already_seen 5)
  )
  (!srcfileloc  "ada/gcc-interface/utils.c" 5997)
  nil )
 (!pair  "builtin_types"
  (!type array 1614 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 1520)
  (!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 1615 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 1616 nil  gc_used "2 * MAX_BITS_PER_WORD + 1" 
   (!type array 1617 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 1522)
  (!srcfileloc  "ada/gcc-interface/decl.c" 132)
  (!options 
   (!option param_is type 
    (!type already_seen 1428)
   )
   (!option if_marked string  "tree_int_map_marked_p")
  )
 )
 (!pair  "gnat_raise_decls_ext"
  (!type array 1618 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 1619 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 1620 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 1621 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 1524)
  (!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 1622 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 1530)
  (!srcfileloc  "trans-mem.c" 475)
  (!options 
   (!option param_is type 
    (!type already_seen 1432)
   )
   (!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 1623 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 1574)
  (!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 1364)
  (!srcfileloc  "cgraphunit.c" 232)
  nil )
 (!pair  "order"
  (!type already_seen 924)
  (!srcfileloc  "passes.c" 1613)
  (!options 
   (!option length string  "nnodes")
  )
 )
 (!pair  "va_list_type"
  (!type already_seen 5)
  (!srcfileloc  "config/aarch64/aarch64.c" 6470)
  nil )
 (!pair  "tls_get_addr_libfunc"
  (!type already_seen 137)
  (!srcfileloc  "config/aarch64/aarch64.c" 545)
  nil )
 (!pair  "gty_dummy"
  (!type already_seen 9)
  (!srcfileloc  "config/aarch64/aarch64.c" 363)
  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 1526)
  (!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 1528)
  (!srcfileloc  "tree-scalar-evolution.c" 325)
  (!options 
   (!option param_is type 
    (!type already_seen 1061)
   )
  )
 )
 (!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 1078)
  (!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 1530)
  (!srcfileloc  "varasm.c" 5746)
  (!options 
   (!option param_is type 
    (!type already_seen 1432)
   )
   (!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 1532)
  (!srcfileloc  "varasm.c" 2809)
  (!options 
   (!option param_is type 
    (!type already_seen 1350)
   )
  )
 )
 (!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 1395)
  (!srcfileloc  "varasm.c" 192)
  nil )
 (!pair  "anchor_labelno"
  (!type already_seen 9)
  (!srcfileloc  "varasm.c" 189)
  nil )
 (!pair  "object_block_htab"
  (!type already_seen 1534)
  (!srcfileloc  "varasm.c" 186)
  (!options 
   (!option param_is type 
    (!type already_seen 245)
   )
  )
 )
 (!pair  "section_htab"
  (!type already_seen 1536)
  (!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 1624 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 1538)
  (!srcfileloc  "tree.c" 223)
  (!options 
   (!option param_is type 
    (!type already_seen 1426)
   )
   (!option if_marked string  "tree_priority_map_marked_p")
  )
 )
 (!pair  "debug_args_for_decl"
  (!type already_seen 1540)
  (!srcfileloc  "tree.c" 219)
  (!options 
   (!option param_is type 
    (!type already_seen 1424)
   )
   (!option if_marked string  "tree_vec_map_marked_p")
  )
 )
 (!pair  "value_expr_for_decl"
  (!type already_seen 1542)
  (!srcfileloc  "tree.c" 216)
  (!options 
   (!option param_is type 
    (!type already_seen 1430)
   )
   (!option if_marked string  "tree_decl_map_marked_p")
  )
 )
 (!pair  "debug_expr_for_decl"
  (!type already_seen 1542)
  (!srcfileloc  "tree.c" 213)
  (!options 
   (!option param_is type 
    (!type already_seen 1430)
   )
   (!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 1544)
  (!srcfileloc  "tree.c" 192)
  (!options 
   (!option param_is type 
    (!type already_seen 1146)
   )
   (!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 1149)
  (!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 1546)
  (!srcfileloc  "function.c" 545)
  (!options 
   (!option param_is type 
    (!type already_seen 1211)
   )
  )
 )
 (!pair  "epilogue_insn_hash"
  (!type already_seen 1550)
  (!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 1550)
  (!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 1625 nil  gc_used "NUM_MACHINE_MODES" 
   (!type array 1626 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 1392)
  (!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 1550)
  (!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 1550)
  (!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 1548)
  (!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 1550)
  (!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 1574)
  (!srcfileloc  "l-ipo.c" 2157)
  (!options 
   (!option param_is type 
    (!type already_seen 948)
   )
  )
 )
 (!pair  "cgraph_symtab"
  (!type already_seen 1552)
  (!srcfileloc  "l-ipo.c" 1183)
  (!options 
   (!option param_is type 
    (!type already_seen 1357)
   )
  )
 )
 (!pair  "l_ipo_type_tab"
  (!type already_seen 1554)
  (!srcfileloc  "l-ipo.c" 525)
  (!options 
   (!option param_is type 
    (!type already_seen 1223)
   )
  )
 )
 (!pair  "referenced_asm_ids"
  (!type already_seen 46)
  (!srcfileloc  "l-ipo.c" 72)
  nil )
 (!pair  "saved_module_scope_map"
  (!type already_seen 1556)
  (!srcfileloc  "l-ipo.c" 62)
  (!options 
   (!option param_is type 
    (!type already_seen 1226)
   )
  )
 )
 (!pair  "current_module_scope"
  (!type already_seen 1227)
  (!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 1558)
  (!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 1256)
  (!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 1285)
  (!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 1287)
  (!srcfileloc  "dwarf2out.c" 2915)
  (!options 
   (!option length string  "ranges_table_allocated")
  )
 )
 (!pair  "macinfo_table"
  (!type already_seen 1259)
  (!srcfileloc  "dwarf2out.c" 2906)
  nil )
 (!pair  "pubtype_table"
  (!type already_seen 1262)
  (!srcfileloc  "dwarf2out.c" 2902)
  nil )
 (!pair  "pubname_table"
  (!type already_seen 1262)
  (!srcfileloc  "dwarf2out.c" 2898)
  nil )
 (!pair  "separate_line_info"
  (!type already_seen 1266)
  (!srcfileloc  "dwarf2out.c" 2890)
  nil )
 (!pair  "cold_text_section_line_info"
  (!type already_seen 1267)
  (!srcfileloc  "dwarf2out.c" 2887)
  nil )
 (!pair  "text_section_line_info"
  (!type already_seen 1267)
  (!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 1560)
  (!srcfileloc  "dwarf2out.c" 2859)
  (!options 
   (!option param_is type 
    (!type already_seen 1273)
   )
  )
 )
 (!pair  "call_arg_locations"
  (!type already_seen 1276)
  (!srcfileloc  "dwarf2out.c" 2836)
  nil )
 (!pair  "decl_loc_table"
  (!type already_seen 1562)
  (!srcfileloc  "dwarf2out.c" 2833)
  (!options 
   (!option param_is type 
    (!type already_seen 1277)
   )
  )
 )
 (!pair  "common_block_die_table"
  (!type already_seen 1564)
  (!srcfileloc  "dwarf2out.c" 2776)
  (!options 
   (!option param_is type 
    (!type already_seen 431)
   )
  )
 )
 (!pair  "decl_die_table"
  (!type already_seen 1564)
  (!srcfileloc  "dwarf2out.c" 2772)
  (!options 
   (!option param_is type 
    (!type already_seen 431)
   )
  )
 )
 (!pair  "file_table"
  (!type already_seen 1566)
  (!srcfileloc  "dwarf2out.c" 2768)
  (!options 
   (!option param_is type 
    (!type already_seen 443)
   )
  )
 )
 (!pair  "deferred_asm_name"
  (!type already_seen 1283)
  (!srcfileloc  "dwarf2out.c" 2765)
  nil )
 (!pair  "limbo_die_list"
  (!type already_seen 1283)
  (!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 1289)
  (!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 1568)
  (!srcfileloc  "dwarf2out.c" 236)
  (!options 
   (!option param_is type 
    (!type already_seen 441)
   )
  )
 )
 (!pair  "debug_str_hash"
  (!type already_seen 1568)
  (!srcfileloc  "dwarf2out.c" 214)
  (!options 
   (!option param_is type 
    (!type already_seen 441)
   )
  )
 )
 (!pair  "fde_vec"
  (!type already_seen 1292)
  (!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 1299)
  (!srcfileloc  "dwarf2cfi.c" 194)
  nil )
 (!pair  "cie_cfi_row"
  (!type already_seen 1301)
  (!srcfileloc  "dwarf2cfi.c" 192)
  nil )
 (!pair  "dw2_const_labelno"
  (!type already_seen 9)
  (!srcfileloc  "dwarf2asm.c" 797)
  nil )
 (!pair  "indirect_pool"
  (!type already_seen 1570)
  (!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 1306)
  (!srcfileloc  "dbxout.c" 181)
  (!options 
   (!option length string  "typevec_len")
  )
 )
 (!pair  "version_info_node"
  (!type already_seen 1372)
  (!srcfileloc  "cgraph.c" 176)
  nil )
 (!pair  "cgraph_fnver_htab"
  (!type already_seen 1572)
  (!srcfileloc  "cgraph.c" 152)
  (!options 
   (!option param_is type 
    (!type already_seen 1371)
   )
  )
 )
 (!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 1336)
  (!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 1574)
  (!srcfileloc  "symtab.c" 63)
  (!options 
   (!option param_is type 
    (!type already_seen 948)
   )
  )
 )
 (!pair  "symtab_hash"
  (!type already_seen 1574)
  (!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 1364)
  (!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 1576)
  (!srcfileloc  "function.h" 774)
  (!options 
   (!option param_is type 
    (!type already_seen 1387)
   )
  )
 )
 (!pair  "cfun"
  (!type already_seen 352)
  (!srcfileloc  "function.h" 750)
  nil )
 (!pair  "x_rtl"
  (!type already_seen 1389)
  (!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 1419)
  (!srcfileloc  "tree-core.h" 1854)
  nil )
 (!pair  "sizetype_tab"
  (!type array 1627 nil  gc_used "(int) stk_type_kind_last" 
   (!type already_seen 5)
  )
  (!srcfileloc  "tree-core.h" 1842)
  nil )
 (!pair  "integer_types"
  (!type array 1628 nil  gc_used "itk_none" 
   (!type already_seen 5)
  )
  (!srcfileloc  "tree-core.h" 1839)
  nil )
 (!pair  "global_trees"
  (!type array 1629 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 1417)
  (!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 1630 nil  gc_used "4" 
   (!type array 1631 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 1632 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 1633 nil  gc_used "GCOV_COUNTERS" 
   (!type already_seen 5)
  )
  (!srcfileloc  "coverage.c" 129)
  nil )
 (!pair  "functions_head"
  (!type already_seen 1461)
  (!srcfileloc  "coverage.c" 120)
  nil )
 (!pair  "line_table"
  (!type already_seen 1492)
  (!srcfileloc  "input.h" 26)
  nil )
)

(!endfile)
