From f5bb64beb8d544aa1cc3fb166eab349e7213cd75 Mon Sep 17 00:00:00 2001 From: Bernhard Wodok Date: Tue, 16 May 2023 17:45:41 +0200 Subject: [PATCH] a bit of a cleanup for Linux/Mac --- bin/darwin/opt/bin/m68k-amiga-elf-gcc-13.1.0 | Bin 1567568 -> 0 bytes .../13.1.0/include-fixed/README | 14 - .../13.1.0/install-tools/fixinc_list | 1 - .../13.1.0/install-tools/gsyslimits.h | 8 - .../13.1.0/install-tools/include/README | 14 - .../13.1.0/install-tools/include/limits.h | 163 - .../13.1.0/install-tools/macro_list | 1 - .../13.1.0/install-tools/mkheaders.conf | 3 - .../m68k-amiga-elf/13.1.0/plugin/gtype.state | 38564 ---------------- .../include/ada/gcc-interface/ada-tree.def | 83 - .../13.1.0/plugin/include/addresses.h | 90 - .../13.1.0/plugin/include/alias.h | 51 - .../13.1.0/plugin/include/align.h | 83 - .../13.1.0/plugin/include/all-tree.def | 8 - .../13.1.0/plugin/include/alloc-pool.h | 576 - .../13.1.0/plugin/include/ansidecl.h | 354 - .../13.1.0/plugin/include/array-traits.h | 48 - .../13.1.0/plugin/include/asan.h | 264 - .../13.1.0/plugin/include/attr-fnspec.h | 304 - .../13.1.0/plugin/include/attribs.h | 401 - .../13.1.0/plugin/include/auto-host.h | 2693 -- .../13.1.0/plugin/include/auto-profile.h | 31 - .../13.1.0/plugin/include/b-header-vars | 95 - .../13.1.0/plugin/include/backend.h | 35 - .../13.1.0/plugin/include/basic-block.h | 642 - .../13.1.0/plugin/include/bb-reorder.h | 40 - .../13.1.0/plugin/include/bitmap.h | 1089 - .../13.1.0/plugin/include/builtin-attrs.def | 427 - .../13.1.0/plugin/include/builtin-types.def | 1062 - .../13.1.0/plugin/include/builtins.def | 1190 - .../13.1.0/plugin/include/builtins.h | 160 - .../13.1.0/plugin/include/bversion.h | 4 - .../plugin/include/c-family/c-common.def | 96 - .../13.1.0/plugin/include/c-family/c-common.h | 1587 - .../13.1.0/plugin/include/c-family/c-objc.h | 183 - .../13.1.0/plugin/include/c-family/c-pragma.h | 286 - .../plugin/include/c-family/c-pretty-print.h | 142 - .../13.1.0/plugin/include/c-tree.h | 911 - .../13.1.0/plugin/include/calls.h | 138 - .../13.1.0/plugin/include/ccmp.h | 25 - .../13.1.0/plugin/include/cfg-flags.def | 191 - .../13.1.0/plugin/include/cfg.h | 186 - .../13.1.0/plugin/include/cfganal.h | 90 - .../13.1.0/plugin/include/cfgbuild.h | 28 - .../13.1.0/plugin/include/cfgcleanup.h | 35 - .../13.1.0/plugin/include/cfgexpand.h | 28 - .../13.1.0/plugin/include/cfghooks.h | 289 - .../13.1.0/plugin/include/cfgloop.h | 936 - .../13.1.0/plugin/include/cfgloopmanip.h | 63 - .../13.1.0/plugin/include/cfgrtl.h | 61 - .../13.1.0/plugin/include/cgraph.h | 3576 -- .../13.1.0/plugin/include/cif-code.def | 144 - .../13.1.0/plugin/include/collect-utils.h | 51 - .../13.1.0/plugin/include/collect2-aix.h | 306 - .../13.1.0/plugin/include/collect2.h | 39 - .../13.1.0/plugin/include/color-macros.h | 108 - .../13.1.0/plugin/include/conditions.h | 69 - .../13.1.0/plugin/include/config.h | 10 - .../13.1.0/plugin/include/config/elfos.h | 484 - .../plugin/include/config/initfini-array.h | 45 - .../plugin/include/config/m68k/m68020-elf.h | 30 - .../include/config/m68k/m68k-devices.def | 195 - .../include/config/m68k/m68k-microarchs.def | 44 - .../plugin/include/config/m68k/m68k-none.h | 19 - .../plugin/include/config/m68k/m68k-opts.h | 44 - .../plugin/include/config/m68k/m68k-protos.h | 117 - .../13.1.0/plugin/include/config/m68k/m68k.h | 923 - .../plugin/include/config/m68k/m68kelf.h | 152 - .../plugin/include/config/m68k/m68kemb.h | 52 - .../plugin/include/config/newlib-stdint.h | 69 - .../13.1.0/plugin/include/configargs.h | 7 - .../13.1.0/plugin/include/context.h | 69 - .../13.1.0/plugin/include/convert.h | 45 - .../13.1.0/plugin/include/coretypes.h | 495 - .../plugin/include/coroutine-builtins.def | 53 - .../13.1.0/plugin/include/coverage.h | 61 - .../13.1.0/plugin/include/cp/contracts.h | 305 - .../13.1.0/plugin/include/cp/cp-trait.def | 108 - .../13.1.0/plugin/include/cp/cp-tree.def | 600 - .../13.1.0/plugin/include/cp/cp-tree.h | 8843 ---- .../plugin/include/cp/cxx-pretty-print.h | 117 - .../13.1.0/plugin/include/cp/name-lookup.h | 500 - .../13.1.0/plugin/include/cp/operators.def | 163 - .../13.1.0/plugin/include/cp/type-utils.h | 54 - .../13.1.0/plugin/include/cppbuiltin.h | 33 - .../13.1.0/plugin/include/cppdefault.h | 76 - .../13.1.0/plugin/include/cpplib.h | 1605 - .../13.1.0/plugin/include/cselib.h | 143 - .../13.1.0/plugin/include/ctfc.h | 450 - .../13.1.0/plugin/include/d/d-tree.def | 29 - .../13.1.0/plugin/include/data-streamer.h | 349 - .../13.1.0/plugin/include/dbgcnt.def | 217 - .../13.1.0/plugin/include/dbgcnt.h | 40 - .../13.1.0/plugin/include/dce.h | 27 - .../13.1.0/plugin/include/ddg.h | 182 - .../13.1.0/plugin/include/debug.h | 281 - .../13.1.0/plugin/include/defaults.h | 1464 - .../m68k-amiga-elf/13.1.0/plugin/include/df.h | 1253 - .../13.1.0/plugin/include/dfp.h | 50 - .../include/diagnostic-client-data-hooks.h | 105 - .../13.1.0/plugin/include/diagnostic-color.h | 65 - .../13.1.0/plugin/include/diagnostic-core.h | 128 - .../plugin/include/diagnostic-event-id.h | 61 - .../plugin/include/diagnostic-metadata.h | 85 - .../13.1.0/plugin/include/diagnostic-path.h | 234 - .../13.1.0/plugin/include/diagnostic-spec.h | 142 - .../13.1.0/plugin/include/diagnostic-url.h | 52 - .../13.1.0/plugin/include/diagnostic.def | 55 - .../13.1.0/plugin/include/diagnostic.h | 622 - .../13.1.0/plugin/include/digraph.h | 246 - .../13.1.0/plugin/include/dojump.h | 82 - .../13.1.0/plugin/include/dominance.h | 94 - .../13.1.0/plugin/include/domwalk.h | 115 - .../13.1.0/plugin/include/double-int.h | 470 - .../13.1.0/plugin/include/dump-context.h | 305 - .../13.1.0/plugin/include/dumpfile.h | 774 - .../13.1.0/plugin/include/dwarf2asm.h | 100 - .../13.1.0/plugin/include/dwarf2ctf.h | 55 - .../13.1.0/plugin/include/dwarf2out.h | 470 - .../13.1.0/plugin/include/edit-context.h | 67 - .../13.1.0/plugin/include/emit-rtl.h | 548 - .../13.1.0/plugin/include/errors.h | 40 - .../13.1.0/plugin/include/escaped_string.h | 43 - .../13.1.0/plugin/include/et-forest.h | 85 - .../13.1.0/plugin/include/except.h | 334 - .../13.1.0/plugin/include/explow.h | 143 - .../13.1.0/plugin/include/expmed.h | 728 - .../13.1.0/plugin/include/expr.h | 364 - .../13.1.0/plugin/include/fibonacci_heap.h | 684 - .../13.1.0/plugin/include/file-find.h | 47 - .../13.1.0/plugin/include/file-prefix-map.h | 31 - .../13.1.0/plugin/include/filenames.h | 100 - .../13.1.0/plugin/include/fixed-value.h | 111 - .../13.1.0/plugin/include/flag-types.h | 508 - .../13.1.0/plugin/include/flags.h | 117 - .../13.1.0/plugin/include/fold-const-call.h | 28 - .../13.1.0/plugin/include/fold-const.h | 276 - .../13.1.0/plugin/include/function-abi.h | 320 - .../13.1.0/plugin/include/function.h | 728 - .../13.1.0/plugin/include/gcc-plugin.h | 47 - .../13.1.0/plugin/include/gcc-rich-location.h | 226 - .../13.1.0/plugin/include/gcc-symtab.h | 28 - .../13.1.0/plugin/include/gcc.h | 100 - .../13.1.0/plugin/include/gcov-counter.def | 51 - .../13.1.0/plugin/include/gcov-io.h | 394 - .../13.1.0/plugin/include/gcse-common.h | 47 - .../13.1.0/plugin/include/gcse.h | 45 - .../13.1.0/plugin/include/generic-match.h | 33 - .../13.1.0/plugin/include/gengtype.h | 521 - .../13.1.0/plugin/include/genrtl.h | 1678 - .../13.1.0/plugin/include/gensupport.h | 228 - .../13.1.0/plugin/include/ggc-internal.h | 115 - .../13.1.0/plugin/include/ggc.h | 371 - .../plugin/include/gimple-array-bounds.h | 49 - .../13.1.0/plugin/include/gimple-builder.h | 36 - .../13.1.0/plugin/include/gimple-expr.h | 179 - .../13.1.0/plugin/include/gimple-fold.h | 281 - .../13.1.0/plugin/include/gimple-iterator.h | 415 - .../13.1.0/plugin/include/gimple-low.h | 28 - .../13.1.0/plugin/include/gimple-match.h | 338 - .../include/gimple-predicate-analysis.h | 175 - .../13.1.0/plugin/include/gimple-predict.h | 91 - .../plugin/include/gimple-pretty-print.h | 41 - .../plugin/include/gimple-range-cache.h | 121 - .../13.1.0/plugin/include/gimple-range-edge.h | 58 - .../13.1.0/plugin/include/gimple-range-fold.h | 173 - .../13.1.0/plugin/include/gimple-range-gori.h | 229 - .../plugin/include/gimple-range-infer.h | 86 - .../13.1.0/plugin/include/gimple-range-op.h | 55 - .../13.1.0/plugin/include/gimple-range-path.h | 115 - .../plugin/include/gimple-range-trace.h | 78 - .../13.1.0/plugin/include/gimple-range.h | 103 - .../plugin/include/gimple-ssa-warn-access.h | 48 - .../plugin/include/gimple-ssa-warn-restrict.h | 29 - .../13.1.0/plugin/include/gimple-ssa.h | 201 - .../13.1.0/plugin/include/gimple-streamer.h | 34 - .../13.1.0/plugin/include/gimple-walk.h | 101 - .../13.1.0/plugin/include/gimple.def | 413 - .../13.1.0/plugin/include/gimple.h | 6911 --- .../13.1.0/plugin/include/gimplify-me.h | 37 - .../13.1.0/plugin/include/gimplify.h | 92 - .../13.1.0/plugin/include/glimits.h | 163 - .../13.1.0/plugin/include/gomp-constants.h | 354 - .../13.1.0/plugin/include/graph.h | 27 - .../13.1.0/plugin/include/graphds.h | 69 - .../13.1.0/plugin/include/graphite.h | 452 - .../13.1.0/plugin/include/graphviz.h | 59 - .../13.1.0/plugin/include/gsstruct.def | 54 - .../13.1.0/plugin/include/gsyms.h | 97 - .../13.1.0/plugin/include/gsyslimits.h | 8 - .../13.1.0/plugin/include/gtm-builtins.def | 212 - .../13.1.0/plugin/include/gtype-desc.h | 3843 -- .../13.1.0/plugin/include/hard-reg-set.h | 527 - .../13.1.0/plugin/include/hash-map-traits.h | 194 - .../13.1.0/plugin/include/hash-map.h | 388 - .../13.1.0/plugin/include/hash-set.h | 217 - .../13.1.0/plugin/include/hash-table.h | 1321 - .../13.1.0/plugin/include/hash-traits.h | 471 - .../13.1.0/plugin/include/hashtab.h | 207 - .../plugin/include/highlev-plugin-common.h | 33 - .../13.1.0/plugin/include/hooks.h | 137 - .../13.1.0/plugin/include/hosthooks-def.h | 51 - .../13.1.0/plugin/include/hosthooks.h | 50 - .../13.1.0/plugin/include/hw-doloop.h | 160 - .../13.1.0/plugin/include/hwint.h | 378 - .../13.1.0/plugin/include/ifcvt.h | 121 - .../13.1.0/plugin/include/inchash.h | 211 - .../13.1.0/plugin/include/incpath.h | 46 - .../13.1.0/plugin/include/input.h | 292 - .../13.1.0/plugin/include/insn-addr.h | 63 - .../13.1.0/plugin/include/insn-attr-common.h | 20 - .../13.1.0/plugin/include/insn-attr.h | 212 - .../13.1.0/plugin/include/insn-codes.h | 427 - .../13.1.0/plugin/include/insn-config.h | 21 - .../13.1.0/plugin/include/insn-constants.h | 28 - .../13.1.0/plugin/include/insn-flags.h | 899 - .../13.1.0/plugin/include/insn-modes-inline.h | 295 - .../13.1.0/plugin/include/insn-modes.h | 400 - .../13.1.0/plugin/include/insn-notes.def | 98 - .../plugin/include/int-vector-builder.h | 93 - .../13.1.0/plugin/include/internal-fn.def | 472 - .../13.1.0/plugin/include/internal-fn.h | 260 - .../13.1.0/plugin/include/intl.h | 73 - .../13.1.0/plugin/include/ipa-fnsummary.h | 453 - .../13.1.0/plugin/include/ipa-icf-gimple.h | 296 - .../13.1.0/plugin/include/ipa-icf.h | 680 - .../13.1.0/plugin/include/ipa-inline.h | 134 - .../13.1.0/plugin/include/ipa-modref-tree.h | 766 - .../13.1.0/plugin/include/ipa-modref.h | 131 - .../plugin/include/ipa-param-manipulation.h | 445 - .../13.1.0/plugin/include/ipa-predicate.h | 273 - .../13.1.0/plugin/include/ipa-prop.h | 1204 - .../13.1.0/plugin/include/ipa-ref.h | 139 - .../13.1.0/plugin/include/ipa-reference.h | 31 - .../13.1.0/plugin/include/ipa-utils.h | 286 - .../13.1.0/plugin/include/ira-int.h | 1711 - .../13.1.0/plugin/include/ira.h | 245 - .../13.1.0/plugin/include/is-a.h | 284 - .../13.1.0/plugin/include/iterator-utils.h | 203 - .../13.1.0/plugin/include/json.h | 200 - .../13.1.0/plugin/include/langhooks-def.h | 400 - .../13.1.0/plugin/include/langhooks.h | 674 - .../13.1.0/plugin/include/lcm.h | 34 - .../13.1.0/plugin/include/libfuncs.h | 84 - .../13.1.0/plugin/include/libiberty.h | 761 - .../13.1.0/plugin/include/limitx.h | 35 - .../13.1.0/plugin/include/limity.h | 10 - .../13.1.0/plugin/include/line-map.h | 2152 - .../13.1.0/plugin/include/logical-location.h | 72 - .../13.1.0/plugin/include/loop-unroll.h | 27 - .../13.1.0/plugin/include/lower-subreg.h | 60 - .../13.1.0/plugin/include/lra-int.h | 528 - .../13.1.0/plugin/include/lra.h | 42 - .../13.1.0/plugin/include/lto-compress.h | 43 - .../13.1.0/plugin/include/lto-section-names.h | 41 - .../13.1.0/plugin/include/lto-streamer.h | 1248 - .../13.1.0/plugin/include/m2/m2-tree.def | 24 - .../13.1.0/plugin/include/machmode.def | 284 - .../13.1.0/plugin/include/machmode.h | 1264 - .../13.1.0/plugin/include/make-unique.h | 44 - .../13.1.0/plugin/include/md5.h | 160 - .../13.1.0/plugin/include/mem-stats-traits.h | 41 - .../13.1.0/plugin/include/mem-stats.h | 658 - .../13.1.0/plugin/include/memmodel.h | 116 - .../13.1.0/plugin/include/memory-block.h | 84 - .../13.1.0/plugin/include/mode-classes.def | 40 - .../13.1.0/plugin/include/mux-utils.h | 251 - .../13.1.0/plugin/include/objc/objc-tree.def | 76 - .../13.1.0/plugin/include/obstack-utils.h | 86 - .../13.1.0/plugin/include/obstack.h | 535 - .../13.1.0/plugin/include/omp-builtins.def | 472 - .../13.1.0/plugin/include/omp-expand.h | 32 - .../13.1.0/plugin/include/omp-general.h | 155 - .../13.1.0/plugin/include/omp-low.h | 31 - .../13.1.0/plugin/include/omp-offload.h | 35 - .../13.1.0/plugin/include/omp-simd-clone.h | 26 - .../13.1.0/plugin/include/opt-problem.h | 289 - .../13.1.0/plugin/include/opt-suggestions.h | 71 - .../13.1.0/plugin/include/optabs-libfuncs.h | 79 - .../13.1.0/plugin/include/optabs-query.h | 216 - .../13.1.0/plugin/include/optabs-tree.h | 51 - .../13.1.0/plugin/include/optabs.def | 478 - .../13.1.0/plugin/include/optabs.h | 387 - .../13.1.0/plugin/include/optinfo-emit-json.h | 60 - .../13.1.0/plugin/include/optinfo.h | 170 - .../13.1.0/plugin/include/options.h | 11041 ----- .../13.1.0/plugin/include/opts-diagnostic.h | 28 - .../13.1.0/plugin/include/opts-jobserver.h | 62 - .../13.1.0/plugin/include/opts.h | 566 - .../13.1.0/plugin/include/ordered-hash-map.h | 188 - .../13.1.0/plugin/include/output.h | 631 - .../13.1.0/plugin/include/pass-instances.def | 542 - .../13.1.0/plugin/include/pass_manager.h | 148 - .../13.1.0/plugin/include/passes.def | 540 - .../13.1.0/plugin/include/plugin-api.h | 605 - .../13.1.0/plugin/include/plugin-version.h | 18 - .../13.1.0/plugin/include/plugin.def | 112 - .../13.1.0/plugin/include/plugin.h | 208 - .../13.1.0/plugin/include/pointer-query.h | 297 - .../13.1.0/plugin/include/poly-int-types.h | 103 - .../13.1.0/plugin/include/poly-int.h | 2748 -- .../13.1.0/plugin/include/predict.def | 238 - .../13.1.0/plugin/include/predict.h | 111 - .../13.1.0/plugin/include/prefix.h | 40 - .../13.1.0/plugin/include/pretty-print.h | 443 - .../13.1.0/plugin/include/print-rtl.h | 165 - .../13.1.0/plugin/include/print-tree.h | 50 - .../13.1.0/plugin/include/profile-count.h | 1294 - .../13.1.0/plugin/include/profile.h | 80 - .../13.1.0/plugin/include/range-op.h | 318 - .../13.1.0/plugin/include/range.h | 58 - .../13.1.0/plugin/include/read-md.h | 408 - .../13.1.0/plugin/include/read-rtl-function.h | 28 - .../13.1.0/plugin/include/real.h | 559 - .../13.1.0/plugin/include/realmpfr.h | 35 - .../13.1.0/plugin/include/recog.h | 565 - .../13.1.0/plugin/include/reg-notes.def | 254 - .../13.1.0/plugin/include/regcprop.h | 25 - .../13.1.0/plugin/include/regrename.h | 111 - .../13.1.0/plugin/include/regs.h | 392 - .../13.1.0/plugin/include/regset.h | 123 - .../13.1.0/plugin/include/reload.h | 466 - .../13.1.0/plugin/include/resource.h | 55 - .../13.1.0/plugin/include/rtl-error.h | 31 - .../13.1.0/plugin/include/rtl-iter.h | 292 - .../13.1.0/plugin/include/rtl-ssa.h | 71 - .../13.1.0/plugin/include/rtl.def | 1368 - .../13.1.0/plugin/include/rtl.h | 4623 -- .../13.1.0/plugin/include/rtlanal.h | 341 - .../13.1.0/plugin/include/rtlhash.h | 31 - .../13.1.0/plugin/include/rtlhooks-def.h | 48 - .../plugin/include/rtx-vector-builder.h | 125 - .../13.1.0/plugin/include/run-rtl-passes.h | 25 - .../13.1.0/plugin/include/safe-ctype.h | 150 - .../13.1.0/plugin/include/sanitizer.def | 669 - .../13.1.0/plugin/include/sbitmap.h | 321 - .../13.1.0/plugin/include/sched-int.h | 1687 - .../13.1.0/plugin/include/sel-sched-dump.h | 233 - .../13.1.0/plugin/include/sel-sched-ir.h | 1674 - .../13.1.0/plugin/include/sel-sched.h | 27 - .../plugin/include/selftest-diagnostic.h | 49 - .../13.1.0/plugin/include/selftest-rtl.h | 100 - .../13.1.0/plugin/include/selftest.h | 492 - .../13.1.0/plugin/include/sese.h | 310 - .../13.1.0/plugin/include/shortest-paths.h | 215 - .../13.1.0/plugin/include/shrink-wrap.h | 34 - .../13.1.0/plugin/include/signop.h | 33 - .../13.1.0/plugin/include/sparseset.h | 218 - .../13.1.0/plugin/include/spellcheck-tree.h | 51 - .../13.1.0/plugin/include/spellcheck.h | 229 - .../13.1.0/plugin/include/splay-tree-utils.h | 491 - .../13.1.0/plugin/include/splay-tree.h | 165 - .../13.1.0/plugin/include/sreal.h | 285 - .../13.1.0/plugin/include/ssa-iterators.h | 1013 - .../13.1.0/plugin/include/ssa.h | 34 - .../13.1.0/plugin/include/statistics.h | 71 - .../13.1.0/plugin/include/stmt.h | 53 - .../13.1.0/plugin/include/stor-layout.h | 117 - .../13.1.0/plugin/include/streamer-hooks.h | 92 - .../13.1.0/plugin/include/stringpool.h | 43 - .../plugin/include/substring-locations.h | 126 - .../13.1.0/plugin/include/symbol-summary.h | 1013 - .../13.1.0/plugin/include/symtab-clones.h | 77 - .../13.1.0/plugin/include/symtab-thunks.h | 173 - .../13.1.0/plugin/include/symtab.h | 106 - .../13.1.0/plugin/include/sync-builtins.def | 614 - .../13.1.0/plugin/include/system.h | 1334 - .../13.1.0/plugin/include/target-def.h | 125 - .../13.1.0/plugin/include/target-globals.h | 95 - .../plugin/include/target-hooks-macros.h | 80 - .../13.1.0/plugin/include/target-insns.def | 108 - .../13.1.0/plugin/include/target.def | 7143 --- .../13.1.0/plugin/include/target.h | 321 - .../13.1.0/plugin/include/targhooks.h | 303 - .../13.1.0/plugin/include/timevar.def | 346 - .../13.1.0/plugin/include/timevar.h | 301 - .../13.1.0/plugin/include/tm-preds.h | 231 - .../m68k-amiga-elf/13.1.0/plugin/include/tm.h | 38 - .../13.1.0/plugin/include/tm_p.h | 7 - .../13.1.0/plugin/include/toplev.h | 102 - .../13.1.0/plugin/include/tracer.h | 26 - .../13.1.0/plugin/include/trans-mem.h | 52 - .../13.1.0/plugin/include/tree-affine.h | 129 - .../13.1.0/plugin/include/tree-cfg.h | 134 - .../13.1.0/plugin/include/tree-cfgcleanup.h | 32 - .../13.1.0/plugin/include/tree-check.h | 380 - .../13.1.0/plugin/include/tree-chrec.h | 253 - .../13.1.0/plugin/include/tree-core.h | 2389 - .../13.1.0/plugin/include/tree-data-ref.h | 792 - .../13.1.0/plugin/include/tree-dfa.h | 45 - .../13.1.0/plugin/include/tree-diagnostic.h | 68 - .../13.1.0/plugin/include/tree-dump.h | 92 - .../13.1.0/plugin/include/tree-eh.h | 58 - .../13.1.0/plugin/include/tree-hash-traits.h | 44 - .../13.1.0/plugin/include/tree-hasher.h | 66 - .../13.1.0/plugin/include/tree-if-conv.h | 24 - .../13.1.0/plugin/include/tree-inline.h | 256 - .../13.1.0/plugin/include/tree-into-ssa.h | 53 - .../13.1.0/plugin/include/tree-iterator.h | 150 - .../plugin/include/tree-logical-location.h | 67 - .../13.1.0/plugin/include/tree-nested.h | 89 - .../13.1.0/plugin/include/tree-object-size.h | 38 - .../13.1.0/plugin/include/tree-outof-ssa.h | 82 - .../13.1.0/plugin/include/tree-parloops.h | 25 - .../13.1.0/plugin/include/tree-pass.h | 685 - .../13.1.0/plugin/include/tree-phinodes.h | 68 - .../13.1.0/plugin/include/tree-pretty-print.h | 60 - .../plugin/include/tree-scalar-evolution.h | 74 - .../13.1.0/plugin/include/tree-sra.h | 31 - .../13.1.0/plugin/include/tree-ssa-address.h | 45 - .../plugin/include/tree-ssa-alias-compare.h | 43 - .../13.1.0/plugin/include/tree-ssa-alias.h | 211 - .../13.1.0/plugin/include/tree-ssa-ccp.h | 29 - .../13.1.0/plugin/include/tree-ssa-coalesce.h | 26 - .../13.1.0/plugin/include/tree-ssa-dce.h | 22 - .../13.1.0/plugin/include/tree-ssa-dom.h | 25 - .../13.1.0/plugin/include/tree-ssa-dse.h | 37 - .../13.1.0/plugin/include/tree-ssa-live.h | 331 - .../plugin/include/tree-ssa-loop-ivopts.h | 37 - .../plugin/include/tree-ssa-loop-manip.h | 56 - .../plugin/include/tree-ssa-loop-niter.h | 64 - .../13.1.0/plugin/include/tree-ssa-loop.h | 84 - .../plugin/include/tree-ssa-math-opts.h | 26 - .../13.1.0/plugin/include/tree-ssa-operands.h | 122 - .../plugin/include/tree-ssa-propagate.h | 123 - .../13.1.0/plugin/include/tree-ssa-reassoc.h | 48 - .../13.1.0/plugin/include/tree-ssa-sccvn.h | 316 - .../plugin/include/tree-ssa-scopedtables.h | 212 - .../13.1.0/plugin/include/tree-ssa-strlen.h | 43 - .../13.1.0/plugin/include/tree-ssa-ter.h | 26 - .../plugin/include/tree-ssa-threadedge.h | 134 - .../plugin/include/tree-ssa-threadupdate.h | 150 - .../13.1.0/plugin/include/tree-ssa.h | 118 - .../13.1.0/plugin/include/tree-ssanames.h | 140 - .../13.1.0/plugin/include/tree-stdarg.h | 36 - .../13.1.0/plugin/include/tree-streamer.h | 122 - .../plugin/include/tree-switch-conversion.h | 927 - .../plugin/include/tree-vector-builder.h | 145 - .../13.1.0/plugin/include/tree-vectorizer.h | 2586 -- .../13.1.0/plugin/include/tree-vrp.h | 45 - .../13.1.0/plugin/include/tree.def | 1518 - .../13.1.0/plugin/include/tree.h | 6717 --- .../13.1.0/plugin/include/treestruct.def | 71 - .../13.1.0/plugin/include/tristate.h | 85 - .../13.1.0/plugin/include/tsan.h | 26 - .../13.1.0/plugin/include/tsystem.h | 137 - .../13.1.0/plugin/include/typeclass.h | 43 - .../13.1.0/plugin/include/typed-splay-tree.h | 652 - .../13.1.0/plugin/include/ubsan.h | 70 - .../13.1.0/plugin/include/valtrack.h | 139 - .../plugin/include/value-pointer-equiv.h | 62 - .../13.1.0/plugin/include/value-prof.h | 120 - .../13.1.0/plugin/include/value-query.h | 150 - .../plugin/include/value-range-pretty-print.h | 40 - .../plugin/include/value-range-storage.h | 233 - .../13.1.0/plugin/include/value-range.h | 1449 - .../13.1.0/plugin/include/value-relation.h | 523 - .../13.1.0/plugin/include/varasm.h | 84 - .../13.1.0/plugin/include/vec-perm-indices.h | 153 - .../13.1.0/plugin/include/vec.h | 2386 - .../13.1.0/plugin/include/vector-builder.h | 612 - .../13.1.0/plugin/include/version.h | 26 - .../13.1.0/plugin/include/vmsdbg.h | 249 - .../13.1.0/plugin/include/vr-values.h | 85 - .../13.1.0/plugin/include/vtable-verify.h | 143 - .../13.1.0/plugin/include/wide-int-bitmask.h | 143 - .../13.1.0/plugin/include/wide-int-print.h | 38 - .../13.1.0/plugin/include/wide-int.h | 3510 -- .../13.1.0/plugin/include/xcoff.h | 40 - .../13.1.0/install-tools/fixinc.sh | 513 - .../13.1.0/install-tools/fixincl | Bin 204296 -> 0 bytes .../13.1.0/install-tools/mkheaders | 123 - .../13.1.0/install-tools/mkinstalldirs | 162 - .../gcc/m68k-amiga-elf/13.1.0/plugin/gengtype | Bin 239528 -> 0 bytes .../opt/m68k-amiga-elf/include/c++config | 693 + .../opt/m68k-amiga-elf/include/coroutine | 305 + .../opt/m68k-amiga-elf/include/type_traits | 3458 ++ bin/linux/opt/bin/m68k-amiga-elf-gcc-13.1.0 | Bin 2596472 -> 0 bytes .../13.1.0/include-fixed/README | 14 - .../13.1.0/install-tools/fixinc_list | 1 - .../13.1.0/install-tools/gsyslimits.h | 8 - .../13.1.0/install-tools/include/README | 14 - .../13.1.0/install-tools/include/limits.h | 163 - .../13.1.0/install-tools/macro_list | 1 - .../13.1.0/install-tools/mkheaders.conf | 3 - .../13.1.0/install-tools/fixinc.sh | 513 - .../13.1.0/install-tools/fixincl | Bin 1009392 -> 0 bytes .../13.1.0/install-tools/mkheaders | 123 - .../13.1.0/install-tools/mkinstalldirs | 162 - .../opt/m68k-amiga-elf/include/c++config | 693 + .../opt/m68k-amiga-elf/include/coroutine | 305 + .../opt/m68k-amiga-elf/include/type_traits | 3458 ++ 492 files changed, 8912 insertions(+), 221246 deletions(-) delete mode 100755 bin/darwin/opt/bin/m68k-amiga-elf-gcc-13.1.0 delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/include-fixed/README delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/install-tools/fixinc_list delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/install-tools/gsyslimits.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/install-tools/include/README delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/install-tools/include/limits.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/install-tools/macro_list delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/install-tools/mkheaders.conf delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/gtype.state delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/ada/gcc-interface/ada-tree.def delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/addresses.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/alias.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/align.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/all-tree.def delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/alloc-pool.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/ansidecl.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/array-traits.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/asan.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/attr-fnspec.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/attribs.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/auto-host.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/auto-profile.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/b-header-vars delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/backend.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/basic-block.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/bb-reorder.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/bitmap.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/builtin-attrs.def delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/builtin-types.def delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/builtins.def delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/builtins.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/bversion.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/c-family/c-common.def delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/c-family/c-common.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/c-family/c-objc.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/c-family/c-pragma.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/c-family/c-pretty-print.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/c-tree.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/calls.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/ccmp.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/cfg-flags.def delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/cfg.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/cfganal.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/cfgbuild.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/cfgcleanup.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/cfgexpand.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/cfghooks.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/cfgloop.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/cfgloopmanip.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/cfgrtl.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/cgraph.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/cif-code.def delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/collect-utils.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/collect2-aix.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/collect2.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/color-macros.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/conditions.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/config.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/config/elfos.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/config/initfini-array.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/config/m68k/m68020-elf.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/config/m68k/m68k-devices.def delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/config/m68k/m68k-microarchs.def delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/config/m68k/m68k-none.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/config/m68k/m68k-opts.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/config/m68k/m68k-protos.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/config/m68k/m68k.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/config/m68k/m68kelf.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/config/m68k/m68kemb.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/config/newlib-stdint.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/configargs.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/context.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/convert.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/coretypes.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/coroutine-builtins.def delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/coverage.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/cp/contracts.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/cp/cp-trait.def delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/cp/cp-tree.def delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/cp/cp-tree.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/cp/cxx-pretty-print.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/cp/name-lookup.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/cp/operators.def delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/cp/type-utils.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/cppbuiltin.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/cppdefault.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/cpplib.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/cselib.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/ctfc.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/d/d-tree.def delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/data-streamer.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/dbgcnt.def delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/dbgcnt.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/dce.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/ddg.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/debug.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/defaults.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/df.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/dfp.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/diagnostic-client-data-hooks.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/diagnostic-color.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/diagnostic-core.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/diagnostic-event-id.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/diagnostic-metadata.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/diagnostic-path.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/diagnostic-spec.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/diagnostic-url.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/diagnostic.def delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/diagnostic.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/digraph.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/dojump.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/dominance.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/domwalk.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/double-int.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/dump-context.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/dumpfile.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/dwarf2asm.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/dwarf2ctf.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/dwarf2out.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/edit-context.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/emit-rtl.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/errors.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/escaped_string.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/et-forest.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/except.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/explow.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/expmed.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/expr.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/fibonacci_heap.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/file-find.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/file-prefix-map.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/filenames.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/fixed-value.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/flag-types.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/flags.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/fold-const-call.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/fold-const.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/function-abi.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/function.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/gcc-plugin.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/gcc-rich-location.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/gcc-symtab.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/gcc.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/gcov-counter.def delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/gcov-io.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/gcse-common.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/gcse.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/generic-match.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/gengtype.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/genrtl.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/gensupport.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/ggc-internal.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/ggc.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/gimple-array-bounds.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/gimple-builder.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/gimple-expr.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/gimple-fold.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/gimple-iterator.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/gimple-low.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/gimple-match.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/gimple-predicate-analysis.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/gimple-predict.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/gimple-pretty-print.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/gimple-range-cache.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/gimple-range-edge.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/gimple-range-fold.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/gimple-range-gori.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/gimple-range-infer.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/gimple-range-op.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/gimple-range-path.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/gimple-range-trace.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/gimple-range.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/gimple-ssa-warn-access.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/gimple-ssa-warn-restrict.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/gimple-ssa.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/gimple-streamer.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/gimple-walk.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/gimple.def delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/gimple.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/gimplify-me.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/gimplify.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/glimits.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/gomp-constants.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/graph.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/graphds.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/graphite.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/graphviz.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/gsstruct.def delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/gsyms.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/gsyslimits.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/gtm-builtins.def delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/gtype-desc.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/hard-reg-set.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/hash-map-traits.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/hash-map.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/hash-set.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/hash-table.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/hash-traits.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/hashtab.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/highlev-plugin-common.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/hooks.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/hosthooks-def.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/hosthooks.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/hw-doloop.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/hwint.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/ifcvt.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/inchash.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/incpath.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/input.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/insn-addr.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/insn-attr-common.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/insn-attr.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/insn-codes.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/insn-config.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/insn-constants.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/insn-flags.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/insn-modes-inline.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/insn-modes.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/insn-notes.def delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/int-vector-builder.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/internal-fn.def delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/internal-fn.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/intl.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/ipa-fnsummary.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/ipa-icf-gimple.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/ipa-icf.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/ipa-inline.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/ipa-modref-tree.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/ipa-modref.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/ipa-param-manipulation.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/ipa-predicate.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/ipa-prop.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/ipa-ref.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/ipa-reference.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/ipa-utils.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/ira-int.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/ira.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/is-a.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/iterator-utils.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/json.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/langhooks-def.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/langhooks.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/lcm.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/libfuncs.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/libiberty.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/limitx.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/limity.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/line-map.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/logical-location.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/loop-unroll.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/lower-subreg.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/lra-int.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/lra.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/lto-compress.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/lto-section-names.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/lto-streamer.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/m2/m2-tree.def delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/machmode.def delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/machmode.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/make-unique.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/md5.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/mem-stats-traits.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/mem-stats.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/memmodel.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/memory-block.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/mode-classes.def delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/mux-utils.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/objc/objc-tree.def delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/obstack-utils.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/obstack.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/omp-builtins.def delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/omp-expand.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/omp-general.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/omp-low.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/omp-offload.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/omp-simd-clone.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/opt-problem.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/opt-suggestions.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/optabs-libfuncs.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/optabs-query.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/optabs-tree.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/optabs.def delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/optabs.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/optinfo-emit-json.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/optinfo.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/options.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/opts-diagnostic.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/opts-jobserver.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/opts.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/ordered-hash-map.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/output.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/pass-instances.def delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/pass_manager.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/passes.def delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/plugin-api.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/plugin-version.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/plugin.def delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/plugin.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/pointer-query.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/poly-int-types.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/poly-int.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/predict.def delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/predict.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/prefix.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/pretty-print.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/print-rtl.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/print-tree.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/profile-count.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/profile.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/range-op.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/range.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/read-md.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/read-rtl-function.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/real.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/realmpfr.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/recog.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/reg-notes.def delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/regcprop.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/regrename.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/regs.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/regset.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/reload.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/resource.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/rtl-error.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/rtl-iter.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/rtl-ssa.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/rtl.def delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/rtl.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/rtlanal.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/rtlhash.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/rtlhooks-def.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/rtx-vector-builder.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/run-rtl-passes.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/safe-ctype.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/sanitizer.def delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/sbitmap.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/sched-int.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/sel-sched-dump.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/sel-sched-ir.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/sel-sched.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/selftest-diagnostic.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/selftest-rtl.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/selftest.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/sese.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/shortest-paths.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/shrink-wrap.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/signop.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/sparseset.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/spellcheck-tree.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/spellcheck.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/splay-tree-utils.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/splay-tree.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/sreal.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/ssa-iterators.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/ssa.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/statistics.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/stmt.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/stor-layout.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/streamer-hooks.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/stringpool.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/substring-locations.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/symbol-summary.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/symtab-clones.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/symtab-thunks.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/symtab.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/sync-builtins.def delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/system.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/target-def.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/target-globals.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/target-hooks-macros.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/target-insns.def delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/target.def delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/target.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/targhooks.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/timevar.def delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/timevar.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/tm-preds.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/tm.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/tm_p.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/toplev.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/tracer.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/trans-mem.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/tree-affine.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/tree-cfg.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/tree-cfgcleanup.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/tree-check.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/tree-chrec.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/tree-core.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/tree-data-ref.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/tree-dfa.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/tree-diagnostic.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/tree-dump.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/tree-eh.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/tree-hash-traits.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/tree-hasher.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/tree-if-conv.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/tree-inline.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/tree-into-ssa.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/tree-iterator.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/tree-logical-location.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/tree-nested.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/tree-object-size.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/tree-outof-ssa.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/tree-parloops.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/tree-pass.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/tree-phinodes.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/tree-pretty-print.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/tree-scalar-evolution.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/tree-sra.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/tree-ssa-address.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/tree-ssa-alias-compare.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/tree-ssa-alias.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/tree-ssa-ccp.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/tree-ssa-coalesce.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/tree-ssa-dce.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/tree-ssa-dom.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/tree-ssa-dse.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/tree-ssa-live.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/tree-ssa-loop-ivopts.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/tree-ssa-loop-manip.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/tree-ssa-loop-niter.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/tree-ssa-loop.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/tree-ssa-math-opts.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/tree-ssa-operands.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/tree-ssa-propagate.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/tree-ssa-reassoc.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/tree-ssa-sccvn.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/tree-ssa-scopedtables.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/tree-ssa-strlen.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/tree-ssa-ter.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/tree-ssa-threadedge.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/tree-ssa-threadupdate.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/tree-ssa.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/tree-ssanames.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/tree-stdarg.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/tree-streamer.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/tree-switch-conversion.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/tree-vector-builder.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/tree-vectorizer.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/tree-vrp.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/tree.def delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/tree.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/treestruct.def delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/tristate.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/tsan.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/tsystem.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/typeclass.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/typed-splay-tree.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/ubsan.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/valtrack.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/value-pointer-equiv.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/value-prof.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/value-query.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/value-range-pretty-print.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/value-range-storage.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/value-range.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/value-relation.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/varasm.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/vec-perm-indices.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/vec.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/vector-builder.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/version.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/vmsdbg.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/vr-values.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/vtable-verify.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/wide-int-bitmask.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/wide-int-print.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/wide-int.h delete mode 100644 bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/xcoff.h delete mode 100755 bin/darwin/opt/libexec/gcc/m68k-amiga-elf/13.1.0/install-tools/fixinc.sh delete mode 100755 bin/darwin/opt/libexec/gcc/m68k-amiga-elf/13.1.0/install-tools/fixincl delete mode 100755 bin/darwin/opt/libexec/gcc/m68k-amiga-elf/13.1.0/install-tools/mkheaders delete mode 100755 bin/darwin/opt/libexec/gcc/m68k-amiga-elf/13.1.0/install-tools/mkinstalldirs delete mode 100755 bin/darwin/opt/libexec/gcc/m68k-amiga-elf/13.1.0/plugin/gengtype create mode 100644 bin/darwin/opt/m68k-amiga-elf/include/c++config create mode 100644 bin/darwin/opt/m68k-amiga-elf/include/coroutine create mode 100644 bin/darwin/opt/m68k-amiga-elf/include/type_traits delete mode 100755 bin/linux/opt/bin/m68k-amiga-elf-gcc-13.1.0 delete mode 100644 bin/linux/opt/lib/gcc/m68k-amiga-elf/13.1.0/include-fixed/README delete mode 100644 bin/linux/opt/lib/gcc/m68k-amiga-elf/13.1.0/install-tools/fixinc_list delete mode 100644 bin/linux/opt/lib/gcc/m68k-amiga-elf/13.1.0/install-tools/gsyslimits.h delete mode 100644 bin/linux/opt/lib/gcc/m68k-amiga-elf/13.1.0/install-tools/include/README delete mode 100644 bin/linux/opt/lib/gcc/m68k-amiga-elf/13.1.0/install-tools/include/limits.h delete mode 100644 bin/linux/opt/lib/gcc/m68k-amiga-elf/13.1.0/install-tools/macro_list delete mode 100644 bin/linux/opt/lib/gcc/m68k-amiga-elf/13.1.0/install-tools/mkheaders.conf delete mode 100755 bin/linux/opt/libexec/gcc/m68k-amiga-elf/13.1.0/install-tools/fixinc.sh delete mode 100755 bin/linux/opt/libexec/gcc/m68k-amiga-elf/13.1.0/install-tools/fixincl delete mode 100755 bin/linux/opt/libexec/gcc/m68k-amiga-elf/13.1.0/install-tools/mkheaders delete mode 100755 bin/linux/opt/libexec/gcc/m68k-amiga-elf/13.1.0/install-tools/mkinstalldirs create mode 100644 bin/linux/opt/m68k-amiga-elf/include/c++config create mode 100644 bin/linux/opt/m68k-amiga-elf/include/coroutine create mode 100644 bin/linux/opt/m68k-amiga-elf/include/type_traits diff --git a/bin/darwin/opt/bin/m68k-amiga-elf-gcc-13.1.0 b/bin/darwin/opt/bin/m68k-amiga-elf-gcc-13.1.0 deleted file mode 100755 index 90d5fcd95c0c74af42cd5bc6918501e6cefb37bf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1567568 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

yh#W@gjK-|e1)=5?0G*}TDuvzi0ik_L}+JG>^= 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

`CIco^}~YHBSYn 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 z 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

    J3($Tc%vuEMbg~%K5ulC)brh(hK^+6?*d&@i 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
    TjR9&bP}mOi=6K23Nq|iT%n1Dxbo}W=9e?%* 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

    3j`FGe*)|}k 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

  1. XJ5qvWl6sQH)$%xL(0O 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

    -;CiyQ4Pg$gd()ytJ5%8=ZL-^Jmn2W@dqfle`f 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%0DdTRG5Co^7lWS&T@JpxUAZnCF9kmn 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 bkw5SH+j#%r_%VwX9dYDgi;q~W&kO$xok!hL diff --git a/bin/darwin/opt/libexec/gcc/m68k-amiga-elf/13.1.0/install-tools/mkheaders b/bin/darwin/opt/libexec/gcc/m68k-amiga-elf/13.1.0/install-tools/mkheaders deleted file mode 100755 index 21968be6..00000000 --- a/bin/darwin/opt/libexec/gcc/m68k-amiga-elf/13.1.0/install-tools/mkheaders +++ /dev/null @@ -1,123 +0,0 @@ -#!/bin/sh - -# Copyright (C) 2002, 2007, 2009 Free Software Foundation, Inc. - -#This file is part of GCC. - -#GCC is free software; you can redistribute it and/or modify it under -#the terms of the GNU General Public License as published by the Free -#Software Foundation; either version 3, or (at your option) any later -#version. - -#GCC is distributed in the hope that it will be useful, but WITHOUT -#ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -#FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -#for more details. - -#You should have received a copy of the GNU General Public License -#along with GCC; see the file COPYING3. If not see -#. - -# Basic information -target=m68k-amiga-elf -target_noncanonical=m68k-amiga-elf -version=13.1.0 - -VERBOSE=0 -while [ x$1 = x-v ] ; do - shift - VERBOSE=`expr $VERBOSE + 1` -done -export VERBOSE - -if [ x$1 = x--help ] ; then - echo "Usage: mkheaders [options] [prefix [isysroot]]" - echo "Options:" - echo " -v Print more output (may be repeated for even more output)" - echo " --help This help" - echo " --version Print version information" - exit 0 -fi - -if [ x$1 = x--version ] ; then - echo "mkheaders (GCC) version $version" - echo "Copyright 2002, 2007, 2009 Free Software Foundation, Inc." - echo "This program is free software; you may redistribute it under the" - echo "terms of the GNU General Public License. This program has" - echo "absolutely no warranty." - exit 0 -fi - -# Common prefix for installation directories. -if [ x$1 != x ] ; then - prefix=$1 - shift -else - prefix=/Users/runner/work/vscode-amiga-debug/vscode-amiga-debug/output -fi - -# Allow for alternate isysroot in which to find headers -if [ x$1 != x ] ; then - isysroot=$1 - shift -else - isysroot= -fi - -# Directory in which to put host dependent programs and libraries -exec_prefix=${prefix} -# Directory in which to put the directories used by the compiler. -libdir=${exec_prefix}/lib -libexecdir=${exec_prefix}/libexec -# Directory in which the compiler finds libraries, etc. -libsubdir=${libdir}/gcc/${target_noncanonical}/${version} -# Directory in which the compiler finds executables -libexecsubdir=${libexecdir}/gcc/${target_noncanonical}/${version} - -itoolsdir=${libexecsubdir}/install-tools -itoolsdatadir=${libsubdir}/install-tools -incdir=${libsubdir}/include-fixed -mkinstalldirs="${itoolsdir}/mkinstalldirs" - -cd ${itoolsdir} -rm -rf ${incdir}/* - -for shell in $CONFIG_SHELL $SHELL /bin/sh /bin/sh ""; do - if { test -x $shell || test -x $shell.exe; } \ - && $shell $mkinstalldirs > /dev/null 2>&1; then - mkinstalldirs="$shell $mkinstalldirs" - break - elif test x$shell = x; then - if $mkinstalldirs > /dev/null 2>&1; then - break - elif test ! -f $mkinstalldirs; then - echo mkheaders: could not find $mkinstalldirs >&2 - exit 1 - else - echo mkheaders: please rerun with CONFIG_SHELL set to a working Bourne shell >&2 - exit 1 - fi - fi -done - -for ml in `cat ${itoolsdatadir}/fixinc_list`; do - sysroot_headers_suffix=`echo ${ml} | sed -e 's/;.*$//'` - multi_dir=`echo ${ml} | sed -e 's/^[^;]*;//'` - subincdir=${incdir}${multi_dir} - ${mkinstalldirs} ${subincdir} - . ${itoolsdatadir}/mkheaders.conf - if [ x${STMP_FIXINC} != x ] ; then - TARGET_MACHINE="${target}" target_canonical="${target}" \ - MACRO_LIST="${itoolsdatadir}/macro_list" \ - $shell ./fixinc.sh ${subincdir} \ - ${isysroot}${SYSTEM_HEADER_DIR} ${OTHER_FIXINCLUDES_DIRS} - rm -f ${subincdir}/syslimits.h - if [ -f ${subincdir}/limits.h ]; then - mv ${subincdir}/limits.h ${subincdir}/syslimits.h - else - cp ${itoolsdatadir}/gsyslimits.h ${subincdir}/syslimits.h - fi - fi - - cp ${itoolsdatadir}/include${multi_dir}/limits.h ${subincdir}/limits.h -done diff --git a/bin/darwin/opt/libexec/gcc/m68k-amiga-elf/13.1.0/install-tools/mkinstalldirs b/bin/darwin/opt/libexec/gcc/m68k-amiga-elf/13.1.0/install-tools/mkinstalldirs deleted file mode 100755 index 55d537f8..00000000 --- a/bin/darwin/opt/libexec/gcc/m68k-amiga-elf/13.1.0/install-tools/mkinstalldirs +++ /dev/null @@ -1,162 +0,0 @@ -#! /bin/sh -# mkinstalldirs --- make directory hierarchy - -scriptversion=2009-04-28.21; # UTC - -# Original author: Noah Friedman -# Created: 1993-05-16 -# Public domain. -# -# This file is maintained in Automake, please report -# bugs to or send patches to -# . - -nl=' -' -IFS=" "" $nl" -errstatus=0 -dirmode= - -usage="\ -Usage: mkinstalldirs [-h] [--help] [--version] [-m MODE] DIR ... - -Create each directory DIR (with mode MODE, if specified), including all -leading file name components. - -Report bugs to ." - -# process command line arguments -while test $# -gt 0 ; do - case $1 in - -h | --help | --h*) # -h for help - echo "$usage" - exit $? - ;; - -m) # -m PERM arg - shift - test $# -eq 0 && { echo "$usage" 1>&2; exit 1; } - dirmode=$1 - shift - ;; - --version) - echo "$0 $scriptversion" - exit $? - ;; - --) # stop option processing - shift - break - ;; - -*) # unknown option - echo "$usage" 1>&2 - exit 1 - ;; - *) # first non-opt arg - break - ;; - esac -done - -for file -do - if test -d "$file"; then - shift - else - break - fi -done - -case $# in - 0) exit 0 ;; -esac - -# Solaris 8's mkdir -p isn't thread-safe. If you mkdir -p a/b and -# mkdir -p a/c at the same time, both will detect that a is missing, -# one will create a, then the other will try to create a and die with -# a "File exists" error. This is a problem when calling mkinstalldirs -# from a parallel make. We use --version in the probe to restrict -# ourselves to GNU mkdir, which is thread-safe. -case $dirmode in - '') - if mkdir -p --version . >/dev/null 2>&1 && test ! -d ./--version; then - echo "mkdir -p -- $*" - exec mkdir -p -- "$@" - else - # On NextStep and OpenStep, the 'mkdir' command does not - # recognize any option. It will interpret all options as - # directories to create, and then abort because '.' already - # exists. - test -d ./-p && rmdir ./-p - test -d ./--version && rmdir ./--version - fi - ;; - *) - if mkdir -m "$dirmode" -p --version . >/dev/null 2>&1 && - test ! -d ./--version; then - echo "mkdir -m $dirmode -p -- $*" - exec mkdir -m "$dirmode" -p -- "$@" - else - # Clean up after NextStep and OpenStep mkdir. - for d in ./-m ./-p ./--version "./$dirmode"; - do - test -d $d && rmdir $d - done - fi - ;; -esac - -for file -do - case $file in - /*) pathcomp=/ ;; - *) pathcomp= ;; - esac - oIFS=$IFS - IFS=/ - set fnord $file - shift - IFS=$oIFS - - for d - do - test "x$d" = x && continue - - pathcomp=$pathcomp$d - case $pathcomp in - -*) pathcomp=./$pathcomp ;; - esac - - if test ! -d "$pathcomp"; then - echo "mkdir $pathcomp" - - mkdir "$pathcomp" || lasterr=$? - - if test ! -d "$pathcomp"; then - errstatus=$lasterr - else - if test ! -z "$dirmode"; then - echo "chmod $dirmode $pathcomp" - lasterr= - chmod "$dirmode" "$pathcomp" || lasterr=$? - - if test ! -z "$lasterr"; then - errstatus=$lasterr - fi - fi - fi - fi - - pathcomp=$pathcomp/ - done -done - -exit $errstatus - -# Local Variables: -# mode: shell-script -# sh-indentation: 2 -# eval: (add-hook 'write-file-hooks 'time-stamp) -# time-stamp-start: "scriptversion=" -# time-stamp-format: "%:y-%02m-%02d.%02H" -# time-stamp-time-zone: "UTC" -# time-stamp-end: "; # UTC" -# End: diff --git a/bin/darwin/opt/libexec/gcc/m68k-amiga-elf/13.1.0/plugin/gengtype b/bin/darwin/opt/libexec/gcc/m68k-amiga-elf/13.1.0/plugin/gengtype deleted file mode 100755 index 9030577cf0406cd0e72b35eb6b7089ffb8ef7518..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 239528 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 EAECBg@Bjb+ diff --git a/bin/darwin/opt/m68k-amiga-elf/include/c++config b/bin/darwin/opt/m68k-amiga-elf/include/c++config new file mode 100644 index 00000000..6caaf7ad --- /dev/null +++ b/bin/darwin/opt/m68k-amiga-elf/include/c++config @@ -0,0 +1,693 @@ +// Predefined symbols and macros -*- C++ -*- + +// Copyright (C) 1997-2020 Free Software Foundation, Inc. +// +// This file is part of the GNU ISO C++ Library. This library is free +// software; you can redistribute it and/or modify it under the +// terms of the GNU General Public License as published by the +// Free Software Foundation; either version 3, or (at your option) +// any later version. + +// This library is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. + +// Under Section 7 of GPL version 3, you are granted additional +// permissions described in the GCC Runtime Library Exception, version +// 3.1, as published by the Free Software Foundation. + +// You should have received a copy of the GNU General Public License and +// a copy of the GCC Runtime Library Exception along with this program; +// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see +// . + +/** @file bits/c++config.h + * This is an internal header file, included by other library headers. + * Do not attempt to use it directly. @headername{version} + */ + +#ifndef _GLIBCXX_CXX_CONFIG_H +#define _GLIBCXX_CXX_CONFIG_H 1 + +// The major release number for the GCC release the C++ library belongs to. +#define _GLIBCXX_RELEASE + +// The datestamp of the C++ library in compressed ISO date format. +#define __GLIBCXX__ + +// Macros for various attributes. +// _GLIBCXX_PURE +// _GLIBCXX_CONST +// _GLIBCXX_NORETURN +// _GLIBCXX_NOTHROW +// _GLIBCXX_VISIBILITY +#ifndef _GLIBCXX_PURE +# define _GLIBCXX_PURE __attribute__ ((__pure__)) +#endif + +#ifndef _GLIBCXX_CONST +# define _GLIBCXX_CONST __attribute__ ((__const__)) +#endif + +#ifndef _GLIBCXX_NORETURN +# define _GLIBCXX_NORETURN __attribute__ ((__noreturn__)) +#endif + +// See below for C++ +#ifndef _GLIBCXX_NOTHROW +# ifndef __cplusplus +# define _GLIBCXX_NOTHROW __attribute__((__nothrow__)) +# endif +#endif + +// Macros for visibility attributes. +// _GLIBCXX_HAVE_ATTRIBUTE_VISIBILITY +// _GLIBCXX_VISIBILITY +#define _GLIBCXX_HAVE_ATTRIBUTE_VISIBILITY 1 + +#if _GLIBCXX_HAVE_ATTRIBUTE_VISIBILITY +# define _GLIBCXX_VISIBILITY(V) __attribute__ ((__visibility__ (#V))) +#else +// If this is not supplied by the OS-specific or CPU-specific +// headers included below, it will be defined to an empty default. +# define _GLIBCXX_VISIBILITY(V) _GLIBCXX_PSEUDO_VISIBILITY(V) +#endif + +// Macros for deprecated attributes. +// _GLIBCXX_USE_DEPRECATED +// _GLIBCXX_DEPRECATED +// _GLIBCXX17_DEPRECATED +// _GLIBCXX20_DEPRECATED( string-literal ) +#ifndef _GLIBCXX_USE_DEPRECATED +# define _GLIBCXX_USE_DEPRECATED 1 +#endif + +#if defined(__DEPRECATED) && (__cplusplus >= 201103L) +# define _GLIBCXX_DEPRECATED __attribute__ ((__deprecated__)) +#else +# define _GLIBCXX_DEPRECATED +#endif + +#if defined(__DEPRECATED) && (__cplusplus >= 201703L) +# define _GLIBCXX17_DEPRECATED [[__deprecated__]] +#else +# define _GLIBCXX17_DEPRECATED +#endif + +#if defined(__DEPRECATED) && (__cplusplus > 201703L) +# define _GLIBCXX20_DEPRECATED(MSG) [[deprecated(MSG)]] +#else +# define _GLIBCXX20_DEPRECATED(MSG) +#endif + +// Macros for ABI tag attributes. +#ifndef _GLIBCXX_ABI_TAG_CXX11 +# define _GLIBCXX_ABI_TAG_CXX11 __attribute ((__abi_tag__ ("cxx11"))) +#endif + +// Macro to warn about unused results. +#if __cplusplus >= 201703L +# define _GLIBCXX_NODISCARD [[__nodiscard__]] +#else +# define _GLIBCXX_NODISCARD +#endif + + + +#if __cplusplus + +// Macro for constexpr, to support in mixed 03/0x mode. +#ifndef _GLIBCXX_CONSTEXPR +# if __cplusplus >= 201103L +# define _GLIBCXX_CONSTEXPR constexpr +# define _GLIBCXX_USE_CONSTEXPR constexpr +# else +# define _GLIBCXX_CONSTEXPR +# define _GLIBCXX_USE_CONSTEXPR const +# endif +#endif + +#ifndef _GLIBCXX14_CONSTEXPR +# if __cplusplus >= 201402L +# define _GLIBCXX14_CONSTEXPR constexpr +# else +# define _GLIBCXX14_CONSTEXPR +# endif +#endif + +#ifndef _GLIBCXX17_CONSTEXPR +# if __cplusplus >= 201703L +# define _GLIBCXX17_CONSTEXPR constexpr +# else +# define _GLIBCXX17_CONSTEXPR +# endif +#endif + +#ifndef _GLIBCXX20_CONSTEXPR +# if __cplusplus > 201703L +# define _GLIBCXX20_CONSTEXPR constexpr +# else +# define _GLIBCXX20_CONSTEXPR +# endif +#endif + +#ifndef _GLIBCXX17_INLINE +# if __cplusplus >= 201703L +# define _GLIBCXX17_INLINE inline +# else +# define _GLIBCXX17_INLINE +# endif +#endif + +// Macro for noexcept, to support in mixed 03/0x mode. +#ifndef _GLIBCXX_NOEXCEPT +# if __cplusplus >= 201103L +# define _GLIBCXX_NOEXCEPT noexcept +# define _GLIBCXX_NOEXCEPT_IF(...) noexcept(__VA_ARGS__) +# define _GLIBCXX_USE_NOEXCEPT noexcept +# define _GLIBCXX_THROW(_EXC) +# else +# define _GLIBCXX_NOEXCEPT +# define _GLIBCXX_NOEXCEPT_IF(...) +# define _GLIBCXX_USE_NOEXCEPT throw() +# define _GLIBCXX_THROW(_EXC) throw(_EXC) +# endif +#endif + +#ifndef _GLIBCXX_NOTHROW +# define _GLIBCXX_NOTHROW _GLIBCXX_USE_NOEXCEPT +#endif + +#ifndef _GLIBCXX_THROW_OR_ABORT +# if __cpp_exceptions +# define _GLIBCXX_THROW_OR_ABORT(_EXC) (throw (_EXC)) +# else +# define _GLIBCXX_THROW_OR_ABORT(_EXC) (__builtin_abort()) +# endif +#endif + +#if __cpp_noexcept_function_type +#define _GLIBCXX_NOEXCEPT_PARM , bool _NE +#define _GLIBCXX_NOEXCEPT_QUAL noexcept (_NE) +#else +#define _GLIBCXX_NOEXCEPT_PARM +#define _GLIBCXX_NOEXCEPT_QUAL +#endif + +// Macro for extern template, ie controlling template linkage via use +// of extern keyword on template declaration. As documented in the g++ +// manual, it inhibits all implicit instantiations and is used +// throughout the library to avoid multiple weak definitions for +// required types that are already explicitly instantiated in the +// library binary. This substantially reduces the binary size of +// resulting executables. +// Special case: _GLIBCXX_EXTERN_TEMPLATE == -1 disallows extern +// templates only in basic_string, thus activating its debug-mode +// checks even at -O0. +#define _GLIBCXX_EXTERN_TEMPLATE + +/* + Outline of libstdc++ namespaces. + + namespace std + { + namespace __debug { } + namespace __parallel { } + namespace __cxx1998 { } + + namespace __detail { + namespace __variant { } // C++17 + } + + namespace rel_ops { } + + namespace tr1 + { + namespace placeholders { } + namespace regex_constants { } + namespace __detail { } + } + + namespace tr2 { } + + namespace decimal { } + + namespace chrono { } // C++11 + namespace placeholders { } // C++11 + namespace regex_constants { } // C++11 + namespace this_thread { } // C++11 + inline namespace literals { // C++14 + inline namespace chrono_literals { } // C++14 + inline namespace complex_literals { } // C++14 + inline namespace string_literals { } // C++14 + inline namespace string_view_literals { } // C++17 + } + } + + namespace abi { } + + namespace __gnu_cxx + { + namespace __detail { } + } + + For full details see: + http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/namespaces.html +*/ +namespace std +{ + typedef __SIZE_TYPE__ size_t; + typedef __PTRDIFF_TYPE__ ptrdiff_t; + +#if __cplusplus >= 201103L + typedef decltype(nullptr) nullptr_t; +#endif +} + +#define _GLIBCXX_USE_DUAL_ABI 0 + +#if ! _GLIBCXX_USE_DUAL_ABI +// Ignore any pre-defined value of _GLIBCXX_USE_CXX11_ABI +# undef _GLIBCXX_USE_CXX11_ABI +#endif + +#ifndef _GLIBCXX_USE_CXX11_ABI +#define _GLIBCXX_USE_CXX11_ABI 1 +#endif + +#if _GLIBCXX_USE_CXX11_ABI +namespace std +{ + inline namespace __cxx11 __attribute__((__abi_tag__ ("cxx11"))) { } +} +namespace __gnu_cxx +{ + inline namespace __cxx11 __attribute__((__abi_tag__ ("cxx11"))) { } +} +# define _GLIBCXX_NAMESPACE_CXX11 __cxx11:: +# define _GLIBCXX_BEGIN_NAMESPACE_CXX11 namespace __cxx11 { +# define _GLIBCXX_END_NAMESPACE_CXX11 } +# define _GLIBCXX_DEFAULT_ABI_TAG _GLIBCXX_ABI_TAG_CXX11 +#else +# define _GLIBCXX_NAMESPACE_CXX11 +# define _GLIBCXX_BEGIN_NAMESPACE_CXX11 +# define _GLIBCXX_END_NAMESPACE_CXX11 +# define _GLIBCXX_DEFAULT_ABI_TAG +#endif + +// Defined if inline namespaces are used for versioning. +#define _GLIBCXX_INLINE_VERSION 1 + +// Inline namespace for symbol versioning. +#if _GLIBCXX_INLINE_VERSION +# define _GLIBCXX_BEGIN_NAMESPACE_VERSION namespace __8 { +# define _GLIBCXX_END_NAMESPACE_VERSION } + +namespace std +{ +inline _GLIBCXX_BEGIN_NAMESPACE_VERSION +#if __cplusplus >= 201402L + inline namespace literals { + inline namespace chrono_literals { } + inline namespace complex_literals { } + inline namespace string_literals { } +#if __cplusplus > 201402L + inline namespace string_view_literals { } +#endif // C++17 + } +#endif // C++14 +_GLIBCXX_END_NAMESPACE_VERSION +} + +namespace __gnu_cxx +{ +inline _GLIBCXX_BEGIN_NAMESPACE_VERSION +_GLIBCXX_END_NAMESPACE_VERSION +} + +#else +# define _GLIBCXX_BEGIN_NAMESPACE_VERSION +# define _GLIBCXX_END_NAMESPACE_VERSION +#endif + +// Inline namespaces for special modes: debug, parallel. +#if defined(_GLIBCXX_DEBUG) || defined(_GLIBCXX_PARALLEL) +namespace std +{ +_GLIBCXX_BEGIN_NAMESPACE_VERSION + + // Non-inline namespace for components replaced by alternates in active mode. + namespace __cxx1998 + { +# if _GLIBCXX_USE_CXX11_ABI + inline namespace __cxx11 __attribute__((__abi_tag__ ("cxx11"))) { } +# endif + } + +_GLIBCXX_END_NAMESPACE_VERSION + + // Inline namespace for debug mode. +# ifdef _GLIBCXX_DEBUG + inline namespace __debug { } +# endif + + // Inline namespaces for parallel mode. +# ifdef _GLIBCXX_PARALLEL + inline namespace __parallel { } +# endif +} + +// Check for invalid usage and unsupported mixed-mode use. +# if defined(_GLIBCXX_DEBUG) && defined(_GLIBCXX_PARALLEL) +# error illegal use of multiple inlined namespaces +# endif + +// Check for invalid use due to lack for weak symbols. +# if __NO_INLINE__ && !__GXX_WEAK__ +# warning currently using inlined namespace mode which may fail \ + without inlining due to lack of weak symbols +# endif +#endif + +// Macros for namespace scope. Either namespace std:: or the name +// of some nested namespace within it corresponding to the active mode. +// _GLIBCXX_STD_A +// _GLIBCXX_STD_C +// +// Macros for opening/closing conditional namespaces. +// _GLIBCXX_BEGIN_NAMESPACE_ALGO +// _GLIBCXX_END_NAMESPACE_ALGO +// _GLIBCXX_BEGIN_NAMESPACE_CONTAINER +// _GLIBCXX_END_NAMESPACE_CONTAINER +#if defined(_GLIBCXX_DEBUG) +# define _GLIBCXX_STD_C __cxx1998 +# define _GLIBCXX_BEGIN_NAMESPACE_CONTAINER \ + namespace _GLIBCXX_STD_C { +# define _GLIBCXX_END_NAMESPACE_CONTAINER } +#else +# define _GLIBCXX_STD_C std +# define _GLIBCXX_BEGIN_NAMESPACE_CONTAINER +# define _GLIBCXX_END_NAMESPACE_CONTAINER +#endif + +#ifdef _GLIBCXX_PARALLEL +# define _GLIBCXX_STD_A __cxx1998 +# define _GLIBCXX_BEGIN_NAMESPACE_ALGO \ + namespace _GLIBCXX_STD_A { +# define _GLIBCXX_END_NAMESPACE_ALGO } +#else +# define _GLIBCXX_STD_A std +# define _GLIBCXX_BEGIN_NAMESPACE_ALGO +# define _GLIBCXX_END_NAMESPACE_ALGO +#endif + +// GLIBCXX_ABI Deprecated +// Define if compatibility should be provided for -mlong-double-64. +#undef _GLIBCXX_LONG_DOUBLE_COMPAT + +// Inline namespace for long double 128 mode. +#if defined _GLIBCXX_LONG_DOUBLE_COMPAT && defined __LONG_DOUBLE_128__ +namespace std +{ + inline namespace __gnu_cxx_ldbl128 { } +} +# define _GLIBCXX_NAMESPACE_LDBL __gnu_cxx_ldbl128:: +# define _GLIBCXX_BEGIN_NAMESPACE_LDBL namespace __gnu_cxx_ldbl128 { +# define _GLIBCXX_END_NAMESPACE_LDBL } +#else +# define _GLIBCXX_NAMESPACE_LDBL +# define _GLIBCXX_BEGIN_NAMESPACE_LDBL +# define _GLIBCXX_END_NAMESPACE_LDBL +#endif +#if _GLIBCXX_USE_CXX11_ABI +# define _GLIBCXX_NAMESPACE_LDBL_OR_CXX11 _GLIBCXX_NAMESPACE_CXX11 +# define _GLIBCXX_BEGIN_NAMESPACE_LDBL_OR_CXX11 _GLIBCXX_BEGIN_NAMESPACE_CXX11 +# define _GLIBCXX_END_NAMESPACE_LDBL_OR_CXX11 _GLIBCXX_END_NAMESPACE_CXX11 +#else +# define _GLIBCXX_NAMESPACE_LDBL_OR_CXX11 _GLIBCXX_NAMESPACE_LDBL +# define _GLIBCXX_BEGIN_NAMESPACE_LDBL_OR_CXX11 _GLIBCXX_BEGIN_NAMESPACE_LDBL +# define _GLIBCXX_END_NAMESPACE_LDBL_OR_CXX11 _GLIBCXX_END_NAMESPACE_LDBL +#endif + +// Debug Mode implies checking assertions. +#if defined(_GLIBCXX_DEBUG) && !defined(_GLIBCXX_ASSERTIONS) +# define _GLIBCXX_ASSERTIONS 1 +#endif + +// Disable std::string explicit instantiation declarations in order to assert. +#ifdef _GLIBCXX_ASSERTIONS +# undef _GLIBCXX_EXTERN_TEMPLATE +# define _GLIBCXX_EXTERN_TEMPLATE -1 +#endif + +// Assert. +#if defined(_GLIBCXX_ASSERTIONS) \ + || defined(_GLIBCXX_PARALLEL) || defined(_GLIBCXX_PARALLEL_ASSERTIONS) +namespace std +{ + // Avoid the use of assert, because we're trying to keep the + // include out of the mix. + extern "C++" inline void + __replacement_assert(const char* __file, int __line, + const char* __function, const char* __condition) + { + __builtin_printf("%s:%d: %s: Assertion '%s' failed.\n", __file, __line, + __function, __condition); + __builtin_abort(); + } +} +#define __glibcxx_assert_impl(_Condition) \ + do \ + { \ + if (! (_Condition)) \ + std::__replacement_assert(__FILE__, __LINE__, __PRETTY_FUNCTION__, \ + #_Condition); \ + } while (false) +#endif + +#if defined(_GLIBCXX_ASSERTIONS) +# define __glibcxx_assert(_Condition) __glibcxx_assert_impl(_Condition) +#else +# define __glibcxx_assert(_Condition) +#endif + +// Macros for race detectors. +// _GLIBCXX_SYNCHRONIZATION_HAPPENS_BEFORE(A) and +// _GLIBCXX_SYNCHRONIZATION_HAPPENS_AFTER(A) should be used to explain +// atomic (lock-free) synchronization to race detectors: +// the race detector will infer a happens-before arc from the former to the +// latter when they share the same argument pointer. +// +// The most frequent use case for these macros (and the only case in the +// current implementation of the library) is atomic reference counting: +// void _M_remove_reference() +// { +// _GLIBCXX_SYNCHRONIZATION_HAPPENS_BEFORE(&this->_M_refcount); +// if (__gnu_cxx::__exchange_and_add_dispatch(&this->_M_refcount, -1) <= 0) +// { +// _GLIBCXX_SYNCHRONIZATION_HAPPENS_AFTER(&this->_M_refcount); +// _M_destroy(__a); +// } +// } +// The annotations in this example tell the race detector that all memory +// accesses occurred when the refcount was positive do not race with +// memory accesses which occurred after the refcount became zero. +#ifndef _GLIBCXX_SYNCHRONIZATION_HAPPENS_BEFORE +# define _GLIBCXX_SYNCHRONIZATION_HAPPENS_BEFORE(A) +#endif +#ifndef _GLIBCXX_SYNCHRONIZATION_HAPPENS_AFTER +# define _GLIBCXX_SYNCHRONIZATION_HAPPENS_AFTER(A) +#endif + +// Macros for C linkage: define extern "C" linkage only when using C++. +# define _GLIBCXX_BEGIN_EXTERN_C extern "C" { +# define _GLIBCXX_END_EXTERN_C } + +#define _GLIBCXX_USE_ALLOCATOR_NEW 1 + +#else // !__cplusplus +# define _GLIBCXX_BEGIN_EXTERN_C +# define _GLIBCXX_END_EXTERN_C +#endif + + +// First includes. + +// Pick up any OS-specific definitions. +//#include + +// Pick up any CPU-specific definitions. +//#include + +// If platform uses neither visibility nor psuedo-visibility, +// specify empty default for namespace annotation macros. +#ifndef _GLIBCXX_PSEUDO_VISIBILITY +# define _GLIBCXX_PSEUDO_VISIBILITY(V) +#endif + +// Certain function definitions that are meant to be overridable from +// user code are decorated with this macro. For some targets, this +// macro causes these definitions to be weak. +#ifndef _GLIBCXX_WEAK_DEFINITION +# define _GLIBCXX_WEAK_DEFINITION +#endif + +// By default, we assume that __GXX_WEAK__ also means that there is support +// for declaring functions as weak while not defining such functions. This +// allows for referring to functions provided by other libraries (e.g., +// libitm) without depending on them if the respective features are not used. +#ifndef _GLIBCXX_USE_WEAK_REF +# define _GLIBCXX_USE_WEAK_REF __GXX_WEAK__ +#endif + +// Conditionally enable annotations for the Transactional Memory TS on C++11. +// Most of the following conditions are due to limitations in the current +// implementation. +#if __cplusplus >= 201103L && _GLIBCXX_USE_CXX11_ABI \ + && _GLIBCXX_USE_DUAL_ABI && __cpp_transactional_memory >= 201500L \ + && !_GLIBCXX_FULLY_DYNAMIC_STRING && _GLIBCXX_USE_WEAK_REF \ + && _GLIBCXX_USE_ALLOCATOR_NEW +#define _GLIBCXX_TXN_SAFE transaction_safe +#define _GLIBCXX_TXN_SAFE_DYN transaction_safe_dynamic +#else +#define _GLIBCXX_TXN_SAFE +#define _GLIBCXX_TXN_SAFE_DYN +#endif + +#if __cplusplus > 201402L +// In C++17 mathematical special functions are in namespace std. +# define _GLIBCXX_USE_STD_SPEC_FUNCS 1 +#elif __cplusplus >= 201103L && __STDCPP_WANT_MATH_SPEC_FUNCS__ != 0 +// For C++11 and C++14 they are in namespace std when requested. +# define _GLIBCXX_USE_STD_SPEC_FUNCS 1 +#endif + +// The remainder of the prewritten config is automatic; all the +// user hooks are listed above. + +// Create a boolean flag to be used to determine if --fast-math is set. +#ifdef __FAST_MATH__ +# define _GLIBCXX_FAST_MATH 1 +#else +# define _GLIBCXX_FAST_MATH 0 +#endif + +// This marks string literals in header files to be extracted for eventual +// translation. It is primarily used for messages in thrown exceptions; see +// src/functexcept.cc. We use __N because the more traditional _N is used +// for something else under certain OSes (see BADNAMES). +#define __N(msgid) (msgid) + +// For example, is known to #define min and max as macros... +#undef min +#undef max + +// N.B. these _GLIBCXX_USE_C99_XXX macros are defined unconditionally +// so they should be tested with #if not with #ifdef. +#if __cplusplus >= 201103L +# ifndef _GLIBCXX_USE_C99_MATH +# define _GLIBCXX_USE_C99_MATH _GLIBCXX11_USE_C99_MATH +# endif +# ifndef _GLIBCXX_USE_C99_COMPLEX +# define _GLIBCXX_USE_C99_COMPLEX _GLIBCXX11_USE_C99_COMPLEX +# endif +# ifndef _GLIBCXX_USE_C99_STDIO +# define _GLIBCXX_USE_C99_STDIO _GLIBCXX11_USE_C99_STDIO +# endif +# ifndef _GLIBCXX_USE_C99_STDLIB +# define _GLIBCXX_USE_C99_STDLIB _GLIBCXX11_USE_C99_STDLIB +# endif +# ifndef _GLIBCXX_USE_C99_WCHAR +# define _GLIBCXX_USE_C99_WCHAR _GLIBCXX11_USE_C99_WCHAR +# endif +#else +# ifndef _GLIBCXX_USE_C99_MATH +# define _GLIBCXX_USE_C99_MATH _GLIBCXX98_USE_C99_MATH +# endif +# ifndef _GLIBCXX_USE_C99_COMPLEX +# define _GLIBCXX_USE_C99_COMPLEX _GLIBCXX98_USE_C99_COMPLEX +# endif +# ifndef _GLIBCXX_USE_C99_STDIO +# define _GLIBCXX_USE_C99_STDIO _GLIBCXX98_USE_C99_STDIO +# endif +# ifndef _GLIBCXX_USE_C99_STDLIB +# define _GLIBCXX_USE_C99_STDLIB _GLIBCXX98_USE_C99_STDLIB +# endif +# ifndef _GLIBCXX_USE_C99_WCHAR +# define _GLIBCXX_USE_C99_WCHAR _GLIBCXX98_USE_C99_WCHAR +# endif +#endif + +// Unless explicitly specified, enable char8_t extensions only if the core +// language char8_t feature macro is defined. +#ifndef _GLIBCXX_USE_CHAR8_T +# ifdef __cpp_char8_t +# define _GLIBCXX_USE_CHAR8_T 1 +# endif +#endif +#ifdef _GLIBCXX_USE_CHAR8_T +# define __cpp_lib_char8_t 201907L +#endif + +/* Define if __float128 is supported on this host. */ +#if defined(__FLOAT128__) || defined(__SIZEOF_FLOAT128__) +#define _GLIBCXX_USE_FLOAT128 +#endif + +#if __GNUC__ >= 7 +// Assume these are available if the compiler claims to be a recent GCC: +# define _GLIBCXX_HAVE_BUILTIN_HAS_UNIQ_OBJ_REP 1 +# define _GLIBCXX_HAVE_BUILTIN_IS_AGGREGATE 1 +# define _GLIBCXX_HAVE_BUILTIN_LAUNDER 1 +# define _GLIBCXX_BUILTIN_IS_SAME_AS(T, U) __is_same_as(T, U) +# if __GNUC__ >= 9 +# define _GLIBCXX_HAVE_BUILTIN_IS_CONSTANT_EVALUATED 1 +# endif +#elif defined(__is_identifier) && defined(__has_builtin) +// For non-GNU compilers: +# if ! __is_identifier(__has_unique_object_representations) +# define _GLIBCXX_HAVE_BUILTIN_HAS_UNIQ_OBJ_REP 1 +# endif +# if ! __is_identifier(__is_aggregate) +# define _GLIBCXX_HAVE_BUILTIN_IS_AGGREGATE 1 +# endif +# if __has_builtin(__builtin_launder) +# define _GLIBCXX_HAVE_BUILTIN_LAUNDER 1 +# endif +# if __has_builtin(__builtin_is_constant_evaluated) +# define _GLIBCXX_HAVE_BUILTIN_IS_CONSTANT_EVALUATED 1 +# endif +# if ! __is_identifier(__is_same) +# define _GLIBCXX_BUILTIN_IS_SAME_AS(T, U) __is_same(T, U) +# endif +#endif // GCC + +// PSTL configuration + +#if __cplusplus >= 201703L +// This header is not installed for freestanding: +#if __has_include() +// Preserved here so we have some idea which version of upstream we've pulled in +// #define PSTL_VERSION 9000 + +// For now this defaults to being based on the presence of Thread Building Blocks +# ifndef _GLIBCXX_USE_TBB_PAR_BACKEND +# define _GLIBCXX_USE_TBB_PAR_BACKEND __has_include() +# endif +// This section will need some rework when a new (default) backend type is added +# if _GLIBCXX_USE_TBB_PAR_BACKEND +# define _PSTL_PAR_BACKEND_TBB +# else +# define _PSTL_PAR_BACKEND_SERIAL +# endif + +# define _PSTL_ASSERT(_Condition) __glibcxx_assert(_Condition) +# define _PSTL_ASSERT_MSG(_Condition, _Message) __glibcxx_assert(_Condition) + +#include +#endif // __has_include +#endif // C++17 + +#endif +// End of prewritten config; the settings discovered at configure time follow. diff --git a/bin/darwin/opt/m68k-amiga-elf/include/coroutine b/bin/darwin/opt/m68k-amiga-elf/include/coroutine new file mode 100644 index 00000000..c29e65df --- /dev/null +++ b/bin/darwin/opt/m68k-amiga-elf/include/coroutine @@ -0,0 +1,305 @@ +#ifdef __INTELLISENSE__ + #define __cpp_impl_coroutine 1 +#endif + +// -*- C++ -*- + +// Copyright (C) 2019-2020 Free Software Foundation, Inc. +// +// This file is part of the GNU ISO C++ Library. This library is free +// software; you can redistribute it and/or modify it under the +// terms of the GNU General Public License as published by the +// Free Software Foundation; either version 3, or (at your option) +// any later version. + +// This library is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. + +// Under Section 7 of GPL version 3, you are granted additional +// permissions described in the GCC Runtime Library Exception, version +// 3.1, as published by the Free Software Foundation. + +// You should have received a copy of the GNU General Public License and +// a copy of the GCC Runtime Library Exception along with this program; +// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see +// . + +/** @file include/coroutine + * This is a Standard C++ Library header. + */ + +#ifndef _GLIBCXX_COROUTINE +#define _GLIBCXX_COROUTINE 1 + +#pragma GCC system_header + +// It is very likely that earlier versions would work, but they are untested. +#if __cplusplus >= 201402L + +#include "c++config" + +/** + * @defgroup coroutines Coroutines + * + * Components for supporting coroutine implementations. + */ + +/*#if __cplusplus > 201703L && __cpp_impl_three_way_comparison >= 201907L +# include +# define _COROUTINES_USE_SPACESHIP 1 +#else +# include // for std::less +# define _COROUTINES_USE_SPACESHIP 0 +#endif*/ + +namespace std +{ + +#if __cpp_impl_coroutine + +#define __cpp_lib_coroutine 201902L + + inline namespace __n4861 { + + // 17.12.2 coroutine traits + /// [coroutine.traits] + /// [coroutine.traits.primary] + /// If _Result::promise_type is valid and denotes a type then the traits + /// have a single publicly accessible member, otherwise they are empty. + template + struct __coroutine_traits_impl {}; + + template + struct __coroutine_traits_impl<_Result, + __void_t> + { + using promise_type = typename _Result::promise_type; + }; + + template + struct coroutine_traits : __coroutine_traits_impl<_Result> {}; + + // 17.12.3 Class template coroutine_handle + /// [coroutine.handle] + template + struct coroutine_handle; + + template <> struct + coroutine_handle + { + public: + // 17.12.3.1, construct/reset + constexpr coroutine_handle() noexcept : _M_fr_ptr(0) {} + + constexpr coroutine_handle(std::nullptr_t __h) noexcept + : _M_fr_ptr(__h) + {} + + coroutine_handle& operator=(std::nullptr_t) noexcept + { + _M_fr_ptr = nullptr; + return *this; + } + + public: + // 17.12.3.2, export/import + constexpr void* address() const noexcept { return _M_fr_ptr; } + + constexpr static coroutine_handle from_address(void* __a) noexcept + { + coroutine_handle __self; + __self._M_fr_ptr = __a; + return __self; + } + + public: + // 17.12.3.3, observers + constexpr explicit operator bool() const noexcept + { + return bool(_M_fr_ptr); + } + + bool done() const noexcept { return __builtin_coro_done(_M_fr_ptr); } + + // 17.12.3.4, resumption + void operator()() const { resume(); } + + void resume() const { __builtin_coro_resume(_M_fr_ptr); } + + void destroy() const { __builtin_coro_destroy(_M_fr_ptr); } + + protected: + void* _M_fr_ptr; + }; + + // 17.12.3.6 Comparison operators + /// [coroutine.handle.compare] + constexpr bool operator==(coroutine_handle<> __a, + coroutine_handle<> __b) noexcept + { + return __a.address() == __b.address(); + } + +#if _COROUTINES_USE_SPACESHIP + constexpr strong_ordering + operator<=>(coroutine_handle<> __a, coroutine_handle<> __b) noexcept + { return std::compare_three_way()(__a.address(), __b.address()); } +#else + // These are to enable operation with std=c++14,17. + constexpr bool operator!=(coroutine_handle<> __a, + coroutine_handle<> __b) noexcept + { + return !(__a == __b); + } + + constexpr bool operator<(coroutine_handle<> __a, + coroutine_handle<> __b) noexcept + { + return __a < __b; + } + + constexpr bool operator>(coroutine_handle<> __a, + coroutine_handle<> __b) noexcept + { + return __b < __a; + } + + constexpr bool operator<=(coroutine_handle<> __a, + coroutine_handle<> __b) noexcept + { + return !(__a > __b); + } + + constexpr bool operator>=(coroutine_handle<> __a, + coroutine_handle<> __b) noexcept + { + return !(__a < __b); + } +#endif + + template + struct coroutine_handle : coroutine_handle<> + { + // 17.12.3.1, construct/reset + using coroutine_handle<>::coroutine_handle; + + static coroutine_handle from_promise(_Promise& p) + { + coroutine_handle __self; + __self._M_fr_ptr + = __builtin_coro_promise((char*) &p, __alignof(_Promise), true); + return __self; + } + + coroutine_handle& operator=(std::nullptr_t) noexcept + { + coroutine_handle<>::operator=(nullptr); + return *this; + } + + // 17.12.3.2, export/import + constexpr static coroutine_handle from_address(void* __a) + { + coroutine_handle __self; + __self._M_fr_ptr = __a; + return __self; + } + + // 17.12.3.5, promise accesss + _Promise& promise() const + { + void* __t + = __builtin_coro_promise (this->_M_fr_ptr, __alignof(_Promise), false); + return *static_cast<_Promise*>(__t); + } + }; + + /// [coroutine.noop] + struct noop_coroutine_promise + { + }; + + void __dummy_resume_destroy() __attribute__((__weak__)); + void __dummy_resume_destroy() {} + + struct __noop_coro_frame + { + void (*__r)() = __dummy_resume_destroy; + void (*__d)() = __dummy_resume_destroy; + struct noop_coroutine_promise __p; + } __noop_coro_fr __attribute__((__weak__)); + + // 17.12.4.1 Class noop_coroutine_promise + /// [coroutine.promise.noop] + template <> + struct coroutine_handle : public coroutine_handle<> + { + using _Promise = noop_coroutine_promise; + + public: + // 17.12.4.2.1, observers + constexpr explicit operator bool() const noexcept { return true; } + + constexpr bool done() const noexcept { return false; } + + // 17.12.4.2.2, resumption + void operator()() const noexcept {} + + void resume() const noexcept {} + + void destroy() const noexcept {} + + // 17.12.4.2.3, promise access + _Promise& promise() const + { + return *static_cast<_Promise*>( + __builtin_coro_promise(this->_M_fr_ptr, __alignof(_Promise), false)); + } + + // 17.12.4.2.4, address + private: + friend coroutine_handle noop_coroutine() noexcept; + + coroutine_handle() noexcept { this->_M_fr_ptr = (void*) &__noop_coro_fr; } + }; + + using noop_coroutine_handle = coroutine_handle; + + inline noop_coroutine_handle noop_coroutine() noexcept + { + return noop_coroutine_handle(); + } + + // 17.12.5 Trivial awaitables + /// [coroutine.trivial.awaitables] + struct suspend_always + { + bool await_ready() { return false; } + + void await_suspend(coroutine_handle<>) {} + + void await_resume() {} + }; + + struct suspend_never + { + bool await_ready() { return true; } + + void await_suspend(coroutine_handle<>) {} + + void await_resume() {} + }; + + } // namespace __n4861 + +#else +#error "the coroutine header requires -fcoroutines" +#endif + +} // namespace std + +#endif // C++14 (we are allowing use from at least this) + +#endif // _GLIBCXX_COROUTINE diff --git a/bin/darwin/opt/m68k-amiga-elf/include/type_traits b/bin/darwin/opt/m68k-amiga-elf/include/type_traits new file mode 100644 index 00000000..cea999f4 --- /dev/null +++ b/bin/darwin/opt/m68k-amiga-elf/include/type_traits @@ -0,0 +1,3458 @@ +// C++11 -*- C++ -*- + +// Copyright (C) 2007-2020 Free Software Foundation, Inc. +// +// This file is part of the GNU ISO C++ Library. This library is free +// software; you can redistribute it and/or modify it under the +// terms of the GNU General Public License as published by the +// Free Software Foundation; either version 3, or (at your option) +// any later version. + +// This library is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. + +// Under Section 7 of GPL version 3, you are granted additional +// permissions described in the GCC Runtime Library Exception, version +// 3.1, as published by the Free Software Foundation. + +// You should have received a copy of the GNU General Public License and +// a copy of the GCC Runtime Library Exception along with this program; +// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see +// . + +/** @file include/type_traits + * This is a Standard C++ Library header. + */ + +#ifndef _GLIBCXX_TYPE_TRAITS +#define _GLIBCXX_TYPE_TRAITS 1 + +#pragma GCC system_header + +#if __cplusplus < 201103L +# include +#else + +#include "c++config" + +namespace std +{ + + /** + * @defgroup metaprogramming Metaprogramming + * @ingroup utilities + * + * Template utilities for compile-time introspection and modification, + * including type classification traits, type property inspection traits + * and type transformation traits. + * + * @{ + */ + + /// integral_constant + template + struct integral_constant + { + static constexpr _Tp value = __v; + typedef _Tp value_type; + typedef integral_constant<_Tp, __v> type; + constexpr operator value_type() const noexcept { return value; } +#if __cplusplus > 201103L + +#define __cpp_lib_integral_constant_callable 201304 + + constexpr value_type operator()() const noexcept { return value; } +#endif + }; + + template + constexpr _Tp integral_constant<_Tp, __v>::value; + + /// The type used as a compile-time boolean with true value. + typedef integral_constant true_type; + + /// The type used as a compile-time boolean with false value. + typedef integral_constant false_type; + + template + using __bool_constant = integral_constant; + +#if __cplusplus > 201402L +# define __cpp_lib_bool_constant 201505 + template + using bool_constant = integral_constant; +#endif + + // Meta programming helper types. + + template + struct conditional; + + template + struct __type_identity + { using type = _Type; }; + + template + using __type_identity_t = typename __type_identity<_Tp>::type; + + template + struct __or_; + + template<> + struct __or_<> + : public false_type + { }; + + template + struct __or_<_B1> + : public _B1 + { }; + + template + struct __or_<_B1, _B2> + : public conditional<_B1::value, _B1, _B2>::type + { }; + + template + struct __or_<_B1, _B2, _B3, _Bn...> + : public conditional<_B1::value, _B1, __or_<_B2, _B3, _Bn...>>::type + { }; + + template + struct __and_; + + template<> + struct __and_<> + : public true_type + { }; + + template + struct __and_<_B1> + : public _B1 + { }; + + template + struct __and_<_B1, _B2> + : public conditional<_B1::value, _B2, _B1>::type + { }; + + template + struct __and_<_B1, _B2, _B3, _Bn...> + : public conditional<_B1::value, __and_<_B2, _B3, _Bn...>, _B1>::type + { }; + + template + struct __not_ + : public __bool_constant + { }; + +#if __cplusplus >= 201703L + + template + inline constexpr bool __or_v = __or_<_Bn...>::value; + template + inline constexpr bool __and_v = __and_<_Bn...>::value; + +#define __cpp_lib_logical_traits 201510 + + template + struct conjunction + : __and_<_Bn...> + { }; + + template + struct disjunction + : __or_<_Bn...> + { }; + + template + struct negation + : __not_<_Pp> + { }; + + template + inline constexpr bool conjunction_v = conjunction<_Bn...>::value; + + template + inline constexpr bool disjunction_v = disjunction<_Bn...>::value; + + template + inline constexpr bool negation_v = negation<_Pp>::value; + +#endif // C++17 + + // Forward declarations + template + struct is_reference; + template + struct is_function; + template + struct is_void; + template + struct __is_array_unknown_bounds; + + // Helper functions that return false_type for incomplete classes, + // incomplete unions and arrays of known bound from those. + + template + constexpr true_type __is_complete_or_unbounded(__type_identity<_Tp>) + { return {}; } + + template + constexpr typename __or_< + is_reference<_NestedType>, + is_function<_NestedType>, + is_void<_NestedType>, + __is_array_unknown_bounds<_NestedType> + >::type __is_complete_or_unbounded(_TypeIdentity) + { return {}; } + + // For several sfinae-friendly trait implementations we transport both the + // result information (as the member type) and the failure information (no + // member type). This is very similar to std::enable_if, but we cannot use + // them, because we need to derive from them as an implementation detail. + + template + struct __success_type + { typedef _Tp type; }; + + struct __failure_type + { }; + + template + struct remove_cv; + + // __remove_cv_t (std::remove_cv_t for C++11). + template + using __remove_cv_t = typename remove_cv<_Tp>::type; + + template + struct is_const; + + // Primary type categories. + + template + struct __is_void_helper + : public false_type { }; + + template<> + struct __is_void_helper + : public true_type { }; + + /// is_void + template + struct is_void + : public __is_void_helper<__remove_cv_t<_Tp>>::type + { }; + + template + struct __is_integral_helper + : public false_type { }; + + template<> + struct __is_integral_helper + : public true_type { }; + + template<> + struct __is_integral_helper + : public true_type { }; + + template<> + struct __is_integral_helper + : public true_type { }; + + template<> + struct __is_integral_helper + : public true_type { }; + +#ifdef _GLIBCXX_USE_WCHAR_T + template<> + struct __is_integral_helper + : public true_type { }; +#endif + +#ifdef _GLIBCXX_USE_CHAR8_T + template<> + struct __is_integral_helper + : public true_type { }; +#endif + + template<> + struct __is_integral_helper + : public true_type { }; + + template<> + struct __is_integral_helper + : public true_type { }; + + template<> + struct __is_integral_helper + : public true_type { }; + + template<> + struct __is_integral_helper + : public true_type { }; + + template<> + struct __is_integral_helper + : public true_type { }; + + template<> + struct __is_integral_helper + : public true_type { }; + + template<> + struct __is_integral_helper + : public true_type { }; + + template<> + struct __is_integral_helper + : public true_type { }; + + template<> + struct __is_integral_helper + : public true_type { }; + + template<> + struct __is_integral_helper + : public true_type { }; + + // Conditionalizing on __STRICT_ANSI__ here will break any port that + // uses one of these types for size_t. +#if defined(__GLIBCXX_TYPE_INT_N_0) + template<> + struct __is_integral_helper<__GLIBCXX_TYPE_INT_N_0> + : public true_type { }; + + template<> + struct __is_integral_helper + : public true_type { }; +#endif +#if defined(__GLIBCXX_TYPE_INT_N_1) + template<> + struct __is_integral_helper<__GLIBCXX_TYPE_INT_N_1> + : public true_type { }; + + template<> + struct __is_integral_helper + : public true_type { }; +#endif +#if defined(__GLIBCXX_TYPE_INT_N_2) + template<> + struct __is_integral_helper<__GLIBCXX_TYPE_INT_N_2> + : public true_type { }; + + template<> + struct __is_integral_helper + : public true_type { }; +#endif +#if defined(__GLIBCXX_TYPE_INT_N_3) + template<> + struct __is_integral_helper<__GLIBCXX_TYPE_INT_N_3> + : public true_type { }; + + template<> + struct __is_integral_helper + : public true_type { }; +#endif + + /// is_integral + template + struct is_integral + : public __is_integral_helper<__remove_cv_t<_Tp>>::type + { }; + + template + struct __is_floating_point_helper + : public false_type { }; + + template<> + struct __is_floating_point_helper + : public true_type { }; + + template<> + struct __is_floating_point_helper + : public true_type { }; + + template<> + struct __is_floating_point_helper + : public true_type { }; + +#if !defined(__STRICT_ANSI__) && defined(_GLIBCXX_USE_FLOAT128) + template<> + struct __is_floating_point_helper<__float128> + : public true_type { }; +#endif + + /// is_floating_point + template + struct is_floating_point + : public __is_floating_point_helper<__remove_cv_t<_Tp>>::type + { }; + + /// is_array + template + struct is_array + : public false_type { }; + + template + struct is_array<_Tp[_Size]> + : public true_type { }; + + template + struct is_array<_Tp[]> + : public true_type { }; + + template + struct __is_pointer_helper + : public false_type { }; + + template + struct __is_pointer_helper<_Tp*> + : public true_type { }; + + /// is_pointer + template + struct is_pointer + : public __is_pointer_helper<__remove_cv_t<_Tp>>::type + { }; + + /// is_lvalue_reference + template + struct is_lvalue_reference + : public false_type { }; + + template + struct is_lvalue_reference<_Tp&> + : public true_type { }; + + /// is_rvalue_reference + template + struct is_rvalue_reference + : public false_type { }; + + template + struct is_rvalue_reference<_Tp&&> + : public true_type { }; + + template + struct __is_member_object_pointer_helper + : public false_type { }; + + template + struct __is_member_object_pointer_helper<_Tp _Cp::*> + : public __not_>::type { }; + + /// is_member_object_pointer + template + struct is_member_object_pointer + : public __is_member_object_pointer_helper<__remove_cv_t<_Tp>>::type + { }; + + template + struct __is_member_function_pointer_helper + : public false_type { }; + + template + struct __is_member_function_pointer_helper<_Tp _Cp::*> + : public is_function<_Tp>::type { }; + + /// is_member_function_pointer + template + struct is_member_function_pointer + : public __is_member_function_pointer_helper<__remove_cv_t<_Tp>>::type + { }; + + /// is_enum + template + struct is_enum + : public integral_constant + { }; + + /// is_union + template + struct is_union + : public integral_constant + { }; + + /// is_class + template + struct is_class + : public integral_constant + { }; + + /// is_function + template + struct is_function + : public __bool_constant::value> { }; + + template + struct is_function<_Tp&> + : public false_type { }; + + template + struct is_function<_Tp&&> + : public false_type { }; + +#define __cpp_lib_is_null_pointer 201309 + + template + struct __is_null_pointer_helper + : public false_type { }; + + template<> + struct __is_null_pointer_helper + : public true_type { }; + + /// is_null_pointer (LWG 2247). + template + struct is_null_pointer + : public __is_null_pointer_helper<__remove_cv_t<_Tp>>::type + { }; + + /// __is_nullptr_t (deprecated extension). + template + struct __is_nullptr_t + : public is_null_pointer<_Tp> + { } _GLIBCXX_DEPRECATED; + + // Composite type categories. + + /// is_reference + template + struct is_reference + : public __or_, + is_rvalue_reference<_Tp>>::type + { }; + + /// is_arithmetic + template + struct is_arithmetic + : public __or_, is_floating_point<_Tp>>::type + { }; + + /// is_fundamental + template + struct is_fundamental + : public __or_, is_void<_Tp>, + is_null_pointer<_Tp>>::type + { }; + + /// is_object + template + struct is_object + : public __not_<__or_, is_reference<_Tp>, + is_void<_Tp>>>::type + { }; + + template + struct is_member_pointer; + + /// is_scalar + template + struct is_scalar + : public __or_, is_enum<_Tp>, is_pointer<_Tp>, + is_member_pointer<_Tp>, is_null_pointer<_Tp>>::type + { }; + + /// is_compound + template + struct is_compound + : public __not_>::type { }; + + template + struct __is_member_pointer_helper + : public false_type { }; + + template + struct __is_member_pointer_helper<_Tp _Cp::*> + : public true_type { }; + + /// is_member_pointer + template + struct is_member_pointer + : public __is_member_pointer_helper<__remove_cv_t<_Tp>>::type + { }; + + template + struct is_same; + + template + using __is_one_of = __or_...>; + + // Check if a type is one of the signed integer types. + template + using __is_signed_integer = __is_one_of<__remove_cv_t<_Tp>, + signed char, signed short, signed int, signed long, + signed long long +#if defined(__GLIBCXX_TYPE_INT_N_0) + , signed __GLIBCXX_TYPE_INT_N_0 +#endif +#if defined(__GLIBCXX_TYPE_INT_N_1) + , signed __GLIBCXX_TYPE_INT_N_1 +#endif +#if defined(__GLIBCXX_TYPE_INT_N_2) + , signed __GLIBCXX_TYPE_INT_N_2 +#endif +#if defined(__GLIBCXX_TYPE_INT_N_3) + , signed __GLIBCXX_TYPE_INT_N_3 +#endif + >; + + // Check if a type is one of the unsigned integer types. + template + using __is_unsigned_integer = __is_one_of<__remove_cv_t<_Tp>, + unsigned char, unsigned short, unsigned int, unsigned long, + unsigned long long +#if defined(__GLIBCXX_TYPE_INT_N_0) + , unsigned __GLIBCXX_TYPE_INT_N_0 +#endif +#if defined(__GLIBCXX_TYPE_INT_N_1) + , unsigned __GLIBCXX_TYPE_INT_N_1 +#endif +#if defined(__GLIBCXX_TYPE_INT_N_2) + , unsigned __GLIBCXX_TYPE_INT_N_2 +#endif +#if defined(__GLIBCXX_TYPE_INT_N_3) + , unsigned __GLIBCXX_TYPE_INT_N_3 +#endif + >; + + // Check if a type is one of the signed or unsigned integer types. + template + using __is_standard_integer + = __or_<__is_signed_integer<_Tp>, __is_unsigned_integer<_Tp>>; + + // __void_t (std::void_t for C++11) + template using __void_t = void; + + // Utility to detect referenceable types ([defns.referenceable]). + + template + struct __is_referenceable + : public false_type + { }; + + template + struct __is_referenceable<_Tp, __void_t<_Tp&>> + : public true_type + { }; + + // Type properties. + + /// is_const + template + struct is_const + : public false_type { }; + + template + struct is_const<_Tp const> + : public true_type { }; + + /// is_volatile + template + struct is_volatile + : public false_type { }; + + template + struct is_volatile<_Tp volatile> + : public true_type { }; + + /// is_trivial + template + struct is_trivial + : public integral_constant + { + static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), + "template argument must be a complete class or an unbounded array"); + }; + + // is_trivially_copyable + template + struct is_trivially_copyable + : public integral_constant + { + static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), + "template argument must be a complete class or an unbounded array"); + }; + + /// is_standard_layout + template + struct is_standard_layout + : public integral_constant + { + static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), + "template argument must be a complete class or an unbounded array"); + }; + + /// is_pod (deprecated in C++20) + // Could use is_standard_layout && is_trivial instead of the builtin. + template + struct + _GLIBCXX20_DEPRECATED("use is_standard_layout && is_trivial instead") + is_pod + : public integral_constant + { + static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), + "template argument must be a complete class or an unbounded array"); + }; + + /// is_literal_type + template + struct is_literal_type + : public integral_constant + { + static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), + "template argument must be a complete class or an unbounded array"); + }; + + /// is_empty + template + struct is_empty + : public integral_constant + { }; + + /// is_polymorphic + template + struct is_polymorphic + : public integral_constant + { }; + +#if __cplusplus >= 201402L +#define __cpp_lib_is_final 201402L + /// is_final + template + struct is_final + : public integral_constant + { }; +#endif + + /// is_abstract + template + struct is_abstract + : public integral_constant + { }; + + template::value> + struct __is_signed_helper + : public false_type { }; + + template + struct __is_signed_helper<_Tp, true> + : public integral_constant + { }; + + /// is_signed + template + struct is_signed + : public __is_signed_helper<_Tp>::type + { }; + + /// is_unsigned + template + struct is_unsigned + : public __and_, __not_>> + { }; + + + // Destructible and constructible type properties. + + /** + * @brief Utility to simplify expressions used in unevaluated operands + * @ingroup utilities + */ + + template + _Up + __declval(int); + + template + _Tp + __declval(long); + + template + auto declval() noexcept -> decltype(__declval<_Tp>(0)); + + template + struct extent; + + template + struct remove_all_extents; + + template + struct __is_array_known_bounds + : public integral_constant::value > 0)> + { }; + + template + struct __is_array_unknown_bounds + : public __and_, __not_>> + { }; + + // In N3290 is_destructible does not say anything about function + // types and abstract types, see LWG 2049. This implementation + // describes function types as non-destructible and all complete + // object types as destructible, iff the explicit destructor + // call expression is wellformed. + struct __do_is_destructible_impl + { + template().~_Tp())> + static true_type __test(int); + + template + static false_type __test(...); + }; + + template + struct __is_destructible_impl + : public __do_is_destructible_impl + { + typedef decltype(__test<_Tp>(0)) type; + }; + + template, + __is_array_unknown_bounds<_Tp>, + is_function<_Tp>>::value, + bool = __or_, is_scalar<_Tp>>::value> + struct __is_destructible_safe; + + template + struct __is_destructible_safe<_Tp, false, false> + : public __is_destructible_impl::type>::type + { }; + + template + struct __is_destructible_safe<_Tp, true, false> + : public false_type { }; + + template + struct __is_destructible_safe<_Tp, false, true> + : public true_type { }; + + /// is_destructible + template + struct is_destructible + : public __is_destructible_safe<_Tp>::type + { + static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), + "template argument must be a complete class or an unbounded array"); + }; + + // is_nothrow_destructible requires that is_destructible is + // satisfied as well. We realize that by mimicing the + // implementation of is_destructible but refer to noexcept(expr) + // instead of decltype(expr). + struct __do_is_nt_destructible_impl + { + template + static __bool_constant().~_Tp())> + __test(int); + + template + static false_type __test(...); + }; + + template + struct __is_nt_destructible_impl + : public __do_is_nt_destructible_impl + { + typedef decltype(__test<_Tp>(0)) type; + }; + + template, + __is_array_unknown_bounds<_Tp>, + is_function<_Tp>>::value, + bool = __or_, is_scalar<_Tp>>::value> + struct __is_nt_destructible_safe; + + template + struct __is_nt_destructible_safe<_Tp, false, false> + : public __is_nt_destructible_impl::type>::type + { }; + + template + struct __is_nt_destructible_safe<_Tp, true, false> + : public false_type { }; + + template + struct __is_nt_destructible_safe<_Tp, false, true> + : public true_type { }; + + /// is_nothrow_destructible + template + struct is_nothrow_destructible + : public __is_nt_destructible_safe<_Tp>::type + { + static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), + "template argument must be a complete class or an unbounded array"); + }; + + template + struct __is_constructible_impl + : public __bool_constant<__is_constructible(_Tp, _Args...)> + { }; + + /// is_constructible + template + struct is_constructible + : public __is_constructible_impl<_Tp, _Args...> + { + static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), + "template argument must be a complete class or an unbounded array"); + }; + + /// is_default_constructible + template + struct is_default_constructible + : public __is_constructible_impl<_Tp>::type + { + static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), + "template argument must be a complete class or an unbounded array"); + }; + + template::value> + struct __is_copy_constructible_impl; + + template + struct __is_copy_constructible_impl<_Tp, false> + : public false_type { }; + + template + struct __is_copy_constructible_impl<_Tp, true> + : public __is_constructible_impl<_Tp, const _Tp&> + { }; + + /// is_copy_constructible + template + struct is_copy_constructible + : public __is_copy_constructible_impl<_Tp> + { + static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), + "template argument must be a complete class or an unbounded array"); + }; + + template::value> + struct __is_move_constructible_impl; + + template + struct __is_move_constructible_impl<_Tp, false> + : public false_type { }; + + template + struct __is_move_constructible_impl<_Tp, true> + : public __is_constructible_impl<_Tp, _Tp&&> + { }; + + /// is_move_constructible + template + struct is_move_constructible + : public __is_move_constructible_impl<_Tp> + { + static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), + "template argument must be a complete class or an unbounded array"); + }; + + template + struct __is_nt_constructible_impl + : public false_type + { }; + + template + struct __is_nt_constructible_impl + : public __bool_constant()...))> + { }; + + template + struct __is_nt_constructible_impl + : public __bool_constant(std::declval<_Arg>()))> + { }; + + template + struct __is_nt_constructible_impl + : public __bool_constant + { }; + + template + struct __is_nt_constructible_impl + : public __bool_constant::type())> + { }; + +#if __cpp_aggregate_paren_init + template + struct __is_nt_constructible_impl + : public __is_nt_constructible_impl + { }; + + template + struct __is_nt_constructible_impl + : public __and_<__is_nt_constructible_impl...> + { }; +#endif + + template + using __is_nothrow_constructible_impl + = __is_nt_constructible_impl<__is_constructible(_Tp, _Args...), + _Tp, _Args...>; + + /// is_nothrow_constructible + template + struct is_nothrow_constructible + : public __is_nothrow_constructible_impl<_Tp, _Args...>::type + { + static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), + "template argument must be a complete class or an unbounded array"); + }; + + /// is_nothrow_default_constructible + template + struct is_nothrow_default_constructible + : public __is_nothrow_constructible_impl<_Tp>::type + { + static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), + "template argument must be a complete class or an unbounded array"); + }; + + + template::value> + struct __is_nothrow_copy_constructible_impl; + + template + struct __is_nothrow_copy_constructible_impl<_Tp, false> + : public false_type { }; + + template + struct __is_nothrow_copy_constructible_impl<_Tp, true> + : public __is_nothrow_constructible_impl<_Tp, const _Tp&> + { }; + + /// is_nothrow_copy_constructible + template + struct is_nothrow_copy_constructible + : public __is_nothrow_copy_constructible_impl<_Tp>::type + { + static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), + "template argument must be a complete class or an unbounded array"); + }; + + template::value> + struct __is_nothrow_move_constructible_impl; + + template + struct __is_nothrow_move_constructible_impl<_Tp, false> + : public false_type { }; + + template + struct __is_nothrow_move_constructible_impl<_Tp, true> + : public __is_nothrow_constructible_impl<_Tp, _Tp&&> + { }; + + /// is_nothrow_move_constructible + template + struct is_nothrow_move_constructible + : public __is_nothrow_move_constructible_impl<_Tp>::type + { + static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), + "template argument must be a complete class or an unbounded array"); + }; + + /// is_assignable + template + struct is_assignable + : public __bool_constant<__is_assignable(_Tp, _Up)> + { + static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), + "template argument must be a complete class or an unbounded array"); + }; + + template::value> + struct __is_copy_assignable_impl; + + template + struct __is_copy_assignable_impl<_Tp, false> + : public false_type { }; + + template + struct __is_copy_assignable_impl<_Tp, true> + : public __bool_constant<__is_assignable(_Tp&, const _Tp&)> + { }; + + /// is_copy_assignable + template + struct is_copy_assignable + : public __is_copy_assignable_impl<_Tp>::type + { + static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), + "template argument must be a complete class or an unbounded array"); + }; + + template::value> + struct __is_move_assignable_impl; + + template + struct __is_move_assignable_impl<_Tp, false> + : public false_type { }; + + template + struct __is_move_assignable_impl<_Tp, true> + : public __bool_constant<__is_assignable(_Tp&, _Tp&&)> + { }; + + /// is_move_assignable + template + struct is_move_assignable + : public __is_move_assignable_impl<_Tp>::type + { + static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), + "template argument must be a complete class or an unbounded array"); + }; + + template + struct __is_nt_assignable_impl + : public integral_constant() = declval<_Up>())> + { }; + + template + struct __is_nothrow_assignable_impl + : public __and_<__bool_constant<__is_assignable(_Tp, _Up)>, + __is_nt_assignable_impl<_Tp, _Up>> + { }; + + /// is_nothrow_assignable + template + struct is_nothrow_assignable + : public __is_nothrow_assignable_impl<_Tp, _Up> + { + static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), + "template argument must be a complete class or an unbounded array"); + }; + + template::value> + struct __is_nt_copy_assignable_impl; + + template + struct __is_nt_copy_assignable_impl<_Tp, false> + : public false_type { }; + + template + struct __is_nt_copy_assignable_impl<_Tp, true> + : public __is_nothrow_assignable_impl<_Tp&, const _Tp&> + { }; + + /// is_nothrow_copy_assignable + template + struct is_nothrow_copy_assignable + : public __is_nt_copy_assignable_impl<_Tp> + { + static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), + "template argument must be a complete class or an unbounded array"); + }; + + template::value> + struct __is_nt_move_assignable_impl; + + template + struct __is_nt_move_assignable_impl<_Tp, false> + : public false_type { }; + + template + struct __is_nt_move_assignable_impl<_Tp, true> + : public __is_nothrow_assignable_impl<_Tp&, _Tp&&> + { }; + + /// is_nothrow_move_assignable + template + struct is_nothrow_move_assignable + : public __is_nt_move_assignable_impl<_Tp> + { + static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), + "template argument must be a complete class or an unbounded array"); + }; + + /// is_trivially_constructible + template + struct is_trivially_constructible + : public __bool_constant<__is_trivially_constructible(_Tp, _Args...)> + { + static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), + "template argument must be a complete class or an unbounded array"); + }; + + /// is_trivially_default_constructible + template + struct is_trivially_default_constructible + : public __bool_constant<__is_trivially_constructible(_Tp)> + { + static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), + "template argument must be a complete class or an unbounded array"); + }; + + struct __do_is_implicitly_default_constructible_impl + { + template + static void __helper(const _Tp&); + + template + static true_type __test(const _Tp&, + decltype(__helper({}))* = 0); + + static false_type __test(...); + }; + + template + struct __is_implicitly_default_constructible_impl + : public __do_is_implicitly_default_constructible_impl + { + typedef decltype(__test(declval<_Tp>())) type; + }; + + template + struct __is_implicitly_default_constructible_safe + : public __is_implicitly_default_constructible_impl<_Tp>::type + { }; + + template + struct __is_implicitly_default_constructible + : public __and_<__is_constructible_impl<_Tp>, + __is_implicitly_default_constructible_safe<_Tp>> + { }; + + template::value> + struct __is_trivially_copy_constructible_impl; + + template + struct __is_trivially_copy_constructible_impl<_Tp, false> + : public false_type { }; + + template + struct __is_trivially_copy_constructible_impl<_Tp, true> + : public __and_<__is_copy_constructible_impl<_Tp>, + integral_constant> + { }; + + /// is_trivially_copy_constructible + template + struct is_trivially_copy_constructible + : public __is_trivially_copy_constructible_impl<_Tp> + { + static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), + "template argument must be a complete class or an unbounded array"); + }; + + template::value> + struct __is_trivially_move_constructible_impl; + + template + struct __is_trivially_move_constructible_impl<_Tp, false> + : public false_type { }; + + template + struct __is_trivially_move_constructible_impl<_Tp, true> + : public __and_<__is_move_constructible_impl<_Tp>, + integral_constant> + { }; + + /// is_trivially_move_constructible + template + struct is_trivially_move_constructible + : public __is_trivially_move_constructible_impl<_Tp> + { + static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), + "template argument must be a complete class or an unbounded array"); + }; + + /// is_trivially_assignable + template + struct is_trivially_assignable + : public __bool_constant<__is_trivially_assignable(_Tp, _Up)> + { + static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), + "template argument must be a complete class or an unbounded array"); + }; + + template::value> + struct __is_trivially_copy_assignable_impl; + + template + struct __is_trivially_copy_assignable_impl<_Tp, false> + : public false_type { }; + + template + struct __is_trivially_copy_assignable_impl<_Tp, true> + : public __bool_constant<__is_trivially_assignable(_Tp&, const _Tp&)> + { }; + + /// is_trivially_copy_assignable + template + struct is_trivially_copy_assignable + : public __is_trivially_copy_assignable_impl<_Tp> + { + static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), + "template argument must be a complete class or an unbounded array"); + }; + + template::value> + struct __is_trivially_move_assignable_impl; + + template + struct __is_trivially_move_assignable_impl<_Tp, false> + : public false_type { }; + + template + struct __is_trivially_move_assignable_impl<_Tp, true> + : public __bool_constant<__is_trivially_assignable(_Tp&, _Tp&&)> + { }; + + /// is_trivially_move_assignable + template + struct is_trivially_move_assignable + : public __is_trivially_move_assignable_impl<_Tp> + { + static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), + "template argument must be a complete class or an unbounded array"); + }; + + /// is_trivially_destructible + template + struct is_trivially_destructible + : public __and_<__is_destructible_safe<_Tp>, + __bool_constant<__has_trivial_destructor(_Tp)>> + { + static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), + "template argument must be a complete class or an unbounded array"); + }; + + + /// has_virtual_destructor + template + struct has_virtual_destructor + : public integral_constant + { + static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), + "template argument must be a complete class or an unbounded array"); + }; + + + // type property queries. + + /// alignment_of + template + struct alignment_of + : public integral_constant + { + static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), + "template argument must be a complete class or an unbounded array"); + }; + + /// rank + template + struct rank + : public integral_constant { }; + + template + struct rank<_Tp[_Size]> + : public integral_constant::value> { }; + + template + struct rank<_Tp[]> + : public integral_constant::value> { }; + + /// extent + template + struct extent + : public integral_constant { }; + + template + struct extent<_Tp[_Size], _Uint> + : public integral_constant::value> + { }; + + template + struct extent<_Tp[], _Uint> + : public integral_constant::value> + { }; + + + // Type relations. + + /// is_same + template + struct is_same +#ifdef _GLIBCXX_BUILTIN_IS_SAME_AS + : public integral_constant +#else + : public false_type +#endif + { }; + +#ifndef _GLIBCXX_BUILTIN_IS_SAME_AS + template + struct is_same<_Tp, _Tp> + : public true_type + { }; +#endif + + /// is_base_of + template + struct is_base_of + : public integral_constant + { }; + + template, is_function<_To>, + is_array<_To>>::value> + struct __is_convertible_helper + { + typedef typename is_void<_To>::type type; + }; + +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wctor-dtor-privacy" + template + class __is_convertible_helper<_From, _To, false> + { + template + static void __test_aux(_To1) noexcept; + + template(std::declval<_From1>()))> + static true_type + __test(int); + + template + static false_type + __test(...); + + public: + typedef decltype(__test<_From, _To>(0)) type; + }; +#pragma GCC diagnostic pop + + /// is_convertible + template + struct is_convertible + : public __is_convertible_helper<_From, _To>::type + { }; + + // helper trait for unique_ptr, shared_ptr, and span + template + using __is_array_convertible + = is_convertible<_FromElementType(*)[], _ToElementType(*)[]>; + + template, is_function<_To>, + is_array<_To>>::value> + struct __is_nt_convertible_helper + : is_void<_To> + { }; + +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wctor-dtor-privacy" + template + class __is_nt_convertible_helper<_From, _To, false> + { + template + static void __test_aux(_To1) noexcept; + + template + static + __bool_constant(std::declval<_From1>()))> + __test(int); + + template + static false_type + __test(...); + + public: + using type = decltype(__test<_From, _To>(0)); + }; +#pragma GCC diagnostic pop + + // is_nothrow_convertible for C++11 + template + struct __is_nothrow_convertible + : public __is_nt_convertible_helper<_From, _To>::type + { }; + +#if __cplusplus > 201703L +#define __cpp_lib_is_nothrow_convertible 201806L + /// is_nothrow_convertible + template + struct is_nothrow_convertible + : public __is_nt_convertible_helper<_From, _To>::type + { }; + + /// is_nothrow_convertible_v + template + inline constexpr bool is_nothrow_convertible_v + = is_nothrow_convertible<_From, _To>::value; +#endif // C++2a + + // Const-volatile modifications. + + /// remove_const + template + struct remove_const + { typedef _Tp type; }; + + template + struct remove_const<_Tp const> + { typedef _Tp type; }; + + /// remove_volatile + template + struct remove_volatile + { typedef _Tp type; }; + + template + struct remove_volatile<_Tp volatile> + { typedef _Tp type; }; + + /// remove_cv + template + struct remove_cv + { using type = _Tp; }; + + template + struct remove_cv + { using type = _Tp; }; + + template + struct remove_cv + { using type = _Tp; }; + + template + struct remove_cv + { using type = _Tp; }; + + /// add_const + template + struct add_const + { typedef _Tp const type; }; + + /// add_volatile + template + struct add_volatile + { typedef _Tp volatile type; }; + + /// add_cv + template + struct add_cv + { + typedef typename + add_const::type>::type type; + }; + +#if __cplusplus > 201103L + +#define __cpp_lib_transformation_trait_aliases 201304 + + /// Alias template for remove_const + template + using remove_const_t = typename remove_const<_Tp>::type; + + /// Alias template for remove_volatile + template + using remove_volatile_t = typename remove_volatile<_Tp>::type; + + /// Alias template for remove_cv + template + using remove_cv_t = typename remove_cv<_Tp>::type; + + /// Alias template for add_const + template + using add_const_t = typename add_const<_Tp>::type; + + /// Alias template for add_volatile + template + using add_volatile_t = typename add_volatile<_Tp>::type; + + /// Alias template for add_cv + template + using add_cv_t = typename add_cv<_Tp>::type; +#endif + + // Reference transformations. + + /// remove_reference + template + struct remove_reference + { typedef _Tp type; }; + + template + struct remove_reference<_Tp&> + { typedef _Tp type; }; + + template + struct remove_reference<_Tp&&> + { typedef _Tp type; }; + + template::value> + struct __add_lvalue_reference_helper + { typedef _Tp type; }; + + template + struct __add_lvalue_reference_helper<_Tp, true> + { typedef _Tp& type; }; + + /// add_lvalue_reference + template + struct add_lvalue_reference + : public __add_lvalue_reference_helper<_Tp> + { }; + + template::value> + struct __add_rvalue_reference_helper + { typedef _Tp type; }; + + template + struct __add_rvalue_reference_helper<_Tp, true> + { typedef _Tp&& type; }; + + /// add_rvalue_reference + template + struct add_rvalue_reference + : public __add_rvalue_reference_helper<_Tp> + { }; + +#if __cplusplus > 201103L + /// Alias template for remove_reference + template + using remove_reference_t = typename remove_reference<_Tp>::type; + + /// Alias template for add_lvalue_reference + template + using add_lvalue_reference_t = typename add_lvalue_reference<_Tp>::type; + + /// Alias template for add_rvalue_reference + template + using add_rvalue_reference_t = typename add_rvalue_reference<_Tp>::type; +#endif + + // Sign modifications. + + // Utility for constructing identically cv-qualified types. + template + struct __cv_selector; + + template + struct __cv_selector<_Unqualified, false, false> + { typedef _Unqualified __type; }; + + template + struct __cv_selector<_Unqualified, false, true> + { typedef volatile _Unqualified __type; }; + + template + struct __cv_selector<_Unqualified, true, false> + { typedef const _Unqualified __type; }; + + template + struct __cv_selector<_Unqualified, true, true> + { typedef const volatile _Unqualified __type; }; + + template::value, + bool _IsVol = is_volatile<_Qualified>::value> + class __match_cv_qualifiers + { + typedef __cv_selector<_Unqualified, _IsConst, _IsVol> __match; + + public: + typedef typename __match::__type __type; + }; + + // Utility for finding the unsigned versions of signed integral types. + template + struct __make_unsigned + { typedef _Tp __type; }; + + template<> + struct __make_unsigned + { typedef unsigned char __type; }; + + template<> + struct __make_unsigned + { typedef unsigned char __type; }; + + template<> + struct __make_unsigned + { typedef unsigned short __type; }; + + template<> + struct __make_unsigned + { typedef unsigned int __type; }; + + template<> + struct __make_unsigned + { typedef unsigned long __type; }; + + template<> + struct __make_unsigned + { typedef unsigned long long __type; }; + +#if defined(__GLIBCXX_TYPE_INT_N_0) + template<> + struct __make_unsigned<__GLIBCXX_TYPE_INT_N_0> + { typedef unsigned __GLIBCXX_TYPE_INT_N_0 __type; }; +#endif +#if defined(__GLIBCXX_TYPE_INT_N_1) + template<> + struct __make_unsigned<__GLIBCXX_TYPE_INT_N_1> + { typedef unsigned __GLIBCXX_TYPE_INT_N_1 __type; }; +#endif +#if defined(__GLIBCXX_TYPE_INT_N_2) + template<> + struct __make_unsigned<__GLIBCXX_TYPE_INT_N_2> + { typedef unsigned __GLIBCXX_TYPE_INT_N_2 __type; }; +#endif +#if defined(__GLIBCXX_TYPE_INT_N_3) + template<> + struct __make_unsigned<__GLIBCXX_TYPE_INT_N_3> + { typedef unsigned __GLIBCXX_TYPE_INT_N_3 __type; }; +#endif + + // Select between integral and enum: not possible to be both. + template::value, + bool _IsEnum = is_enum<_Tp>::value> + class __make_unsigned_selector; + + template + class __make_unsigned_selector<_Tp, true, false> + { + using __unsigned_type + = typename __make_unsigned<__remove_cv_t<_Tp>>::__type; + + public: + using __type + = typename __match_cv_qualifiers<_Tp, __unsigned_type>::__type; + }; + + class __make_unsigned_selector_base + { + protected: + template struct _List { }; + + template + struct _List<_Tp, _Up...> : _List<_Up...> + { static constexpr size_t __size = sizeof(_Tp); }; + + template + struct __select; + + template + struct __select<_Sz, _List<_Uint, _UInts...>, true> + { using __type = _Uint; }; + + template + struct __select<_Sz, _List<_Uint, _UInts...>, false> + : __select<_Sz, _List<_UInts...>> + { }; + }; + + // Choose unsigned integer type with the smallest rank and same size as _Tp + template + class __make_unsigned_selector<_Tp, false, true> + : __make_unsigned_selector_base + { + // With -fshort-enums, an enum may be as small as a char. + using _UInts = _List; + + using __unsigned_type = typename __select::__type; + + public: + using __type + = typename __match_cv_qualifiers<_Tp, __unsigned_type>::__type; + }; + + // wchar_t, char8_t, char16_t and char32_t are integral types but are + // neither signed integer types nor unsigned integer types, so must be + // transformed to the unsigned integer type with the smallest rank. + // Use the partial specialization for enumeration types to do that. +#if defined(_GLIBCXX_USE_WCHAR_T) + template<> + struct __make_unsigned + { + using __type + = typename __make_unsigned_selector::__type; + }; +#endif + +#ifdef _GLIBCXX_USE_CHAR8_T + template<> + struct __make_unsigned + { + using __type + = typename __make_unsigned_selector::__type; + }; +#endif + + template<> + struct __make_unsigned + { + using __type + = typename __make_unsigned_selector::__type; + }; + + template<> + struct __make_unsigned + { + using __type + = typename __make_unsigned_selector::__type; + }; + + // Given an integral/enum type, return the corresponding unsigned + // integer type. + // Primary template. + /// make_unsigned + template + struct make_unsigned + { typedef typename __make_unsigned_selector<_Tp>::__type type; }; + + // Integral, but don't define. + template<> + struct make_unsigned; + + + // Utility for finding the signed versions of unsigned integral types. + template + struct __make_signed + { typedef _Tp __type; }; + + template<> + struct __make_signed + { typedef signed char __type; }; + + template<> + struct __make_signed + { typedef signed char __type; }; + + template<> + struct __make_signed + { typedef signed short __type; }; + + template<> + struct __make_signed + { typedef signed int __type; }; + + template<> + struct __make_signed + { typedef signed long __type; }; + + template<> + struct __make_signed + { typedef signed long long __type; }; + +#if defined(__GLIBCXX_TYPE_INT_N_0) + template<> + struct __make_signed + { typedef __GLIBCXX_TYPE_INT_N_0 __type; }; +#endif +#if defined(__GLIBCXX_TYPE_INT_N_1) + template<> + struct __make_signed + { typedef __GLIBCXX_TYPE_INT_N_1 __type; }; +#endif +#if defined(__GLIBCXX_TYPE_INT_N_2) + template<> + struct __make_signed + { typedef __GLIBCXX_TYPE_INT_N_2 __type; }; +#endif +#if defined(__GLIBCXX_TYPE_INT_N_3) + template<> + struct __make_signed + { typedef __GLIBCXX_TYPE_INT_N_3 __type; }; +#endif + + // Select between integral and enum: not possible to be both. + template::value, + bool _IsEnum = is_enum<_Tp>::value> + class __make_signed_selector; + + template + class __make_signed_selector<_Tp, true, false> + { + using __signed_type + = typename __make_signed<__remove_cv_t<_Tp>>::__type; + + public: + using __type + = typename __match_cv_qualifiers<_Tp, __signed_type>::__type; + }; + + // Choose signed integer type with the smallest rank and same size as _Tp + template + class __make_signed_selector<_Tp, false, true> + { + typedef typename __make_unsigned_selector<_Tp>::__type __unsigned_type; + + public: + typedef typename __make_signed_selector<__unsigned_type>::__type __type; + }; + + // wchar_t, char16_t and char32_t are integral types but are neither + // signed integer types nor unsigned integer types, so must be + // transformed to the signed integer type with the smallest rank. + // Use the partial specialization for enumeration types to do that. +#if defined(_GLIBCXX_USE_WCHAR_T) + template<> + struct __make_signed + { + using __type + = typename __make_signed_selector::__type; + }; +#endif + +#if defined(_GLIBCXX_USE_CHAR8_T) + template<> + struct __make_signed + { + using __type + = typename __make_signed_selector::__type; + }; +#endif + + template<> + struct __make_signed + { + using __type + = typename __make_signed_selector::__type; + }; + + template<> + struct __make_signed + { + using __type + = typename __make_signed_selector::__type; + }; + + // Given an integral/enum type, return the corresponding signed + // integer type. + // Primary template. + /// make_signed + template + struct make_signed + { typedef typename __make_signed_selector<_Tp>::__type type; }; + + // Integral, but don't define. + template<> + struct make_signed; + +#if __cplusplus > 201103L + /// Alias template for make_signed + template + using make_signed_t = typename make_signed<_Tp>::type; + + /// Alias template for make_unsigned + template + using make_unsigned_t = typename make_unsigned<_Tp>::type; +#endif + + // Array modifications. + + /// remove_extent + template + struct remove_extent + { typedef _Tp type; }; + + template + struct remove_extent<_Tp[_Size]> + { typedef _Tp type; }; + + template + struct remove_extent<_Tp[]> + { typedef _Tp type; }; + + /// remove_all_extents + template + struct remove_all_extents + { typedef _Tp type; }; + + template + struct remove_all_extents<_Tp[_Size]> + { typedef typename remove_all_extents<_Tp>::type type; }; + + template + struct remove_all_extents<_Tp[]> + { typedef typename remove_all_extents<_Tp>::type type; }; + +#if __cplusplus > 201103L + /// Alias template for remove_extent + template + using remove_extent_t = typename remove_extent<_Tp>::type; + + /// Alias template for remove_all_extents + template + using remove_all_extents_t = typename remove_all_extents<_Tp>::type; +#endif + + // Pointer modifications. + + template + struct __remove_pointer_helper + { typedef _Tp type; }; + + template + struct __remove_pointer_helper<_Tp, _Up*> + { typedef _Up type; }; + + /// remove_pointer + template + struct remove_pointer + : public __remove_pointer_helper<_Tp, __remove_cv_t<_Tp>> + { }; + + /// add_pointer + template, + is_void<_Tp>>::value> + struct __add_pointer_helper + { typedef _Tp type; }; + + template + struct __add_pointer_helper<_Tp, true> + { typedef typename remove_reference<_Tp>::type* type; }; + + template + struct add_pointer + : public __add_pointer_helper<_Tp> + { }; + +#if __cplusplus > 201103L + /// Alias template for remove_pointer + template + using remove_pointer_t = typename remove_pointer<_Tp>::type; + + /// Alias template for add_pointer + template + using add_pointer_t = typename add_pointer<_Tp>::type; +#endif + + template + struct __aligned_storage_msa + { + union __type + { + unsigned char __data[_Len]; + struct __attribute__((__aligned__)) { } __align; + }; + }; + + /** + * @brief Alignment type. + * + * The value of _Align is a default-alignment which shall be the + * most stringent alignment requirement for any C++ object type + * whose size is no greater than _Len (3.9). The member typedef + * type shall be a POD type suitable for use as uninitialized + * storage for any object whose size is at most _Len and whose + * alignment is a divisor of _Align. + */ + template::__type)> + struct aligned_storage + { + union type + { + unsigned char __data[_Len]; + struct __attribute__((__aligned__((_Align)))) { } __align; + }; + }; + + template + struct __strictest_alignment + { + static const size_t _S_alignment = 0; + static const size_t _S_size = 0; + }; + + template + struct __strictest_alignment<_Tp, _Types...> + { + static const size_t _S_alignment = + alignof(_Tp) > __strictest_alignment<_Types...>::_S_alignment + ? alignof(_Tp) : __strictest_alignment<_Types...>::_S_alignment; + static const size_t _S_size = + sizeof(_Tp) > __strictest_alignment<_Types...>::_S_size + ? sizeof(_Tp) : __strictest_alignment<_Types...>::_S_size; + }; + + /** + * @brief Provide aligned storage for types. + * + * [meta.trans.other] + * + * Provides aligned storage for any of the provided types of at + * least size _Len. + * + * @see aligned_storage + */ + template + struct aligned_union + { + private: + static_assert(sizeof...(_Types) != 0, "At least one type is required"); + + using __strictest = __strictest_alignment<_Types...>; + static const size_t _S_len = _Len > __strictest::_S_size + ? _Len : __strictest::_S_size; + public: + /// The value of the strictest alignment of _Types. + static const size_t alignment_value = __strictest::_S_alignment; + /// The storage. + typedef typename aligned_storage<_S_len, alignment_value>::type type; + }; + + template + const size_t aligned_union<_Len, _Types...>::alignment_value; + + // Decay trait for arrays and functions, used for perfect forwarding + // in make_pair, make_tuple, etc. + template::value, + bool _IsFunction = is_function<_Up>::value> + struct __decay_selector; + + // NB: DR 705. + template + struct __decay_selector<_Up, false, false> + { typedef __remove_cv_t<_Up> __type; }; + + template + struct __decay_selector<_Up, true, false> + { typedef typename remove_extent<_Up>::type* __type; }; + + template + struct __decay_selector<_Up, false, true> + { typedef typename add_pointer<_Up>::type __type; }; + + /// decay + template + class decay + { + typedef typename remove_reference<_Tp>::type __remove_type; + + public: + typedef typename __decay_selector<__remove_type>::__type type; + }; + + // __decay_t (std::decay_t for C++11). + template + using __decay_t = typename decay<_Tp>::type; + + template + class reference_wrapper; + + // Helper which adds a reference to a type when given a reference_wrapper + template + struct __strip_reference_wrapper + { + typedef _Tp __type; + }; + + template + struct __strip_reference_wrapper > + { + typedef _Tp& __type; + }; + + template + using __decay_and_strip = __strip_reference_wrapper<__decay_t<_Tp>>; + + + // Primary template. + /// Define a member typedef @c type only if a boolean constant is true. + template + struct enable_if + { }; + + // Partial specialization for true. + template + struct enable_if + { typedef _Tp type; }; + + // __enable_if_t (std::enable_if_t for C++11) + template + using __enable_if_t = typename enable_if<_Cond, _Tp>::type; + + template + using _Require = __enable_if_t<__and_<_Cond...>::value>; + + // Primary template. + /// Define a member typedef @c type to one of two argument types. + template + struct conditional + { typedef _Iftrue type; }; + + // Partial specialization for false. + template + struct conditional + { typedef _Iffalse type; }; + + // __remove_cvref_t (std::remove_cvref_t for C++11). + template + using __remove_cvref_t + = typename remove_cv::type>::type; + + /// common_type + template + struct common_type; + + // Sfinae-friendly common_type implementation: + + struct __do_common_type_impl + { + template + using __cond_t + = decltype(true ? std::declval<_Tp>() : std::declval<_Up>()); + + // if decay_t() : declval())> + // denotes a valid type, let C denote that type. + template + static __success_type<__decay_t<__cond_t<_Tp, _Up>>> + _S_test(int); + +#if __cplusplus > 201703L + // Otherwise, if COND-RES(CREF(D1), CREF(D2)) denotes a type, + // let C denote the type decay_t. + template + static __success_type<__remove_cvref_t<__cond_t>> + _S_test_2(int); +#endif + + template + static __failure_type + _S_test_2(...); + + template + static decltype(_S_test_2<_Tp, _Up>(0)) + _S_test(...); + }; + + // If sizeof...(T) is zero, there shall be no member type. + template<> + struct common_type<> + { }; + + // If sizeof...(T) is one, the same type, if any, as common_type_t. + template + struct common_type<_Tp0> + : public common_type<_Tp0, _Tp0> + { }; + + // If sizeof...(T) is two, ... + template, typename _Dp2 = __decay_t<_Tp2>> + struct __common_type_impl + { + // If is_same_v is false or is_same_v is false, + // let C denote the same type, if any, as common_type_t. + using type = common_type<_Dp1, _Dp2>; + }; + + template + struct __common_type_impl<_Tp1, _Tp2, _Tp1, _Tp2> + : private __do_common_type_impl + { + // Otherwise, if decay_t() : declval())> + // denotes a valid type, let C denote that type. + using type = decltype(_S_test<_Tp1, _Tp2>(0)); + }; + + // If sizeof...(T) is two, ... + template + struct common_type<_Tp1, _Tp2> + : public __common_type_impl<_Tp1, _Tp2>::type + { }; + + template + struct __common_type_pack + { }; + + template + struct __common_type_fold; + + // If sizeof...(T) is greater than two, ... + template + struct common_type<_Tp1, _Tp2, _Rp...> + : public __common_type_fold, + __common_type_pack<_Rp...>> + { }; + + // Let C denote the same type, if any, as common_type_t. + // If there is such a type C, type shall denote the same type, if any, + // as common_type_t. + template + struct __common_type_fold<_CTp, __common_type_pack<_Rp...>, + __void_t> + : public common_type + { }; + + // Otherwise, there shall be no member type. + template + struct __common_type_fold<_CTp, _Rp, void> + { }; + + template::value> + struct __underlying_type_impl + { + using type = __underlying_type(_Tp); + }; + + template + struct __underlying_type_impl<_Tp, false> + { }; + + /// The underlying type of an enum. + template + struct underlying_type + : public __underlying_type_impl<_Tp> + { }; + + template + struct __declval_protector + { + static const bool __stop = false; + }; + + template + auto declval() noexcept -> decltype(__declval<_Tp>(0)) + { + static_assert(__declval_protector<_Tp>::__stop, + "declval() must not be used!"); + return __declval<_Tp>(0); + } + + /// result_of + template + class result_of; + + // Sfinae-friendly result_of implementation: + +#define __cpp_lib_result_of_sfinae 201210 + + struct __invoke_memfun_ref { }; + struct __invoke_memfun_deref { }; + struct __invoke_memobj_ref { }; + struct __invoke_memobj_deref { }; + struct __invoke_other { }; + + // Associate a tag type with a specialization of __success_type. + template + struct __result_of_success : __success_type<_Tp> + { using __invoke_type = _Tag; }; + + // [func.require] paragraph 1 bullet 1: + struct __result_of_memfun_ref_impl + { + template + static __result_of_success().*std::declval<_Fp>())(std::declval<_Args>()...) + ), __invoke_memfun_ref> _S_test(int); + + template + static __failure_type _S_test(...); + }; + + template + struct __result_of_memfun_ref + : private __result_of_memfun_ref_impl + { + typedef decltype(_S_test<_MemPtr, _Arg, _Args...>(0)) type; + }; + + // [func.require] paragraph 1 bullet 2: + struct __result_of_memfun_deref_impl + { + template + static __result_of_success()).*std::declval<_Fp>())(std::declval<_Args>()...) + ), __invoke_memfun_deref> _S_test(int); + + template + static __failure_type _S_test(...); + }; + + template + struct __result_of_memfun_deref + : private __result_of_memfun_deref_impl + { + typedef decltype(_S_test<_MemPtr, _Arg, _Args...>(0)) type; + }; + + // [func.require] paragraph 1 bullet 3: + struct __result_of_memobj_ref_impl + { + template + static __result_of_success().*std::declval<_Fp>() + ), __invoke_memobj_ref> _S_test(int); + + template + static __failure_type _S_test(...); + }; + + template + struct __result_of_memobj_ref + : private __result_of_memobj_ref_impl + { + typedef decltype(_S_test<_MemPtr, _Arg>(0)) type; + }; + + // [func.require] paragraph 1 bullet 4: + struct __result_of_memobj_deref_impl + { + template + static __result_of_success()).*std::declval<_Fp>() + ), __invoke_memobj_deref> _S_test(int); + + template + static __failure_type _S_test(...); + }; + + template + struct __result_of_memobj_deref + : private __result_of_memobj_deref_impl + { + typedef decltype(_S_test<_MemPtr, _Arg>(0)) type; + }; + + template + struct __result_of_memobj; + + template + struct __result_of_memobj<_Res _Class::*, _Arg> + { + typedef __remove_cvref_t<_Arg> _Argval; + typedef _Res _Class::* _MemPtr; + typedef typename conditional<__or_, + is_base_of<_Class, _Argval>>::value, + __result_of_memobj_ref<_MemPtr, _Arg>, + __result_of_memobj_deref<_MemPtr, _Arg> + >::type::type type; + }; + + template + struct __result_of_memfun; + + template + struct __result_of_memfun<_Res _Class::*, _Arg, _Args...> + { + typedef typename remove_reference<_Arg>::type _Argval; + typedef _Res _Class::* _MemPtr; + typedef typename conditional::value, + __result_of_memfun_ref<_MemPtr, _Arg, _Args...>, + __result_of_memfun_deref<_MemPtr, _Arg, _Args...> + >::type::type type; + }; + + // _GLIBCXX_RESOLVE_LIB_DEFECTS + // 2219. INVOKE-ing a pointer to member with a reference_wrapper + // as the object expression + + // Used by result_of, invoke etc. to unwrap a reference_wrapper. + template> + struct __inv_unwrap + { + using type = _Tp; + }; + + template + struct __inv_unwrap<_Tp, reference_wrapper<_Up>> + { + using type = _Up&; + }; + + template + struct __result_of_impl + { + typedef __failure_type type; + }; + + template + struct __result_of_impl + : public __result_of_memobj<__decay_t<_MemPtr>, + typename __inv_unwrap<_Arg>::type> + { }; + + template + struct __result_of_impl + : public __result_of_memfun<__decay_t<_MemPtr>, + typename __inv_unwrap<_Arg>::type, _Args...> + { }; + + // [func.require] paragraph 1 bullet 5: + struct __result_of_other_impl + { + template + static __result_of_success()(std::declval<_Args>()...) + ), __invoke_other> _S_test(int); + + template + static __failure_type _S_test(...); + }; + + template + struct __result_of_impl + : private __result_of_other_impl + { + typedef decltype(_S_test<_Functor, _ArgTypes...>(0)) type; + }; + + // __invoke_result (std::invoke_result for C++11) + template + struct __invoke_result + : public __result_of_impl< + is_member_object_pointer< + typename remove_reference<_Functor>::type + >::value, + is_member_function_pointer< + typename remove_reference<_Functor>::type + >::value, + _Functor, _ArgTypes... + >::type + { }; + + template + struct result_of<_Functor(_ArgTypes...)> + : public __invoke_result<_Functor, _ArgTypes...> + { }; + +#if __cplusplus >= 201402L + /// Alias template for aligned_storage + template::__type)> + using aligned_storage_t = typename aligned_storage<_Len, _Align>::type; + + template + using aligned_union_t = typename aligned_union<_Len, _Types...>::type; + + /// Alias template for decay + template + using decay_t = typename decay<_Tp>::type; + + /// Alias template for enable_if + template + using enable_if_t = typename enable_if<_Cond, _Tp>::type; + + /// Alias template for conditional + template + using conditional_t = typename conditional<_Cond, _Iftrue, _Iffalse>::type; + + /// Alias template for common_type + template + using common_type_t = typename common_type<_Tp...>::type; + + /// Alias template for underlying_type + template + using underlying_type_t = typename underlying_type<_Tp>::type; + + /// Alias template for result_of + template + using result_of_t = typename result_of<_Tp>::type; +#endif // C++14 + +#if __cplusplus >= 201703L || !defined(__STRICT_ANSI__) // c++17 or gnu++11 +#define __cpp_lib_void_t 201411 + /// A metafunction that always yields void, used for detecting valid types. + template using void_t = void; +#endif + + /// Implementation of the detection idiom (negative case). + template class _Op, typename... _Args> + struct __detector + { + using value_t = false_type; + using type = _Default; + }; + + /// Implementation of the detection idiom (positive case). + template class _Op, + typename... _Args> + struct __detector<_Default, __void_t<_Op<_Args...>>, _Op, _Args...> + { + using value_t = true_type; + using type = _Op<_Args...>; + }; + + // Detect whether _Op<_Args...> is a valid type, use _Default if not. + template class _Op, + typename... _Args> + using __detected_or = __detector<_Default, void, _Op, _Args...>; + + // _Op<_Args...> if that is a valid type, otherwise _Default. + template class _Op, + typename... _Args> + using __detected_or_t + = typename __detected_or<_Default, _Op, _Args...>::type; + + /// @} group metaprogramming + + /** + * Use SFINAE to determine if the type _Tp has a publicly-accessible + * member type _NTYPE. + */ +#define _GLIBCXX_HAS_NESTED_TYPE(_NTYPE) \ + template> \ + struct __has_##_NTYPE \ + : false_type \ + { }; \ + template \ + struct __has_##_NTYPE<_Tp, __void_t> \ + : true_type \ + { }; + + template + struct __is_swappable; + + template + struct __is_nothrow_swappable; + + template + class tuple; + + template + struct __is_tuple_like_impl : false_type + { }; + + template + struct __is_tuple_like_impl> : true_type + { }; + + // Internal type trait that allows us to sfinae-protect tuple_cat. + template + struct __is_tuple_like + : public __is_tuple_like_impl<__remove_cvref_t<_Tp>>::type + { }; + + template + _GLIBCXX20_CONSTEXPR + inline + _Require<__not_<__is_tuple_like<_Tp>>, + is_move_constructible<_Tp>, + is_move_assignable<_Tp>> + swap(_Tp&, _Tp&) + noexcept(__and_, + is_nothrow_move_assignable<_Tp>>::value); + + template + _GLIBCXX20_CONSTEXPR + inline + __enable_if_t<__is_swappable<_Tp>::value> + swap(_Tp (&__a)[_Nm], _Tp (&__b)[_Nm]) + noexcept(__is_nothrow_swappable<_Tp>::value); + + namespace __swappable_details { + using std::swap; + + struct __do_is_swappable_impl + { + template(), std::declval<_Tp&>()))> + static true_type __test(int); + + template + static false_type __test(...); + }; + + struct __do_is_nothrow_swappable_impl + { + template + static __bool_constant< + noexcept(swap(std::declval<_Tp&>(), std::declval<_Tp&>())) + > __test(int); + + template + static false_type __test(...); + }; + + } // namespace __swappable_details + + template + struct __is_swappable_impl + : public __swappable_details::__do_is_swappable_impl + { + typedef decltype(__test<_Tp>(0)) type; + }; + + template + struct __is_nothrow_swappable_impl + : public __swappable_details::__do_is_nothrow_swappable_impl + { + typedef decltype(__test<_Tp>(0)) type; + }; + + template + struct __is_swappable + : public __is_swappable_impl<_Tp>::type + { }; + + template + struct __is_nothrow_swappable + : public __is_nothrow_swappable_impl<_Tp>::type + { }; + +#if __cplusplus > 201402L || !defined(__STRICT_ANSI__) // c++1z or gnu++11 +#define __cpp_lib_is_swappable 201603 + /// Metafunctions used for detecting swappable types: p0185r1 + + /// is_swappable + template + struct is_swappable + : public __is_swappable_impl<_Tp>::type + { + static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), + "template argument must be a complete class or an unbounded array"); + }; + + /// is_nothrow_swappable + template + struct is_nothrow_swappable + : public __is_nothrow_swappable_impl<_Tp>::type + { + static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), + "template argument must be a complete class or an unbounded array"); + }; + +#if __cplusplus >= 201402L + /// is_swappable_v + template + _GLIBCXX17_INLINE constexpr bool is_swappable_v = + is_swappable<_Tp>::value; + + /// is_nothrow_swappable_v + template + _GLIBCXX17_INLINE constexpr bool is_nothrow_swappable_v = + is_nothrow_swappable<_Tp>::value; +#endif // __cplusplus >= 201402L + + namespace __swappable_with_details { + using std::swap; + + struct __do_is_swappable_with_impl + { + template(), std::declval<_Up>())), + typename + = decltype(swap(std::declval<_Up>(), std::declval<_Tp>()))> + static true_type __test(int); + + template + static false_type __test(...); + }; + + struct __do_is_nothrow_swappable_with_impl + { + template + static __bool_constant< + noexcept(swap(std::declval<_Tp>(), std::declval<_Up>())) + && + noexcept(swap(std::declval<_Up>(), std::declval<_Tp>())) + > __test(int); + + template + static false_type __test(...); + }; + + } // namespace __swappable_with_details + + template + struct __is_swappable_with_impl + : public __swappable_with_details::__do_is_swappable_with_impl + { + typedef decltype(__test<_Tp, _Up>(0)) type; + }; + + // Optimization for the homogenous lvalue case, not required: + template + struct __is_swappable_with_impl<_Tp&, _Tp&> + : public __swappable_details::__do_is_swappable_impl + { + typedef decltype(__test<_Tp&>(0)) type; + }; + + template + struct __is_nothrow_swappable_with_impl + : public __swappable_with_details::__do_is_nothrow_swappable_with_impl + { + typedef decltype(__test<_Tp, _Up>(0)) type; + }; + + // Optimization for the homogenous lvalue case, not required: + template + struct __is_nothrow_swappable_with_impl<_Tp&, _Tp&> + : public __swappable_details::__do_is_nothrow_swappable_impl + { + typedef decltype(__test<_Tp&>(0)) type; + }; + + /// is_swappable_with + template + struct is_swappable_with + : public __is_swappable_with_impl<_Tp, _Up>::type + { }; + + /// is_nothrow_swappable_with + template + struct is_nothrow_swappable_with + : public __is_nothrow_swappable_with_impl<_Tp, _Up>::type + { }; + +#if __cplusplus >= 201402L + /// is_swappable_with_v + template + _GLIBCXX17_INLINE constexpr bool is_swappable_with_v = + is_swappable_with<_Tp, _Up>::value; + + /// is_nothrow_swappable_with_v + template + _GLIBCXX17_INLINE constexpr bool is_nothrow_swappable_with_v = + is_nothrow_swappable_with<_Tp, _Up>::value; +#endif // __cplusplus >= 201402L + +#endif// c++1z or gnu++11 + + // __is_invocable (std::is_invocable for C++11) + + // The primary template is used for invalid INVOKE expressions. + template::value, typename = void> + struct __is_invocable_impl : false_type { }; + + // Used for valid INVOKE and INVOKE expressions. + template + struct __is_invocable_impl<_Result, _Ret, + /* is_void<_Ret> = */ true, + __void_t> + : true_type + { }; + +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wctor-dtor-privacy" + // Used for INVOKE expressions to check the implicit conversion to R. + template + struct __is_invocable_impl<_Result, _Ret, + /* is_void<_Ret> = */ false, + __void_t> + { + private: + // The type of the INVOKE expression. + // Unlike declval, this doesn't add_rvalue_reference. + static typename _Result::type _S_get(); + + template + static void _S_conv(_Tp); + + // This overload is viable if INVOKE(f, args...) can convert to _Tp. + template(_S_get()))> + static true_type + _S_test(int); + + template + static false_type + _S_test(...); + + public: + using type = decltype(_S_test<_Ret>(1)); + }; +#pragma GCC diagnostic pop + + template + struct __is_invocable + : __is_invocable_impl<__invoke_result<_Fn, _ArgTypes...>, void>::type + { }; + + template + constexpr bool __call_is_nt(__invoke_memfun_ref) + { + using _Up = typename __inv_unwrap<_Tp>::type; + return noexcept((std::declval<_Up>().*std::declval<_Fn>())( + std::declval<_Args>()...)); + } + + template + constexpr bool __call_is_nt(__invoke_memfun_deref) + { + return noexcept(((*std::declval<_Tp>()).*std::declval<_Fn>())( + std::declval<_Args>()...)); + } + + template + constexpr bool __call_is_nt(__invoke_memobj_ref) + { + using _Up = typename __inv_unwrap<_Tp>::type; + return noexcept(std::declval<_Up>().*std::declval<_Fn>()); + } + + template + constexpr bool __call_is_nt(__invoke_memobj_deref) + { + return noexcept((*std::declval<_Tp>()).*std::declval<_Fn>()); + } + + template + constexpr bool __call_is_nt(__invoke_other) + { + return noexcept(std::declval<_Fn>()(std::declval<_Args>()...)); + } + + template + struct __call_is_nothrow + : __bool_constant< + std::__call_is_nt<_Fn, _Args...>(typename _Result::__invoke_type{}) + > + { }; + + template + using __call_is_nothrow_ + = __call_is_nothrow<__invoke_result<_Fn, _Args...>, _Fn, _Args...>; + + // __is_nothrow_invocable (std::is_nothrow_invocable for C++11) + template + struct __is_nothrow_invocable + : __and_<__is_invocable<_Fn, _Args...>, + __call_is_nothrow_<_Fn, _Args...>>::type + { }; + +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wctor-dtor-privacy" + struct __nonesuchbase {}; + struct __nonesuch : private __nonesuchbase { + ~__nonesuch() = delete; + __nonesuch(__nonesuch const&) = delete; + void operator=(__nonesuch const&) = delete; + }; +#pragma GCC diagnostic pop + +#if __cplusplus >= 201703L +# define __cpp_lib_is_invocable 201703 + + /// std::invoke_result + template + struct invoke_result + : public __invoke_result<_Functor, _ArgTypes...> + { }; + + /// std::invoke_result_t + template + using invoke_result_t = typename invoke_result<_Fn, _Args...>::type; + + /// std::is_invocable + template + struct is_invocable + : __is_invocable_impl<__invoke_result<_Fn, _ArgTypes...>, void>::type + { + static_assert(std::__is_complete_or_unbounded(__type_identity<_Fn>{}), + "_Fn must be a complete class or an unbounded array"); + }; + + /// std::is_invocable_r + template + struct is_invocable_r + : __is_invocable_impl<__invoke_result<_Fn, _ArgTypes...>, _Ret>::type + { + static_assert(std::__is_complete_or_unbounded(__type_identity<_Fn>{}), + "_Fn must be a complete class or an unbounded array"); + }; + + /// std::is_nothrow_invocable + template + struct is_nothrow_invocable + : __and_<__is_invocable_impl<__invoke_result<_Fn, _ArgTypes...>, void>, + __call_is_nothrow_<_Fn, _ArgTypes...>>::type + { + static_assert(std::__is_complete_or_unbounded(__type_identity<_Fn>{}), + "_Fn must be a complete class or an unbounded array"); + }; + + template + struct __is_nt_invocable_impl : false_type { }; + + template + struct __is_nt_invocable_impl<_Result, _Ret, + __void_t> + : __or_, + __is_nothrow_convertible> + { }; + + /// std::is_nothrow_invocable_r + template + struct is_nothrow_invocable_r + : __and_<__is_nt_invocable_impl<__invoke_result<_Fn, _ArgTypes...>, _Ret>, + __call_is_nothrow_<_Fn, _ArgTypes...>>::type + { }; + + /// std::is_invocable_v + template + inline constexpr bool is_invocable_v = is_invocable<_Fn, _Args...>::value; + + /// std::is_nothrow_invocable_v + template + inline constexpr bool is_nothrow_invocable_v + = is_nothrow_invocable<_Fn, _Args...>::value; + + /// std::is_invocable_r_v + template + inline constexpr bool is_invocable_r_v + = is_invocable_r<_Ret, _Fn, _Args...>::value; + + /// std::is_nothrow_invocable_r_v + template + inline constexpr bool is_nothrow_invocable_r_v + = is_nothrow_invocable_r<_Ret, _Fn, _Args...>::value; +#endif // C++17 + +#if __cplusplus >= 201703L +# define __cpp_lib_type_trait_variable_templates 201510L +template + inline constexpr bool is_void_v = is_void<_Tp>::value; +template + inline constexpr bool is_null_pointer_v = is_null_pointer<_Tp>::value; +template + inline constexpr bool is_integral_v = is_integral<_Tp>::value; +template + inline constexpr bool is_floating_point_v = is_floating_point<_Tp>::value; +template + inline constexpr bool is_array_v = is_array<_Tp>::value; +template + inline constexpr bool is_pointer_v = is_pointer<_Tp>::value; +template + inline constexpr bool is_lvalue_reference_v = + is_lvalue_reference<_Tp>::value; +template + inline constexpr bool is_rvalue_reference_v = + is_rvalue_reference<_Tp>::value; +template + inline constexpr bool is_member_object_pointer_v = + is_member_object_pointer<_Tp>::value; +template + inline constexpr bool is_member_function_pointer_v = + is_member_function_pointer<_Tp>::value; +template + inline constexpr bool is_enum_v = is_enum<_Tp>::value; +template + inline constexpr bool is_union_v = is_union<_Tp>::value; +template + inline constexpr bool is_class_v = is_class<_Tp>::value; +template + inline constexpr bool is_function_v = is_function<_Tp>::value; +template + inline constexpr bool is_reference_v = is_reference<_Tp>::value; +template + inline constexpr bool is_arithmetic_v = is_arithmetic<_Tp>::value; +template + inline constexpr bool is_fundamental_v = is_fundamental<_Tp>::value; +template + inline constexpr bool is_object_v = is_object<_Tp>::value; +template + inline constexpr bool is_scalar_v = is_scalar<_Tp>::value; +template + inline constexpr bool is_compound_v = is_compound<_Tp>::value; +template + inline constexpr bool is_member_pointer_v = is_member_pointer<_Tp>::value; +template + inline constexpr bool is_const_v = is_const<_Tp>::value; +template + inline constexpr bool is_volatile_v = is_volatile<_Tp>::value; +template + inline constexpr bool is_trivial_v = is_trivial<_Tp>::value; +template + inline constexpr bool is_trivially_copyable_v = + is_trivially_copyable<_Tp>::value; +template + inline constexpr bool is_standard_layout_v = is_standard_layout<_Tp>::value; +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wdeprecated-declarations" +template + _GLIBCXX20_DEPRECATED("use is_standard_layout_v && is_trivial_v instead") + inline constexpr bool is_pod_v = is_pod<_Tp>::value; +#pragma GCC diagnostic pop +template + inline constexpr bool is_literal_type_v = is_literal_type<_Tp>::value; +template + inline constexpr bool is_empty_v = is_empty<_Tp>::value; +template + inline constexpr bool is_polymorphic_v = is_polymorphic<_Tp>::value; +template + inline constexpr bool is_abstract_v = is_abstract<_Tp>::value; +template + inline constexpr bool is_final_v = is_final<_Tp>::value; +template + inline constexpr bool is_signed_v = is_signed<_Tp>::value; +template + inline constexpr bool is_unsigned_v = is_unsigned<_Tp>::value; +template + inline constexpr bool is_constructible_v = + is_constructible<_Tp, _Args...>::value; +template + inline constexpr bool is_default_constructible_v = + is_default_constructible<_Tp>::value; +template + inline constexpr bool is_copy_constructible_v = + is_copy_constructible<_Tp>::value; +template + inline constexpr bool is_move_constructible_v = + is_move_constructible<_Tp>::value; +template + inline constexpr bool is_assignable_v = is_assignable<_Tp, _Up>::value; +template + inline constexpr bool is_copy_assignable_v = is_copy_assignable<_Tp>::value; +template + inline constexpr bool is_move_assignable_v = is_move_assignable<_Tp>::value; +template + inline constexpr bool is_destructible_v = is_destructible<_Tp>::value; +template + inline constexpr bool is_trivially_constructible_v = + is_trivially_constructible<_Tp, _Args...>::value; +template + inline constexpr bool is_trivially_default_constructible_v = + is_trivially_default_constructible<_Tp>::value; +template + inline constexpr bool is_trivially_copy_constructible_v = + is_trivially_copy_constructible<_Tp>::value; +template + inline constexpr bool is_trivially_move_constructible_v = + is_trivially_move_constructible<_Tp>::value; +template + inline constexpr bool is_trivially_assignable_v = + is_trivially_assignable<_Tp, _Up>::value; +template + inline constexpr bool is_trivially_copy_assignable_v = + is_trivially_copy_assignable<_Tp>::value; +template + inline constexpr bool is_trivially_move_assignable_v = + is_trivially_move_assignable<_Tp>::value; +template + inline constexpr bool is_trivially_destructible_v = + is_trivially_destructible<_Tp>::value; +template + inline constexpr bool is_nothrow_constructible_v = + is_nothrow_constructible<_Tp, _Args...>::value; +template + inline constexpr bool is_nothrow_default_constructible_v = + is_nothrow_default_constructible<_Tp>::value; +template + inline constexpr bool is_nothrow_copy_constructible_v = + is_nothrow_copy_constructible<_Tp>::value; +template + inline constexpr bool is_nothrow_move_constructible_v = + is_nothrow_move_constructible<_Tp>::value; +template + inline constexpr bool is_nothrow_assignable_v = + is_nothrow_assignable<_Tp, _Up>::value; +template + inline constexpr bool is_nothrow_copy_assignable_v = + is_nothrow_copy_assignable<_Tp>::value; +template + inline constexpr bool is_nothrow_move_assignable_v = + is_nothrow_move_assignable<_Tp>::value; +template + inline constexpr bool is_nothrow_destructible_v = + is_nothrow_destructible<_Tp>::value; +template + inline constexpr bool has_virtual_destructor_v = + has_virtual_destructor<_Tp>::value; +template + inline constexpr size_t alignment_of_v = alignment_of<_Tp>::value; +template + inline constexpr size_t rank_v = rank<_Tp>::value; +template + inline constexpr size_t extent_v = extent<_Tp, _Idx>::value; +#ifdef _GLIBCXX_BUILTIN_IS_SAME_AS +template + inline constexpr bool is_same_v = _GLIBCXX_BUILTIN_IS_SAME_AS(_Tp, _Up); +#else +template + inline constexpr bool is_same_v = std::is_same<_Tp, _Up>::value; +#endif +template + inline constexpr bool is_base_of_v = is_base_of<_Base, _Derived>::value; +template + inline constexpr bool is_convertible_v = is_convertible<_From, _To>::value; + +#ifdef _GLIBCXX_HAVE_BUILTIN_HAS_UNIQ_OBJ_REP +# define __cpp_lib_has_unique_object_representations 201606 + /// has_unique_object_representations + template + struct has_unique_object_representations + : bool_constant<__has_unique_object_representations( + remove_cv_t> + )> + { + static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), + "template argument must be a complete class or an unbounded array"); + }; + + template + inline constexpr bool has_unique_object_representations_v + = has_unique_object_representations<_Tp>::value; +#endif + +#ifdef _GLIBCXX_HAVE_BUILTIN_IS_AGGREGATE +# define __cpp_lib_is_aggregate 201703 + /// is_aggregate + template + struct is_aggregate + : bool_constant<__is_aggregate(remove_cv_t<_Tp>)> + { }; + + /// is_aggregate_v + template + inline constexpr bool is_aggregate_v = is_aggregate<_Tp>::value; +#endif +#endif // C++17 + +#if __cplusplus > 201703L +#define __cpp_lib_remove_cvref 201711L + + /// Remove references and cv-qualifiers. + template + struct remove_cvref + { + using type = __remove_cvref_t<_Tp>; + }; + + template + using remove_cvref_t = __remove_cvref_t<_Tp>; + +#define __cpp_lib_type_identity 201806L + /// Identity metafunction. + template + struct type_identity { using type = _Tp; }; + + template + using type_identity_t = typename type_identity<_Tp>::type; + +#define __cpp_lib_unwrap_ref 201811L + + /// Unwrap a reference_wrapper + template + struct unwrap_reference { using type = _Tp; }; + + template + struct unwrap_reference> { using type = _Tp&; }; + + template + using unwrap_reference_t = typename unwrap_reference<_Tp>::type; + + /// Decay type and if it's a reference_wrapper, unwrap it + template + struct unwrap_ref_decay { using type = unwrap_reference_t>; }; + + template + using unwrap_ref_decay_t = typename unwrap_ref_decay<_Tp>::type; + +#define __cpp_lib_bounded_array_traits 201902L + + /// True for a type that is an array of known bound. + template + struct is_bounded_array + : public __is_array_known_bounds<_Tp> + { }; + + /// True for a type that is an array of unknown bound. + template + struct is_unbounded_array + : public __is_array_unknown_bounds<_Tp> + { }; + + template + inline constexpr bool is_bounded_array_v + = is_bounded_array<_Tp>::value; + + template + inline constexpr bool is_unbounded_array_v + = is_unbounded_array<_Tp>::value; + +#ifdef _GLIBCXX_HAVE_BUILTIN_IS_CONSTANT_EVALUATED + +#define __cpp_lib_is_constant_evaluated 201811L + + constexpr inline bool + is_constant_evaluated() noexcept + { return __builtin_is_constant_evaluated(); } +#endif + + template + using __copy_cv = typename __match_cv_qualifiers<_From, _To>::__type; + + template + using __cond_res + = decltype(false ? declval<_Xp(&)()>()() : declval<_Yp(&)()>()()); + + template + struct __common_ref_impl + { }; + + // [meta.trans.other], COMMON-REF(A, B) + template + using __common_ref = typename __common_ref_impl<_Ap, _Bp>::type; + + // If A and B are both lvalue reference types, ... + template + struct __common_ref_impl<_Xp&, _Yp&, + __void_t<__cond_res<__copy_cv<_Xp, _Yp>&, __copy_cv<_Yp, _Xp>&>>> + { using type = __cond_res<__copy_cv<_Xp, _Yp>&, __copy_cv<_Yp, _Xp>&>; }; + + // let C be remove_reference_t&& + template + using __common_ref_C = remove_reference_t<__common_ref<_Xp&, _Yp&>>&&; + + // If A and B are both rvalue reference types, ... + template + struct __common_ref_impl<_Xp&&, _Yp&&, + _Require>, + is_convertible<_Yp&&, __common_ref_C<_Xp, _Yp>>>> + { using type = __common_ref_C<_Xp, _Yp>; }; + + // let D be COMMON-REF(const X&, Y&) + template + using __common_ref_D = __common_ref; + + // If A is an rvalue reference and B is an lvalue reference, ... + template + struct __common_ref_impl<_Xp&&, _Yp&, + _Require>>> + { using type = __common_ref_D<_Xp, _Yp>; }; + + // If A is an lvalue reference and B is an rvalue reference, ... + template + struct __common_ref_impl<_Xp&, _Yp&&> + : __common_ref_impl<_Yp&&, _Xp&> + { }; + + template class _TQual, template class _UQual> + struct basic_common_reference + { }; + + template + struct __xref + { template using __type = __copy_cv<_Tp, _Up>; }; + + template + struct __xref<_Tp&> + { template using __type = __copy_cv<_Tp, _Up>&; }; + + template + struct __xref<_Tp&&> + { template using __type = __copy_cv<_Tp, _Up>&&; }; + + template + using __basic_common_ref + = typename basic_common_reference, + remove_cvref_t<_Tp2>, + __xref<_Tp1>::template __type, + __xref<_Tp2>::template __type>::type; + + template + struct common_reference; + + template + using common_reference_t = typename common_reference<_Tp...>::type; + + // If sizeof...(T) is zero, there shall be no member type. + template<> + struct common_reference<> + { }; + + // If sizeof...(T) is one ... + template + struct common_reference<_Tp0> + { using type = _Tp0; }; + + template + struct __common_reference_impl + : __common_reference_impl<_Tp1, _Tp2, _Bullet + 1> + { }; + + // If sizeof...(T) is two ... + template + struct common_reference<_Tp1, _Tp2> + : __common_reference_impl<_Tp1, _Tp2> + { }; + + // If T1 and T2 are reference types and COMMON-REF(T1, T2) is well-formed, ... + template + struct __common_reference_impl<_Tp1&, _Tp2&, 1, + void_t<__common_ref<_Tp1&, _Tp2&>>> + { using type = __common_ref<_Tp1&, _Tp2&>; }; + + template + struct __common_reference_impl<_Tp1&&, _Tp2&&, 1, + void_t<__common_ref<_Tp1&&, _Tp2&&>>> + { using type = __common_ref<_Tp1&&, _Tp2&&>; }; + + template + struct __common_reference_impl<_Tp1&, _Tp2&&, 1, + void_t<__common_ref<_Tp1&, _Tp2&&>>> + { using type = __common_ref<_Tp1&, _Tp2&&>; }; + + template + struct __common_reference_impl<_Tp1&&, _Tp2&, 1, + void_t<__common_ref<_Tp1&&, _Tp2&>>> + { using type = __common_ref<_Tp1&&, _Tp2&>; }; + + // Otherwise, if basic_common_reference<...>::type is well-formed, ... + template + struct __common_reference_impl<_Tp1, _Tp2, 2, + void_t<__basic_common_ref<_Tp1, _Tp2>>> + { using type = __basic_common_ref<_Tp1, _Tp2>; }; + + // Otherwise, if COND-RES(T1, T2) is well-formed, ... + template + struct __common_reference_impl<_Tp1, _Tp2, 3, + void_t<__cond_res<_Tp1, _Tp2>>> + { using type = __cond_res<_Tp1, _Tp2>; }; + + // Otherwise, if common_type_t is well-formed, ... + template + struct __common_reference_impl<_Tp1, _Tp2, 4, + void_t>> + { using type = common_type_t<_Tp1, _Tp2>; }; + + // Otherwise, there shall be no member type. + template + struct __common_reference_impl<_Tp1, _Tp2, 5, void> + { }; + + // Otherwise, if sizeof...(T) is greater than two, ... + template + struct common_reference<_Tp1, _Tp2, _Rest...> + : __common_type_fold, + __common_type_pack<_Rest...>> + { }; + + // Reuse __common_type_fold for common_reference + template + struct __common_type_fold, + __common_type_pack<_Rest...>, + void_t>> + : public common_reference, _Rest...> + { }; + +#endif // C++2a + +} // namespace std + +#endif // C++11 + +#endif // _GLIBCXX_TYPE_TRAITS diff --git a/bin/linux/opt/bin/m68k-amiga-elf-gcc-13.1.0 b/bin/linux/opt/bin/m68k-amiga-elf-gcc-13.1.0 deleted file mode 100755 index dc808380411482331e9dd78ff08e546b98dff166..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2596472 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∈(cjYp4!|m)IP=}bgY&AOWEI#(G2<<|C`b7iRYV1 z?uq)k!KVC$LHT^y8HF$NWycm1hZaM7cV+h~CVtMTT0mRxbOoOag6^I)lDT~~aXR`~ zken~OuNazJ4DE814=P{w4OUPAP_HX^dQcKT2X_TyUBN@Uf_rxb`vgJvrq4`U93TQ> zeX+I~K^5?gAg#S@i9-3ZM}q|S6#v^}{BNUOjcO`_xgrPw`|M)k*sjDr#cFDb*+1&a zuILJWTP%52S4FX6;<3fhA;r*s#ZW~tR9Xyubz~8r8@hro1i^e+YY=iT{Is8cy>@Id zFBXJ)zF1K3&tiNA6daCB#Fv1~CAXYrSfP9IqCO$_gP~lzmEt#F_DIkmcl{!k)Bg7n z&90ttMB%)B&}}53715np?#GTa3t1am9c@QBIPZM5cHc`VGV_%JBb@%EVT$6r?q!6} z`Wfp*P>I@GG&Vt=*7_5(w-xO{OdL(0j1jX}P>asvz20m4bhAg6CeY+hCEpi|RcJQ~ znf1<_L@3~sg6I8s69(|UenIi>Zw&bHVvEf8-_5US)n#U19#DC+o~A$PejbAHkxpoF zyY&lpwu#zUU5a0JmCTn|-T6x6jyR=?)+P9QRbKj;3Zo@BE4VM6pM5>M_%K=dSqf>D z$5Prx$doT;93X#SOB8IL{*95K4}A!! zrKPI||Eyq?{ZZQnPNLl>_tOg>VH{15sq#38?{t5$e{i1Ebym*VXJmqI zJaZDe|96g#QeRgm`lh~ScXI`uK@-t{BXAtN9&Tm+Lu;T5=>a|_h!fpXgCISZ8fDYE zIsv?0@Ih$5A}{qi{xZkNhbKSKR(R?bcEmiJ`ks`!O&k4#>@UpgShcVGxAU1-k{v@j zIjV^bdq#Y?Hv(^X8}xp?4radK0E*M9&2E<4x|m=OXT8YN?!-mz?L&7(Ae3Dn_Q5oi z*&x%5t)QneXUuNoMDOvBvF5WD?NhCf=yA1`y@|s3lkMK=>;Ne#>}L!u>o{&Caeus6 zN&+}G4FS9 z)3s{~#=7felDkVMBiD$&--O7yKU?A6wD0%rn;MZ#ae82XtMTOscSxP7^CS22zxjLt z{q59s=q23CZj}vjGR8^QzQTlg)*(FV@Z`~0EhTF3NP)fttY{kz3ejVMz}Fph6*U*{ zaj;bZk&p;49LGo;FkPhNesVB4^O_y z6L^VNu`TGN;(zg!Myf7b4)66nd+>%;H+-PGY zHp9QU2`(%bnnq!mCnZG+2nMt6AQy_!)e!MBe;}v6qsKX>!f-z+cjrB?5y0^o-fr{m z?8i}dnMa??CiG!3pfLr%iOwzm62D1f*^&a4a$ zvi!J0&aAibSn0-7P}I5aer6{pQi7mh)VZ_Oq^wnnf?Q`fFzVd$j7eRc+$BF- zL2=2bGwW%S3Qepf?%c9iwVT!|?^U1>dw@A!pWzV!lGoth0-8 zg=p;>euCC2NNZP_l(lM?f{YSc%v<&`siq|g($WM6$J}C3uM~7{N%6nmR)w5dRh0Ad z6=KPRALeJPgX*idKY-^(PLJBH#@)?nx`;NMYuzJ_r9BtNW4b*)KJJ`Zp59)X=xaQ4 zU&(|`Z||iTw*9A=SczirjYAYWc2{e*MIh?ze*Eap>Q|?fOcH;N+N*qi+?t59qTuTd z(D)VR?mTQ#!ixEM5dO6pTxj2k$m~o*M=CwMNV7HB}}Sa$oye z?Bp{y@I}GG-Pqw#?vB=u+vf87ht>|8N$9Un^n`?H-&XI}bpHZBKY|PL=-|!Xxg-UA zBfVWWTs#@6n|3R1Do)JqaOjT@$2+u;f3gG~wq2>kp_eDo(mB5*XG?15+DVuw8jk9W zuB5-F--S+RTTQo7(zdGWHLDAq$2O(a+sSmBJ9zux9aiQRx<^kkv-pkJpEtMeGl^OC zN%>+e`$kNbB=aaJ{GWhEVZVDR*uc=+09AmQaeMz3ZWAJj4#t&YFh3HuG?&cC^ zDfV8x%-B5T@JWo&i?T;UFq(Xi)M7rq#yLEH(^|y`iN8mjdbi_uK0gD=De6Yi#tPU@ zJ~QSb06HhS9k+K=C`9B-N!-8DejdK@>S^vxtNVnS58+d@IJLV=aTKeS^oDjBE1D-- zV9W0NKc@s7MoBTdA>^(lp%IgNRv<(qJ#%{X?u{5b$C}U;5h;t+E}u~*Tb@0jo2>=9 zIqQANa@^ddi}1Ag?@B`5vqzb1^q+ps?q#Z$>N@W6``IO*NH}Twgoo)u_OdF5#$Nah zYmGfGq;Reu|HtiY1wT}TrPW|nmE8%1x-74E4OB& zX(fv9*M5z$whd*m^paI{k4nw`98u2&Qd~gOoqt!y$Jra=xrMD%7Fj&DY=;`I*TvO-HojbR_GSEpK<5$_57r-i}i*XmBF9w$A{ARnk`ZLGtRw2IuJGjXquMrb6UKylaAJTb(Mr99z zb$(E_b}TON1B2{DBp91%LkA`9IN1X+0*ua=G+251dm^(?-ul|Av{X}hpf4BNi zT5|lcu+3O-;_75IEqUx&Llm`n%kj%`_Qq&#`nTMi@#lAX`wtiY5Ypm-8*5D4u)H}) zjc{>n^tRfsul^O|YAU09HLbAkr7Anl-rRgU{WQpqOmyedD|_9UXGBuGi&uq@Y;3xz zFoNpHelZw_2-_72Rwdg~BdZdhM~8KAmQSIeH<%Xs>k$tjszPhg5uEZQQoz8UBjd!q zC$=s27q+e&k2umCgU_KY>G!@(?Km_!lmSfqNXN#BeIvQ?y3Rask1hUtMsqk(b_?St zsC{emSN|!n1 zG~kx*LE34~(R(xZ@z7#r#;}p)WMwPDvwwyCUwg|DNdJvZdoidiXu8Gkl)bK~Ub(q) z^O;bOp;VvGiEnir2wWN<`sMg-cuYia+%lh~9Rh%W9~RiEvrr{v;GY^byd=4@k((Tzkyq1wseY1Q_dUCq@66=%X4rja|H z@{P_(x_^;;-84MHsj9mhjrXpnoAf{pOHJ<;vg{=MDoDuJYnX^N$gn*e7`ETe$;5X| z10WVHQ`VDXqOo2lm8V9QTA53c5?G@Afl{};4Ww+%YBeN=koFSs$kQnpmp6t}k+@9j zx4O^WFDdCynhCJ2F76a{=K8FOQ}G{&2>qoIb`MKZ>3~JD5QzJ@Kbk9{-Q*znMABdH zW6kEy3Px#tVeak5)F;Hcjp=2smCwzx@E`@8t77S$eQ=^l*luguAg;_qw7^XC`;n0} zc;Sc@hef;|&V3`r(mTtn%vRD^57RqYk?vta{?COmV4;N-vD;c`x7UZzXS~^K%a}+Q z&%9Pf?+wMBK1TR(2f73p|XWTit%6f8DV0gH7Ty}Nbimr0lwdcdR8;zv0cJP{lq_Vs) zARqf83Re%fo+;sEM}TU7T&A{}5m>V5{PU%6t&gSO?WKtscT&N`Jb}xrJ;%eljOJ4K zr!ku37oMZSF)?Ggz?MN{K)Gf~-a~0-xYi*+n~`Ez#+&6FR`-*im_^=wm73T)RC!l$ z=E#LTaYi!W|4nB)u~nX%SCou*U4HVTIorY2pFr&Y7G5huM~tyEkxv z7UgYW_1bR3Pl#~{u{Kd(kfs)DjG45onTvJADISdgSy|wRUs_j$dt1Bl3`4q=n}5rb zpW0?648FH>{`X(lk+63reRr0rt|*T1zc^Uup@xRIO6<&J0&OX@E7G)4&5YWnwEH?2 z=UK#jP{X74^so;em)c$#KwItx5$@+N!XN+2NpEwEhH{fu_w9qvco;!==*VACHxLIK ztJM={o|vGsP@9o1w&XtR6d4gR*R2yppZ?TfKhOE|Qb}sfDJEz4`N!qyV8VIBbVzMT z;vfqB#5)fo4dTV0i=YE4O>)D_WdVP z$^un2&$4&1v2r^5ooREFVB1^$rko0FJGaiD)i8ATbXp@p}^46+n5^X(+?*rmhTuIW<9w1s@HO7l(5J9 zyWga9Xp+08lu2mkJMM);2kkfe^69W#YyuoT@DtA67VM0kZFUBgPa1_@hY}1 zPoxQPF(gf2Ois+8H#?y}aam?cZB#h2Q8Z zIvZK6|2yt*Z|sd8ocEH=X@pUOOu(V5{Tx%LGU^<)$CSO;bbS8u`Z}rOtl1}^UA4c> zP49Hl+Ji(SYrNWE=d~}okj6x_A2qKzVp3>v#gXi+NC+`9n|)*Unzaq+ghxmY_n~E8 zC7)m^1|xS0+S1AzX^fVal&r?z|DK7u0)MmJ!K)}3MsjGQ;ItMZQm8%T1E>lmuhnOf zrRxFUf1G^IsE;0?M4&!urN_Yz!u>rX>^SN|gS{Q)F|K_Y?RC5hh527WLl-&Md+1YR z9+kNWKG<0MnloEce~Qe0M? zL41MYvf?!H23$6swsj@VDM|iZzo}627y7LaB`%6Atp}s#1@j_4uEz<)r1MHb#=#qx zxck)sY9?#2ZN|k*Ky}E`(d=iDrB`Y^gcz3dHO8q@WNC#U%D-!5>HP}6K@cT-j8S8* zhYy<$%lIpv z(|~yu?!ppBG@93O4@vwa#vMZYLj)r-cvJF?)O96?Bwt=^)Nbh&rG+n&FGSjL#1b(| zoHHOQozn5p3!^r)Yp~GuVGK{XaZVBMC2(B#5;g(Mi>FwdAS{n5k zZ)c8qsWIO`R10Vn_nHIkH2~H9IGLd1kH&|K|0wbzxtZuD8cfS7xw|U0%u7r*T4

  2. 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 z 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 z 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
    FGKOuy#xs=KdxVnje&czJ;Bg24)I zZQ)w=NsKOjmI<6|w-?Xax?709oU7Yqi)K?l$U$@YoHqiDo}P_$S=rRwNumErj9FF= zf#SgY_gu`6JreUbeLd#k&MC}a4CW_gFokMuVT(Ok;5xZpnoW;KOU8H%`@0&CXViH7 z*;>EF%P->*91E%cf#uUPt4+xokxAvKtrO4#P3Hn&(QB*OXOh^+kguXP2?Z08jUB>k z6M94VGJ{twAX)gJ(Q_?6j`5P-SNpWM3~QJ}_!Y_l7tc~uWVp_*h%93H;xDP(tG7we z@oK40_vqP@dssyAS(NIp7O$166M^4RTzRSPQPt%itLo{rlDnKr;%`!kGbCEPRh|*3 zMc0aa$5mzys6^s8Gr62e;TL@-(nC-5{VuDCZos>^h}oL8OWaswI*C6cL)J%47A^j| zYGTEd)Y`(t@tPdU(50Hx8Y+2noBes`&1wxrQX-Mx{E0N3XLnU&FXLX|iJi4g1&Lk1h>Jn8)JuT7!$$Wxj{u@j~s$x(zs#S`doqhZwZ3=se2~*U?tD-Z(nukAXng`< zkA(DvZVO~<&e)nYS>VAU1IxsKAWxnuRvT^v5TPZ-kga`OsU#CZDR7DrYw=AA`4X@- zgZ4gAiNcVNqP@Y(KN12ML?ch#DO4|zNXv=*VnA1oUJDG_E#IeFj$Y+5p;1D5SuHwY zS2}I6??}}m)Se|dje;Yk6&gi%&bn4?y*?i|8lrt5|GV^fsYj2`@Xfx^AuYZ`SEup< zy(NEYo&Rq3czE(^VqnEx;iAi0|8x%9@NqBwvPh&WqJ5GP2yH=1L(LLJ`P z)>mz-9o`Pw)+$oPBp@J80hB=$aKd{ClM@6~^8bAIKKJGZ64d_uz0dP|{yYyi=bW|Y zz4qE`ul?O?J2j{9&ED1(A9}XQrZw?IkjS}Y6YXC>BD?$_5H1-hHZ+U;v3084hX>`p zC5ZG1;vky0WhmBJe?8C1NHwc?nS<$8k$!i*D%6@N3nDdOud42U1(90WU-18y9`84b zM@bZKTo5lWh&PPy)%_1Q@uu7R!&3QOsd%KTczHp*Hz(TWInvZ@U*fIxL+P0fQ6y@o zNKam83;Ade>31X+?f>EsMe1oI&H26!+BImo${^?_W^&WMu}XB|ZP|51%5q}M`COgX z#7hQw_zQWZxN|iBli%Y(AqNGC$jO9F2G~N~DiT+SbU9?Q72z6BTI03jOc@sOxjL_r7tYgU_|NjHME19d zM1w>Q3lf<`)Vk~k2`y)YTcV5eQ)P(q(Z3~#&cvWHY`)fZ-un}5J6s64F8ll-`u6DJ zoK*BuML#i!u5}F24-ImEEQsD0vaP~DX|HYB`w)i?&E|7;UhA<`p@b@ILyt)EU+hCt zngf1P$?b2F`zUcvkld>TjOHySUY6gG7OCbbUgqp;BlQfbP!L3VP?7rooJe2zGtwhX z=cO+DHxTCJ*{JibF}26~73FJU&3M}g(wD0HNB9J?qt!o6uX!O}GpKeTB!s6)%9itN zGKq(S`0{rc?e7rbtI%9!X8aSBkX!t}DJbl!rrR$F`u!m2MiX>U5HvJbBiz582-W>>(ns?0uQRWc^h){s zi_Po#dVPV{GtKKLy<&OsL+15Fy)vl%V|h*T;B!IV4_{{6??7mE*}VxW9$Xt;T##a- z)!4NlpJozk z-R>_@P@!$<+>Jrd5kb&@nV^48=KFgE4ftT+An1NU(3zxA-Tx>BrP~5Ns8obNd~cg% zi}CIyw)5r?A=;hbd?hd5;NNSyJ8q zk0#g)t^OCVQnIL51i`KdQfx3O-majg>kP{-R)iqkTY?D32N4c7%|Dh1aC58wh=K;S z>K_E%CkU#wNOk{#N?Y7pp`ZanTp0vicd=~%J082364MW11r6F@MiBI0LC}HFs{6k@ zP;Ib<{#VeTAMUxrHtXF%&_hjGA2UH)w*>vL3A<;Kk&g`0K0kAxL$p30iq- zb^n&5RK3G9*j|b@b52_7PLO(qO?`ZI|6keEr~B_> z7EU(aITLN;mD^wws{7w+f^A7M@KXvLw8N?(%>o;EQg#1R6<8IED_GFYzYT)z7-!qy zXV9YkuOsLS{^euz5ad7KMo2trf>t`!{ohhB zDQJ0V!G0SAyEzr?7bX}DyZ*Db)T)ADKefSnM*F`^uw8y*T9`|NFh>W4`#rR1|KAbr zEB{wKx7lm0J&zSv-Nsq3Vx_H@>d6p@#gmvqQ$?84a zGdm+OKNbFTg)tE_z3dP#sqg`3jQcbzBXPeC{|{`vsqkIB>|P3=28Rsnr|rr&v5fMK zPUW`-4I;X3VRTWxm%WtdJ<7KW5PPC975;AuVJzG91RMDrAbNR8Qk}|@#hK~8E{&6-o;<-e$_j3o%mTzRXcNUI?tIq zhE2emGNb;W_$^IOw{D?1fCT}ap@;K}9GUtW{Fa*+;>#@QNds=BPl4{^U#TCNlyYU0A z;Y%c*H)^GmVbHP>r*tt$bSPuQ&Q9rjZruTee_<6KADYP*w{Aby?ygh1Tnke^cI6{h zqq8F3yJshs{enJ-&M&Yi+YfJ{8W_xS=4innOKyJRtVa2hlubRJ_vQ*G!>^zY8V{TY zQi2QRw#b~Fl)d(cAg8$eq?^;Li(7YkegGqsb6Nm7CvdZOexjbHhsMsz@rlovM3VLz zt|Y+1x!B&oolF&6z6dgCRZv0l8k2fGOL1}wSI3Sn! zB}u33L&lysnwHLo4Y*cBMRq-V6CisQ=ImO^VjU~g9{1q-3E?{S7qCRi`xP}7_dyY>|J?NaM>%9hF;^Gku;>LnBzQl45Q(`puD{ae3pu(`n z?Sj~9xH?aM_q}s6ocl4)k2QNM*3MXodt~-jH1ZPL7Mm_9wM|4@s0L|QQE)s17CNO4 zX;3+0VfKB%@2Pf%H?RyXD&qA&-uxMOeSg*%cQ2PUN!Tag2iMMPZ8ZiEe|)wsb<1#` z88MF76Hgp*5onl&*)A{oSMkpTm*iwL|D{c|8+(kpjPfvwIp=Mexh~dHMNq_Evb?&( zw1wvAZMsEV1O8*xZH3*OXZV@ef21?9`lI@-xeF)4Al+77Q`pV+NU9^bd4M}j6I)(N zpIX||_xb_CH{CvnjNOL%Uaof<0I)0aBi{8m{J5zg;;~byE3*jIyT1+9NT@M`#6+`p zk2`E|{im*T$Rd(C&j%r=&AS+XZ2Rk+87R=6-i;+3Nw)PASC4VIUFXjP8oaHhzQnnI z!Qgs=uuGRZO>g(>B6X(?iqxF}|Be|JZdlZ7LIj3YnZgY(>7{2-z{R~%rA?OS$kWcl z$^Q10ZiC?G^_l;cOM3jAxX#HdDe>Q$Ii_>dmRW9HKYZ)v1J1?AF12T$*4rBK=5yp@ z7GV9|%ERb>kYt!a(pWZDs9`HR)_<+Mdz+x znqV_bd@5kKn4B7A!Fbf4v=))bwdQcf z1B4?WFxMB6-;%1Axbah4@v4CT8DPXM`cx8@NZOU<-1#}3$aR-)JOn==y(LTC?Q7vD z@IiN5&w+3!FwH8(&sJQJUaV4YF; zM@#$+3vHh3#R?ah_v8WdQZ{+wL4k?*q=-bSH-BS=kMh^_uLL?`Ujlilrj{I2nb+Ly z6u@|%aGqEgi5GHD2KTOf)VhqhsP2iYJ7 zEy3klJ^e44S2drMXDS2hUq}f|-CSP$m2<}?kz;b4$?KFxlc0)tiSElhlKzMkCEVi0 z&Rqu)#9r82+%UO7;m!ljv=#sVEi?!-h(6H9JVk`Dm|?1{`%2Gq?&=PUN9z7!cq+m~ zc8RhmDbL&(DSj6-m_Fr1oRfF(rQBPOOC;xx6PS+8#WP`VqsxsROikuoEjtoyMX)u| z`esdix#MmQgR?H)e&a{V((-I`#QRW5=7)=4bz&cj;o>1j72&*$b7v*?Z`<->tZ2)= z&YhR(Q~ai_sIctXZpMVaAoJ6ZbA2hkSe)x+i*MxIT`%r8c6w#W@}KV(FTaUGssEVu zO}^|Hhcn?6cz!GHnOxm%Q$gmO3#(*XnS0`H&nT%KB-bKNjAPw~z$vY%nNTuIYHuLn zouKVX0#X-9T_AOV)CCepCUp_1Ky1#J0eD zip2)?)NDxEkeJYRc5`BH1f*_|x_5-xV1B{;s|}t<8vOL^Z1;{=Y1>k`Fzg4&eJ#S8>+3`xAsgx-Y8TI zp>o_EMdDLi!`t79oXGX1&Rx$@KwS!rpkZhE9qsB=@rm)V(KuXM4|j>RrfxPY7moMr zTORLwNQ4s-4&Iw0#bXOgCf`!-t!Zvj_vc44w@?14JbrpBMx7N0o$)eWa?!EgO3a10KXNEmoXF=vlz0o_>*CHgu6&xYez9Ceq>27{$v=Q30I`7+EEM&$C6ZSrSei_ui;M5PZ2{#cj&X|Y5DTVT#`x=T7k=#y9>qhc3 zLR;~~ySEt8on+q0Mry0ut6(aTjrewAZ}LV|Be_Kmxc3$#!mT?3$VPgL9I)>#MvQZq z%*HknTx97$O5BL@ira{3q_{|b3`jR=QM)EKK7d0${z6^rDHF$`BU%3s05hBuys9Sv{% z!SH3k8!5&(D#;i}b;1~2qLt1VGs%lH)d=z=V;oxxzf3is5noSh0=M#Pa%L?8E;i1R zU<*y)mMtcCsdbTOa*irQ8Kjgvo7}Y)0T(;Ml3)r=;8vbZ&Z>2hXTlQ`3!cyfZh2yI zcCCv%`xrwjBv?Wdc#0(^cdJFl#giN%rXb&Di5YGVg#rO3mjE*`vskI%1D~EvX~+`1DiL(H*hJ zN=xd9J)XCuPT1oSOYMX`sx7q>_84!eov=rlrFOy|M_6hn?2&7!ov=qUH~qlyov_EN zmfDUzp5>dSA=ar(L(YMSe#0%Ahkim{X4;cctWSA7D+|a^QhSl(j7Ew2*4j~cV5_fO z?@vadN`*&I4DU3&TiinU5#;T9i$dtBh-OAvJ*wS{X#VA`wP&^>xhg;KPcux*)T=U( zW>1^uApA-wye-32=H1E6yNfD6^uPKT%fW@uq}!y-enMULf&V4%9F;x%aSgJnF@F!P zZ?h)^_A(asIesJu<5HWtXW|F+!AnhuA1Or2Vv}ZXv+h55Ux8At9<46 z!d}0@tHTSssQ}zKmDKmm3L7azS!A?Icv*)pygRWR^kukfzi{30rj*3J@n|=?ITJMV z!B)Qt*WI=PgZLRN{3ARl@0yn|!4@yC{J`|Spk6~*04RSgwPxx@Q!LjjRJm}pTc){q zX%-yjW*Sg9=;VXAFL+qbET`sBtsLMXs68|A3gYAD*VNUxG&S~Sx!J+-61h&>cebE4 zMNRI5s9e*Ay5l*nmVNk0S-5*P1@$kb4ngf@8`V9M=|DD?)7c-NL=56CL^VS>bDrqC z$jw}$_;o!O36+Su8QdMWCT6qKYg6;K{7AOTbX0*+G~&K$8vjz& zJD&H<3B5AryhwYoi86FJrQ&@5@och<+}tAagCfT*`9Mp4ROA9nzFFkkEP4BhCiWDO zGa=71{FrnG7&@m+j-xTfC$AVAkY+uT&8Hr#^MMYoF%F#AKcnZw5gAOd2gwF=*LX6R zsGWynVPCcZIC^)76TgD5rXAesFLbk#Geh?~GC+Ce?AC%i_{05>I)UdFt#P-r$Ls|NFvNAi+}szc{xX9x?!>fr<;?soq2%4R z#wRDapL$py@Q0HVg9U%iOE_MV`6s%RVQ~kqfinXzs#^pHv7^ylIIo(rC61~i&$@HK zW-~+wZ}V1=XBjG*Swy9B{ykYaGquxaa{dDkq34xWY3>%I!bznyE{R^@!Hf>JEVeiD zLcRJBlIE&*YW~KD!Q1q`iZkC2EQoHN?mxu0Hu*u5_vALL>u^>5oUW=j%{)Vwckwjc znYokD$PJHcc$>n@aAM1i$`n6U?i$xLylH>jK+^2nn<9r|rLGS-54@PF&}xe0%shf$ zRVX%;NTR8MYwD>i?vovJblqD6($uN>fNWJ!1KTZ?qs%Rdzdx#`gKN^(`qPQacpH#5 z*sT1ZUX1grAX6{0@t7`PuLPxR?Ist>v#T3y{q>RjbdatL-ztA4w$Tq3ATTQ`7U>O|9MAdV;Dy4iAwj?7NE~XnT{I%EM7tioLwShPN&EV(kI7r<~pDba`DqF(55v1n~Xt41< zb2 zLGe>vn#*NwkZr#1!ZPAzWXu)Jl8rd=$cB)&LW~68S4?N@s)^MQGms)dQ&ZgfV95A0 zY+^B!j>26+IF)}afBnNvgQeQ5rkY^h$7wxmCd0&2?8ze^GzQJkD_UdRUd;+bhi)iM z@osLDQ*${1#pppH48Qw7G_|f$L8x)%gZ@UUobdlfgN(R(Q>#BrKga3kX#EuNWA_ud zycu;9lns19&^^~1QkW(YV}%3w$bJIuEO7U^)T!yu%oC}bRH8~4Q!;jlEs48I zIH1ci&&=^gpNEWSn_s9(ma?YiU%2kfN#XcK$$sF}h%@&Tv?f^HdvROo$#^o~Fnl1E zQbZPU;Hr#_;YT{L!!%}`r^_-pVmsYiz?6I-{2>{`*9siCJUx7W9mT!8WZ01XD?W;! zBYeY@OE^aOXbiVSS$`aUC02v|NbEW%_BnWXH#)p90~Zx_S%ndAklEnCXs4Q{4PW{7OLWU1gOzv?pB*=pRDFfz;aLEb=4j-d1P(nbL|mEkbU&`RxAbGE0L*9k z1-DK(F(Y89w^mi54!3=eOLu=N&t*<*6O@RzG&F2@?}`u1jqpKz2GUw@;`A@SZuo!U z!zSb{D~*qNBvgd~`7RZbkzky3gr3bOe=hDW8@$v;b?%(1auJoIt30WwHGiNzbh>39 z_r$SmklnQf8|C1aIIry7-{5XvrJ3Zngr$V+07*X$+8YOYqN%3Cvi7g=%f02g@3M9W zqdi<#as$onHJZF?imCSS8=M+Bbam$5nn|h}emr)-*iVx$AobapN~K z;i-@>Lr_U#_u4`_HTj3zFSXry2>tsAYB+dPdC@X|45bLL)+I(ShRzllMSs<~32 z;Y>@?A+~pDLhI8BK2mK;*q;n}ja0Tb=iwVO>Alf%uSF61Ln<5AyLZJ$-cHkXf9Ye& ze>p5AL8z#1fcG4PL=Q>QD7 zb~gXWwvWZ>RFioJ08vx|+tOtW6qstb6HG^14y02 z!1JW(25jAAxaZ#mmV0pa_(#>DBDZQMExdr101i}M{K<`js%~wiZBCNEA8(}@|B1{| z@!o^5)mKez9aOO;T)Y%UQbN-9=9L#O=e}%$D}z`!#lxUDNqCdmZg7ni0{IdG9I7#a z{w{Sxj*Fr+HRG~UKeuN#n|&=UI6}jQ6jpANXTO8JowL;;(%*Y$RlXPK?xV9Ahn2V; zL;AUyi%{Y%N56yA1pA@HYv&xo^Bm&pUzLJRax)vXhj&MnNJU%2MfmmMvyE$Z50I@C zo!C#nZxOcYQT~hRxHB3?#rx*FMGdnxCgg&X-MvYy3Y?i^59C91$1-O|kAry9P0|Gj zKU34I`tcg`kWHwN^dpS0;EVa>y5k!n-nLTj zWBiVc$tYSS4Y_!$JN_kAjKewM;sw*>EN=|!g$10|4h8BfhGE=lEOGTZSs@yg%X^&O?d5h;>8BFncnNQZ@s zQN;1uNk@VQGj`R`mU57o*ho$ zcGG~n4WSyE%TGq>kwXfdnm>PE^J5Ft%&bDMiMik&ZFjok7njC=N>2?b25ZnY5I zmiSJu~53-()uvJla{~J{*uy_A_{T;jw?)pmQ)Vd+}_)V>}Gg=7t zk=Wa6VEvDK$-uHxC5dA9~_9Q|ngXxm?d=mX^EizXETeAdCd_&AA|Hnjkl%hM?| zZSa?FcIxRaHF4$q@xkyMT?#-Av9nVYBZ^6MYOe#bI;=h zi!Q*Pu`^`QphX{tind1LV*!sW+fY8fUd%Stdkb+_`w5ZV@h@YWex-^>);R0IV}${+xKxd#Y}qn|-4l_kT#1Acock`EJF@xa+}VnpLT_RUGlUQLznb@ z{D~pw%S98Nm9I~9DqfxFtbR=iyfo37^ePXR=;!(+6P+txAsi2-dMb4;ePg2jLwjqY zbJ;Q;u3AliH->t!$7Z)MIKFYDV|qAt*IQaDk5CT8a4 zjKAg1o#z>fn`r>rB6UfTMi|o6E~!{uQzTu%iAk|*DpppC)ZNC)O2x`fkv77w#L7;^ z0^|@BV~HV6?UstwJwb^qd~%Vko-O>X7hCxIV!qxU&AS?tvL z-S|N*Jv%cx{J*9;vCFf?q%4Q*D#5Iij$>cIV3m^kEmqlUK!2eP8jX6ZKb8BoGF!)sjlXB&E^L52fOqO!#HBOsbK1-fPx<>Oal`5n{0SH{V8Sr1CGKfvI9mf@N4f-EBL_?1NsMGM2r@STlv5urJz z8pX4RH0ZgSO87V3MMXtfi=WF5D1Pvr@N&0dXO{>n_#Ho{HuBZ}AhYbOFO84Nio!`@ zY{pJZfKbgaeQ>^nw`5`P25XJwdoT*`Piv#Jb>#IsIw=AKj@U>L!&c!TF&0OA8)z1%;9TC{?`3<@s;8fPG3oV_$&Cb5Z|3U2K>KlH#fW3p!v(684s_9)OP`A%H-$oslM4&ddP0CM7ETB~;6?%eeR zvN%#V)eTjRL=Ty>Q9k5#)#8&pu?D&GXKh8h@grNbe;j3tR!#;HdL4OGag@qs&&);V z<)EPvcNB5iH+kYzZ`xwy zVUvs|4|2Lzs^}#D9-bmvHm)?w)kuRMVNcYJ|D=nI4qdcb%{Owk2CLQJmz0E4)68?o zn6dn7;4Qf(Hq!kSdL>?iFj|7oG^TUrv_zOL5vaY0vXZRkIQ_^ucO~flY?Ug zD_`!waB5z|q97&2e~|}`Dmd$~Ig4`;8GG?YAK#eG++)_C#rj~Kkke*qg!dz+JgB|WWtjtlZRM)?dQA7%O@ zUSMf|0PpVXw`{6*c34EJr^ov~@BpL93{0PM#4@5$>f?g;kM3$)0qi_Nbhs8sAe;q7e6E)08IgS9Tao#R(aB&^-$ zJn=#CIybs1L*6t%6!vy%{;5=oV`iP>L?7o(>x1&l4L82w|AIGfIM!7%_iy1P&0d8C zU@94+`Xx$?V(*`?0Ll8aEd%9H3z=f2tTV!2@E7WIr;a&N-|U2AP+~( zeIF@xR=sXKuw$52c!L68!fHHNiYId4B^tam^&-|=7i)QbgQm=T`Z4C+coK7d6wR?X z5+C>jNf%Pc58TRQl^7%wMgftmL^g>x|3)v2F&2ZS{ICm^aZf}N;uTE> z!rpJ1t`?M+ksk4S7AAf&!0r`r_@rmyDChaoSEiPEi^K7=T0;%*0gc)^GE~%9>h&%R zRqw1KwlniyW-3yD!wWU-nKk>m4T+vI= zJEs{L4yn!Hbv2(ft>kN3x#tp%WT|EkG2`PFrtn#o-Uu4C@qnTR|6I7j=nTZ5{b6bA zsBZ8}iAU&p|AmieoRmgqB*Ahexu=bi~??(d@+0Bn2{FK*pag)7Zp z%Wz>WMrUr++*rKXx${VBU1!$Lv1fUlEv@ZHHZe3JyoQRS>}UuE26J-am}``#c$r>e ziVoOV6)S~Nq@E05D?1cja76j|Z5*?-RlEt9=~hg)4QAEIX-2IfwRU`B9rb;EJq2#7 z99U^oKR-jdblv@hRi^k)+3FO3QsUgZ(A47o`jUc$PV9HIu?mArbc_hLAxq)9!JEw3 z<#1fEA1Ir-mvFaZC|hQ>Xtly9^$Ov^`Es_JZB$d;mJ$1-=2kj=Qu_vZv0|`?eNh4; zXcDBv!B?lG1l-=Yu*g?ICZz;K&1x$*)DTo$jSwnI1nsak9G{H#^lm01B=Nhow8cC; zMq2wiI;%x_bh~ zG)?l%)JLL&U!9p>vDM7+ulU~+shzflh{@3yYGJHuLOcJUl#b>K3=p^I<-waci>hhV&3x63E)&@5R>L+%FHzo;LUWHG9SvNaTQyr znZjZdBd0`7&FX2#xZ@YO4*-< z3gCVEM4bDJ1Fb3+LKO?eMume_98~(1 z5B285{q@{nW&4~t@TQ*bgNz=wRzl804IyNhq??(^B3OFIZ%eE|2h9D@ zdb9c{%kbxtqbuPfp*&H`dRCto@i&YzY1Z6fr)+^gT$JcFg#${|umccVgEv`ij%6_=PFG|nMY1B0ltc4?r_I1CqR&d z4X6NznE+pQo|du6kad^c66S?!zMsW=PBH70&MR*g|P&PCVD7^ z2b1lboJ#$X5bY2*suZhsBdu9hXeIG;>Sx}Kj7Bh8jU(~YWg0q~g^y##MQuNPKTwL7 zAemUJpS8a%3?m-w#ghHP7h76qBUUr~pD^Lf78cVF>4~5j{*QUWRpKChKq6%LKhzV$ zJ;U#-Cxl;yzn`AOm3|IS`9=9*# zCQH6q>SUu~1V(UN~F^6i%VLy=Fn)z~14IW4ZUff2tI$c-|Jm%!%06 zIM_y8yARQhu&J^knK9?@Hq%|?Ky}Mh-5g8)yU5Ee7p%49Y?aAxG_7&3$bYi2>n(Yq z$crucMv+(9BLBvcA6DLfw&c+wS6cENmVA}SGa&DQSNE0-Uh3bmO8V6QoA~gjFK6NT zUE;$}_+Q6|cNPD9D}4A8b?Z05hd($W**gEn`0x`t#E1U^zD(l74?vi}=#S*UZ2j<% z!!VgDa)1xt#sGj^C31!(pD%KN4_{%)=ZgI93*QYsyqGcM+;t-Yc%l@^pCTlL53l~B z3)0xZ#S(nKE@7t8Xq3 zGRr=#4@sQ32EK6Ot}|!dP$&8;Ud;?z=OewJ9FL}YW&;WF__RakFs-W=8JCBTluuadrD2C0OQr0 zTPdk8t=O)+Ena*y0Mr049yI%m`=qW_f1%*c%q}FoSJe0kEFOa1*b8c0=uBs(%4tjz zM-VB6uU@QfMwO#Y54I2NF<$(InAkAa+2`lO6wq# z)_K`QN-N)lElJ^_Eq?ql0^9xz@Z+zk(+$qF-SW&d=qg*ryoOwX1O_yiaG&gkA6Ma@ z3<5N#d9Vp^EJdSDa5bFI=F6lKAl{ zG7`RjO1EiyxQQu*9FLC|s8jSYy5#&QFVeKGn}=emcjGyEN+_ z`0-(UOvjIx??-Fxfge9@zmDWKdwO~AVh#&uhQutc@_?da6+A)57D5Q4y z@eiwQd&7@EqlDV<t6c%V zb%-C=m}rL|e+XQVTfO5sW&~%(m_EE{1O4p$phZ5R8{K$ysiKY0uXER0J_R`P4*>9f z9gcj6<_qD-j|WGt7bl4$??Eq^eb^3gi6bv)!;z~w zlQ{A-g(Ei~+HmBjoB>@1vu}VS$9*$hvnP)HDuioj?ogBkiz64Vd^a5V&mjUYZo`oG zHK6fG{H(2P$p%<*wk?Grf0;iEN^sOb1Xi5sP;V6PWner;H)u;51&UV zlK61obSujvQxOz!g1mO_hX`UWc=kq-25tvAMu`hTYmwH z_g1WQP#u=|9yLzi@~N``@kg~!ZUme_SH{bp^Zc881BefG?)i*JAY!5mh8nXh zzUGRs$p&a~o%Ph+qaXk=-U=o@wZIi5GV)GFbG~q5LPkXWoaoNh3cv`(85NtibGqJu zso50>c}pmIPN>1}r#<0|&93;fg52#8?vu*ob6}|hMD^vr{3eL%-;&5TL{ujvo_9l3 z=YNSK-vCkFo9A>ywcahFIzNf1ZURxg0z~zjAgY&xTn4s0iD!$a=H*HQp0>bh;MBrY z8{D*j)k*9$i0J@3ZIIChV+}NVnV`{&1*H}o+Xfcynr|esbfR;W@Yn`Q-I#(>1L%IE z!9c0cg%iIilsYGc{oNf(JvB3h7Tz67?RH7U+8s(gwQDNY?oetsD-~;ZDD~9rRIJ^h z)NZ#_tlgp1Q@f{P?GB}O+v>GDlzM7zDpop_+U=3bCml*Xb)Qt|bSSmkGZi`=NNfjEfT#Wp_=mqu7?3tR_3g3_gJ?>}Qy^ch`BhQW@i{3KOIj!P4oG8iKmu5-{Pqkw&bVq)c2A5vzmfl7{X7d zcn~|%{~%g=H=MODb!x*|-wSll;;d^8v@`FJv?A^k6me8g#Qx+H z0TsuBuS1;md#4zj^=Vsm-?E7V90Hv6(FSL&ik6{2&T^+xu7 z|3jR0)lT&R$QyqOPwjEmg+giUiL;ikf+WuRd7guP$191S!dX8-uk4Al-k0X-0B1d( z{x>*lQ{T_j0E`-)+%`Dt=XprttesdD3`MxS)=%>d$LX&hCkUIZ>vzXm|32!>yYtOccIaxJ>jicJp7$W%c#T1q&9Rx zX`veyy75K!C4gVK+dmBO)@KHI>x9KyCnCi=gtxw0sig4M0Ahz z`^WNsLc5JlfZzu4jEe?98@yfoDHKRZEPAA|&OgXO#HB~jOp!xr}W#9MD*5G(4W zufbb?a+#lRtH?N*0&hLknJM?M z25)^OLdvi}8rG;i-nxQp4BmQGU~eke%{tV;_cqY=JZUZhjQ&<*TcB&a(4~Q{b$q82 z(DkVI5dC)xs*zIrj7WG}8Mon*&AJiC3Q5rQ!y+d^*UJOYwXs0}x;Cbc03K~Y*DXwn z26VlVHn8i_*nC=Hwp6<#_XfJ2a}qI?``3c5dvprAzBmnZeStvczXE2IR=EIlz1l1~ z?=P&POfJ%VKRHMr|`ZPFp``tcDdIkE2B;jU?lcDU=G zfV1=Kz+_pyNUB3;xa*+?cRlo5;;swYaMxRgt6dq=ZMf^V^+|?~ZJpz;*R|oUZ=i<^ z?)rZyv40tF26ugAO8$0^zdlSDppNm^y5Xz6R+q$I{~0Y*Gu-1F+jKd990)W4u2 zr#b`tQOtN!rWvGd0PMe0CI78&4!{=IF-AVEygG@$9t1~7o$CmH9o#}C=zcl|o8g~Y zzxC@Fh`lO({{6p?#}+f&=`Q}W9&LE+$tat!;%<2CS5Iiq*L&cxPb6BWc1j>q=kC2{i0exR!jMppxn{c?wZ?AtZ#e=Q*UFO?HVh$_@_w)iRbO}QGN>7 zdo#~~&+0#9i5UGQ(9Sp~opu8T{~ATd%qjk5%;}v2i!bJQIjG62;d-^PIT(|MO?_*v zWcdUc*RV2V_y-7n9?!ddJ*5fIx6M3LnycQYG@n1%(wbmxVFD=YLL26?cL}qE zFeGt;$N`k~kCwbb*yB@n2hVmdF9*da@j6`eKUo-QjtwcV1v%hG!#(+qrx`1d(I)R76^v-{(Wy+SB@f z?nSu3hum)dpEZ$M|6mng+=w9mUyL3a8!TTotK?6JmUFpOx7NN~vS^Y)h3w)l@EWM}=?@Q3m z@V*N``Ib1bpUR+Y@V>^hylev=@Nf&8?hx8Rp>k$Qq#3yFO0p1=QT}5>+v+o|N9db) z3rAa+RPSFX7sj!PeApf9nbL7&Ay~KmDReRjCb;l0~XoN_^=8>RzIYlVUuUf9`Q~yzd z+VNs>z14WEXv6g?(2PGbAcX5BVw*SU*Hf;baoX5c;+oUNT(;5ic4i#vx`#I6+nj^F z3sO~ijUqWSVbbitgjyU8-CZk zJ zDa>!Ge!wf(V#Y7x9)6?uL#z=G!=m*Y{UeR7z;E>Jd+{56Z9BiwSb4K2{V0X|T?wp7 zxZe@{ZIAn1wHaG}q3W83`fcn-Fi^jIZHM}8>mT;j^bYvt|26#Y3bjWX z{`Y81jQ=P8qpxC7{EhIxkEQUx@@Cl~{&yeKo;vVi3+dE^=@x_kE#V>b?=rU3E&li3 z4)DK=7*9$6(T^yFuf_jXv1QZ={`Yc7?eM>4;I`86zlv(*<^LM~H-U(5<3}@L{crk@ zz8z@jca8r&3gD}_=WFr5Q?v=N7yr?@N~jJ0dm6zF{`Vxs!(?UsM<3fU{`X@L4*z%X zzjq)(lm4R($al|e4*8F+ru2K@e~V4gllb4Y@LPxYUyX@&_}_nlV*&sBCv4fyjH87% z)W&WjkO_;3rW@Je8KY<;^y}Q!l}`cwcj-ZV{u)2hBTEP){BH>SuU=C4-?0W;jOD5W z{O@<+M_PWV23g%F63@GPWq!IJ=|-mM0yhr+mr@w~uki$A{YbwYIFWv{`S`$3O(f|@ zdPL)@{0wYQA8P(F2wq*CGj8q1Z|FyQ#2v)n9sm17l4^(l9cTLQ>+rv2-i8icNgqZ( z$vx5_;ef3tr;hze|4=qH%*Do^^dxl$tuiQdUg&&n;SEZ;l^!5v!R~n)X9n6OHE>`K zX)<354t&0Xkd%fGE^Puts2Z2ANw3n6%{L!#E@-?;V;|g-IQH-$ZDrZ#8=!(GF-pST z8n!vZMayCGq<86E2ar%#l`q;-;?#^jkYHwAb-u8w$^CIwSLyzy?^Q1vobX`lYx<}F zCoG@SNu2Pf7AO2_3Mc$C(oW)pFX!3fgqy>en|8+u?+;Fx%PW#V;pPs3!dv%rBu&fM zMvSx954#z}G6urLKUZ%IP{Sn#HB1BRAN@7}-wy_QYZ}s-ITAUgrk7{wNL;rj3~%RE zn$b~09h)$N8rRZ8ldh#LT-dml{z{JG7A`;|W!Lvrr)CjZ3D67fN@!d4-*2%Rq|m|z z;u5g2NypNU7eLfD+9o>3_#Q$FG>)Yy?EEUF=Gj7n7d}LhODtX(CtrQUO2ZQGy=4{1 zj$BKh%C^$%5>gSE=K#FgET5}4L5GW$yW<;CT!oCrGoGn}v1FUusD~LHTM|Gf-`M;r z#i9+ZZ@dLSG_b0Nx371ZBq)^I+$$*u0v6tj-{rl4g{OAzcX=;h;l21>-V0cGYUh5JI{^!K;&-_d zuy7}Sm%kxc*y^`BH0jj50-V=>ji1zdw+%0R4%>vgUVW^1Y2-v9Cx){oyQUid)jXYs-}z1oHsK9gDN*%HKz zu}E}^7oIJg%v{M^{!QPD|K&NP*BM^8pHMfNO~20n^2hAR{jcDKr%|nr@xl|J>=iG3 ztnk89QB3o1H5ptK?3iA7w*gFG`w)03AHC)_+M9afETV56V>hJe;JE| zna99EuG+k6oxk1yVt2<0SHg%ECp;N5g**E;)M|C4VL%7o11B7X55G&C@VlD3;#pN4 z;)LH%;oTPI^`gWQ3Ug?p&3oEC3D>*s#LvwO$G$+Rn zY_q3G^hP)2u-~HdV<+hRSd-o4NA9xb`Z(k@$mTMs3|IePZ-bL$V>phcV`k<+*?Hi# z{D)~5_8X#Ex=jUD)sKVTD)p8ab8^JnOyp9pH~w^4W|Y?TE(D^+nx_=7Lg4J!A47Hb zgxhYW|IqBet&`*4KwXTJN-x8ki-(+nVKHejYP?wjr3h&B^hz5_T-kr;1D4J2_rV&-?kHQQFidGZc@NMzW_NDv7uKOc^Edwi6|8 ztpPwjZOsZ62hoXpq>ZT$+W?lg^2sbz&GPUOMy>i6IMrG5Zu?3V#Wt?1eb10)7(0!? zuQF3`VO60CVH_tv$CMQ*Uhmxb5$(#n&Ds6fm$Yo?g%VOR?OS@}@WP7zrQVLTVU=h> zg)(C_l^k3-fSbAG)+y;BSj*7?@()~A)MESto0emV7dQwu2;MD;8A9(a6?&K50#h`6 zJsV?3@gg}#=6;+^=l;f$f)!3I2d&HCbWPe^;0Odw&XMtc`@Bl*dh=${dJ(VQ-OkRE z{32J}l=6w(=3y4o_t6@Zh>b}mqN!@g+bn>8#Q@`^aC1;${H;=39r0bKTqof$Jt;s+ z&D^^>VKJQ9810Bpmwu|HVaf4i+av68($Lc?tJz!{C2g6`y( zDd>dt78v^*ieuW`Y)IObc^fcR+&U<6-^&}B%XsoNAvrZC!blcSIpA9YDvK7k2UI4_ zGwEg<|3ZoBI_n5I>@{*vy5Wq{x}#u+mj;6gtG8?%-oD1@SH){8ua0EC@8Im1t}l8y z!Uc2I_c4C7wSygd141b$A_C99y2mi(MZ2PhL2~P7K*-oif(dWCMu=1MKT0&W+5alJ zzbk$LD!zT2IY9Bv{35GJ#wW5ZQRU$PW1X5iNLn7SaaPPJbqm0hU|;cy9V#0Ge(F7?(@fh~6mkz5*^~&zJ8E z6}=he`phS+D$)Z{g8U0~2qXV)K&Tj0Yl&8l{%K6ltFnJK7sca!{LJpog`jtgGpUKx zZ1uqPFNh1*@e3C|MR0(v^&J9R&(}cyT3~B6#WTRxS?+&`XZ_%9hR=^E$?kYo*j%!( z9iDX}bzMDhFva(ulnN#cC!;H4jvS=X7J^}>qgYX$jN{)lr@yy-p3&y@cO(~;6Z6@T zq>+NKPBx})3t?q0*c*IxOQOGue>F3en5fZzl~S!9c!N6Q0omG$q;P?zERfr1>kL?~ z+y4{L>YYkY6}F&NnuiMCjIJ0mB2oIG6MKT`(#|h|!e(u@Mr%v_5*^k~dWe%gepFMd z5w$4Jf7N=FWz*yQHJjJ|@2OOK!0XKl698VT>507~R=2hxR_7|GHtcIKp)mv|sm*=~ z_%%)4Nc?tz!OlAO$ZNJgUDb}~ef1nbtH6tGHO~O8md;@T^uTp3LaXX5AE8z#RDcn^ z(1x0zP}dU*@@$a<5a@7AzUCRoXF?X%bu(EP zes2@m!lxuA^hQe#i+q`k+cU| z@)4@vk1SdFB~iTFX|-ri`6a=wtze(2_ezy~f5_>8=&ZH$p!bDc*s{+2(;Bm$YQwK~c}MFzy`STH zpPx-wcE$RnAz4_>4z6$R5#WZvn>bJJ<1LD=TN_P;h95L#Q#{0l$Wzu=?YOw&-C;|( zGnCT`SHfc4qfwFNdgF}T%t@g`D%o|L-{-<{^O(N5X({{O?${5!^@*#_#MD&Wx3Kbs z{;iFH$Ri;H<%)(pfASW@*S2}rz_%nDeuMY%llq8Ti!WmB+F~{y4Ke2 z8QuaVR-(iJD{(L}(D+)WySaW_8-=+ z{Re!T_W$9k>}J@gUF#2MYyAtT%`nsYEGSut$FqA;p}|WN8%|e!xJIpV?yBrRDFskh zl-FCb8fyt6x_31?eCx>S_n4jPk(T+ni&2w$Q?1A4v!OOc?*Ug zQ+Ze$Q<2KgaGcV>b%wi+sra}AaAWL8Bv$UdX6jS!eNK>539^8UDzb>ZvAp;-Czeeh zUGrMB*eqdUzf%dg9<{OuDIEUjo-R=v~w@g67;#VKFO=2>D~<`?FI z<=77tx9)i*6sfb3Gv`S+tux`nnRxGFh5K5f`30@dA5d#Vy!A%WT%h(|n7DMqF8L~` zZKC9LH7)`AXKc;L7?JTPtMu6WG~GGqYDe8+$@&T>Ts)s!F$f>Xle)4+Ddu!)ZiC>)FXw)}br*)lhQ@_13SB&I-dxq# zHis&f7`bJaYNuzjIu_t}@V2x7Cq2J08GsszLtu`Y_nDRbbBKgJ$#hQ5csQio`&h(g z5w-0Zlq()9%-Bl$#q+r?J_!MwQP_eGjlp<+WiwJT-;HwL3-T@d;M(39QNwVV(s!J2 z^uw(bt+Lk(eg#^L(O>%Q9(7|4B;^Ro$FdBWeiGs$$M&zJ*nhc4Oth*_7W$H!Ee z;j3xd3RlP{GlC+;pjy@<+PY`>r&9^ZxD3CPr?$XsV`o?^f2wkd?;oO2@w}FQpc<^? z1NzoeJfj*s&!0rgc%$>I5?PC2$PZZZ!y>POoOr58-CJVhH!A2*jL<20UOu=!Qg>ja z?)%IfuW?(==*9fp_WD+D5uV?o>$+ArZe~NYrORyxRvZ*wl4w4IpK`CM9JE6`oYj1^ zzKuCu^y|Eger+p@{l#0$do2Pq{5mhCui;%G zvbZG(!%J`M0eu&n5LvIk|5uaIKjBZ!Kf2!S=KSWPO#5qfAa7=XD6&>?Kx8>LF;@7j zU=ON~uIqwHXP&9&;ClPl#E;*$f*MvVZ}FO_UgaUC_7}C#49??Ck-AfXz)bH$E?NE) zG$%E`aX_SQUqfcVZs;<3zewG=6!IbhP9de~`OUY7mtmiF=2e~)sp}T0JKZK$Pw1|b z_a(GKD%qUo)5@L4sdsl1;f$7fX}1YbzepXWIn~BqNji#`P*Em_?0n@sPMaPW@%ou$ z>Mm-Dc&D}SyhP=WcxPyhDi))LkhH3DDMM;PqW@DQtKz%Z;D>Jv`2XxoL2#-!-zeh^ysyxW%t@G}FCO z*^I`@yyOY-JDP!v0aNN5sYUlgQU_(VE15 zX5p9h4)sFCDVrV6oL?UA**#MHsWUTE(^H*dahqbJi=Kf1LuVj8-L%^2+?!q^?Jq@o zw1aTyeUXPNQAp`%A_A>kozVrorXg&hl5 zO%d6E0dB2H4G{}74R8)&RyckR{>JMl#=;yJ zhyR?TX526dI5j%-2ODNqt|>3t9O-)b?DFEzr`=KRy~|b|H(W;QuB{c0wB{+bPF>j_ zBbm*ZnO3&=(nlC)iBoJYe>^=tWRse3l$W*HjZY(&FEX8bbbl-T@T42>i@QY{ZQN`Y za9rM;W1L;iZ!Qe>Q)eq~MKQ4tM};Le*XEu$ZZ=MONg-Ufub65I;&_9)(_5Q(n}e~< zOVar#XciH-V0UhQDrm>sX~)VZ%RL&K`_xFHHL(S=6OCvZmX2MOm@6B0-8r+vUOhUm zo7q$z@7+7n6&AlCCmg>e$GNw@-0R{z%|f8QvecEgAXGdwgI(0|L!N~2YhiXv^!^vl z8J6)Ss8`4BUiq9rW|i;xez-!W=i;Y1Vst!TMq3Vt zFvwzRsSG(W&Fb#-%3{{2$A@WSc>kL8!gak-Z#A-eFJ!=-tGo;= z`fn?@y7E5`u1}_C!g{?M#2n$`7b~|Ap}(ny&5yn}jO2O?+~O7|rW<-GcqE?nriwE= zho6XZI?dOZ$bX79_^ag)w|JKm`;7u?f~#3NeX)NZZ;6eErZ1W8`u^;4*cd*=>-2W` zZ*?TI$&D_}h`!&o;#e@M73WVsIo$ekC4;29zmEL4xqMB|sQ7JbTf*B{6IV9HhEa7{ zYZ&0om*F~gjfh(dR9N6+h#YXC$_;*R&)8j{(4~*6$HO9goZZN;hoaVaG7jv4^ z)|+-bhDUi>CY;D@V^$QvHOLFbBEy+0+Ra!z^K8Z<9!a&XX7!$vcBCf7uV$M~VoT%m z47PuoAG71rdoPgzpZS+DdT3{DHQY1W=!p!5U?luRnx`EKC1lG`Sh7K*LGyfa9CWqg zph@FkogD}B83(x}74Y^vUn?20JmpM&v;024a*MwfVw*gXeia&{Yb3oDcDj6(gIDZ~ z1Wis32vP24#n3RI;>t+;Ql!C`{hWJlW%{AAiGP!^+|>P~uIERi;zzMseh;)Q3!KEE z+&q&MWLu2HSy!Imqh?mus@aq%1xM!WFXAL*sO>0f+OUH-3Pr^&S92L(pJ;}t{ zMTLM18$l7hs_xdtYknj?q`L@xY`Nwkrz0MCYt%cIWuprV5?Z>;&kUU^oGtFn=ur_a z7GzZfLTjbHR#R$SZ^A5B_tk^Sz_MPzp9m6->0C#6~NixnxdRvUc#j)HK z8XuhvwssxWX49wN4Pl1yx;fE) zddD{&#>2iGv%8I1KRyQ1=s-o0GWUh1F{Yz+{>MDQ|GTm9hXPWOWr4Y(-O%4nH1W}| z3c}M30MU1A!h&!n>k4fb_a>MU7?kXsR4e`u+c)yAooYoQao_6;h>7y9Czg9BI?;df z9F9i{5h~4xTKPvk&|GXic#x{4dc+9HT8?_$!c(#ydve53?HO?ff=tB>;v-wVjWm{7 zC#pVs3=&-OWoIPZfFtt#<|;rv8bW@^$Hq-66+zrdePVDv*Z5l3j& zCf;SoOv78lTEknz+}vWQ{8Lq@Jid$=DLn@{NWIz^!6*{*r*HOsg3cOTpKPDr3&LLS zMzstsv~Szu|5jx+_I=r6In|}L$>-*jt164r_ijsyi~dKG8xr%= z)8oTGCm8b(lN;*Uv{S?JYje(sPZ*KW`~%8o=e3aLGlHL}V3Fbv+s|vCU}aK6OpSCp zugx;&Cpb=S=CkSSH#h&q%qxlG@cHFWreT8imvVP0uZSxK9e!!h?8;M`-6<)}E;-LL zpV61drPM&%D8<<*b_?ae3l%5rrj4*ZuXnuGzt;ui@|)>lv@62 zK5J7UhMD;ccB`n2#4iixvVKM&zn6G{T#}lDmGNi9ha3~mdNEvIQq)UfwP`lRN`b6?MHOlU^EG!vXAG$R)8xdKUrjo1|B z|6}i6;H#>x{om{mASk$^(ux*q)X);e8mhLWf@W)id+Uy+wIatyrH!R(twl`~Tb1D6 zn`C#pfm-RYJyPw%Q+lecZ3U4UNO%R`JbWPdK%}}BLBU5MfROwB&AHZoK(Iakd+z^# z@8@&*X!crj&NUxnjycAdV~#n-&X}&6xI^ipY~5HJ&)Y8A^m}A5Wz!8S`-T}3)bu&c z@QxBg{NO!9?NFIe4d{AM)<`0!(30#-KtgyutOhN$6Of0**uf zPurjC1^fr?RRRA&C%-@c!IsSDKf~R<9K~vw5vvXshztS*2 z<{^J#+z(_sQ8*`!r$qboiKhD8G%Vm&M@7?(;#1?rZ?k-=sjqm{W?}x!uRuLKxyknF z7(Eh#*abp0@SC|B_v?^v1E;6_-N3JzWAAq+RdTjz_{J7*i-nhLR0!a(KfMy4I4PfA zMbd@>^x2PZ`1{jkQ@43r#5b~suI4;1svZ8{b?}j|$U+GjseXy`I>Q!r9d}2A5$iWe z;)V_7DVm~{3}W@c6-~peo@p6qX0$pb-B=c((?_!qMXm34A_aCGV)?)Y5_{5h-Fb&c zx6^?qm-_IG(~)mWghH;%c4SF}(@UdcGQP~JU+7Ka^+HouFCB>>htLsD`QF^_9tLJ~ zO*8UB>M8dDG!x!r2&8-S5y5;4UjO6z@}oiZ1NG%fE!3AEy>fqjxh>O;z-sm7Dsh0m z{Gy8^nPVdC+NGI33f2D0(BjiyVh8Oke5>e2I0llQHsP6*NQ1Q(JE^;Xc`U=KDtSGY zIi!nyF7^Sb=>@42&ik~h&cJQwoAs4T{4eVd$4u`VZ>W23P)j8KViDieSFR5}iyrRA zP!J$fy`k2l@zoMQil;noiY+nUUjpxck?qb=d>2u9w47^rzoaxuLxS77$lFc_#q*`6Jhu64$CkcD)AY?iXJqYmSJN!Q$y6GEj(d zs2pefztA7qc0aO%|` zS;ajZ7A}_rlR4ww+2$;9#4HXAA3D#RCH7Ue?~m+On>|R`8Jqp~Ps#TEkzH!D-kGoWLVz4oG|)*Nwh}vlC*%kV_!+lucWFJqn+_*lTGS2_edEr`+mntt7xXErl_cCT<$Pl(_lQK$@?r*(|06mLX%d> zue)qBd)zVjhYb97{Q)e>70=P@)T@d~9l@(w)44cOt4(pYew%y7NsI=9oipHal2;jw zlo3~MpJ(c4nw;cin5%|Uuc`yBtUh(<5q{ktt)?UYnU&82|7M9e$mV^HkF4ATG*Do8 z?SXvR%Q$str)n#0^@EOA^{>8FT;zS7y8L~%3Jf8``v82=`ZoT^yc5kE{MWu4K!gms z@AJwE+cu!r-N&N`i@6tNP$reK`Nu&PkOI%4UjQfGF%Q(1>zKfF-t*YJQ2&TAs3 zu;u4we0MXx-FAE!u0a)|Yu~F)tqfDM+!L}2vP)055vHCGf;SCgiW`Rr!;`B>lGIt=AsUAaSOs(Eu7`d51nTW|7 zV4{i#JV;lRQuK<_#`E^?lIgVD@dl-kC`X!VocI;`imHRo_(aU~*jq@)j7*u>M034Y zIJuz08~>`xqVeZ2>{(+gnTxm{=+QbmX|4wcl99FVM0UO$JAP+mz{^fDNfB(W{kFX; zY1WeVB0dp~#dHBMqBesAP2?pWjhW^_eSV}G;bOjT)x=?<7io40p6w}S3ZTQ-H%Ji31$PcmH4W7x%v4k>@W?0d@cH_=|fN?(;ACi@T1?&G=h8*-7l=P^edbaeK%x zP9om1oph4_S#DEW=kSp4FYZ!m^Y_`=c+vU(;#R4Kf9fwTf+gcY{KcI@R)N2`D4w+P z{Ke^0L$B0I&W}Nh6e=b?8ef92u%7H|aqM$x$onoiKBF-5S7?*Ti)Frz$?x7OC%GO0 z00m5!8`S%~5X-65P{GVMi@pED{^EY4Yn=y=7p*Zg5^oh7?#y8Hp7$)ROKgZZbx$!$ zyc_AL5=*4^koD+y^C}sgwEl@{{g?d3O#)3n$zR-%1SP*rapN6L?hvIL zohSqE)(Wtumw3^C2Jil#@fWuq3L5x}`zxLm1G%uMSu)kc2q(Jo7k8_&vhkuPTK^Q4 zrt2|vop{mDgKr!Y5JwTS!HDzKj`K4^%OaH>3-bKMP1JR`nIC_e%BJo51$#5+t}}=5 zB7bpxF%UHndE{79GSen;yEigMf1Q>&B>Dd09$}LInZLNnHI$LRxEt{orRZKW!!=k%kV=Te%UqqPF6{A20gSALsdt(~U)($f8w^WD*sV z83q*haqpUb>5{ulh(`QmYfoqc z$4EoCF4%ZQZSup$?eO)|@W|KexmVJTQM38JK82=-NYP_1pcZU3_4PaM_3I>3TwGe8 zx$aX&X`Q^sOdzJU#0pEj6T*^ZnO}L+ZzAdI8+4!qh(^2(lQy~AB*xTCzo zCBY9>V(#2>-FlfoNCNgBXlr7Gi8cuZj^U1eQG=w~z$YBxz!S@w1xEfEt8Y#uuZ~o& zb!NPX$#8FxqHE+l!1oDvgER9e@HHCm2|3C4)jk8AER>mSDx@b<{zsxntChez+@U=G zKN>~)H<`d6+zq-|EHLUHgBc!NICf^5xb7Le>B<+J#6YsE1pNbD!bN&@30I>pMj4lI ze+RXQpJwGu;}q^G+S5c;Sz83qm7QH$#|S|X>2hVGC=cAi%~(UG&RWhqMia8lgpvM4 zw{Q{FjbQ{wC&Hl`_vyQ=oH!(nqCfR$MKhhC#^i6XiC9p>3!+owV6OXiF4S8jzWwaV zC6RkmI`z4&VzS?V-58x{UBuzuF7YKJs%w?A*E+y0TxZ}Gj>Tf!!j0=XB9PxWi!SsF zr_)o$|3Wj3JMq_e(>SePxaXC}D1ZpZg}bG;tkT|LI9lS0a<}}rgZhPwX~9~*a7h{2 zRBv?dJdreK`my{q=PUT-+bAtW<(rYv2ka&fbEcmtH=X--7U4`SR!q4?;ZP2tXrw1k`>=f{)o zW9*}@($SyQPvEueI&SX7ml^4{al1Ey5_$2Yhf;UWKU`m~PaDzy2pM|IKg#D|7&%8L z#y!`OB=zDS?!sb7l(VR$BAT9XHCEg^YR?UoHC6iiZE|!ijD7@Jja$10LLZ$)x>-be z^X{s~_iLR+>&^9-aJ;K39N#m*X&J{bjhnbnjcb;hxWT_*Q=DjK89zQ!1PgjMadDNN z8n#rfu6#MV78^j~4C%gL>v2eL(Z{vZ=ik(5<@?b}FUlnp-SCS#(I+DvyNYAgtDQSD z)F;bXM1UdI=K`wt^E2PL`{VFJ^lZ5Ne95@wZA(4pEJE4z)Q;K<07d^u$R(l7S;XOCdnoQz#di(3`H*NjGC4i)CvoqR zNWNzxN=Cs8jU#hkGBpH*u#M}RtUGUut%hFv=qZP*FC82AX)gkSzn^I@>h%GJi!alr+M z$7W`@q}K9H<2zIK_#UV}o5tjgo_PzyGNti!82X z&WP7o=WA_A>kqD-V)6&4c6Z$_3HN(_oWu|*RDEBgtT)@V zVd;VIA8sq0)sxNce*WQJ1y(u#aMR_c&G?7AO%97PgWh{G*ToHI+b$mCckx(Sks&VI zn_lBZ|AlWkJUZ%Tw8U>GG^~h?7majTDv4wO`#+5@sy@G|rrQmw+|w?%H@YK!c@4_c zU1d$5_by{y8~lp>-|!DN(L2yT+z8AGXd~1#AS>`9lA#Jk7Gj;@W@hA*?j`uj@Xj_M zIlzSLisKmA(S)825uf@p=p7C+gyMeM?{Qt9YFc+Cz zn;!ZTsO%-){d7$V11Hg6JMcmWb6;jSIR|ssqWRu0ur!e~Om|MB#jb?W)*2&>TH&9Rl zcA1IH{3GLat~~2?4xU$ITz$s3lpfUI+%DhW+{8L;-X&TF9_Oyi_c(VmhdtgmjUf>Y zTc2|vfZCqoRl+3MEc=H;2)irXmry1@USo%m^B6VRyHqQT6S1A^lkcL0S)vLidVgT0 zXhc`bs0FF|9Z9#^hi4wDXr>bFG<7SBv<=lsr1%m#QKvqR`~5WjPWJjrNS zBkXFWB?(~^rxz~pa6=7_s<*n(yD0C6(Amb*5W8bI@rtC76dIOCk}I3ieztduz?H^d zd1{s2X}b@v#K7iPdXYVycIEUw7w7pC{LX#YZ1+9b^$x5!-)XCT26u%|MKd?_ggZ82 z9KHSQaOIL(wmD%g($_#uW}dH;&-iY(zb^WDIg?BN0OJlh?n$l3RZqv3V{$Hfs$jwF zpyJ)9Iy27YAqvfKW;Q{PGm%vb;1|FPjKNSSR*9@__AuPn8r|tWg^O)$H;sED#iP8M zxnDLJc-?_{MzF``RJqYmpefW;WGIl?2Q_?{B|>XJ2XCPZ#1?3c@$Wb(o?6yu5&H+9 zc?zz;58XY=4*bv^CK~p*n&4k^q|%c-ZTtD!H)#y{`n06^mE*xu|u_0 z<7&>RPmHU%6*@sQuI8{=d(de4@XI8n4upOKXGW@QczUS(i)p>J)zG_HY#n2|=lni~ zw8;%kRd&KbDyz%6$vB5s~lBHSlvynNp z9=#@8unL^Dz*6wTJD&ktIPQMYYexi#FRkIKjU`h8opC$3UY-a`sM4%zlVnc7-(NzK zlo6wZHHP@?=Y;TT?*wIuSO>n^%*-2wnnZHi5Es=6ADtRpf$NtY(VeeFs$Xlm*wP^( zOQ_3x!K5D)$4ER-}EWQ!yT0P)=*3)fmtm~&)d3*QBJ1!O-VU80|HeRmzVHTg12RZf%`U9b5@RofU&J~FbSn8cD zcHEBk1(DkyBd5&~*{HeR6=pF<=p>S zsGVc){s{kFSy`6^CoomoIpFY(4W($Kq=X}HvXaW7{JQ_ittsz4n6BK;*=ZHcCp-Z$ zC&HC$qLt5ipUEnNa;^y7K|kUw_S>k?oa7ad@BcLigmZ6&RdiY!L0=K6ZK#EOJ)!q^ zNdrbos@BG?(D&V`w4LYs?p$^`0$Ag*Tnw!08i<@{j8>{wH6GeLs;cn=i>8LGYgvaE zV37i9zvAv)&kXz>&p-lE)r|;J>v$=IC7iHSX9)^1sA9jr!9wy^{JNJf0g}Jvo2=iu ztGTgU;#SB^5!%MvxKQ(`%7|0D#cS7YEOX9GWTJ4#u71%5TvYBcmJ%0J_lM^=KX~HR zW&uP_K5QS;_kFAsr;=_*;!jlQ1#6R6fQjX34csNgKIb6uqj&EgKN=4CN~B?jTcUw) z#db35a!r82rb?0q1wtJ~LUpF>YYTXU^&?HV$t z=+G4Oj*)pnC2UOo+FUVZ>s45}9uy@JE3!fmJxw_ixR0+WqTqM3V zq64l1$5MNg&x~3i>eQ|9e#NFig5$pwb^0j5+IRl<3_FKj{rOF_EXmB&WOD_bZi>@n zOX$R~VBSwC($tIr`oJZ@Nw*^O$AV zvM5_VDh0Y1V=hg)k2gXSpCs8eS@s?>Y+c%)Sy@cgsUeYQzX z4XNhml+TWbOC%iq+)k1=jX&50ov!U1{^2!1-$mcu-!lXJ(rEeh=s~31_R;Vw-(|vVU(Iecono)YoqfHA5Jo>?Y^}eR{-Z|N1** zFSFT$lBYuFZZ#*?zR| z(`|O0dLFUaKT)^3{# zZ`qq2g(_!ltir>wI|D10VOu`_7zyq&)Cl-2?FOz*pAvL}W1}fUOzs{*82p zO&!$^cQ26 zxq-mW4o9^ZXP^7kd>yzkfkKmpZ%q zlfN+X__NR0e|CSN@_6DF3+C!d$Cf^5hVPDq+M|^n=TO68ehaCWsbIh@==14B4x$!6 zWQ`t8eOQ1R!*P3rkF;{`O}pLV^VO@I`2DaBIEHjNQ2*nsn+47pZ&5n;RAbnho6F(y zg3RS%to|x@3Iv?V`TGm*gWKzi*=wrr`UNB+A}t-PwO}!F}}p4EwE`Nt>bVKG`_D%`>jpu z+d8fgNWhA)dXH(y6TN?XU3@;*TCm-9ZLb=&~n z57B#!_d{C89m4yedLPaEp{?T%<$a*uNANzdb=*MS2kCt%?}J*$4dVSUy$|I5u-0*h znf-ON@~I017|De!wSi{sHhq?*HVX8t0m^Tfa=(pLztpt5YgH_@u4|3E;#Jm-NjLOh z+SYXpL+D*4F^lv3S{a7KDk8Xi{IXMtDTbEDM5hv0{Z6G-TsW1#tuPR&e5m39L80=| zibu@v6BX_J7N851B$7!~Y$Saocj>t9hZ0;!QjX0|8L2GKk}7_cQRc2VgC~Y0>fsNm z6e~&fa;ZDOcHZju)&KA%bvQc=d{0GFA9Md0hpyAMYGU)ck*JtU0zE-3H?X-Haq&4P z`5z?x4M`bEmeIC*!K7ki?RuZ-4C5Q>yS_S& zPZ*>6oM#CdNj?8JcwCWtq8g8P_l-DX*Qt+*%OO~h_sQ=ahCFhjp6M?pN7~|7vkHxC zOU-Gi+xat?17xifCFN(?6b&C%v_0$1au&7cR=kXiP+7j0_jM}o>mmDptw_^m-<&z) z&36wgGM~AZ@C8lDRYhJ?jp+M=sM?bBj2h3_$uG3KwgWs#PjAI763%`fq z%*B1Hm)w3-CbB!VlH0}&2%;kfPP@Hm0{I#@URLsMtw`p5#mhCx7T{i&| zLwy9!n_Tc{(zM%4CQN90NVQOzk%!A;nNz-TUs+Lf@qptKW#^P0pK!l3b6*cdO1poJ z^QexE<%T=5d|0on7iu3;F?ygvmk#miC z>?_{`VkhnAQnD{4QJdJ3^7>23_evu8889WcQ<6L4s&fn_i-VHX35UzCPwqf~2#PL(p7quwZYFIb0?!4N zLIbZ#mHIb0ijo@|uS3q7{R`wQM=LgS##ubG5HID&%^dE_S&P~Y(Rjx_`S1|-N4I`8 zSLxwRN8^OOlpTjQ$U%B%5k_%YWbz(m$E|h6%neznyAbGypdQE4#jZ!BU+L^<2kFp_ z(7U6V_@Ul3K5@6cl)oB${+(XjO5N%6N)Q85=an>_5$QayRM>V^dhoCz{3h2l^^2bx zLjGv!k1GC-!Kj1HK5)@Aau>*u%js+QNnrbrgJP~&VwcM;OK1M!(81Qh6{Byznaiik zhOl`n!17vc&G!nmQqR_-1i$2Jt!r+%)`jFNtrFR1o3m&H7Fgm6Dd`qhxW(V4P@3lq zaZ;nz|8U|<=!W#wrS%QZ)n&#DbXs_ZkHHfmkMH4ywxOr>q8`j0oABGpN7qq8_D_`` zM5|Zd{sSooDxc2LJCNcwr>Ca%wnOpe=Y^6_PQ}mD8aDW0?1wRziZ~apiiTdm%=nI5 zzF3oZxAAjP)IGWH*;RMNnGf2!@k6hN3AJ>9&#&(3LKlJeig#$-J#7-ZRQZC!0iO4A zu3XMH$zG7?KJGxu3zvX9ZR^$0#R7sgfdsJN-=Evpv-k@@Ba&LG9r{rij$tykcmzqQ z>UKY4zbsYtuDMN~=)cwZt-92(7JrH6g&daJ` zR?tS_B5`1aJCEKQMNDQ2qTVj2MVE5K(QEiPhLb8wkP;Q;yc_1;b)1E(${q$gKTq8qUk8)AQO=` zzHxB?-}yKM4!4%z!^K1WwyUR!5HzOhrU#9hI8wc>v9CLt;AjzOvLKg7lOF*n&|?7@ z^X5EcO?AZI+}pfsgp<604n@+VD@K0-VV->m9`w>9Bk_)s%=Dgp`}Xa8>GI<`#c!WRzYca=Kvhk;1^O>W{1 zrXxCIkh4E$z7uXeY%XT8!Vl-MSpR*K!l_uleO_l4U*yj+^MnC28WZ`;Kzqe3N`}He zKl&}Hz!4OX5dM>-6^Rl}38OUMX}W6V?;-!IDS2Ntew!~;s>thvp3K6%rS}A_vzMyR zjK%fMM)ni^I1x%W_UEawU$-$27g-OjBs1P!>fAYm4|pE=Wa_zi2N!k*ez`t1u&TP_ z#%K-#LZyaz+JK@w}=~(}d1%Qve6{2lr#LYGQ{bK*7 zthp$Q-RF73Bk5bpIr4~BepJ1^@ybYg@kS~{PuAS}U4Gi<&iXEt<4^09sJLrhq!M=w zD{uZ*eZyuDJ=}9K8=U2lOpQdWy|?@j?}p`C0F_(t_IIj#%eRI7b;IR(Bvm(@J8w%P z)pb=jeEgx4d=zSoE9n=HBcI`-ykj z(A`k7qOg&QMB)>4wx|eEw!oMCD06UER~|{VRY_ZvzI{|AHP4l%D3u&yQtA*2+J+mA zUfTowaIbGjYW4&@rIHbTYEzlZm7PkC;)nG%)Zg)6u~Pcows9u2ZI*sAZI4LR+nKzV zw<7R@{2H78fX$G%4wKQDoUAhZv*@SD^WkRPq$h5|{v(o3s@}Sh@1hipWgb*ns-4IW zb`n&Zyqd>Zk#t7C7i4PR1!qCjozeJmwsb>L3!(#F@BV11n7~bPnx)DcFN{?`tV)`g zKGS9Q$;FnGDJTxDnqk=5BMWA}HEM?bi|l+*1472=7fH?5_gzUtuVU40>RBwcC*qtt z$8<8&rjafbpM=P|C$;bHX-#ed;-Z&BZ6hiHVdoCY904HOvAG0)uMA36r|W9!GouIN zZW+0@#+kh$mE6qd^1iV1b$9obQc1GS=*wX`?#Q#lkEG_5o36YS%an9RQ~Pud_xa!) zEAv4Ojerjwo7g)KJTeyAeNNBdl~mpIpvIXtT@!In z`~eEaim0opP1o1RYUzw_?uW+G2C7V_FfMGag}zzJec*J-zoV*fX6|8EBPw;*4~7PRBW`PXI?N(vFqD3ipXKilN6- zPEF6z5}CFKN;cJL`SUP2spqkBJ%)SnL$nC9dzlMpliI3O4Ge0Kj`^4WT&ua31@Hu) z(Tc&L$eCvCz?L2)pG1S3XPN~^;w+O`5Eoz$4a*;LZ9!asF-5@KNtVkPAtaNGmWzQV zcRq3S+vkR|6lR@YveIu!G<7QT^SJ6*l~d8On)0eP_xIB3J|f> z!wUc;p%gS8;MSTH&_Ut&#?n+$ux6}7G}gYZ6rHK$T$^T~2^hI_wG{Y|9axwCW@%lz zUutP;30Gt~+PnI+Z|TcMJ+-{u>lc436khdiEjR3_s;2$D5)2w@+PC!&$NwH`o%0q| zrq-HS%3A*F+M&@z0kg;4~eNcW$NH2my{ou2 zQ$(q7d~=9zYg*e@spPzF{^AqeNqiOvG7S?cBfp=u>48V-(6;qU0HrQ!LnO-aja99>Q`6Y0pSlj^&MkY0uX1$@0p9txboUm@)6pJH0*}nKFU*V zYEHYFpS@klmVUeUoxQs!ZBs1BYtyDwZQ6WegI?68O;vZWf5*=DIQks#Jj!TMx+Bxx zv5tLEqHWwB`Byyq;Qf%EOI<+FfKA)!zjId_${ua#;3%^kqO7UcO2T0=^J}`B?t8+i zkOT00C^o$r%^ExDm623NV<;ep8bt2ZEfF5CBe=R22^&$D9*g6_jHU>8y+kH1IwykzPS$)ZL?26@ z&zujRCN#uzx4a!iT!@}|UX>HC()~9$crYtuC&F*S zJH`$w%`bgcL6!LT4TaNVO9cE|=t4Mt7C1dtSDvzC94c(dj`0iA;8PH^L`?ju;jCEZ zJ5P*!av>BLs`)n6xg$I=vgKSLx$z6$9^KPBu9;lwhybUr4sR_Bs*sy-zNp76DzS!w z;?ruEabDab0N?nuGar|SJ??}fclSW*o0fYo?hf`xWBQAPC7z{fXT}Js8l&hEPQpHd zHW;Ar*OIsC^C=uj-+;z&EOL0bG)vyXkT-8ApQpnmV-$?QY56*3MGDIdDGZkonFt;) zRY1uH#xJY4m0tLC6Xi%g-7Ktk8Rha@^&ZrR^TfMl0A`%Hv+qyqeB~AFNk#ALc5e z`ELRoxn>-zQ6d{rNe~W(^Mro3bo5jwd5;!hr^(c8c?sU_{)-z)9dDO#kov_~`q-bH zJed1WYzpth^jsFU&f)#N*Ek_&Q-o4*ZiR}He5+&GOXx^(hb7{AZ!?2>=BL$)NB_i@+LF0 zcE9J$Pl^ZBIrHD;|IN<)4Ux>4KhX>dn9|#iEJ`IshbUDQvbjcrY)KD_?xr2R5wmR!tjU$vdA!WM{ zPK5E5rF$kENXs(l8Y~lahC8BX6(B{CLE8?ndCqe3Sca@HPAl{}Rr zXBdk1ZLNedrwt*7Q>X@!W}p8UpRPC;mej8-p9}S@Dr7YA?tMO&aS~q!3&r3*4=AU# zNe;47(65g5rJ$2%D-lWP&K=YkN}An7+(-!9=)keKd4T5KOiNC@45A{V;Qvn<&S;ZaLdvjM7;;tTVy;(s9(C)Wq?(XqW2TBblJ(!g=iP9r^)cdjQ z8|;=##+@9Znf;ab1q?B8){lolZ#O*>bB1oT^2k?+0PxYwcOF4bR+29ofjNfXgMaDM z`=ift$5!qWm$3W1BAP;6QIYg)jh;)-l}n*A_a~LcGSm+$#!}J74X8QO24jR`r($Xw zP0#ENJDxY#@v_{ZPCpc$W>jg4Skd#fQ8CU~lC3}}ZP4>^hCdZeeRt$u<=i<@7VGH; zO+uV)opNi+CGc?&vI8X zXlHx%I_J(kKr-}t$`tbUfi_mq351Kka=|Lcc!${`k5NYna=@o(5mN>X-V*=YPD8H5 zi}&02XqUAfiL}#@HS*bA4H>zi(~vy98gVqrmrk+{!NgGb5_XgEHW9#5C;1{9@a8s2 z)r@IBb45cg|xrSg-fC%$aNfyr{BiDv7xO&)63|FqMOFfe| ztsiQ-G+>>R_=paMF)VFvE8^R7s0aX4&-c);oIE1uE;+EAQUI36uxHAGg+Vkn+5wa` zeb4WFmU�tG)4e7x~{Ia6$H&`$^k*xsAUsJ0Y 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≺pGmrl*_6_{WtY>ku1JLmbXJqs1Y07 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 z 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 UF}B+^*Sx|0d%+0OAH}QlFT1P06#xJL diff --git a/bin/linux/opt/libexec/gcc/m68k-amiga-elf/13.1.0/install-tools/mkheaders b/bin/linux/opt/libexec/gcc/m68k-amiga-elf/13.1.0/install-tools/mkheaders deleted file mode 100755 index e0d8fb85..00000000 --- a/bin/linux/opt/libexec/gcc/m68k-amiga-elf/13.1.0/install-tools/mkheaders +++ /dev/null @@ -1,123 +0,0 @@ -#!/bin/sh - -# Copyright (C) 2002, 2007, 2009 Free Software Foundation, Inc. - -#This file is part of GCC. - -#GCC is free software; you can redistribute it and/or modify it under -#the terms of the GNU General Public License as published by the Free -#Software Foundation; either version 3, or (at your option) any later -#version. - -#GCC is distributed in the hope that it will be useful, but WITHOUT -#ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -#FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -#for more details. - -#You should have received a copy of the GNU General Public License -#along with GCC; see the file COPYING3. If not see -#. - -# Basic information -target=m68k-amiga-elf -target_noncanonical=m68k-amiga-elf -version=13.1.0 - -VERBOSE=0 -while [ x$1 = x-v ] ; do - shift - VERBOSE=`expr $VERBOSE + 1` -done -export VERBOSE - -if [ x$1 = x--help ] ; then - echo "Usage: mkheaders [options] [prefix [isysroot]]" - echo "Options:" - echo " -v Print more output (may be repeated for even more output)" - echo " --help This help" - echo " --version Print version information" - exit 0 -fi - -if [ x$1 = x--version ] ; then - echo "mkheaders (GCC) version $version" - echo "Copyright 2002, 2007, 2009 Free Software Foundation, Inc." - echo "This program is free software; you may redistribute it under the" - echo "terms of the GNU General Public License. This program has" - echo "absolutely no warranty." - exit 0 -fi - -# Common prefix for installation directories. -if [ x$1 != x ] ; then - prefix=$1 - shift -else - prefix=/home/runner/work/vscode-amiga-debug/vscode-amiga-debug/output -fi - -# Allow for alternate isysroot in which to find headers -if [ x$1 != x ] ; then - isysroot=$1 - shift -else - isysroot= -fi - -# Directory in which to put host dependent programs and libraries -exec_prefix=${prefix} -# Directory in which to put the directories used by the compiler. -libdir=${exec_prefix}/lib -libexecdir=${exec_prefix}/libexec -# Directory in which the compiler finds libraries, etc. -libsubdir=${libdir}/gcc/${target_noncanonical}/${version} -# Directory in which the compiler finds executables -libexecsubdir=${libexecdir}/gcc/${target_noncanonical}/${version} - -itoolsdir=${libexecsubdir}/install-tools -itoolsdatadir=${libsubdir}/install-tools -incdir=${libsubdir}/include-fixed -mkinstalldirs="${itoolsdir}/mkinstalldirs" - -cd ${itoolsdir} -rm -rf ${incdir}/* - -for shell in $CONFIG_SHELL $SHELL /bin/bash /bin/sh ""; do - if { test -x $shell || test -x $shell.exe; } \ - && $shell $mkinstalldirs > /dev/null 2>&1; then - mkinstalldirs="$shell $mkinstalldirs" - break - elif test x$shell = x; then - if $mkinstalldirs > /dev/null 2>&1; then - break - elif test ! -f $mkinstalldirs; then - echo mkheaders: could not find $mkinstalldirs >&2 - exit 1 - else - echo mkheaders: please rerun with CONFIG_SHELL set to a working Bourne shell >&2 - exit 1 - fi - fi -done - -for ml in `cat ${itoolsdatadir}/fixinc_list`; do - sysroot_headers_suffix=`echo ${ml} | sed -e 's/;.*$//'` - multi_dir=`echo ${ml} | sed -e 's/^[^;]*;//'` - subincdir=${incdir}${multi_dir} - ${mkinstalldirs} ${subincdir} - . ${itoolsdatadir}/mkheaders.conf - if [ x${STMP_FIXINC} != x ] ; then - TARGET_MACHINE="${target}" target_canonical="${target}" \ - MACRO_LIST="${itoolsdatadir}/macro_list" \ - $shell ./fixinc.sh ${subincdir} \ - ${isysroot}${SYSTEM_HEADER_DIR} ${OTHER_FIXINCLUDES_DIRS} - rm -f ${subincdir}/syslimits.h - if [ -f ${subincdir}/limits.h ]; then - mv ${subincdir}/limits.h ${subincdir}/syslimits.h - else - cp ${itoolsdatadir}/gsyslimits.h ${subincdir}/syslimits.h - fi - fi - - cp ${itoolsdatadir}/include${multi_dir}/limits.h ${subincdir}/limits.h -done diff --git a/bin/linux/opt/libexec/gcc/m68k-amiga-elf/13.1.0/install-tools/mkinstalldirs b/bin/linux/opt/libexec/gcc/m68k-amiga-elf/13.1.0/install-tools/mkinstalldirs deleted file mode 100755 index 55d537f8..00000000 --- a/bin/linux/opt/libexec/gcc/m68k-amiga-elf/13.1.0/install-tools/mkinstalldirs +++ /dev/null @@ -1,162 +0,0 @@ -#! /bin/sh -# mkinstalldirs --- make directory hierarchy - -scriptversion=2009-04-28.21; # UTC - -# Original author: Noah Friedman -# Created: 1993-05-16 -# Public domain. -# -# This file is maintained in Automake, please report -# bugs to or send patches to -# . - -nl=' -' -IFS=" "" $nl" -errstatus=0 -dirmode= - -usage="\ -Usage: mkinstalldirs [-h] [--help] [--version] [-m MODE] DIR ... - -Create each directory DIR (with mode MODE, if specified), including all -leading file name components. - -Report bugs to ." - -# process command line arguments -while test $# -gt 0 ; do - case $1 in - -h | --help | --h*) # -h for help - echo "$usage" - exit $? - ;; - -m) # -m PERM arg - shift - test $# -eq 0 && { echo "$usage" 1>&2; exit 1; } - dirmode=$1 - shift - ;; - --version) - echo "$0 $scriptversion" - exit $? - ;; - --) # stop option processing - shift - break - ;; - -*) # unknown option - echo "$usage" 1>&2 - exit 1 - ;; - *) # first non-opt arg - break - ;; - esac -done - -for file -do - if test -d "$file"; then - shift - else - break - fi -done - -case $# in - 0) exit 0 ;; -esac - -# Solaris 8's mkdir -p isn't thread-safe. If you mkdir -p a/b and -# mkdir -p a/c at the same time, both will detect that a is missing, -# one will create a, then the other will try to create a and die with -# a "File exists" error. This is a problem when calling mkinstalldirs -# from a parallel make. We use --version in the probe to restrict -# ourselves to GNU mkdir, which is thread-safe. -case $dirmode in - '') - if mkdir -p --version . >/dev/null 2>&1 && test ! -d ./--version; then - echo "mkdir -p -- $*" - exec mkdir -p -- "$@" - else - # On NextStep and OpenStep, the 'mkdir' command does not - # recognize any option. It will interpret all options as - # directories to create, and then abort because '.' already - # exists. - test -d ./-p && rmdir ./-p - test -d ./--version && rmdir ./--version - fi - ;; - *) - if mkdir -m "$dirmode" -p --version . >/dev/null 2>&1 && - test ! -d ./--version; then - echo "mkdir -m $dirmode -p -- $*" - exec mkdir -m "$dirmode" -p -- "$@" - else - # Clean up after NextStep and OpenStep mkdir. - for d in ./-m ./-p ./--version "./$dirmode"; - do - test -d $d && rmdir $d - done - fi - ;; -esac - -for file -do - case $file in - /*) pathcomp=/ ;; - *) pathcomp= ;; - esac - oIFS=$IFS - IFS=/ - set fnord $file - shift - IFS=$oIFS - - for d - do - test "x$d" = x && continue - - pathcomp=$pathcomp$d - case $pathcomp in - -*) pathcomp=./$pathcomp ;; - esac - - if test ! -d "$pathcomp"; then - echo "mkdir $pathcomp" - - mkdir "$pathcomp" || lasterr=$? - - if test ! -d "$pathcomp"; then - errstatus=$lasterr - else - if test ! -z "$dirmode"; then - echo "chmod $dirmode $pathcomp" - lasterr= - chmod "$dirmode" "$pathcomp" || lasterr=$? - - if test ! -z "$lasterr"; then - errstatus=$lasterr - fi - fi - fi - fi - - pathcomp=$pathcomp/ - done -done - -exit $errstatus - -# Local Variables: -# mode: shell-script -# sh-indentation: 2 -# eval: (add-hook 'write-file-hooks 'time-stamp) -# time-stamp-start: "scriptversion=" -# time-stamp-format: "%:y-%02m-%02d.%02H" -# time-stamp-time-zone: "UTC" -# time-stamp-end: "; # UTC" -# End: diff --git a/bin/linux/opt/m68k-amiga-elf/include/c++config b/bin/linux/opt/m68k-amiga-elf/include/c++config new file mode 100644 index 00000000..6caaf7ad --- /dev/null +++ b/bin/linux/opt/m68k-amiga-elf/include/c++config @@ -0,0 +1,693 @@ +// Predefined symbols and macros -*- C++ -*- + +// Copyright (C) 1997-2020 Free Software Foundation, Inc. +// +// This file is part of the GNU ISO C++ Library. This library is free +// software; you can redistribute it and/or modify it under the +// terms of the GNU General Public License as published by the +// Free Software Foundation; either version 3, or (at your option) +// any later version. + +// This library is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. + +// Under Section 7 of GPL version 3, you are granted additional +// permissions described in the GCC Runtime Library Exception, version +// 3.1, as published by the Free Software Foundation. + +// You should have received a copy of the GNU General Public License and +// a copy of the GCC Runtime Library Exception along with this program; +// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see +// . + +/** @file bits/c++config.h + * This is an internal header file, included by other library headers. + * Do not attempt to use it directly. @headername{version} + */ + +#ifndef _GLIBCXX_CXX_CONFIG_H +#define _GLIBCXX_CXX_CONFIG_H 1 + +// The major release number for the GCC release the C++ library belongs to. +#define _GLIBCXX_RELEASE + +// The datestamp of the C++ library in compressed ISO date format. +#define __GLIBCXX__ + +// Macros for various attributes. +// _GLIBCXX_PURE +// _GLIBCXX_CONST +// _GLIBCXX_NORETURN +// _GLIBCXX_NOTHROW +// _GLIBCXX_VISIBILITY +#ifndef _GLIBCXX_PURE +# define _GLIBCXX_PURE __attribute__ ((__pure__)) +#endif + +#ifndef _GLIBCXX_CONST +# define _GLIBCXX_CONST __attribute__ ((__const__)) +#endif + +#ifndef _GLIBCXX_NORETURN +# define _GLIBCXX_NORETURN __attribute__ ((__noreturn__)) +#endif + +// See below for C++ +#ifndef _GLIBCXX_NOTHROW +# ifndef __cplusplus +# define _GLIBCXX_NOTHROW __attribute__((__nothrow__)) +# endif +#endif + +// Macros for visibility attributes. +// _GLIBCXX_HAVE_ATTRIBUTE_VISIBILITY +// _GLIBCXX_VISIBILITY +#define _GLIBCXX_HAVE_ATTRIBUTE_VISIBILITY 1 + +#if _GLIBCXX_HAVE_ATTRIBUTE_VISIBILITY +# define _GLIBCXX_VISIBILITY(V) __attribute__ ((__visibility__ (#V))) +#else +// If this is not supplied by the OS-specific or CPU-specific +// headers included below, it will be defined to an empty default. +# define _GLIBCXX_VISIBILITY(V) _GLIBCXX_PSEUDO_VISIBILITY(V) +#endif + +// Macros for deprecated attributes. +// _GLIBCXX_USE_DEPRECATED +// _GLIBCXX_DEPRECATED +// _GLIBCXX17_DEPRECATED +// _GLIBCXX20_DEPRECATED( string-literal ) +#ifndef _GLIBCXX_USE_DEPRECATED +# define _GLIBCXX_USE_DEPRECATED 1 +#endif + +#if defined(__DEPRECATED) && (__cplusplus >= 201103L) +# define _GLIBCXX_DEPRECATED __attribute__ ((__deprecated__)) +#else +# define _GLIBCXX_DEPRECATED +#endif + +#if defined(__DEPRECATED) && (__cplusplus >= 201703L) +# define _GLIBCXX17_DEPRECATED [[__deprecated__]] +#else +# define _GLIBCXX17_DEPRECATED +#endif + +#if defined(__DEPRECATED) && (__cplusplus > 201703L) +# define _GLIBCXX20_DEPRECATED(MSG) [[deprecated(MSG)]] +#else +# define _GLIBCXX20_DEPRECATED(MSG) +#endif + +// Macros for ABI tag attributes. +#ifndef _GLIBCXX_ABI_TAG_CXX11 +# define _GLIBCXX_ABI_TAG_CXX11 __attribute ((__abi_tag__ ("cxx11"))) +#endif + +// Macro to warn about unused results. +#if __cplusplus >= 201703L +# define _GLIBCXX_NODISCARD [[__nodiscard__]] +#else +# define _GLIBCXX_NODISCARD +#endif + + + +#if __cplusplus + +// Macro for constexpr, to support in mixed 03/0x mode. +#ifndef _GLIBCXX_CONSTEXPR +# if __cplusplus >= 201103L +# define _GLIBCXX_CONSTEXPR constexpr +# define _GLIBCXX_USE_CONSTEXPR constexpr +# else +# define _GLIBCXX_CONSTEXPR +# define _GLIBCXX_USE_CONSTEXPR const +# endif +#endif + +#ifndef _GLIBCXX14_CONSTEXPR +# if __cplusplus >= 201402L +# define _GLIBCXX14_CONSTEXPR constexpr +# else +# define _GLIBCXX14_CONSTEXPR +# endif +#endif + +#ifndef _GLIBCXX17_CONSTEXPR +# if __cplusplus >= 201703L +# define _GLIBCXX17_CONSTEXPR constexpr +# else +# define _GLIBCXX17_CONSTEXPR +# endif +#endif + +#ifndef _GLIBCXX20_CONSTEXPR +# if __cplusplus > 201703L +# define _GLIBCXX20_CONSTEXPR constexpr +# else +# define _GLIBCXX20_CONSTEXPR +# endif +#endif + +#ifndef _GLIBCXX17_INLINE +# if __cplusplus >= 201703L +# define _GLIBCXX17_INLINE inline +# else +# define _GLIBCXX17_INLINE +# endif +#endif + +// Macro for noexcept, to support in mixed 03/0x mode. +#ifndef _GLIBCXX_NOEXCEPT +# if __cplusplus >= 201103L +# define _GLIBCXX_NOEXCEPT noexcept +# define _GLIBCXX_NOEXCEPT_IF(...) noexcept(__VA_ARGS__) +# define _GLIBCXX_USE_NOEXCEPT noexcept +# define _GLIBCXX_THROW(_EXC) +# else +# define _GLIBCXX_NOEXCEPT +# define _GLIBCXX_NOEXCEPT_IF(...) +# define _GLIBCXX_USE_NOEXCEPT throw() +# define _GLIBCXX_THROW(_EXC) throw(_EXC) +# endif +#endif + +#ifndef _GLIBCXX_NOTHROW +# define _GLIBCXX_NOTHROW _GLIBCXX_USE_NOEXCEPT +#endif + +#ifndef _GLIBCXX_THROW_OR_ABORT +# if __cpp_exceptions +# define _GLIBCXX_THROW_OR_ABORT(_EXC) (throw (_EXC)) +# else +# define _GLIBCXX_THROW_OR_ABORT(_EXC) (__builtin_abort()) +# endif +#endif + +#if __cpp_noexcept_function_type +#define _GLIBCXX_NOEXCEPT_PARM , bool _NE +#define _GLIBCXX_NOEXCEPT_QUAL noexcept (_NE) +#else +#define _GLIBCXX_NOEXCEPT_PARM +#define _GLIBCXX_NOEXCEPT_QUAL +#endif + +// Macro for extern template, ie controlling template linkage via use +// of extern keyword on template declaration. As documented in the g++ +// manual, it inhibits all implicit instantiations and is used +// throughout the library to avoid multiple weak definitions for +// required types that are already explicitly instantiated in the +// library binary. This substantially reduces the binary size of +// resulting executables. +// Special case: _GLIBCXX_EXTERN_TEMPLATE == -1 disallows extern +// templates only in basic_string, thus activating its debug-mode +// checks even at -O0. +#define _GLIBCXX_EXTERN_TEMPLATE + +/* + Outline of libstdc++ namespaces. + + namespace std + { + namespace __debug { } + namespace __parallel { } + namespace __cxx1998 { } + + namespace __detail { + namespace __variant { } // C++17 + } + + namespace rel_ops { } + + namespace tr1 + { + namespace placeholders { } + namespace regex_constants { } + namespace __detail { } + } + + namespace tr2 { } + + namespace decimal { } + + namespace chrono { } // C++11 + namespace placeholders { } // C++11 + namespace regex_constants { } // C++11 + namespace this_thread { } // C++11 + inline namespace literals { // C++14 + inline namespace chrono_literals { } // C++14 + inline namespace complex_literals { } // C++14 + inline namespace string_literals { } // C++14 + inline namespace string_view_literals { } // C++17 + } + } + + namespace abi { } + + namespace __gnu_cxx + { + namespace __detail { } + } + + For full details see: + http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/namespaces.html +*/ +namespace std +{ + typedef __SIZE_TYPE__ size_t; + typedef __PTRDIFF_TYPE__ ptrdiff_t; + +#if __cplusplus >= 201103L + typedef decltype(nullptr) nullptr_t; +#endif +} + +#define _GLIBCXX_USE_DUAL_ABI 0 + +#if ! _GLIBCXX_USE_DUAL_ABI +// Ignore any pre-defined value of _GLIBCXX_USE_CXX11_ABI +# undef _GLIBCXX_USE_CXX11_ABI +#endif + +#ifndef _GLIBCXX_USE_CXX11_ABI +#define _GLIBCXX_USE_CXX11_ABI 1 +#endif + +#if _GLIBCXX_USE_CXX11_ABI +namespace std +{ + inline namespace __cxx11 __attribute__((__abi_tag__ ("cxx11"))) { } +} +namespace __gnu_cxx +{ + inline namespace __cxx11 __attribute__((__abi_tag__ ("cxx11"))) { } +} +# define _GLIBCXX_NAMESPACE_CXX11 __cxx11:: +# define _GLIBCXX_BEGIN_NAMESPACE_CXX11 namespace __cxx11 { +# define _GLIBCXX_END_NAMESPACE_CXX11 } +# define _GLIBCXX_DEFAULT_ABI_TAG _GLIBCXX_ABI_TAG_CXX11 +#else +# define _GLIBCXX_NAMESPACE_CXX11 +# define _GLIBCXX_BEGIN_NAMESPACE_CXX11 +# define _GLIBCXX_END_NAMESPACE_CXX11 +# define _GLIBCXX_DEFAULT_ABI_TAG +#endif + +// Defined if inline namespaces are used for versioning. +#define _GLIBCXX_INLINE_VERSION 1 + +// Inline namespace for symbol versioning. +#if _GLIBCXX_INLINE_VERSION +# define _GLIBCXX_BEGIN_NAMESPACE_VERSION namespace __8 { +# define _GLIBCXX_END_NAMESPACE_VERSION } + +namespace std +{ +inline _GLIBCXX_BEGIN_NAMESPACE_VERSION +#if __cplusplus >= 201402L + inline namespace literals { + inline namespace chrono_literals { } + inline namespace complex_literals { } + inline namespace string_literals { } +#if __cplusplus > 201402L + inline namespace string_view_literals { } +#endif // C++17 + } +#endif // C++14 +_GLIBCXX_END_NAMESPACE_VERSION +} + +namespace __gnu_cxx +{ +inline _GLIBCXX_BEGIN_NAMESPACE_VERSION +_GLIBCXX_END_NAMESPACE_VERSION +} + +#else +# define _GLIBCXX_BEGIN_NAMESPACE_VERSION +# define _GLIBCXX_END_NAMESPACE_VERSION +#endif + +// Inline namespaces for special modes: debug, parallel. +#if defined(_GLIBCXX_DEBUG) || defined(_GLIBCXX_PARALLEL) +namespace std +{ +_GLIBCXX_BEGIN_NAMESPACE_VERSION + + // Non-inline namespace for components replaced by alternates in active mode. + namespace __cxx1998 + { +# if _GLIBCXX_USE_CXX11_ABI + inline namespace __cxx11 __attribute__((__abi_tag__ ("cxx11"))) { } +# endif + } + +_GLIBCXX_END_NAMESPACE_VERSION + + // Inline namespace for debug mode. +# ifdef _GLIBCXX_DEBUG + inline namespace __debug { } +# endif + + // Inline namespaces for parallel mode. +# ifdef _GLIBCXX_PARALLEL + inline namespace __parallel { } +# endif +} + +// Check for invalid usage and unsupported mixed-mode use. +# if defined(_GLIBCXX_DEBUG) && defined(_GLIBCXX_PARALLEL) +# error illegal use of multiple inlined namespaces +# endif + +// Check for invalid use due to lack for weak symbols. +# if __NO_INLINE__ && !__GXX_WEAK__ +# warning currently using inlined namespace mode which may fail \ + without inlining due to lack of weak symbols +# endif +#endif + +// Macros for namespace scope. Either namespace std:: or the name +// of some nested namespace within it corresponding to the active mode. +// _GLIBCXX_STD_A +// _GLIBCXX_STD_C +// +// Macros for opening/closing conditional namespaces. +// _GLIBCXX_BEGIN_NAMESPACE_ALGO +// _GLIBCXX_END_NAMESPACE_ALGO +// _GLIBCXX_BEGIN_NAMESPACE_CONTAINER +// _GLIBCXX_END_NAMESPACE_CONTAINER +#if defined(_GLIBCXX_DEBUG) +# define _GLIBCXX_STD_C __cxx1998 +# define _GLIBCXX_BEGIN_NAMESPACE_CONTAINER \ + namespace _GLIBCXX_STD_C { +# define _GLIBCXX_END_NAMESPACE_CONTAINER } +#else +# define _GLIBCXX_STD_C std +# define _GLIBCXX_BEGIN_NAMESPACE_CONTAINER +# define _GLIBCXX_END_NAMESPACE_CONTAINER +#endif + +#ifdef _GLIBCXX_PARALLEL +# define _GLIBCXX_STD_A __cxx1998 +# define _GLIBCXX_BEGIN_NAMESPACE_ALGO \ + namespace _GLIBCXX_STD_A { +# define _GLIBCXX_END_NAMESPACE_ALGO } +#else +# define _GLIBCXX_STD_A std +# define _GLIBCXX_BEGIN_NAMESPACE_ALGO +# define _GLIBCXX_END_NAMESPACE_ALGO +#endif + +// GLIBCXX_ABI Deprecated +// Define if compatibility should be provided for -mlong-double-64. +#undef _GLIBCXX_LONG_DOUBLE_COMPAT + +// Inline namespace for long double 128 mode. +#if defined _GLIBCXX_LONG_DOUBLE_COMPAT && defined __LONG_DOUBLE_128__ +namespace std +{ + inline namespace __gnu_cxx_ldbl128 { } +} +# define _GLIBCXX_NAMESPACE_LDBL __gnu_cxx_ldbl128:: +# define _GLIBCXX_BEGIN_NAMESPACE_LDBL namespace __gnu_cxx_ldbl128 { +# define _GLIBCXX_END_NAMESPACE_LDBL } +#else +# define _GLIBCXX_NAMESPACE_LDBL +# define _GLIBCXX_BEGIN_NAMESPACE_LDBL +# define _GLIBCXX_END_NAMESPACE_LDBL +#endif +#if _GLIBCXX_USE_CXX11_ABI +# define _GLIBCXX_NAMESPACE_LDBL_OR_CXX11 _GLIBCXX_NAMESPACE_CXX11 +# define _GLIBCXX_BEGIN_NAMESPACE_LDBL_OR_CXX11 _GLIBCXX_BEGIN_NAMESPACE_CXX11 +# define _GLIBCXX_END_NAMESPACE_LDBL_OR_CXX11 _GLIBCXX_END_NAMESPACE_CXX11 +#else +# define _GLIBCXX_NAMESPACE_LDBL_OR_CXX11 _GLIBCXX_NAMESPACE_LDBL +# define _GLIBCXX_BEGIN_NAMESPACE_LDBL_OR_CXX11 _GLIBCXX_BEGIN_NAMESPACE_LDBL +# define _GLIBCXX_END_NAMESPACE_LDBL_OR_CXX11 _GLIBCXX_END_NAMESPACE_LDBL +#endif + +// Debug Mode implies checking assertions. +#if defined(_GLIBCXX_DEBUG) && !defined(_GLIBCXX_ASSERTIONS) +# define _GLIBCXX_ASSERTIONS 1 +#endif + +// Disable std::string explicit instantiation declarations in order to assert. +#ifdef _GLIBCXX_ASSERTIONS +# undef _GLIBCXX_EXTERN_TEMPLATE +# define _GLIBCXX_EXTERN_TEMPLATE -1 +#endif + +// Assert. +#if defined(_GLIBCXX_ASSERTIONS) \ + || defined(_GLIBCXX_PARALLEL) || defined(_GLIBCXX_PARALLEL_ASSERTIONS) +namespace std +{ + // Avoid the use of assert, because we're trying to keep the + // include out of the mix. + extern "C++" inline void + __replacement_assert(const char* __file, int __line, + const char* __function, const char* __condition) + { + __builtin_printf("%s:%d: %s: Assertion '%s' failed.\n", __file, __line, + __function, __condition); + __builtin_abort(); + } +} +#define __glibcxx_assert_impl(_Condition) \ + do \ + { \ + if (! (_Condition)) \ + std::__replacement_assert(__FILE__, __LINE__, __PRETTY_FUNCTION__, \ + #_Condition); \ + } while (false) +#endif + +#if defined(_GLIBCXX_ASSERTIONS) +# define __glibcxx_assert(_Condition) __glibcxx_assert_impl(_Condition) +#else +# define __glibcxx_assert(_Condition) +#endif + +// Macros for race detectors. +// _GLIBCXX_SYNCHRONIZATION_HAPPENS_BEFORE(A) and +// _GLIBCXX_SYNCHRONIZATION_HAPPENS_AFTER(A) should be used to explain +// atomic (lock-free) synchronization to race detectors: +// the race detector will infer a happens-before arc from the former to the +// latter when they share the same argument pointer. +// +// The most frequent use case for these macros (and the only case in the +// current implementation of the library) is atomic reference counting: +// void _M_remove_reference() +// { +// _GLIBCXX_SYNCHRONIZATION_HAPPENS_BEFORE(&this->_M_refcount); +// if (__gnu_cxx::__exchange_and_add_dispatch(&this->_M_refcount, -1) <= 0) +// { +// _GLIBCXX_SYNCHRONIZATION_HAPPENS_AFTER(&this->_M_refcount); +// _M_destroy(__a); +// } +// } +// The annotations in this example tell the race detector that all memory +// accesses occurred when the refcount was positive do not race with +// memory accesses which occurred after the refcount became zero. +#ifndef _GLIBCXX_SYNCHRONIZATION_HAPPENS_BEFORE +# define _GLIBCXX_SYNCHRONIZATION_HAPPENS_BEFORE(A) +#endif +#ifndef _GLIBCXX_SYNCHRONIZATION_HAPPENS_AFTER +# define _GLIBCXX_SYNCHRONIZATION_HAPPENS_AFTER(A) +#endif + +// Macros for C linkage: define extern "C" linkage only when using C++. +# define _GLIBCXX_BEGIN_EXTERN_C extern "C" { +# define _GLIBCXX_END_EXTERN_C } + +#define _GLIBCXX_USE_ALLOCATOR_NEW 1 + +#else // !__cplusplus +# define _GLIBCXX_BEGIN_EXTERN_C +# define _GLIBCXX_END_EXTERN_C +#endif + + +// First includes. + +// Pick up any OS-specific definitions. +//#include + +// Pick up any CPU-specific definitions. +//#include + +// If platform uses neither visibility nor psuedo-visibility, +// specify empty default for namespace annotation macros. +#ifndef _GLIBCXX_PSEUDO_VISIBILITY +# define _GLIBCXX_PSEUDO_VISIBILITY(V) +#endif + +// Certain function definitions that are meant to be overridable from +// user code are decorated with this macro. For some targets, this +// macro causes these definitions to be weak. +#ifndef _GLIBCXX_WEAK_DEFINITION +# define _GLIBCXX_WEAK_DEFINITION +#endif + +// By default, we assume that __GXX_WEAK__ also means that there is support +// for declaring functions as weak while not defining such functions. This +// allows for referring to functions provided by other libraries (e.g., +// libitm) without depending on them if the respective features are not used. +#ifndef _GLIBCXX_USE_WEAK_REF +# define _GLIBCXX_USE_WEAK_REF __GXX_WEAK__ +#endif + +// Conditionally enable annotations for the Transactional Memory TS on C++11. +// Most of the following conditions are due to limitations in the current +// implementation. +#if __cplusplus >= 201103L && _GLIBCXX_USE_CXX11_ABI \ + && _GLIBCXX_USE_DUAL_ABI && __cpp_transactional_memory >= 201500L \ + && !_GLIBCXX_FULLY_DYNAMIC_STRING && _GLIBCXX_USE_WEAK_REF \ + && _GLIBCXX_USE_ALLOCATOR_NEW +#define _GLIBCXX_TXN_SAFE transaction_safe +#define _GLIBCXX_TXN_SAFE_DYN transaction_safe_dynamic +#else +#define _GLIBCXX_TXN_SAFE +#define _GLIBCXX_TXN_SAFE_DYN +#endif + +#if __cplusplus > 201402L +// In C++17 mathematical special functions are in namespace std. +# define _GLIBCXX_USE_STD_SPEC_FUNCS 1 +#elif __cplusplus >= 201103L && __STDCPP_WANT_MATH_SPEC_FUNCS__ != 0 +// For C++11 and C++14 they are in namespace std when requested. +# define _GLIBCXX_USE_STD_SPEC_FUNCS 1 +#endif + +// The remainder of the prewritten config is automatic; all the +// user hooks are listed above. + +// Create a boolean flag to be used to determine if --fast-math is set. +#ifdef __FAST_MATH__ +# define _GLIBCXX_FAST_MATH 1 +#else +# define _GLIBCXX_FAST_MATH 0 +#endif + +// This marks string literals in header files to be extracted for eventual +// translation. It is primarily used for messages in thrown exceptions; see +// src/functexcept.cc. We use __N because the more traditional _N is used +// for something else under certain OSes (see BADNAMES). +#define __N(msgid) (msgid) + +// For example, is known to #define min and max as macros... +#undef min +#undef max + +// N.B. these _GLIBCXX_USE_C99_XXX macros are defined unconditionally +// so they should be tested with #if not with #ifdef. +#if __cplusplus >= 201103L +# ifndef _GLIBCXX_USE_C99_MATH +# define _GLIBCXX_USE_C99_MATH _GLIBCXX11_USE_C99_MATH +# endif +# ifndef _GLIBCXX_USE_C99_COMPLEX +# define _GLIBCXX_USE_C99_COMPLEX _GLIBCXX11_USE_C99_COMPLEX +# endif +# ifndef _GLIBCXX_USE_C99_STDIO +# define _GLIBCXX_USE_C99_STDIO _GLIBCXX11_USE_C99_STDIO +# endif +# ifndef _GLIBCXX_USE_C99_STDLIB +# define _GLIBCXX_USE_C99_STDLIB _GLIBCXX11_USE_C99_STDLIB +# endif +# ifndef _GLIBCXX_USE_C99_WCHAR +# define _GLIBCXX_USE_C99_WCHAR _GLIBCXX11_USE_C99_WCHAR +# endif +#else +# ifndef _GLIBCXX_USE_C99_MATH +# define _GLIBCXX_USE_C99_MATH _GLIBCXX98_USE_C99_MATH +# endif +# ifndef _GLIBCXX_USE_C99_COMPLEX +# define _GLIBCXX_USE_C99_COMPLEX _GLIBCXX98_USE_C99_COMPLEX +# endif +# ifndef _GLIBCXX_USE_C99_STDIO +# define _GLIBCXX_USE_C99_STDIO _GLIBCXX98_USE_C99_STDIO +# endif +# ifndef _GLIBCXX_USE_C99_STDLIB +# define _GLIBCXX_USE_C99_STDLIB _GLIBCXX98_USE_C99_STDLIB +# endif +# ifndef _GLIBCXX_USE_C99_WCHAR +# define _GLIBCXX_USE_C99_WCHAR _GLIBCXX98_USE_C99_WCHAR +# endif +#endif + +// Unless explicitly specified, enable char8_t extensions only if the core +// language char8_t feature macro is defined. +#ifndef _GLIBCXX_USE_CHAR8_T +# ifdef __cpp_char8_t +# define _GLIBCXX_USE_CHAR8_T 1 +# endif +#endif +#ifdef _GLIBCXX_USE_CHAR8_T +# define __cpp_lib_char8_t 201907L +#endif + +/* Define if __float128 is supported on this host. */ +#if defined(__FLOAT128__) || defined(__SIZEOF_FLOAT128__) +#define _GLIBCXX_USE_FLOAT128 +#endif + +#if __GNUC__ >= 7 +// Assume these are available if the compiler claims to be a recent GCC: +# define _GLIBCXX_HAVE_BUILTIN_HAS_UNIQ_OBJ_REP 1 +# define _GLIBCXX_HAVE_BUILTIN_IS_AGGREGATE 1 +# define _GLIBCXX_HAVE_BUILTIN_LAUNDER 1 +# define _GLIBCXX_BUILTIN_IS_SAME_AS(T, U) __is_same_as(T, U) +# if __GNUC__ >= 9 +# define _GLIBCXX_HAVE_BUILTIN_IS_CONSTANT_EVALUATED 1 +# endif +#elif defined(__is_identifier) && defined(__has_builtin) +// For non-GNU compilers: +# if ! __is_identifier(__has_unique_object_representations) +# define _GLIBCXX_HAVE_BUILTIN_HAS_UNIQ_OBJ_REP 1 +# endif +# if ! __is_identifier(__is_aggregate) +# define _GLIBCXX_HAVE_BUILTIN_IS_AGGREGATE 1 +# endif +# if __has_builtin(__builtin_launder) +# define _GLIBCXX_HAVE_BUILTIN_LAUNDER 1 +# endif +# if __has_builtin(__builtin_is_constant_evaluated) +# define _GLIBCXX_HAVE_BUILTIN_IS_CONSTANT_EVALUATED 1 +# endif +# if ! __is_identifier(__is_same) +# define _GLIBCXX_BUILTIN_IS_SAME_AS(T, U) __is_same(T, U) +# endif +#endif // GCC + +// PSTL configuration + +#if __cplusplus >= 201703L +// This header is not installed for freestanding: +#if __has_include() +// Preserved here so we have some idea which version of upstream we've pulled in +// #define PSTL_VERSION 9000 + +// For now this defaults to being based on the presence of Thread Building Blocks +# ifndef _GLIBCXX_USE_TBB_PAR_BACKEND +# define _GLIBCXX_USE_TBB_PAR_BACKEND __has_include() +# endif +// This section will need some rework when a new (default) backend type is added +# if _GLIBCXX_USE_TBB_PAR_BACKEND +# define _PSTL_PAR_BACKEND_TBB +# else +# define _PSTL_PAR_BACKEND_SERIAL +# endif + +# define _PSTL_ASSERT(_Condition) __glibcxx_assert(_Condition) +# define _PSTL_ASSERT_MSG(_Condition, _Message) __glibcxx_assert(_Condition) + +#include +#endif // __has_include +#endif // C++17 + +#endif +// End of prewritten config; the settings discovered at configure time follow. diff --git a/bin/linux/opt/m68k-amiga-elf/include/coroutine b/bin/linux/opt/m68k-amiga-elf/include/coroutine new file mode 100644 index 00000000..c29e65df --- /dev/null +++ b/bin/linux/opt/m68k-amiga-elf/include/coroutine @@ -0,0 +1,305 @@ +#ifdef __INTELLISENSE__ + #define __cpp_impl_coroutine 1 +#endif + +// -*- C++ -*- + +// Copyright (C) 2019-2020 Free Software Foundation, Inc. +// +// This file is part of the GNU ISO C++ Library. This library is free +// software; you can redistribute it and/or modify it under the +// terms of the GNU General Public License as published by the +// Free Software Foundation; either version 3, or (at your option) +// any later version. + +// This library is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. + +// Under Section 7 of GPL version 3, you are granted additional +// permissions described in the GCC Runtime Library Exception, version +// 3.1, as published by the Free Software Foundation. + +// You should have received a copy of the GNU General Public License and +// a copy of the GCC Runtime Library Exception along with this program; +// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see +// . + +/** @file include/coroutine + * This is a Standard C++ Library header. + */ + +#ifndef _GLIBCXX_COROUTINE +#define _GLIBCXX_COROUTINE 1 + +#pragma GCC system_header + +// It is very likely that earlier versions would work, but they are untested. +#if __cplusplus >= 201402L + +#include "c++config" + +/** + * @defgroup coroutines Coroutines + * + * Components for supporting coroutine implementations. + */ + +/*#if __cplusplus > 201703L && __cpp_impl_three_way_comparison >= 201907L +# include +# define _COROUTINES_USE_SPACESHIP 1 +#else +# include // for std::less +# define _COROUTINES_USE_SPACESHIP 0 +#endif*/ + +namespace std +{ + +#if __cpp_impl_coroutine + +#define __cpp_lib_coroutine 201902L + + inline namespace __n4861 { + + // 17.12.2 coroutine traits + /// [coroutine.traits] + /// [coroutine.traits.primary] + /// If _Result::promise_type is valid and denotes a type then the traits + /// have a single publicly accessible member, otherwise they are empty. + template + struct __coroutine_traits_impl {}; + + template + struct __coroutine_traits_impl<_Result, + __void_t> + { + using promise_type = typename _Result::promise_type; + }; + + template + struct coroutine_traits : __coroutine_traits_impl<_Result> {}; + + // 17.12.3 Class template coroutine_handle + /// [coroutine.handle] + template + struct coroutine_handle; + + template <> struct + coroutine_handle + { + public: + // 17.12.3.1, construct/reset + constexpr coroutine_handle() noexcept : _M_fr_ptr(0) {} + + constexpr coroutine_handle(std::nullptr_t __h) noexcept + : _M_fr_ptr(__h) + {} + + coroutine_handle& operator=(std::nullptr_t) noexcept + { + _M_fr_ptr = nullptr; + return *this; + } + + public: + // 17.12.3.2, export/import + constexpr void* address() const noexcept { return _M_fr_ptr; } + + constexpr static coroutine_handle from_address(void* __a) noexcept + { + coroutine_handle __self; + __self._M_fr_ptr = __a; + return __self; + } + + public: + // 17.12.3.3, observers + constexpr explicit operator bool() const noexcept + { + return bool(_M_fr_ptr); + } + + bool done() const noexcept { return __builtin_coro_done(_M_fr_ptr); } + + // 17.12.3.4, resumption + void operator()() const { resume(); } + + void resume() const { __builtin_coro_resume(_M_fr_ptr); } + + void destroy() const { __builtin_coro_destroy(_M_fr_ptr); } + + protected: + void* _M_fr_ptr; + }; + + // 17.12.3.6 Comparison operators + /// [coroutine.handle.compare] + constexpr bool operator==(coroutine_handle<> __a, + coroutine_handle<> __b) noexcept + { + return __a.address() == __b.address(); + } + +#if _COROUTINES_USE_SPACESHIP + constexpr strong_ordering + operator<=>(coroutine_handle<> __a, coroutine_handle<> __b) noexcept + { return std::compare_three_way()(__a.address(), __b.address()); } +#else + // These are to enable operation with std=c++14,17. + constexpr bool operator!=(coroutine_handle<> __a, + coroutine_handle<> __b) noexcept + { + return !(__a == __b); + } + + constexpr bool operator<(coroutine_handle<> __a, + coroutine_handle<> __b) noexcept + { + return __a < __b; + } + + constexpr bool operator>(coroutine_handle<> __a, + coroutine_handle<> __b) noexcept + { + return __b < __a; + } + + constexpr bool operator<=(coroutine_handle<> __a, + coroutine_handle<> __b) noexcept + { + return !(__a > __b); + } + + constexpr bool operator>=(coroutine_handle<> __a, + coroutine_handle<> __b) noexcept + { + return !(__a < __b); + } +#endif + + template + struct coroutine_handle : coroutine_handle<> + { + // 17.12.3.1, construct/reset + using coroutine_handle<>::coroutine_handle; + + static coroutine_handle from_promise(_Promise& p) + { + coroutine_handle __self; + __self._M_fr_ptr + = __builtin_coro_promise((char*) &p, __alignof(_Promise), true); + return __self; + } + + coroutine_handle& operator=(std::nullptr_t) noexcept + { + coroutine_handle<>::operator=(nullptr); + return *this; + } + + // 17.12.3.2, export/import + constexpr static coroutine_handle from_address(void* __a) + { + coroutine_handle __self; + __self._M_fr_ptr = __a; + return __self; + } + + // 17.12.3.5, promise accesss + _Promise& promise() const + { + void* __t + = __builtin_coro_promise (this->_M_fr_ptr, __alignof(_Promise), false); + return *static_cast<_Promise*>(__t); + } + }; + + /// [coroutine.noop] + struct noop_coroutine_promise + { + }; + + void __dummy_resume_destroy() __attribute__((__weak__)); + void __dummy_resume_destroy() {} + + struct __noop_coro_frame + { + void (*__r)() = __dummy_resume_destroy; + void (*__d)() = __dummy_resume_destroy; + struct noop_coroutine_promise __p; + } __noop_coro_fr __attribute__((__weak__)); + + // 17.12.4.1 Class noop_coroutine_promise + /// [coroutine.promise.noop] + template <> + struct coroutine_handle : public coroutine_handle<> + { + using _Promise = noop_coroutine_promise; + + public: + // 17.12.4.2.1, observers + constexpr explicit operator bool() const noexcept { return true; } + + constexpr bool done() const noexcept { return false; } + + // 17.12.4.2.2, resumption + void operator()() const noexcept {} + + void resume() const noexcept {} + + void destroy() const noexcept {} + + // 17.12.4.2.3, promise access + _Promise& promise() const + { + return *static_cast<_Promise*>( + __builtin_coro_promise(this->_M_fr_ptr, __alignof(_Promise), false)); + } + + // 17.12.4.2.4, address + private: + friend coroutine_handle noop_coroutine() noexcept; + + coroutine_handle() noexcept { this->_M_fr_ptr = (void*) &__noop_coro_fr; } + }; + + using noop_coroutine_handle = coroutine_handle; + + inline noop_coroutine_handle noop_coroutine() noexcept + { + return noop_coroutine_handle(); + } + + // 17.12.5 Trivial awaitables + /// [coroutine.trivial.awaitables] + struct suspend_always + { + bool await_ready() { return false; } + + void await_suspend(coroutine_handle<>) {} + + void await_resume() {} + }; + + struct suspend_never + { + bool await_ready() { return true; } + + void await_suspend(coroutine_handle<>) {} + + void await_resume() {} + }; + + } // namespace __n4861 + +#else +#error "the coroutine header requires -fcoroutines" +#endif + +} // namespace std + +#endif // C++14 (we are allowing use from at least this) + +#endif // _GLIBCXX_COROUTINE diff --git a/bin/linux/opt/m68k-amiga-elf/include/type_traits b/bin/linux/opt/m68k-amiga-elf/include/type_traits new file mode 100644 index 00000000..cea999f4 --- /dev/null +++ b/bin/linux/opt/m68k-amiga-elf/include/type_traits @@ -0,0 +1,3458 @@ +// C++11 -*- C++ -*- + +// Copyright (C) 2007-2020 Free Software Foundation, Inc. +// +// This file is part of the GNU ISO C++ Library. This library is free +// software; you can redistribute it and/or modify it under the +// terms of the GNU General Public License as published by the +// Free Software Foundation; either version 3, or (at your option) +// any later version. + +// This library is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. + +// Under Section 7 of GPL version 3, you are granted additional +// permissions described in the GCC Runtime Library Exception, version +// 3.1, as published by the Free Software Foundation. + +// You should have received a copy of the GNU General Public License and +// a copy of the GCC Runtime Library Exception along with this program; +// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see +// . + +/** @file include/type_traits + * This is a Standard C++ Library header. + */ + +#ifndef _GLIBCXX_TYPE_TRAITS +#define _GLIBCXX_TYPE_TRAITS 1 + +#pragma GCC system_header + +#if __cplusplus < 201103L +# include +#else + +#include "c++config" + +namespace std +{ + + /** + * @defgroup metaprogramming Metaprogramming + * @ingroup utilities + * + * Template utilities for compile-time introspection and modification, + * including type classification traits, type property inspection traits + * and type transformation traits. + * + * @{ + */ + + /// integral_constant + template + struct integral_constant + { + static constexpr _Tp value = __v; + typedef _Tp value_type; + typedef integral_constant<_Tp, __v> type; + constexpr operator value_type() const noexcept { return value; } +#if __cplusplus > 201103L + +#define __cpp_lib_integral_constant_callable 201304 + + constexpr value_type operator()() const noexcept { return value; } +#endif + }; + + template + constexpr _Tp integral_constant<_Tp, __v>::value; + + /// The type used as a compile-time boolean with true value. + typedef integral_constant true_type; + + /// The type used as a compile-time boolean with false value. + typedef integral_constant false_type; + + template + using __bool_constant = integral_constant; + +#if __cplusplus > 201402L +# define __cpp_lib_bool_constant 201505 + template + using bool_constant = integral_constant; +#endif + + // Meta programming helper types. + + template + struct conditional; + + template + struct __type_identity + { using type = _Type; }; + + template + using __type_identity_t = typename __type_identity<_Tp>::type; + + template + struct __or_; + + template<> + struct __or_<> + : public false_type + { }; + + template + struct __or_<_B1> + : public _B1 + { }; + + template + struct __or_<_B1, _B2> + : public conditional<_B1::value, _B1, _B2>::type + { }; + + template + struct __or_<_B1, _B2, _B3, _Bn...> + : public conditional<_B1::value, _B1, __or_<_B2, _B3, _Bn...>>::type + { }; + + template + struct __and_; + + template<> + struct __and_<> + : public true_type + { }; + + template + struct __and_<_B1> + : public _B1 + { }; + + template + struct __and_<_B1, _B2> + : public conditional<_B1::value, _B2, _B1>::type + { }; + + template + struct __and_<_B1, _B2, _B3, _Bn...> + : public conditional<_B1::value, __and_<_B2, _B3, _Bn...>, _B1>::type + { }; + + template + struct __not_ + : public __bool_constant + { }; + +#if __cplusplus >= 201703L + + template + inline constexpr bool __or_v = __or_<_Bn...>::value; + template + inline constexpr bool __and_v = __and_<_Bn...>::value; + +#define __cpp_lib_logical_traits 201510 + + template + struct conjunction + : __and_<_Bn...> + { }; + + template + struct disjunction + : __or_<_Bn...> + { }; + + template + struct negation + : __not_<_Pp> + { }; + + template + inline constexpr bool conjunction_v = conjunction<_Bn...>::value; + + template + inline constexpr bool disjunction_v = disjunction<_Bn...>::value; + + template + inline constexpr bool negation_v = negation<_Pp>::value; + +#endif // C++17 + + // Forward declarations + template + struct is_reference; + template + struct is_function; + template + struct is_void; + template + struct __is_array_unknown_bounds; + + // Helper functions that return false_type for incomplete classes, + // incomplete unions and arrays of known bound from those. + + template + constexpr true_type __is_complete_or_unbounded(__type_identity<_Tp>) + { return {}; } + + template + constexpr typename __or_< + is_reference<_NestedType>, + is_function<_NestedType>, + is_void<_NestedType>, + __is_array_unknown_bounds<_NestedType> + >::type __is_complete_or_unbounded(_TypeIdentity) + { return {}; } + + // For several sfinae-friendly trait implementations we transport both the + // result information (as the member type) and the failure information (no + // member type). This is very similar to std::enable_if, but we cannot use + // them, because we need to derive from them as an implementation detail. + + template + struct __success_type + { typedef _Tp type; }; + + struct __failure_type + { }; + + template + struct remove_cv; + + // __remove_cv_t (std::remove_cv_t for C++11). + template + using __remove_cv_t = typename remove_cv<_Tp>::type; + + template + struct is_const; + + // Primary type categories. + + template + struct __is_void_helper + : public false_type { }; + + template<> + struct __is_void_helper + : public true_type { }; + + /// is_void + template + struct is_void + : public __is_void_helper<__remove_cv_t<_Tp>>::type + { }; + + template + struct __is_integral_helper + : public false_type { }; + + template<> + struct __is_integral_helper + : public true_type { }; + + template<> + struct __is_integral_helper + : public true_type { }; + + template<> + struct __is_integral_helper + : public true_type { }; + + template<> + struct __is_integral_helper + : public true_type { }; + +#ifdef _GLIBCXX_USE_WCHAR_T + template<> + struct __is_integral_helper + : public true_type { }; +#endif + +#ifdef _GLIBCXX_USE_CHAR8_T + template<> + struct __is_integral_helper + : public true_type { }; +#endif + + template<> + struct __is_integral_helper + : public true_type { }; + + template<> + struct __is_integral_helper + : public true_type { }; + + template<> + struct __is_integral_helper + : public true_type { }; + + template<> + struct __is_integral_helper + : public true_type { }; + + template<> + struct __is_integral_helper + : public true_type { }; + + template<> + struct __is_integral_helper + : public true_type { }; + + template<> + struct __is_integral_helper + : public true_type { }; + + template<> + struct __is_integral_helper + : public true_type { }; + + template<> + struct __is_integral_helper + : public true_type { }; + + template<> + struct __is_integral_helper + : public true_type { }; + + // Conditionalizing on __STRICT_ANSI__ here will break any port that + // uses one of these types for size_t. +#if defined(__GLIBCXX_TYPE_INT_N_0) + template<> + struct __is_integral_helper<__GLIBCXX_TYPE_INT_N_0> + : public true_type { }; + + template<> + struct __is_integral_helper + : public true_type { }; +#endif +#if defined(__GLIBCXX_TYPE_INT_N_1) + template<> + struct __is_integral_helper<__GLIBCXX_TYPE_INT_N_1> + : public true_type { }; + + template<> + struct __is_integral_helper + : public true_type { }; +#endif +#if defined(__GLIBCXX_TYPE_INT_N_2) + template<> + struct __is_integral_helper<__GLIBCXX_TYPE_INT_N_2> + : public true_type { }; + + template<> + struct __is_integral_helper + : public true_type { }; +#endif +#if defined(__GLIBCXX_TYPE_INT_N_3) + template<> + struct __is_integral_helper<__GLIBCXX_TYPE_INT_N_3> + : public true_type { }; + + template<> + struct __is_integral_helper + : public true_type { }; +#endif + + /// is_integral + template + struct is_integral + : public __is_integral_helper<__remove_cv_t<_Tp>>::type + { }; + + template + struct __is_floating_point_helper + : public false_type { }; + + template<> + struct __is_floating_point_helper + : public true_type { }; + + template<> + struct __is_floating_point_helper + : public true_type { }; + + template<> + struct __is_floating_point_helper + : public true_type { }; + +#if !defined(__STRICT_ANSI__) && defined(_GLIBCXX_USE_FLOAT128) + template<> + struct __is_floating_point_helper<__float128> + : public true_type { }; +#endif + + /// is_floating_point + template + struct is_floating_point + : public __is_floating_point_helper<__remove_cv_t<_Tp>>::type + { }; + + /// is_array + template + struct is_array + : public false_type { }; + + template + struct is_array<_Tp[_Size]> + : public true_type { }; + + template + struct is_array<_Tp[]> + : public true_type { }; + + template + struct __is_pointer_helper + : public false_type { }; + + template + struct __is_pointer_helper<_Tp*> + : public true_type { }; + + /// is_pointer + template + struct is_pointer + : public __is_pointer_helper<__remove_cv_t<_Tp>>::type + { }; + + /// is_lvalue_reference + template + struct is_lvalue_reference + : public false_type { }; + + template + struct is_lvalue_reference<_Tp&> + : public true_type { }; + + /// is_rvalue_reference + template + struct is_rvalue_reference + : public false_type { }; + + template + struct is_rvalue_reference<_Tp&&> + : public true_type { }; + + template + struct __is_member_object_pointer_helper + : public false_type { }; + + template + struct __is_member_object_pointer_helper<_Tp _Cp::*> + : public __not_>::type { }; + + /// is_member_object_pointer + template + struct is_member_object_pointer + : public __is_member_object_pointer_helper<__remove_cv_t<_Tp>>::type + { }; + + template + struct __is_member_function_pointer_helper + : public false_type { }; + + template + struct __is_member_function_pointer_helper<_Tp _Cp::*> + : public is_function<_Tp>::type { }; + + /// is_member_function_pointer + template + struct is_member_function_pointer + : public __is_member_function_pointer_helper<__remove_cv_t<_Tp>>::type + { }; + + /// is_enum + template + struct is_enum + : public integral_constant + { }; + + /// is_union + template + struct is_union + : public integral_constant + { }; + + /// is_class + template + struct is_class + : public integral_constant + { }; + + /// is_function + template + struct is_function + : public __bool_constant::value> { }; + + template + struct is_function<_Tp&> + : public false_type { }; + + template + struct is_function<_Tp&&> + : public false_type { }; + +#define __cpp_lib_is_null_pointer 201309 + + template + struct __is_null_pointer_helper + : public false_type { }; + + template<> + struct __is_null_pointer_helper + : public true_type { }; + + /// is_null_pointer (LWG 2247). + template + struct is_null_pointer + : public __is_null_pointer_helper<__remove_cv_t<_Tp>>::type + { }; + + /// __is_nullptr_t (deprecated extension). + template + struct __is_nullptr_t + : public is_null_pointer<_Tp> + { } _GLIBCXX_DEPRECATED; + + // Composite type categories. + + /// is_reference + template + struct is_reference + : public __or_, + is_rvalue_reference<_Tp>>::type + { }; + + /// is_arithmetic + template + struct is_arithmetic + : public __or_, is_floating_point<_Tp>>::type + { }; + + /// is_fundamental + template + struct is_fundamental + : public __or_, is_void<_Tp>, + is_null_pointer<_Tp>>::type + { }; + + /// is_object + template + struct is_object + : public __not_<__or_, is_reference<_Tp>, + is_void<_Tp>>>::type + { }; + + template + struct is_member_pointer; + + /// is_scalar + template + struct is_scalar + : public __or_, is_enum<_Tp>, is_pointer<_Tp>, + is_member_pointer<_Tp>, is_null_pointer<_Tp>>::type + { }; + + /// is_compound + template + struct is_compound + : public __not_>::type { }; + + template + struct __is_member_pointer_helper + : public false_type { }; + + template + struct __is_member_pointer_helper<_Tp _Cp::*> + : public true_type { }; + + /// is_member_pointer + template + struct is_member_pointer + : public __is_member_pointer_helper<__remove_cv_t<_Tp>>::type + { }; + + template + struct is_same; + + template + using __is_one_of = __or_...>; + + // Check if a type is one of the signed integer types. + template + using __is_signed_integer = __is_one_of<__remove_cv_t<_Tp>, + signed char, signed short, signed int, signed long, + signed long long +#if defined(__GLIBCXX_TYPE_INT_N_0) + , signed __GLIBCXX_TYPE_INT_N_0 +#endif +#if defined(__GLIBCXX_TYPE_INT_N_1) + , signed __GLIBCXX_TYPE_INT_N_1 +#endif +#if defined(__GLIBCXX_TYPE_INT_N_2) + , signed __GLIBCXX_TYPE_INT_N_2 +#endif +#if defined(__GLIBCXX_TYPE_INT_N_3) + , signed __GLIBCXX_TYPE_INT_N_3 +#endif + >; + + // Check if a type is one of the unsigned integer types. + template + using __is_unsigned_integer = __is_one_of<__remove_cv_t<_Tp>, + unsigned char, unsigned short, unsigned int, unsigned long, + unsigned long long +#if defined(__GLIBCXX_TYPE_INT_N_0) + , unsigned __GLIBCXX_TYPE_INT_N_0 +#endif +#if defined(__GLIBCXX_TYPE_INT_N_1) + , unsigned __GLIBCXX_TYPE_INT_N_1 +#endif +#if defined(__GLIBCXX_TYPE_INT_N_2) + , unsigned __GLIBCXX_TYPE_INT_N_2 +#endif +#if defined(__GLIBCXX_TYPE_INT_N_3) + , unsigned __GLIBCXX_TYPE_INT_N_3 +#endif + >; + + // Check if a type is one of the signed or unsigned integer types. + template + using __is_standard_integer + = __or_<__is_signed_integer<_Tp>, __is_unsigned_integer<_Tp>>; + + // __void_t (std::void_t for C++11) + template using __void_t = void; + + // Utility to detect referenceable types ([defns.referenceable]). + + template + struct __is_referenceable + : public false_type + { }; + + template + struct __is_referenceable<_Tp, __void_t<_Tp&>> + : public true_type + { }; + + // Type properties. + + /// is_const + template + struct is_const + : public false_type { }; + + template + struct is_const<_Tp const> + : public true_type { }; + + /// is_volatile + template + struct is_volatile + : public false_type { }; + + template + struct is_volatile<_Tp volatile> + : public true_type { }; + + /// is_trivial + template + struct is_trivial + : public integral_constant + { + static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), + "template argument must be a complete class or an unbounded array"); + }; + + // is_trivially_copyable + template + struct is_trivially_copyable + : public integral_constant + { + static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), + "template argument must be a complete class or an unbounded array"); + }; + + /// is_standard_layout + template + struct is_standard_layout + : public integral_constant + { + static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), + "template argument must be a complete class or an unbounded array"); + }; + + /// is_pod (deprecated in C++20) + // Could use is_standard_layout && is_trivial instead of the builtin. + template + struct + _GLIBCXX20_DEPRECATED("use is_standard_layout && is_trivial instead") + is_pod + : public integral_constant + { + static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), + "template argument must be a complete class or an unbounded array"); + }; + + /// is_literal_type + template + struct is_literal_type + : public integral_constant + { + static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), + "template argument must be a complete class or an unbounded array"); + }; + + /// is_empty + template + struct is_empty + : public integral_constant + { }; + + /// is_polymorphic + template + struct is_polymorphic + : public integral_constant + { }; + +#if __cplusplus >= 201402L +#define __cpp_lib_is_final 201402L + /// is_final + template + struct is_final + : public integral_constant + { }; +#endif + + /// is_abstract + template + struct is_abstract + : public integral_constant + { }; + + template::value> + struct __is_signed_helper + : public false_type { }; + + template + struct __is_signed_helper<_Tp, true> + : public integral_constant + { }; + + /// is_signed + template + struct is_signed + : public __is_signed_helper<_Tp>::type + { }; + + /// is_unsigned + template + struct is_unsigned + : public __and_, __not_>> + { }; + + + // Destructible and constructible type properties. + + /** + * @brief Utility to simplify expressions used in unevaluated operands + * @ingroup utilities + */ + + template + _Up + __declval(int); + + template + _Tp + __declval(long); + + template + auto declval() noexcept -> decltype(__declval<_Tp>(0)); + + template + struct extent; + + template + struct remove_all_extents; + + template + struct __is_array_known_bounds + : public integral_constant::value > 0)> + { }; + + template + struct __is_array_unknown_bounds + : public __and_, __not_>> + { }; + + // In N3290 is_destructible does not say anything about function + // types and abstract types, see LWG 2049. This implementation + // describes function types as non-destructible and all complete + // object types as destructible, iff the explicit destructor + // call expression is wellformed. + struct __do_is_destructible_impl + { + template().~_Tp())> + static true_type __test(int); + + template + static false_type __test(...); + }; + + template + struct __is_destructible_impl + : public __do_is_destructible_impl + { + typedef decltype(__test<_Tp>(0)) type; + }; + + template, + __is_array_unknown_bounds<_Tp>, + is_function<_Tp>>::value, + bool = __or_, is_scalar<_Tp>>::value> + struct __is_destructible_safe; + + template + struct __is_destructible_safe<_Tp, false, false> + : public __is_destructible_impl::type>::type + { }; + + template + struct __is_destructible_safe<_Tp, true, false> + : public false_type { }; + + template + struct __is_destructible_safe<_Tp, false, true> + : public true_type { }; + + /// is_destructible + template + struct is_destructible + : public __is_destructible_safe<_Tp>::type + { + static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), + "template argument must be a complete class or an unbounded array"); + }; + + // is_nothrow_destructible requires that is_destructible is + // satisfied as well. We realize that by mimicing the + // implementation of is_destructible but refer to noexcept(expr) + // instead of decltype(expr). + struct __do_is_nt_destructible_impl + { + template + static __bool_constant().~_Tp())> + __test(int); + + template + static false_type __test(...); + }; + + template + struct __is_nt_destructible_impl + : public __do_is_nt_destructible_impl + { + typedef decltype(__test<_Tp>(0)) type; + }; + + template, + __is_array_unknown_bounds<_Tp>, + is_function<_Tp>>::value, + bool = __or_, is_scalar<_Tp>>::value> + struct __is_nt_destructible_safe; + + template + struct __is_nt_destructible_safe<_Tp, false, false> + : public __is_nt_destructible_impl::type>::type + { }; + + template + struct __is_nt_destructible_safe<_Tp, true, false> + : public false_type { }; + + template + struct __is_nt_destructible_safe<_Tp, false, true> + : public true_type { }; + + /// is_nothrow_destructible + template + struct is_nothrow_destructible + : public __is_nt_destructible_safe<_Tp>::type + { + static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), + "template argument must be a complete class or an unbounded array"); + }; + + template + struct __is_constructible_impl + : public __bool_constant<__is_constructible(_Tp, _Args...)> + { }; + + /// is_constructible + template + struct is_constructible + : public __is_constructible_impl<_Tp, _Args...> + { + static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), + "template argument must be a complete class or an unbounded array"); + }; + + /// is_default_constructible + template + struct is_default_constructible + : public __is_constructible_impl<_Tp>::type + { + static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), + "template argument must be a complete class or an unbounded array"); + }; + + template::value> + struct __is_copy_constructible_impl; + + template + struct __is_copy_constructible_impl<_Tp, false> + : public false_type { }; + + template + struct __is_copy_constructible_impl<_Tp, true> + : public __is_constructible_impl<_Tp, const _Tp&> + { }; + + /// is_copy_constructible + template + struct is_copy_constructible + : public __is_copy_constructible_impl<_Tp> + { + static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), + "template argument must be a complete class or an unbounded array"); + }; + + template::value> + struct __is_move_constructible_impl; + + template + struct __is_move_constructible_impl<_Tp, false> + : public false_type { }; + + template + struct __is_move_constructible_impl<_Tp, true> + : public __is_constructible_impl<_Tp, _Tp&&> + { }; + + /// is_move_constructible + template + struct is_move_constructible + : public __is_move_constructible_impl<_Tp> + { + static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), + "template argument must be a complete class or an unbounded array"); + }; + + template + struct __is_nt_constructible_impl + : public false_type + { }; + + template + struct __is_nt_constructible_impl + : public __bool_constant()...))> + { }; + + template + struct __is_nt_constructible_impl + : public __bool_constant(std::declval<_Arg>()))> + { }; + + template + struct __is_nt_constructible_impl + : public __bool_constant + { }; + + template + struct __is_nt_constructible_impl + : public __bool_constant::type())> + { }; + +#if __cpp_aggregate_paren_init + template + struct __is_nt_constructible_impl + : public __is_nt_constructible_impl + { }; + + template + struct __is_nt_constructible_impl + : public __and_<__is_nt_constructible_impl...> + { }; +#endif + + template + using __is_nothrow_constructible_impl + = __is_nt_constructible_impl<__is_constructible(_Tp, _Args...), + _Tp, _Args...>; + + /// is_nothrow_constructible + template + struct is_nothrow_constructible + : public __is_nothrow_constructible_impl<_Tp, _Args...>::type + { + static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), + "template argument must be a complete class or an unbounded array"); + }; + + /// is_nothrow_default_constructible + template + struct is_nothrow_default_constructible + : public __is_nothrow_constructible_impl<_Tp>::type + { + static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), + "template argument must be a complete class or an unbounded array"); + }; + + + template::value> + struct __is_nothrow_copy_constructible_impl; + + template + struct __is_nothrow_copy_constructible_impl<_Tp, false> + : public false_type { }; + + template + struct __is_nothrow_copy_constructible_impl<_Tp, true> + : public __is_nothrow_constructible_impl<_Tp, const _Tp&> + { }; + + /// is_nothrow_copy_constructible + template + struct is_nothrow_copy_constructible + : public __is_nothrow_copy_constructible_impl<_Tp>::type + { + static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), + "template argument must be a complete class or an unbounded array"); + }; + + template::value> + struct __is_nothrow_move_constructible_impl; + + template + struct __is_nothrow_move_constructible_impl<_Tp, false> + : public false_type { }; + + template + struct __is_nothrow_move_constructible_impl<_Tp, true> + : public __is_nothrow_constructible_impl<_Tp, _Tp&&> + { }; + + /// is_nothrow_move_constructible + template + struct is_nothrow_move_constructible + : public __is_nothrow_move_constructible_impl<_Tp>::type + { + static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), + "template argument must be a complete class or an unbounded array"); + }; + + /// is_assignable + template + struct is_assignable + : public __bool_constant<__is_assignable(_Tp, _Up)> + { + static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), + "template argument must be a complete class or an unbounded array"); + }; + + template::value> + struct __is_copy_assignable_impl; + + template + struct __is_copy_assignable_impl<_Tp, false> + : public false_type { }; + + template + struct __is_copy_assignable_impl<_Tp, true> + : public __bool_constant<__is_assignable(_Tp&, const _Tp&)> + { }; + + /// is_copy_assignable + template + struct is_copy_assignable + : public __is_copy_assignable_impl<_Tp>::type + { + static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), + "template argument must be a complete class or an unbounded array"); + }; + + template::value> + struct __is_move_assignable_impl; + + template + struct __is_move_assignable_impl<_Tp, false> + : public false_type { }; + + template + struct __is_move_assignable_impl<_Tp, true> + : public __bool_constant<__is_assignable(_Tp&, _Tp&&)> + { }; + + /// is_move_assignable + template + struct is_move_assignable + : public __is_move_assignable_impl<_Tp>::type + { + static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), + "template argument must be a complete class or an unbounded array"); + }; + + template + struct __is_nt_assignable_impl + : public integral_constant() = declval<_Up>())> + { }; + + template + struct __is_nothrow_assignable_impl + : public __and_<__bool_constant<__is_assignable(_Tp, _Up)>, + __is_nt_assignable_impl<_Tp, _Up>> + { }; + + /// is_nothrow_assignable + template + struct is_nothrow_assignable + : public __is_nothrow_assignable_impl<_Tp, _Up> + { + static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), + "template argument must be a complete class or an unbounded array"); + }; + + template::value> + struct __is_nt_copy_assignable_impl; + + template + struct __is_nt_copy_assignable_impl<_Tp, false> + : public false_type { }; + + template + struct __is_nt_copy_assignable_impl<_Tp, true> + : public __is_nothrow_assignable_impl<_Tp&, const _Tp&> + { }; + + /// is_nothrow_copy_assignable + template + struct is_nothrow_copy_assignable + : public __is_nt_copy_assignable_impl<_Tp> + { + static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), + "template argument must be a complete class or an unbounded array"); + }; + + template::value> + struct __is_nt_move_assignable_impl; + + template + struct __is_nt_move_assignable_impl<_Tp, false> + : public false_type { }; + + template + struct __is_nt_move_assignable_impl<_Tp, true> + : public __is_nothrow_assignable_impl<_Tp&, _Tp&&> + { }; + + /// is_nothrow_move_assignable + template + struct is_nothrow_move_assignable + : public __is_nt_move_assignable_impl<_Tp> + { + static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), + "template argument must be a complete class or an unbounded array"); + }; + + /// is_trivially_constructible + template + struct is_trivially_constructible + : public __bool_constant<__is_trivially_constructible(_Tp, _Args...)> + { + static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), + "template argument must be a complete class or an unbounded array"); + }; + + /// is_trivially_default_constructible + template + struct is_trivially_default_constructible + : public __bool_constant<__is_trivially_constructible(_Tp)> + { + static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), + "template argument must be a complete class or an unbounded array"); + }; + + struct __do_is_implicitly_default_constructible_impl + { + template + static void __helper(const _Tp&); + + template + static true_type __test(const _Tp&, + decltype(__helper({}))* = 0); + + static false_type __test(...); + }; + + template + struct __is_implicitly_default_constructible_impl + : public __do_is_implicitly_default_constructible_impl + { + typedef decltype(__test(declval<_Tp>())) type; + }; + + template + struct __is_implicitly_default_constructible_safe + : public __is_implicitly_default_constructible_impl<_Tp>::type + { }; + + template + struct __is_implicitly_default_constructible + : public __and_<__is_constructible_impl<_Tp>, + __is_implicitly_default_constructible_safe<_Tp>> + { }; + + template::value> + struct __is_trivially_copy_constructible_impl; + + template + struct __is_trivially_copy_constructible_impl<_Tp, false> + : public false_type { }; + + template + struct __is_trivially_copy_constructible_impl<_Tp, true> + : public __and_<__is_copy_constructible_impl<_Tp>, + integral_constant> + { }; + + /// is_trivially_copy_constructible + template + struct is_trivially_copy_constructible + : public __is_trivially_copy_constructible_impl<_Tp> + { + static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), + "template argument must be a complete class or an unbounded array"); + }; + + template::value> + struct __is_trivially_move_constructible_impl; + + template + struct __is_trivially_move_constructible_impl<_Tp, false> + : public false_type { }; + + template + struct __is_trivially_move_constructible_impl<_Tp, true> + : public __and_<__is_move_constructible_impl<_Tp>, + integral_constant> + { }; + + /// is_trivially_move_constructible + template + struct is_trivially_move_constructible + : public __is_trivially_move_constructible_impl<_Tp> + { + static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), + "template argument must be a complete class or an unbounded array"); + }; + + /// is_trivially_assignable + template + struct is_trivially_assignable + : public __bool_constant<__is_trivially_assignable(_Tp, _Up)> + { + static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), + "template argument must be a complete class or an unbounded array"); + }; + + template::value> + struct __is_trivially_copy_assignable_impl; + + template + struct __is_trivially_copy_assignable_impl<_Tp, false> + : public false_type { }; + + template + struct __is_trivially_copy_assignable_impl<_Tp, true> + : public __bool_constant<__is_trivially_assignable(_Tp&, const _Tp&)> + { }; + + /// is_trivially_copy_assignable + template + struct is_trivially_copy_assignable + : public __is_trivially_copy_assignable_impl<_Tp> + { + static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), + "template argument must be a complete class or an unbounded array"); + }; + + template::value> + struct __is_trivially_move_assignable_impl; + + template + struct __is_trivially_move_assignable_impl<_Tp, false> + : public false_type { }; + + template + struct __is_trivially_move_assignable_impl<_Tp, true> + : public __bool_constant<__is_trivially_assignable(_Tp&, _Tp&&)> + { }; + + /// is_trivially_move_assignable + template + struct is_trivially_move_assignable + : public __is_trivially_move_assignable_impl<_Tp> + { + static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), + "template argument must be a complete class or an unbounded array"); + }; + + /// is_trivially_destructible + template + struct is_trivially_destructible + : public __and_<__is_destructible_safe<_Tp>, + __bool_constant<__has_trivial_destructor(_Tp)>> + { + static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), + "template argument must be a complete class or an unbounded array"); + }; + + + /// has_virtual_destructor + template + struct has_virtual_destructor + : public integral_constant + { + static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), + "template argument must be a complete class or an unbounded array"); + }; + + + // type property queries. + + /// alignment_of + template + struct alignment_of + : public integral_constant + { + static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), + "template argument must be a complete class or an unbounded array"); + }; + + /// rank + template + struct rank + : public integral_constant { }; + + template + struct rank<_Tp[_Size]> + : public integral_constant::value> { }; + + template + struct rank<_Tp[]> + : public integral_constant::value> { }; + + /// extent + template + struct extent + : public integral_constant { }; + + template + struct extent<_Tp[_Size], _Uint> + : public integral_constant::value> + { }; + + template + struct extent<_Tp[], _Uint> + : public integral_constant::value> + { }; + + + // Type relations. + + /// is_same + template + struct is_same +#ifdef _GLIBCXX_BUILTIN_IS_SAME_AS + : public integral_constant +#else + : public false_type +#endif + { }; + +#ifndef _GLIBCXX_BUILTIN_IS_SAME_AS + template + struct is_same<_Tp, _Tp> + : public true_type + { }; +#endif + + /// is_base_of + template + struct is_base_of + : public integral_constant + { }; + + template, is_function<_To>, + is_array<_To>>::value> + struct __is_convertible_helper + { + typedef typename is_void<_To>::type type; + }; + +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wctor-dtor-privacy" + template + class __is_convertible_helper<_From, _To, false> + { + template + static void __test_aux(_To1) noexcept; + + template(std::declval<_From1>()))> + static true_type + __test(int); + + template + static false_type + __test(...); + + public: + typedef decltype(__test<_From, _To>(0)) type; + }; +#pragma GCC diagnostic pop + + /// is_convertible + template + struct is_convertible + : public __is_convertible_helper<_From, _To>::type + { }; + + // helper trait for unique_ptr, shared_ptr, and span + template + using __is_array_convertible + = is_convertible<_FromElementType(*)[], _ToElementType(*)[]>; + + template, is_function<_To>, + is_array<_To>>::value> + struct __is_nt_convertible_helper + : is_void<_To> + { }; + +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wctor-dtor-privacy" + template + class __is_nt_convertible_helper<_From, _To, false> + { + template + static void __test_aux(_To1) noexcept; + + template + static + __bool_constant(std::declval<_From1>()))> + __test(int); + + template + static false_type + __test(...); + + public: + using type = decltype(__test<_From, _To>(0)); + }; +#pragma GCC diagnostic pop + + // is_nothrow_convertible for C++11 + template + struct __is_nothrow_convertible + : public __is_nt_convertible_helper<_From, _To>::type + { }; + +#if __cplusplus > 201703L +#define __cpp_lib_is_nothrow_convertible 201806L + /// is_nothrow_convertible + template + struct is_nothrow_convertible + : public __is_nt_convertible_helper<_From, _To>::type + { }; + + /// is_nothrow_convertible_v + template + inline constexpr bool is_nothrow_convertible_v + = is_nothrow_convertible<_From, _To>::value; +#endif // C++2a + + // Const-volatile modifications. + + /// remove_const + template + struct remove_const + { typedef _Tp type; }; + + template + struct remove_const<_Tp const> + { typedef _Tp type; }; + + /// remove_volatile + template + struct remove_volatile + { typedef _Tp type; }; + + template + struct remove_volatile<_Tp volatile> + { typedef _Tp type; }; + + /// remove_cv + template + struct remove_cv + { using type = _Tp; }; + + template + struct remove_cv + { using type = _Tp; }; + + template + struct remove_cv + { using type = _Tp; }; + + template + struct remove_cv + { using type = _Tp; }; + + /// add_const + template + struct add_const + { typedef _Tp const type; }; + + /// add_volatile + template + struct add_volatile + { typedef _Tp volatile type; }; + + /// add_cv + template + struct add_cv + { + typedef typename + add_const::type>::type type; + }; + +#if __cplusplus > 201103L + +#define __cpp_lib_transformation_trait_aliases 201304 + + /// Alias template for remove_const + template + using remove_const_t = typename remove_const<_Tp>::type; + + /// Alias template for remove_volatile + template + using remove_volatile_t = typename remove_volatile<_Tp>::type; + + /// Alias template for remove_cv + template + using remove_cv_t = typename remove_cv<_Tp>::type; + + /// Alias template for add_const + template + using add_const_t = typename add_const<_Tp>::type; + + /// Alias template for add_volatile + template + using add_volatile_t = typename add_volatile<_Tp>::type; + + /// Alias template for add_cv + template + using add_cv_t = typename add_cv<_Tp>::type; +#endif + + // Reference transformations. + + /// remove_reference + template + struct remove_reference + { typedef _Tp type; }; + + template + struct remove_reference<_Tp&> + { typedef _Tp type; }; + + template + struct remove_reference<_Tp&&> + { typedef _Tp type; }; + + template::value> + struct __add_lvalue_reference_helper + { typedef _Tp type; }; + + template + struct __add_lvalue_reference_helper<_Tp, true> + { typedef _Tp& type; }; + + /// add_lvalue_reference + template + struct add_lvalue_reference + : public __add_lvalue_reference_helper<_Tp> + { }; + + template::value> + struct __add_rvalue_reference_helper + { typedef _Tp type; }; + + template + struct __add_rvalue_reference_helper<_Tp, true> + { typedef _Tp&& type; }; + + /// add_rvalue_reference + template + struct add_rvalue_reference + : public __add_rvalue_reference_helper<_Tp> + { }; + +#if __cplusplus > 201103L + /// Alias template for remove_reference + template + using remove_reference_t = typename remove_reference<_Tp>::type; + + /// Alias template for add_lvalue_reference + template + using add_lvalue_reference_t = typename add_lvalue_reference<_Tp>::type; + + /// Alias template for add_rvalue_reference + template + using add_rvalue_reference_t = typename add_rvalue_reference<_Tp>::type; +#endif + + // Sign modifications. + + // Utility for constructing identically cv-qualified types. + template + struct __cv_selector; + + template + struct __cv_selector<_Unqualified, false, false> + { typedef _Unqualified __type; }; + + template + struct __cv_selector<_Unqualified, false, true> + { typedef volatile _Unqualified __type; }; + + template + struct __cv_selector<_Unqualified, true, false> + { typedef const _Unqualified __type; }; + + template + struct __cv_selector<_Unqualified, true, true> + { typedef const volatile _Unqualified __type; }; + + template::value, + bool _IsVol = is_volatile<_Qualified>::value> + class __match_cv_qualifiers + { + typedef __cv_selector<_Unqualified, _IsConst, _IsVol> __match; + + public: + typedef typename __match::__type __type; + }; + + // Utility for finding the unsigned versions of signed integral types. + template + struct __make_unsigned + { typedef _Tp __type; }; + + template<> + struct __make_unsigned + { typedef unsigned char __type; }; + + template<> + struct __make_unsigned + { typedef unsigned char __type; }; + + template<> + struct __make_unsigned + { typedef unsigned short __type; }; + + template<> + struct __make_unsigned + { typedef unsigned int __type; }; + + template<> + struct __make_unsigned + { typedef unsigned long __type; }; + + template<> + struct __make_unsigned + { typedef unsigned long long __type; }; + +#if defined(__GLIBCXX_TYPE_INT_N_0) + template<> + struct __make_unsigned<__GLIBCXX_TYPE_INT_N_0> + { typedef unsigned __GLIBCXX_TYPE_INT_N_0 __type; }; +#endif +#if defined(__GLIBCXX_TYPE_INT_N_1) + template<> + struct __make_unsigned<__GLIBCXX_TYPE_INT_N_1> + { typedef unsigned __GLIBCXX_TYPE_INT_N_1 __type; }; +#endif +#if defined(__GLIBCXX_TYPE_INT_N_2) + template<> + struct __make_unsigned<__GLIBCXX_TYPE_INT_N_2> + { typedef unsigned __GLIBCXX_TYPE_INT_N_2 __type; }; +#endif +#if defined(__GLIBCXX_TYPE_INT_N_3) + template<> + struct __make_unsigned<__GLIBCXX_TYPE_INT_N_3> + { typedef unsigned __GLIBCXX_TYPE_INT_N_3 __type; }; +#endif + + // Select between integral and enum: not possible to be both. + template::value, + bool _IsEnum = is_enum<_Tp>::value> + class __make_unsigned_selector; + + template + class __make_unsigned_selector<_Tp, true, false> + { + using __unsigned_type + = typename __make_unsigned<__remove_cv_t<_Tp>>::__type; + + public: + using __type + = typename __match_cv_qualifiers<_Tp, __unsigned_type>::__type; + }; + + class __make_unsigned_selector_base + { + protected: + template struct _List { }; + + template + struct _List<_Tp, _Up...> : _List<_Up...> + { static constexpr size_t __size = sizeof(_Tp); }; + + template + struct __select; + + template + struct __select<_Sz, _List<_Uint, _UInts...>, true> + { using __type = _Uint; }; + + template + struct __select<_Sz, _List<_Uint, _UInts...>, false> + : __select<_Sz, _List<_UInts...>> + { }; + }; + + // Choose unsigned integer type with the smallest rank and same size as _Tp + template + class __make_unsigned_selector<_Tp, false, true> + : __make_unsigned_selector_base + { + // With -fshort-enums, an enum may be as small as a char. + using _UInts = _List; + + using __unsigned_type = typename __select::__type; + + public: + using __type + = typename __match_cv_qualifiers<_Tp, __unsigned_type>::__type; + }; + + // wchar_t, char8_t, char16_t and char32_t are integral types but are + // neither signed integer types nor unsigned integer types, so must be + // transformed to the unsigned integer type with the smallest rank. + // Use the partial specialization for enumeration types to do that. +#if defined(_GLIBCXX_USE_WCHAR_T) + template<> + struct __make_unsigned + { + using __type + = typename __make_unsigned_selector::__type; + }; +#endif + +#ifdef _GLIBCXX_USE_CHAR8_T + template<> + struct __make_unsigned + { + using __type + = typename __make_unsigned_selector::__type; + }; +#endif + + template<> + struct __make_unsigned + { + using __type + = typename __make_unsigned_selector::__type; + }; + + template<> + struct __make_unsigned + { + using __type + = typename __make_unsigned_selector::__type; + }; + + // Given an integral/enum type, return the corresponding unsigned + // integer type. + // Primary template. + /// make_unsigned + template + struct make_unsigned + { typedef typename __make_unsigned_selector<_Tp>::__type type; }; + + // Integral, but don't define. + template<> + struct make_unsigned; + + + // Utility for finding the signed versions of unsigned integral types. + template + struct __make_signed + { typedef _Tp __type; }; + + template<> + struct __make_signed + { typedef signed char __type; }; + + template<> + struct __make_signed + { typedef signed char __type; }; + + template<> + struct __make_signed + { typedef signed short __type; }; + + template<> + struct __make_signed + { typedef signed int __type; }; + + template<> + struct __make_signed + { typedef signed long __type; }; + + template<> + struct __make_signed + { typedef signed long long __type; }; + +#if defined(__GLIBCXX_TYPE_INT_N_0) + template<> + struct __make_signed + { typedef __GLIBCXX_TYPE_INT_N_0 __type; }; +#endif +#if defined(__GLIBCXX_TYPE_INT_N_1) + template<> + struct __make_signed + { typedef __GLIBCXX_TYPE_INT_N_1 __type; }; +#endif +#if defined(__GLIBCXX_TYPE_INT_N_2) + template<> + struct __make_signed + { typedef __GLIBCXX_TYPE_INT_N_2 __type; }; +#endif +#if defined(__GLIBCXX_TYPE_INT_N_3) + template<> + struct __make_signed + { typedef __GLIBCXX_TYPE_INT_N_3 __type; }; +#endif + + // Select between integral and enum: not possible to be both. + template::value, + bool _IsEnum = is_enum<_Tp>::value> + class __make_signed_selector; + + template + class __make_signed_selector<_Tp, true, false> + { + using __signed_type + = typename __make_signed<__remove_cv_t<_Tp>>::__type; + + public: + using __type + = typename __match_cv_qualifiers<_Tp, __signed_type>::__type; + }; + + // Choose signed integer type with the smallest rank and same size as _Tp + template + class __make_signed_selector<_Tp, false, true> + { + typedef typename __make_unsigned_selector<_Tp>::__type __unsigned_type; + + public: + typedef typename __make_signed_selector<__unsigned_type>::__type __type; + }; + + // wchar_t, char16_t and char32_t are integral types but are neither + // signed integer types nor unsigned integer types, so must be + // transformed to the signed integer type with the smallest rank. + // Use the partial specialization for enumeration types to do that. +#if defined(_GLIBCXX_USE_WCHAR_T) + template<> + struct __make_signed + { + using __type + = typename __make_signed_selector::__type; + }; +#endif + +#if defined(_GLIBCXX_USE_CHAR8_T) + template<> + struct __make_signed + { + using __type + = typename __make_signed_selector::__type; + }; +#endif + + template<> + struct __make_signed + { + using __type + = typename __make_signed_selector::__type; + }; + + template<> + struct __make_signed + { + using __type + = typename __make_signed_selector::__type; + }; + + // Given an integral/enum type, return the corresponding signed + // integer type. + // Primary template. + /// make_signed + template + struct make_signed + { typedef typename __make_signed_selector<_Tp>::__type type; }; + + // Integral, but don't define. + template<> + struct make_signed; + +#if __cplusplus > 201103L + /// Alias template for make_signed + template + using make_signed_t = typename make_signed<_Tp>::type; + + /// Alias template for make_unsigned + template + using make_unsigned_t = typename make_unsigned<_Tp>::type; +#endif + + // Array modifications. + + /// remove_extent + template + struct remove_extent + { typedef _Tp type; }; + + template + struct remove_extent<_Tp[_Size]> + { typedef _Tp type; }; + + template + struct remove_extent<_Tp[]> + { typedef _Tp type; }; + + /// remove_all_extents + template + struct remove_all_extents + { typedef _Tp type; }; + + template + struct remove_all_extents<_Tp[_Size]> + { typedef typename remove_all_extents<_Tp>::type type; }; + + template + struct remove_all_extents<_Tp[]> + { typedef typename remove_all_extents<_Tp>::type type; }; + +#if __cplusplus > 201103L + /// Alias template for remove_extent + template + using remove_extent_t = typename remove_extent<_Tp>::type; + + /// Alias template for remove_all_extents + template + using remove_all_extents_t = typename remove_all_extents<_Tp>::type; +#endif + + // Pointer modifications. + + template + struct __remove_pointer_helper + { typedef _Tp type; }; + + template + struct __remove_pointer_helper<_Tp, _Up*> + { typedef _Up type; }; + + /// remove_pointer + template + struct remove_pointer + : public __remove_pointer_helper<_Tp, __remove_cv_t<_Tp>> + { }; + + /// add_pointer + template, + is_void<_Tp>>::value> + struct __add_pointer_helper + { typedef _Tp type; }; + + template + struct __add_pointer_helper<_Tp, true> + { typedef typename remove_reference<_Tp>::type* type; }; + + template + struct add_pointer + : public __add_pointer_helper<_Tp> + { }; + +#if __cplusplus > 201103L + /// Alias template for remove_pointer + template + using remove_pointer_t = typename remove_pointer<_Tp>::type; + + /// Alias template for add_pointer + template + using add_pointer_t = typename add_pointer<_Tp>::type; +#endif + + template + struct __aligned_storage_msa + { + union __type + { + unsigned char __data[_Len]; + struct __attribute__((__aligned__)) { } __align; + }; + }; + + /** + * @brief Alignment type. + * + * The value of _Align is a default-alignment which shall be the + * most stringent alignment requirement for any C++ object type + * whose size is no greater than _Len (3.9). The member typedef + * type shall be a POD type suitable for use as uninitialized + * storage for any object whose size is at most _Len and whose + * alignment is a divisor of _Align. + */ + template::__type)> + struct aligned_storage + { + union type + { + unsigned char __data[_Len]; + struct __attribute__((__aligned__((_Align)))) { } __align; + }; + }; + + template + struct __strictest_alignment + { + static const size_t _S_alignment = 0; + static const size_t _S_size = 0; + }; + + template + struct __strictest_alignment<_Tp, _Types...> + { + static const size_t _S_alignment = + alignof(_Tp) > __strictest_alignment<_Types...>::_S_alignment + ? alignof(_Tp) : __strictest_alignment<_Types...>::_S_alignment; + static const size_t _S_size = + sizeof(_Tp) > __strictest_alignment<_Types...>::_S_size + ? sizeof(_Tp) : __strictest_alignment<_Types...>::_S_size; + }; + + /** + * @brief Provide aligned storage for types. + * + * [meta.trans.other] + * + * Provides aligned storage for any of the provided types of at + * least size _Len. + * + * @see aligned_storage + */ + template + struct aligned_union + { + private: + static_assert(sizeof...(_Types) != 0, "At least one type is required"); + + using __strictest = __strictest_alignment<_Types...>; + static const size_t _S_len = _Len > __strictest::_S_size + ? _Len : __strictest::_S_size; + public: + /// The value of the strictest alignment of _Types. + static const size_t alignment_value = __strictest::_S_alignment; + /// The storage. + typedef typename aligned_storage<_S_len, alignment_value>::type type; + }; + + template + const size_t aligned_union<_Len, _Types...>::alignment_value; + + // Decay trait for arrays and functions, used for perfect forwarding + // in make_pair, make_tuple, etc. + template::value, + bool _IsFunction = is_function<_Up>::value> + struct __decay_selector; + + // NB: DR 705. + template + struct __decay_selector<_Up, false, false> + { typedef __remove_cv_t<_Up> __type; }; + + template + struct __decay_selector<_Up, true, false> + { typedef typename remove_extent<_Up>::type* __type; }; + + template + struct __decay_selector<_Up, false, true> + { typedef typename add_pointer<_Up>::type __type; }; + + /// decay + template + class decay + { + typedef typename remove_reference<_Tp>::type __remove_type; + + public: + typedef typename __decay_selector<__remove_type>::__type type; + }; + + // __decay_t (std::decay_t for C++11). + template + using __decay_t = typename decay<_Tp>::type; + + template + class reference_wrapper; + + // Helper which adds a reference to a type when given a reference_wrapper + template + struct __strip_reference_wrapper + { + typedef _Tp __type; + }; + + template + struct __strip_reference_wrapper > + { + typedef _Tp& __type; + }; + + template + using __decay_and_strip = __strip_reference_wrapper<__decay_t<_Tp>>; + + + // Primary template. + /// Define a member typedef @c type only if a boolean constant is true. + template + struct enable_if + { }; + + // Partial specialization for true. + template + struct enable_if + { typedef _Tp type; }; + + // __enable_if_t (std::enable_if_t for C++11) + template + using __enable_if_t = typename enable_if<_Cond, _Tp>::type; + + template + using _Require = __enable_if_t<__and_<_Cond...>::value>; + + // Primary template. + /// Define a member typedef @c type to one of two argument types. + template + struct conditional + { typedef _Iftrue type; }; + + // Partial specialization for false. + template + struct conditional + { typedef _Iffalse type; }; + + // __remove_cvref_t (std::remove_cvref_t for C++11). + template + using __remove_cvref_t + = typename remove_cv::type>::type; + + /// common_type + template + struct common_type; + + // Sfinae-friendly common_type implementation: + + struct __do_common_type_impl + { + template + using __cond_t + = decltype(true ? std::declval<_Tp>() : std::declval<_Up>()); + + // if decay_t() : declval())> + // denotes a valid type, let C denote that type. + template + static __success_type<__decay_t<__cond_t<_Tp, _Up>>> + _S_test(int); + +#if __cplusplus > 201703L + // Otherwise, if COND-RES(CREF(D1), CREF(D2)) denotes a type, + // let C denote the type decay_t. + template + static __success_type<__remove_cvref_t<__cond_t>> + _S_test_2(int); +#endif + + template + static __failure_type + _S_test_2(...); + + template + static decltype(_S_test_2<_Tp, _Up>(0)) + _S_test(...); + }; + + // If sizeof...(T) is zero, there shall be no member type. + template<> + struct common_type<> + { }; + + // If sizeof...(T) is one, the same type, if any, as common_type_t. + template + struct common_type<_Tp0> + : public common_type<_Tp0, _Tp0> + { }; + + // If sizeof...(T) is two, ... + template, typename _Dp2 = __decay_t<_Tp2>> + struct __common_type_impl + { + // If is_same_v is false or is_same_v is false, + // let C denote the same type, if any, as common_type_t. + using type = common_type<_Dp1, _Dp2>; + }; + + template + struct __common_type_impl<_Tp1, _Tp2, _Tp1, _Tp2> + : private __do_common_type_impl + { + // Otherwise, if decay_t() : declval())> + // denotes a valid type, let C denote that type. + using type = decltype(_S_test<_Tp1, _Tp2>(0)); + }; + + // If sizeof...(T) is two, ... + template + struct common_type<_Tp1, _Tp2> + : public __common_type_impl<_Tp1, _Tp2>::type + { }; + + template + struct __common_type_pack + { }; + + template + struct __common_type_fold; + + // If sizeof...(T) is greater than two, ... + template + struct common_type<_Tp1, _Tp2, _Rp...> + : public __common_type_fold, + __common_type_pack<_Rp...>> + { }; + + // Let C denote the same type, if any, as common_type_t. + // If there is such a type C, type shall denote the same type, if any, + // as common_type_t. + template + struct __common_type_fold<_CTp, __common_type_pack<_Rp...>, + __void_t> + : public common_type + { }; + + // Otherwise, there shall be no member type. + template + struct __common_type_fold<_CTp, _Rp, void> + { }; + + template::value> + struct __underlying_type_impl + { + using type = __underlying_type(_Tp); + }; + + template + struct __underlying_type_impl<_Tp, false> + { }; + + /// The underlying type of an enum. + template + struct underlying_type + : public __underlying_type_impl<_Tp> + { }; + + template + struct __declval_protector + { + static const bool __stop = false; + }; + + template + auto declval() noexcept -> decltype(__declval<_Tp>(0)) + { + static_assert(__declval_protector<_Tp>::__stop, + "declval() must not be used!"); + return __declval<_Tp>(0); + } + + /// result_of + template + class result_of; + + // Sfinae-friendly result_of implementation: + +#define __cpp_lib_result_of_sfinae 201210 + + struct __invoke_memfun_ref { }; + struct __invoke_memfun_deref { }; + struct __invoke_memobj_ref { }; + struct __invoke_memobj_deref { }; + struct __invoke_other { }; + + // Associate a tag type with a specialization of __success_type. + template + struct __result_of_success : __success_type<_Tp> + { using __invoke_type = _Tag; }; + + // [func.require] paragraph 1 bullet 1: + struct __result_of_memfun_ref_impl + { + template + static __result_of_success().*std::declval<_Fp>())(std::declval<_Args>()...) + ), __invoke_memfun_ref> _S_test(int); + + template + static __failure_type _S_test(...); + }; + + template + struct __result_of_memfun_ref + : private __result_of_memfun_ref_impl + { + typedef decltype(_S_test<_MemPtr, _Arg, _Args...>(0)) type; + }; + + // [func.require] paragraph 1 bullet 2: + struct __result_of_memfun_deref_impl + { + template + static __result_of_success()).*std::declval<_Fp>())(std::declval<_Args>()...) + ), __invoke_memfun_deref> _S_test(int); + + template + static __failure_type _S_test(...); + }; + + template + struct __result_of_memfun_deref + : private __result_of_memfun_deref_impl + { + typedef decltype(_S_test<_MemPtr, _Arg, _Args...>(0)) type; + }; + + // [func.require] paragraph 1 bullet 3: + struct __result_of_memobj_ref_impl + { + template + static __result_of_success().*std::declval<_Fp>() + ), __invoke_memobj_ref> _S_test(int); + + template + static __failure_type _S_test(...); + }; + + template + struct __result_of_memobj_ref + : private __result_of_memobj_ref_impl + { + typedef decltype(_S_test<_MemPtr, _Arg>(0)) type; + }; + + // [func.require] paragraph 1 bullet 4: + struct __result_of_memobj_deref_impl + { + template + static __result_of_success()).*std::declval<_Fp>() + ), __invoke_memobj_deref> _S_test(int); + + template + static __failure_type _S_test(...); + }; + + template + struct __result_of_memobj_deref + : private __result_of_memobj_deref_impl + { + typedef decltype(_S_test<_MemPtr, _Arg>(0)) type; + }; + + template + struct __result_of_memobj; + + template + struct __result_of_memobj<_Res _Class::*, _Arg> + { + typedef __remove_cvref_t<_Arg> _Argval; + typedef _Res _Class::* _MemPtr; + typedef typename conditional<__or_, + is_base_of<_Class, _Argval>>::value, + __result_of_memobj_ref<_MemPtr, _Arg>, + __result_of_memobj_deref<_MemPtr, _Arg> + >::type::type type; + }; + + template + struct __result_of_memfun; + + template + struct __result_of_memfun<_Res _Class::*, _Arg, _Args...> + { + typedef typename remove_reference<_Arg>::type _Argval; + typedef _Res _Class::* _MemPtr; + typedef typename conditional::value, + __result_of_memfun_ref<_MemPtr, _Arg, _Args...>, + __result_of_memfun_deref<_MemPtr, _Arg, _Args...> + >::type::type type; + }; + + // _GLIBCXX_RESOLVE_LIB_DEFECTS + // 2219. INVOKE-ing a pointer to member with a reference_wrapper + // as the object expression + + // Used by result_of, invoke etc. to unwrap a reference_wrapper. + template> + struct __inv_unwrap + { + using type = _Tp; + }; + + template + struct __inv_unwrap<_Tp, reference_wrapper<_Up>> + { + using type = _Up&; + }; + + template + struct __result_of_impl + { + typedef __failure_type type; + }; + + template + struct __result_of_impl + : public __result_of_memobj<__decay_t<_MemPtr>, + typename __inv_unwrap<_Arg>::type> + { }; + + template + struct __result_of_impl + : public __result_of_memfun<__decay_t<_MemPtr>, + typename __inv_unwrap<_Arg>::type, _Args...> + { }; + + // [func.require] paragraph 1 bullet 5: + struct __result_of_other_impl + { + template + static __result_of_success()(std::declval<_Args>()...) + ), __invoke_other> _S_test(int); + + template + static __failure_type _S_test(...); + }; + + template + struct __result_of_impl + : private __result_of_other_impl + { + typedef decltype(_S_test<_Functor, _ArgTypes...>(0)) type; + }; + + // __invoke_result (std::invoke_result for C++11) + template + struct __invoke_result + : public __result_of_impl< + is_member_object_pointer< + typename remove_reference<_Functor>::type + >::value, + is_member_function_pointer< + typename remove_reference<_Functor>::type + >::value, + _Functor, _ArgTypes... + >::type + { }; + + template + struct result_of<_Functor(_ArgTypes...)> + : public __invoke_result<_Functor, _ArgTypes...> + { }; + +#if __cplusplus >= 201402L + /// Alias template for aligned_storage + template::__type)> + using aligned_storage_t = typename aligned_storage<_Len, _Align>::type; + + template + using aligned_union_t = typename aligned_union<_Len, _Types...>::type; + + /// Alias template for decay + template + using decay_t = typename decay<_Tp>::type; + + /// Alias template for enable_if + template + using enable_if_t = typename enable_if<_Cond, _Tp>::type; + + /// Alias template for conditional + template + using conditional_t = typename conditional<_Cond, _Iftrue, _Iffalse>::type; + + /// Alias template for common_type + template + using common_type_t = typename common_type<_Tp...>::type; + + /// Alias template for underlying_type + template + using underlying_type_t = typename underlying_type<_Tp>::type; + + /// Alias template for result_of + template + using result_of_t = typename result_of<_Tp>::type; +#endif // C++14 + +#if __cplusplus >= 201703L || !defined(__STRICT_ANSI__) // c++17 or gnu++11 +#define __cpp_lib_void_t 201411 + /// A metafunction that always yields void, used for detecting valid types. + template using void_t = void; +#endif + + /// Implementation of the detection idiom (negative case). + template class _Op, typename... _Args> + struct __detector + { + using value_t = false_type; + using type = _Default; + }; + + /// Implementation of the detection idiom (positive case). + template class _Op, + typename... _Args> + struct __detector<_Default, __void_t<_Op<_Args...>>, _Op, _Args...> + { + using value_t = true_type; + using type = _Op<_Args...>; + }; + + // Detect whether _Op<_Args...> is a valid type, use _Default if not. + template class _Op, + typename... _Args> + using __detected_or = __detector<_Default, void, _Op, _Args...>; + + // _Op<_Args...> if that is a valid type, otherwise _Default. + template class _Op, + typename... _Args> + using __detected_or_t + = typename __detected_or<_Default, _Op, _Args...>::type; + + /// @} group metaprogramming + + /** + * Use SFINAE to determine if the type _Tp has a publicly-accessible + * member type _NTYPE. + */ +#define _GLIBCXX_HAS_NESTED_TYPE(_NTYPE) \ + template> \ + struct __has_##_NTYPE \ + : false_type \ + { }; \ + template \ + struct __has_##_NTYPE<_Tp, __void_t> \ + : true_type \ + { }; + + template + struct __is_swappable; + + template + struct __is_nothrow_swappable; + + template + class tuple; + + template + struct __is_tuple_like_impl : false_type + { }; + + template + struct __is_tuple_like_impl> : true_type + { }; + + // Internal type trait that allows us to sfinae-protect tuple_cat. + template + struct __is_tuple_like + : public __is_tuple_like_impl<__remove_cvref_t<_Tp>>::type + { }; + + template + _GLIBCXX20_CONSTEXPR + inline + _Require<__not_<__is_tuple_like<_Tp>>, + is_move_constructible<_Tp>, + is_move_assignable<_Tp>> + swap(_Tp&, _Tp&) + noexcept(__and_, + is_nothrow_move_assignable<_Tp>>::value); + + template + _GLIBCXX20_CONSTEXPR + inline + __enable_if_t<__is_swappable<_Tp>::value> + swap(_Tp (&__a)[_Nm], _Tp (&__b)[_Nm]) + noexcept(__is_nothrow_swappable<_Tp>::value); + + namespace __swappable_details { + using std::swap; + + struct __do_is_swappable_impl + { + template(), std::declval<_Tp&>()))> + static true_type __test(int); + + template + static false_type __test(...); + }; + + struct __do_is_nothrow_swappable_impl + { + template + static __bool_constant< + noexcept(swap(std::declval<_Tp&>(), std::declval<_Tp&>())) + > __test(int); + + template + static false_type __test(...); + }; + + } // namespace __swappable_details + + template + struct __is_swappable_impl + : public __swappable_details::__do_is_swappable_impl + { + typedef decltype(__test<_Tp>(0)) type; + }; + + template + struct __is_nothrow_swappable_impl + : public __swappable_details::__do_is_nothrow_swappable_impl + { + typedef decltype(__test<_Tp>(0)) type; + }; + + template + struct __is_swappable + : public __is_swappable_impl<_Tp>::type + { }; + + template + struct __is_nothrow_swappable + : public __is_nothrow_swappable_impl<_Tp>::type + { }; + +#if __cplusplus > 201402L || !defined(__STRICT_ANSI__) // c++1z or gnu++11 +#define __cpp_lib_is_swappable 201603 + /// Metafunctions used for detecting swappable types: p0185r1 + + /// is_swappable + template + struct is_swappable + : public __is_swappable_impl<_Tp>::type + { + static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), + "template argument must be a complete class or an unbounded array"); + }; + + /// is_nothrow_swappable + template + struct is_nothrow_swappable + : public __is_nothrow_swappable_impl<_Tp>::type + { + static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), + "template argument must be a complete class or an unbounded array"); + }; + +#if __cplusplus >= 201402L + /// is_swappable_v + template + _GLIBCXX17_INLINE constexpr bool is_swappable_v = + is_swappable<_Tp>::value; + + /// is_nothrow_swappable_v + template + _GLIBCXX17_INLINE constexpr bool is_nothrow_swappable_v = + is_nothrow_swappable<_Tp>::value; +#endif // __cplusplus >= 201402L + + namespace __swappable_with_details { + using std::swap; + + struct __do_is_swappable_with_impl + { + template(), std::declval<_Up>())), + typename + = decltype(swap(std::declval<_Up>(), std::declval<_Tp>()))> + static true_type __test(int); + + template + static false_type __test(...); + }; + + struct __do_is_nothrow_swappable_with_impl + { + template + static __bool_constant< + noexcept(swap(std::declval<_Tp>(), std::declval<_Up>())) + && + noexcept(swap(std::declval<_Up>(), std::declval<_Tp>())) + > __test(int); + + template + static false_type __test(...); + }; + + } // namespace __swappable_with_details + + template + struct __is_swappable_with_impl + : public __swappable_with_details::__do_is_swappable_with_impl + { + typedef decltype(__test<_Tp, _Up>(0)) type; + }; + + // Optimization for the homogenous lvalue case, not required: + template + struct __is_swappable_with_impl<_Tp&, _Tp&> + : public __swappable_details::__do_is_swappable_impl + { + typedef decltype(__test<_Tp&>(0)) type; + }; + + template + struct __is_nothrow_swappable_with_impl + : public __swappable_with_details::__do_is_nothrow_swappable_with_impl + { + typedef decltype(__test<_Tp, _Up>(0)) type; + }; + + // Optimization for the homogenous lvalue case, not required: + template + struct __is_nothrow_swappable_with_impl<_Tp&, _Tp&> + : public __swappable_details::__do_is_nothrow_swappable_impl + { + typedef decltype(__test<_Tp&>(0)) type; + }; + + /// is_swappable_with + template + struct is_swappable_with + : public __is_swappable_with_impl<_Tp, _Up>::type + { }; + + /// is_nothrow_swappable_with + template + struct is_nothrow_swappable_with + : public __is_nothrow_swappable_with_impl<_Tp, _Up>::type + { }; + +#if __cplusplus >= 201402L + /// is_swappable_with_v + template + _GLIBCXX17_INLINE constexpr bool is_swappable_with_v = + is_swappable_with<_Tp, _Up>::value; + + /// is_nothrow_swappable_with_v + template + _GLIBCXX17_INLINE constexpr bool is_nothrow_swappable_with_v = + is_nothrow_swappable_with<_Tp, _Up>::value; +#endif // __cplusplus >= 201402L + +#endif// c++1z or gnu++11 + + // __is_invocable (std::is_invocable for C++11) + + // The primary template is used for invalid INVOKE expressions. + template::value, typename = void> + struct __is_invocable_impl : false_type { }; + + // Used for valid INVOKE and INVOKE expressions. + template + struct __is_invocable_impl<_Result, _Ret, + /* is_void<_Ret> = */ true, + __void_t> + : true_type + { }; + +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wctor-dtor-privacy" + // Used for INVOKE expressions to check the implicit conversion to R. + template + struct __is_invocable_impl<_Result, _Ret, + /* is_void<_Ret> = */ false, + __void_t> + { + private: + // The type of the INVOKE expression. + // Unlike declval, this doesn't add_rvalue_reference. + static typename _Result::type _S_get(); + + template + static void _S_conv(_Tp); + + // This overload is viable if INVOKE(f, args...) can convert to _Tp. + template(_S_get()))> + static true_type + _S_test(int); + + template + static false_type + _S_test(...); + + public: + using type = decltype(_S_test<_Ret>(1)); + }; +#pragma GCC diagnostic pop + + template + struct __is_invocable + : __is_invocable_impl<__invoke_result<_Fn, _ArgTypes...>, void>::type + { }; + + template + constexpr bool __call_is_nt(__invoke_memfun_ref) + { + using _Up = typename __inv_unwrap<_Tp>::type; + return noexcept((std::declval<_Up>().*std::declval<_Fn>())( + std::declval<_Args>()...)); + } + + template + constexpr bool __call_is_nt(__invoke_memfun_deref) + { + return noexcept(((*std::declval<_Tp>()).*std::declval<_Fn>())( + std::declval<_Args>()...)); + } + + template + constexpr bool __call_is_nt(__invoke_memobj_ref) + { + using _Up = typename __inv_unwrap<_Tp>::type; + return noexcept(std::declval<_Up>().*std::declval<_Fn>()); + } + + template + constexpr bool __call_is_nt(__invoke_memobj_deref) + { + return noexcept((*std::declval<_Tp>()).*std::declval<_Fn>()); + } + + template + constexpr bool __call_is_nt(__invoke_other) + { + return noexcept(std::declval<_Fn>()(std::declval<_Args>()...)); + } + + template + struct __call_is_nothrow + : __bool_constant< + std::__call_is_nt<_Fn, _Args...>(typename _Result::__invoke_type{}) + > + { }; + + template + using __call_is_nothrow_ + = __call_is_nothrow<__invoke_result<_Fn, _Args...>, _Fn, _Args...>; + + // __is_nothrow_invocable (std::is_nothrow_invocable for C++11) + template + struct __is_nothrow_invocable + : __and_<__is_invocable<_Fn, _Args...>, + __call_is_nothrow_<_Fn, _Args...>>::type + { }; + +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wctor-dtor-privacy" + struct __nonesuchbase {}; + struct __nonesuch : private __nonesuchbase { + ~__nonesuch() = delete; + __nonesuch(__nonesuch const&) = delete; + void operator=(__nonesuch const&) = delete; + }; +#pragma GCC diagnostic pop + +#if __cplusplus >= 201703L +# define __cpp_lib_is_invocable 201703 + + /// std::invoke_result + template + struct invoke_result + : public __invoke_result<_Functor, _ArgTypes...> + { }; + + /// std::invoke_result_t + template + using invoke_result_t = typename invoke_result<_Fn, _Args...>::type; + + /// std::is_invocable + template + struct is_invocable + : __is_invocable_impl<__invoke_result<_Fn, _ArgTypes...>, void>::type + { + static_assert(std::__is_complete_or_unbounded(__type_identity<_Fn>{}), + "_Fn must be a complete class or an unbounded array"); + }; + + /// std::is_invocable_r + template + struct is_invocable_r + : __is_invocable_impl<__invoke_result<_Fn, _ArgTypes...>, _Ret>::type + { + static_assert(std::__is_complete_or_unbounded(__type_identity<_Fn>{}), + "_Fn must be a complete class or an unbounded array"); + }; + + /// std::is_nothrow_invocable + template + struct is_nothrow_invocable + : __and_<__is_invocable_impl<__invoke_result<_Fn, _ArgTypes...>, void>, + __call_is_nothrow_<_Fn, _ArgTypes...>>::type + { + static_assert(std::__is_complete_or_unbounded(__type_identity<_Fn>{}), + "_Fn must be a complete class or an unbounded array"); + }; + + template + struct __is_nt_invocable_impl : false_type { }; + + template + struct __is_nt_invocable_impl<_Result, _Ret, + __void_t> + : __or_, + __is_nothrow_convertible> + { }; + + /// std::is_nothrow_invocable_r + template + struct is_nothrow_invocable_r + : __and_<__is_nt_invocable_impl<__invoke_result<_Fn, _ArgTypes...>, _Ret>, + __call_is_nothrow_<_Fn, _ArgTypes...>>::type + { }; + + /// std::is_invocable_v + template + inline constexpr bool is_invocable_v = is_invocable<_Fn, _Args...>::value; + + /// std::is_nothrow_invocable_v + template + inline constexpr bool is_nothrow_invocable_v + = is_nothrow_invocable<_Fn, _Args...>::value; + + /// std::is_invocable_r_v + template + inline constexpr bool is_invocable_r_v + = is_invocable_r<_Ret, _Fn, _Args...>::value; + + /// std::is_nothrow_invocable_r_v + template + inline constexpr bool is_nothrow_invocable_r_v + = is_nothrow_invocable_r<_Ret, _Fn, _Args...>::value; +#endif // C++17 + +#if __cplusplus >= 201703L +# define __cpp_lib_type_trait_variable_templates 201510L +template + inline constexpr bool is_void_v = is_void<_Tp>::value; +template + inline constexpr bool is_null_pointer_v = is_null_pointer<_Tp>::value; +template + inline constexpr bool is_integral_v = is_integral<_Tp>::value; +template + inline constexpr bool is_floating_point_v = is_floating_point<_Tp>::value; +template + inline constexpr bool is_array_v = is_array<_Tp>::value; +template + inline constexpr bool is_pointer_v = is_pointer<_Tp>::value; +template + inline constexpr bool is_lvalue_reference_v = + is_lvalue_reference<_Tp>::value; +template + inline constexpr bool is_rvalue_reference_v = + is_rvalue_reference<_Tp>::value; +template + inline constexpr bool is_member_object_pointer_v = + is_member_object_pointer<_Tp>::value; +template + inline constexpr bool is_member_function_pointer_v = + is_member_function_pointer<_Tp>::value; +template + inline constexpr bool is_enum_v = is_enum<_Tp>::value; +template + inline constexpr bool is_union_v = is_union<_Tp>::value; +template + inline constexpr bool is_class_v = is_class<_Tp>::value; +template + inline constexpr bool is_function_v = is_function<_Tp>::value; +template + inline constexpr bool is_reference_v = is_reference<_Tp>::value; +template + inline constexpr bool is_arithmetic_v = is_arithmetic<_Tp>::value; +template + inline constexpr bool is_fundamental_v = is_fundamental<_Tp>::value; +template + inline constexpr bool is_object_v = is_object<_Tp>::value; +template + inline constexpr bool is_scalar_v = is_scalar<_Tp>::value; +template + inline constexpr bool is_compound_v = is_compound<_Tp>::value; +template + inline constexpr bool is_member_pointer_v = is_member_pointer<_Tp>::value; +template + inline constexpr bool is_const_v = is_const<_Tp>::value; +template + inline constexpr bool is_volatile_v = is_volatile<_Tp>::value; +template + inline constexpr bool is_trivial_v = is_trivial<_Tp>::value; +template + inline constexpr bool is_trivially_copyable_v = + is_trivially_copyable<_Tp>::value; +template + inline constexpr bool is_standard_layout_v = is_standard_layout<_Tp>::value; +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wdeprecated-declarations" +template + _GLIBCXX20_DEPRECATED("use is_standard_layout_v && is_trivial_v instead") + inline constexpr bool is_pod_v = is_pod<_Tp>::value; +#pragma GCC diagnostic pop +template + inline constexpr bool is_literal_type_v = is_literal_type<_Tp>::value; +template + inline constexpr bool is_empty_v = is_empty<_Tp>::value; +template + inline constexpr bool is_polymorphic_v = is_polymorphic<_Tp>::value; +template + inline constexpr bool is_abstract_v = is_abstract<_Tp>::value; +template + inline constexpr bool is_final_v = is_final<_Tp>::value; +template + inline constexpr bool is_signed_v = is_signed<_Tp>::value; +template + inline constexpr bool is_unsigned_v = is_unsigned<_Tp>::value; +template + inline constexpr bool is_constructible_v = + is_constructible<_Tp, _Args...>::value; +template + inline constexpr bool is_default_constructible_v = + is_default_constructible<_Tp>::value; +template + inline constexpr bool is_copy_constructible_v = + is_copy_constructible<_Tp>::value; +template + inline constexpr bool is_move_constructible_v = + is_move_constructible<_Tp>::value; +template + inline constexpr bool is_assignable_v = is_assignable<_Tp, _Up>::value; +template + inline constexpr bool is_copy_assignable_v = is_copy_assignable<_Tp>::value; +template + inline constexpr bool is_move_assignable_v = is_move_assignable<_Tp>::value; +template + inline constexpr bool is_destructible_v = is_destructible<_Tp>::value; +template + inline constexpr bool is_trivially_constructible_v = + is_trivially_constructible<_Tp, _Args...>::value; +template + inline constexpr bool is_trivially_default_constructible_v = + is_trivially_default_constructible<_Tp>::value; +template + inline constexpr bool is_trivially_copy_constructible_v = + is_trivially_copy_constructible<_Tp>::value; +template + inline constexpr bool is_trivially_move_constructible_v = + is_trivially_move_constructible<_Tp>::value; +template + inline constexpr bool is_trivially_assignable_v = + is_trivially_assignable<_Tp, _Up>::value; +template + inline constexpr bool is_trivially_copy_assignable_v = + is_trivially_copy_assignable<_Tp>::value; +template + inline constexpr bool is_trivially_move_assignable_v = + is_trivially_move_assignable<_Tp>::value; +template + inline constexpr bool is_trivially_destructible_v = + is_trivially_destructible<_Tp>::value; +template + inline constexpr bool is_nothrow_constructible_v = + is_nothrow_constructible<_Tp, _Args...>::value; +template + inline constexpr bool is_nothrow_default_constructible_v = + is_nothrow_default_constructible<_Tp>::value; +template + inline constexpr bool is_nothrow_copy_constructible_v = + is_nothrow_copy_constructible<_Tp>::value; +template + inline constexpr bool is_nothrow_move_constructible_v = + is_nothrow_move_constructible<_Tp>::value; +template + inline constexpr bool is_nothrow_assignable_v = + is_nothrow_assignable<_Tp, _Up>::value; +template + inline constexpr bool is_nothrow_copy_assignable_v = + is_nothrow_copy_assignable<_Tp>::value; +template + inline constexpr bool is_nothrow_move_assignable_v = + is_nothrow_move_assignable<_Tp>::value; +template + inline constexpr bool is_nothrow_destructible_v = + is_nothrow_destructible<_Tp>::value; +template + inline constexpr bool has_virtual_destructor_v = + has_virtual_destructor<_Tp>::value; +template + inline constexpr size_t alignment_of_v = alignment_of<_Tp>::value; +template + inline constexpr size_t rank_v = rank<_Tp>::value; +template + inline constexpr size_t extent_v = extent<_Tp, _Idx>::value; +#ifdef _GLIBCXX_BUILTIN_IS_SAME_AS +template + inline constexpr bool is_same_v = _GLIBCXX_BUILTIN_IS_SAME_AS(_Tp, _Up); +#else +template + inline constexpr bool is_same_v = std::is_same<_Tp, _Up>::value; +#endif +template + inline constexpr bool is_base_of_v = is_base_of<_Base, _Derived>::value; +template + inline constexpr bool is_convertible_v = is_convertible<_From, _To>::value; + +#ifdef _GLIBCXX_HAVE_BUILTIN_HAS_UNIQ_OBJ_REP +# define __cpp_lib_has_unique_object_representations 201606 + /// has_unique_object_representations + template + struct has_unique_object_representations + : bool_constant<__has_unique_object_representations( + remove_cv_t> + )> + { + static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), + "template argument must be a complete class or an unbounded array"); + }; + + template + inline constexpr bool has_unique_object_representations_v + = has_unique_object_representations<_Tp>::value; +#endif + +#ifdef _GLIBCXX_HAVE_BUILTIN_IS_AGGREGATE +# define __cpp_lib_is_aggregate 201703 + /// is_aggregate + template + struct is_aggregate + : bool_constant<__is_aggregate(remove_cv_t<_Tp>)> + { }; + + /// is_aggregate_v + template + inline constexpr bool is_aggregate_v = is_aggregate<_Tp>::value; +#endif +#endif // C++17 + +#if __cplusplus > 201703L +#define __cpp_lib_remove_cvref 201711L + + /// Remove references and cv-qualifiers. + template + struct remove_cvref + { + using type = __remove_cvref_t<_Tp>; + }; + + template + using remove_cvref_t = __remove_cvref_t<_Tp>; + +#define __cpp_lib_type_identity 201806L + /// Identity metafunction. + template + struct type_identity { using type = _Tp; }; + + template + using type_identity_t = typename type_identity<_Tp>::type; + +#define __cpp_lib_unwrap_ref 201811L + + /// Unwrap a reference_wrapper + template + struct unwrap_reference { using type = _Tp; }; + + template + struct unwrap_reference> { using type = _Tp&; }; + + template + using unwrap_reference_t = typename unwrap_reference<_Tp>::type; + + /// Decay type and if it's a reference_wrapper, unwrap it + template + struct unwrap_ref_decay { using type = unwrap_reference_t>; }; + + template + using unwrap_ref_decay_t = typename unwrap_ref_decay<_Tp>::type; + +#define __cpp_lib_bounded_array_traits 201902L + + /// True for a type that is an array of known bound. + template + struct is_bounded_array + : public __is_array_known_bounds<_Tp> + { }; + + /// True for a type that is an array of unknown bound. + template + struct is_unbounded_array + : public __is_array_unknown_bounds<_Tp> + { }; + + template + inline constexpr bool is_bounded_array_v + = is_bounded_array<_Tp>::value; + + template + inline constexpr bool is_unbounded_array_v + = is_unbounded_array<_Tp>::value; + +#ifdef _GLIBCXX_HAVE_BUILTIN_IS_CONSTANT_EVALUATED + +#define __cpp_lib_is_constant_evaluated 201811L + + constexpr inline bool + is_constant_evaluated() noexcept + { return __builtin_is_constant_evaluated(); } +#endif + + template + using __copy_cv = typename __match_cv_qualifiers<_From, _To>::__type; + + template + using __cond_res + = decltype(false ? declval<_Xp(&)()>()() : declval<_Yp(&)()>()()); + + template + struct __common_ref_impl + { }; + + // [meta.trans.other], COMMON-REF(A, B) + template + using __common_ref = typename __common_ref_impl<_Ap, _Bp>::type; + + // If A and B are both lvalue reference types, ... + template + struct __common_ref_impl<_Xp&, _Yp&, + __void_t<__cond_res<__copy_cv<_Xp, _Yp>&, __copy_cv<_Yp, _Xp>&>>> + { using type = __cond_res<__copy_cv<_Xp, _Yp>&, __copy_cv<_Yp, _Xp>&>; }; + + // let C be remove_reference_t&& + template + using __common_ref_C = remove_reference_t<__common_ref<_Xp&, _Yp&>>&&; + + // If A and B are both rvalue reference types, ... + template + struct __common_ref_impl<_Xp&&, _Yp&&, + _Require>, + is_convertible<_Yp&&, __common_ref_C<_Xp, _Yp>>>> + { using type = __common_ref_C<_Xp, _Yp>; }; + + // let D be COMMON-REF(const X&, Y&) + template + using __common_ref_D = __common_ref; + + // If A is an rvalue reference and B is an lvalue reference, ... + template + struct __common_ref_impl<_Xp&&, _Yp&, + _Require>>> + { using type = __common_ref_D<_Xp, _Yp>; }; + + // If A is an lvalue reference and B is an rvalue reference, ... + template + struct __common_ref_impl<_Xp&, _Yp&&> + : __common_ref_impl<_Yp&&, _Xp&> + { }; + + template class _TQual, template class _UQual> + struct basic_common_reference + { }; + + template + struct __xref + { template using __type = __copy_cv<_Tp, _Up>; }; + + template + struct __xref<_Tp&> + { template using __type = __copy_cv<_Tp, _Up>&; }; + + template + struct __xref<_Tp&&> + { template using __type = __copy_cv<_Tp, _Up>&&; }; + + template + using __basic_common_ref + = typename basic_common_reference, + remove_cvref_t<_Tp2>, + __xref<_Tp1>::template __type, + __xref<_Tp2>::template __type>::type; + + template + struct common_reference; + + template + using common_reference_t = typename common_reference<_Tp...>::type; + + // If sizeof...(T) is zero, there shall be no member type. + template<> + struct common_reference<> + { }; + + // If sizeof...(T) is one ... + template + struct common_reference<_Tp0> + { using type = _Tp0; }; + + template + struct __common_reference_impl + : __common_reference_impl<_Tp1, _Tp2, _Bullet + 1> + { }; + + // If sizeof...(T) is two ... + template + struct common_reference<_Tp1, _Tp2> + : __common_reference_impl<_Tp1, _Tp2> + { }; + + // If T1 and T2 are reference types and COMMON-REF(T1, T2) is well-formed, ... + template + struct __common_reference_impl<_Tp1&, _Tp2&, 1, + void_t<__common_ref<_Tp1&, _Tp2&>>> + { using type = __common_ref<_Tp1&, _Tp2&>; }; + + template + struct __common_reference_impl<_Tp1&&, _Tp2&&, 1, + void_t<__common_ref<_Tp1&&, _Tp2&&>>> + { using type = __common_ref<_Tp1&&, _Tp2&&>; }; + + template + struct __common_reference_impl<_Tp1&, _Tp2&&, 1, + void_t<__common_ref<_Tp1&, _Tp2&&>>> + { using type = __common_ref<_Tp1&, _Tp2&&>; }; + + template + struct __common_reference_impl<_Tp1&&, _Tp2&, 1, + void_t<__common_ref<_Tp1&&, _Tp2&>>> + { using type = __common_ref<_Tp1&&, _Tp2&>; }; + + // Otherwise, if basic_common_reference<...>::type is well-formed, ... + template + struct __common_reference_impl<_Tp1, _Tp2, 2, + void_t<__basic_common_ref<_Tp1, _Tp2>>> + { using type = __basic_common_ref<_Tp1, _Tp2>; }; + + // Otherwise, if COND-RES(T1, T2) is well-formed, ... + template + struct __common_reference_impl<_Tp1, _Tp2, 3, + void_t<__cond_res<_Tp1, _Tp2>>> + { using type = __cond_res<_Tp1, _Tp2>; }; + + // Otherwise, if common_type_t is well-formed, ... + template + struct __common_reference_impl<_Tp1, _Tp2, 4, + void_t>> + { using type = common_type_t<_Tp1, _Tp2>; }; + + // Otherwise, there shall be no member type. + template + struct __common_reference_impl<_Tp1, _Tp2, 5, void> + { }; + + // Otherwise, if sizeof...(T) is greater than two, ... + template + struct common_reference<_Tp1, _Tp2, _Rest...> + : __common_type_fold, + __common_type_pack<_Rest...>> + { }; + + // Reuse __common_type_fold for common_reference + template + struct __common_type_fold, + __common_type_pack<_Rest...>, + void_t>> + : public common_reference, _Rest...> + { }; + +#endif // C++2a + +} // namespace std + +#endif // C++11 + +#endif // _GLIBCXX_TYPE_TRAITS

    zp0u>2t*^#-nqFNFJA26v>LSA}D%1gFQhJ55@2YDG+GH85@XYmEEal2Wm!@*F)|D+&tmWu5la$wmLf(;XI zE%6phJT5+Qkj?qPU%e;E4t^H(PPz`VY>_Ow?G5oOR1%8>+ z70Ci~F)PeZs!1I-g6O{<=(FYz8n?vv14mz1dcT651&<}IVSl>kcO!KW&xfQ{O1wFR zYKUeeMXHnsOxc$oN!|wCq@Ky|6q0 z{|So+jZaBARGY@i5tG$f=DwhSdx^3S=Xe|Qy`d6sAh}^!kRBvSENeFOpy{GjSDIdy zG%Hx#_&sDj#vv^D{zYD7UftaqFP}XZBS+*LF;$n)Z2`-u#QxEJQRHd|*xqXgjZ+1~ zhF;@lcM)z(al#eKRyEdZ@FuE_1C5XzhJNRDgGRZBA2AtMa^|3>xdB?Gdx#RQmQYEYEXZa`DYq z`xv&v>)?&N#U14}Z=|`c*fFL-n5c(n1=By6N`>}R58C$7%%kS~;zTg#zl8S@J{fw~ ze5vc}#XY9luo0Uhm9kno1{L6{(DV_Z$209NSB)~#-X5Q{F~g*5UvoU4&G0!)x=SrS zr7Bx0-BPgaHhP(x?1jFudC>Tb(9_0xjKkSv+lyJ}u+?d`9LUos++N~ZI#BOHRkpcI zX>gUx%p47duE6IZ>E{w>2l>kzXQrop7?gN@D%!=qceu#A%gr9Oq}@cV6-XU)!!NUC zFzP!KtQTy&1KSRk;lTEQjdNfFU}+9)7%bI+rA{Fs2bKwToca*8EtlkF64)^ZmIrp! zfmMJFJFrHuBMxje*kK3O19r%PZ2>#zz;=KQIIz872OQWzu>B6~DA+y+mNwOFe|vc+ zfbDV6<$&#WV1BS&4y+PvrvnRu?Qme7VA~zoMzB5ywiRrf1KSC<)q(8;+v30uf%Q7D zV_=&d*f=`ECI{vN+vvcif%Q1BVz6!pwghaQ0}Fwzbzp13Ivv<1u+k(19HXYjj{4mte0uuq?1@2R0pSi32MIt8`%1U=%dAK*k-U| z2i6DXcVN50@*LO!uv`ar1Z=tklNTzdIk53yISwovY?1@Z1#r+ z99TD4rUUB*8}GojgJn3dJz(P;*Z^3X0~-cQbzrHNq1+r;CfMb3Lb6{!H(0>kW0@xl0 zmIJoif%(C9Ij~BwoenGrw!?vSf^BzT8^QV<*jBJ@4s0jbRtL5ZY>NXs1lH@oj)84< zVB>JgY;s^eu#FCE8d#45D+cR!U`xQ(Ij|7eS_ifktkZ#Q0$c6Cwt;mxuw7sg2euz9 zDC%2YIcv-l;+vj6u`Qcq@dN9C6#tCD|%|JYh$?4#Sr zvdpzz&6{kQViJvuuWi-Wl|RN0mS;P z@-gVOqdX>c#k^pKEY9>+7bq77aw8M?#Lirj&Z}v~EI82{?bK|>FP^RXcpOUKfwsU~ zS!m;2o{Th{4E$&^u)*pi_LP<+1KX99J965T3|y8BG&PJPdi_6vGHL2JB`f=4mAa#) z&@YKqPt}<}=@_OM4-=EB zOa>+$Ih&J>a!E(df5v$D-gzd?QqqwVTOe^f^bENz*lwUC9k|?&C96F*dOoqDF?$k~ zKNX!gMq+v;j=fPzd)Kb|8z~**?%x_cQJxa3Z=``Q=@6M%A&jtzRrkM0&;K)u`Tt)n z{jYA~e`nsVg8mov&A+GN%)Pw668!C7U_DyaTCdalu;eU|9N8|%q*`qqU=BUUo5$pr z2{anFz*~K-H)pBY`q4D1TCH4@K0Ugd3B#c32QejXEr?MEObXd772(-fUS= zbhD_R%5*W=6Pu@;o({eNZ(gFbB?XyEBs#>B@_g?gJjJIMnah0Q%dxr@Y#rDU8|I_$ zZw5OIc8|O-_O5#1-~PM2q#m^Y|NM6>FC@+u+=)E^adRj4-vyI#@J#y``|s#)iQ0$) z{Ev+oNfS!U(nvl*hpst+Ga@O^|FP)rJ)wV7{vR}a|K%phdz3oYZpO%66|7hH4H^^w z2|l@`7Bpv5Cec#=cFEaIFErnKcgeBXpXgKa{OIp?$<0Y-R5C~=>fWfM&F=mCKkkxC ztfi6Wb4hz^(vdVN<-ZpEJB#_R&HTSp|M%$p&s+5RA2S2gdzR~#u>bI}LGx_z2HtS= z`ii~T#on9(@ALw19;fx0dtdsXOMQIMxI_GLT;sWSgLUp6G~Q8&`JcRVF#vwxnL*=w zLd*Qwe$I;ZuDkmU-Us01kLauJv(w!h;@@6Y{*de&*q^(9(5TUAtmbbn*jBI?qwmD= zPDjF7lttb?4)NLLNtVU~7 zy%QtvW;EW&{=;99*Z8)8wkx$npAp7eFY&R7=i}Z&+|YA_#zCH4>Z}glJzV2)KdWA} zG~cb>1I?rZgGRRIuih=!56BfU$x<0JjX*`zO*0MPlD4r{Awn%twiO_x3P8yA|;F z3Ue;ePj$k-mUCwXpr78L&x=?MzK1%Ot|*uI0eir9gNf^3F2S~d?EHS4t9dAbI|PrTkD`Z1l9>=ujgZ6s~y<5TK0E1`1!yh4s04&$bl7u1;On3 zTLRVyChytFC2bi3t8>t;1*>-O+XS}6LAMR8(m}TitinOJA1q*_lkJ~}!H!(sZ}7^c z(xII45U|d$Nv-334;#JYGZSo*1Dgbv?ZEQDvK&|im=DZe-;H1s9N22GOb6BjHr|14 z0n2b;JHW;{u)SbuVD`Rq5G>V!9R+iN+1o0u9(_6(k4*qO=D>2mj)K|K@PiFI=qkaE zIOu|4haGgCV22!Z8^I1bu&rPN4s0jb0SCW*VEe%^m((R~c?fKuBknPNZi57z6z4ufrW zV8_8WIk1dn=pzS~1=i!hrh|1muu`yfV54kxUk$d_fknVN!R+$44s5l9-)6852i6A` zam3vX7IM%X01G;>BVdh=xUNR@kpmkKR_(yD!In6%T(C;8F}Cssz$(DfG*-;tIFLZSbNsT}Qta(XV9#CBZ%pD@>`-(lvkLiP+7YFMPd_+lyp#f<&JHM- z_p-5l^fw?_>euI#a3-MVZh6NW)57s`e1WnfHoSn4O2angQ``2IEU7JRCO$*j(0tLYdl@iZ^C5R(vUh{OB%aK z<3=|>PFxQ8nnrRnm`af{WHB!|Ff~>Nk)K1t|L~x(jb|yt8m6K?H(xQ4%qwf$v`xkZ zsn6V@Xx~+J0yZA(B#Fx<*fg*V2VF7PII#CADwA%B=4aOrp(Om)g6$)J_PCqC2EZge zx#aIQumfNxD}=oAcNf@xuyX`cvcreHc+BP=AZ*7~L&nNznALXj86Q)wN-@rSgr_yb zA3pPi7R#uc`r&}3aybNHFOcw?1kGWKhIX=ltKv3WKa;#xLc5c+mA%Dp!Gd6WY?$P~ z6YMBFc~u8R<;^Vf;vb*@K7MW{Ec5p|PwJazwPPPwXUy_H;XT~Dps9f7ko3>;X#Z4m zsDwQk0ryY5l||m_h2F}1Zy@;zS##16j3oP(=cMy-5%p!VU+@7N`>RWp-pW#Mb--IW z%NtPryrKm?{fhSGw5jtFl`aW_9|M0uZzFC>7qS zoz?lUYRsroUnJp#XM&{t@}SLvc7xE$Sr>OGHmd!W5Vnc1>m*F|J2{-QF#RS| zbsB76;~dWnznmbpLj4u_92dggfKHy}lD|H%2-rmmG0#Do2G#?1rpO%iV?WQ{T5 zS-<@>%R+VXsr~qQIrd4(#aj4P|9Q~(ljfIvj8SqSUqD-seB7LqUJSo|@Jc<(J8vWL zQgeBIMpK^qcS*-9z6K$6I^kyeJG{h>Fx#(1wY&VDPT08D2Mtt=y$+C(F8S7<`3<%C z@$Re)NJGT)6Yn&M$Cbmq7Ayd^Sm)XP{i`DHLARWuBkmJ(k6@v)4|Wh|^;=nyW6($yK1x1jdwbmC_%ao}q(2PJ_+x|7F;2>v+D3e^T|9GEHGP3&nCS~b?;~tC zVU})|v2hyMKCtVBUiWY5E2ZF>e;qUqN5?VFKTh~op=w9GoF0x`Oj`TutS-sdX87%R zOP>X#%2T82U-f^&CR{OOye)Z{7nQ;I`acj~|LVhvkY{rrBYro$-;nsK-zl3z4kqT5 z(5TW-?URL)sXos5EVQH*JM(_NMOpaxlcF9NYVh=(4?I- zWPSrn@m0QRw2J;7;%tc`E@!(JHDCDy4-j_=aV>vvH?L^)c;stVIuj&2Nz!h|z8yPc zTo%o{^4-oR+n!S)&O|m;rZs&I^pW%-<3mw;RaQkmIthKX(2sj>^rEYKg#P3qV~Xal z^PM62Ruuz{(CvV3wRgzKiPF*6J)TT^`GoEubZbvJaXkoK+6v?~{2A zeJ6lodK>=ZB`%lzJq*8Y_?;mD^B(J5^$>QzOEy~34dXEwJE83qS~`%N+&>FLkj|9H z?hnSGGIDA16%uD3mi{aA#jn`-imV0UyA{5Eo=yF{K;{job_AGB;29k5%n@cBicbAO zvKjh4(EpdvD|?A=O(dLQt;RBpIytLb&dBEEDS9l!h1uOo(yP^}zkY9r9PwD`Zs`8{6v>+j;witaTg z2Q19F=3H!?*X42(U*gGyN^*sWzdaM#l76Au6yZ(YrgG|>`$3MKn~m=E>w{?*0Q$lF zHtbpz z*6=L-hhywHAr8YNtu+3B&0`NdZnE(ZUO{*qhKEn{knb@_dPkuxchGKvb|49@*dtdu zXm>-qFA1&KBj?#@Gf8V0+TG9|k~}C|hYu4m-bk2S4mmt1%_MpBaldk2tWM;2?k)J! zJ}_jUVs(EmqgCV_PIHhKnrdivL-UHz&|gHKGidF#)cJ_%@P#)=*S` zirmBV#}-eCSINE95$_1`(k6_Y7m3%yJ;M<%Yc=ys;{A~@vkYqBrQ*yXN#gC{{(vo> zlxqp`IzE_K*FqnnV&6G8R-Z!O4gK`9hm3TobX`|H_;w_0D`At)NgPk66SkYM9N&;} zwZx-O=`-!og4z}@<-|<)+t>*xAJm+w7z@+$Aa~u0J$vqu`F@W|Q|S=;GyXxbUB2(# z>RIIN^IXT@e1PlXO`u{}_~GF@Z^*b<=iC0>X0`r{M)J77<=x?_@b2>5z~6jfm|(Z$ zz^eydspk(FFH7EH@^X*&Fl+3?tg#>F-0FiV9I6|udq4W`Nnflk^N4x?KHK1<-dp-_ zl&cgT6K=!Km^5TOqRW+_>lw9JW1fMkjZ^EaF`F|V+qhf}zaadIvxbaIMPK8q7~%Z) z>EEMVh#}%i4UqJ_*!PznHe>8R7ohS#QW5GV(~@oJ*+v3A4Sv8Z`zn&35?+ z3PP7XdB~t?#IDG|Q-SMx0sj}I%a^c3mU^IB3(a;d%P06QhRlUOO5G>PZHf9;&;Y!S zO&K!%#iYl61Lpe`q(ndCK2G@bsY3?pm(D7>39CV!@x3OMWqdt+%J=EDYq?0i5M}Da z>7CeT#C^ZS<(j}<+R6F{SiS&ry&1d!Px;LBq|Xmvb6k3MOir`GIy+gvA^6JNd8#;*>{zZN-#U#XiP zsvVV0i~dXUeU^ad4AEK4^O&gMx`?WIzDBt_Y5S^kilyGSkL z?T57tC&)hudVX$>EKw5xo>|^D41+3yk=w(kK{W2AeB@=-*~YNorIxE(Ww%ylo-XO(|L<`ONI<6#JgMa- z`FFh3RP0g5v`fAl;+7AG*ymybu1-u%l~3d)M0)#Y4Vm9cRq{fc+vP>%G#5EV3T)z{ z##hO%qwaI8FN9fj|IIUEeO>DQAnEP)4;k|$va*fgs`o|8Ctc0vHQR37I>s|-PZe6O zJZ>M@QLxtqAisKSV9u=9v}up7(YOlSPnxB+cWFwk+8-W$1$vBi%2;cB9(tf1Ul?0& zlsel2mI0=|#h~hpGT7@(`GP#FoV6x#4-&Vo2p?j+UQqI#FMfL7RB->sVTvQ|#l)TP z3GCnEA>$dI&AyGjX-}8F?fwrlZnUjRSZI>Qi<+j47esG_S7}LX?q%=8YK~9}uczYs zu;ihac&W38jE6mD9+HpE*0)tWr?F;)<0glq*&Cur`SLe1_xT$$V%pF;nDC9}mQ z5hnB}vc;s$Dxj+lG9QSRE4B{euxs$!dB&$CD;RvFeR|@+l>O_S zbFg_y_W26GVfYJkRXp^A*Paie&Q`Yzy+dg){=l z$*m)e391g%2W&2rP1@88{X5ztmHi-cas)o><`0?Q-BER^`g3frx5!Cnyqt&*$r3}U ze8~6?f6OtGc-mf4eOJa`h8XGgQI(1hQ2IkPan};JUdN5=59aa_GXhgbbVIub+C7@~ zF7aos_h3hL%O3fzQG9wsa(Y$v&@+$w+g2tq?Cq(z%QAkGM^` z{nm^9qQ?iU1@}w1JEFd1*4`z~G~)DCXdkH3=k_=`?%&$uFa}5-8;P@d;gIojNmJFm z!%kA;x_euE?VI(og}6D3{Ko8Q>T+<-r7 zv7U!J`W?#E>UWjW@9abM%=A^No^9%1)mbC_j#o17>+)+kAZl!0Sd>nCn^QzJ{%j^r z_O(OCvG~3fn;#+fGWJeiGlnx|Jm*T^N>t4=)mqwNcnw^~Tr0{;=~@Rb_Y2-^pr~}2 z^`F&4dta~poYaN(6VS)_UaoAhu%@*LKjyQNXOaCS#5+d3GbBxAS0hPk@07crSmx{% zZ+iy8(#s`Wv(MW5~0mn=W@N@Mk{IUfp!2|imBwQTjW^z zGTepH9O`v_A#vDIzAnDbA-sLuPkUqe5dD+&X~u;cSc@7-|0vm&7iK&LZQ#^DYHSp~ zayioF9fjCJhomoMS!zpPboLg~AHH$OxMvhUsDJ(aOXOJFU`h_uI9Vj~5R0$(km z9NfE@|D8q}xjf4yf73q0e4uW~hzMY{v1%*)l)8au%g3d33;WYKv`EXUv{f;*V8_4;geRBOO&{1a#?~bQsC*)H z*7wZ$aH1uD5(!FK z+|M$i(^KE;8t{ggSaP{OVG@2_fM0$W9G=& z-~Y(7 z9}+HgC2exv*jQb4^Lya)=!}&^#;=6HQC`R1NLgZaKcLrG3veM6;8&2(iAKQk@hkYX zTY)z@Q#?mcN?J3s(>+H#BZP?j$mP)gyGD9P?WU9Z&3#ZMo1@z6G_}E03(RZ|; zN$E0Wk1+7B8C^=fxep}{L37eo`@^Gn9rGwrE`W?-E9{H5`bX0<4E}5V1 zdB*KMz!t@W9-J*6K1b*AJSoVvAZ7fezC50*1Yup0`!M&gXQ7~1j&h*$1znx$K+8c# zZ2x_p5!(Ms>g*D!A1-O~flc^?zZ9F_$@no0wh?Tu5Fry<-(rWYNyQam?f@W2+H1ny z^cQF^6k65a(U)sH^!Ey@8!Mgbhi;g(ojOVA;Kn07*{cO z1dJC3jftuJO(uuPa_l_`_j<%I(X7Rqk-BL7l*@HrTEDsG#Bag&OMbq_J`bMdlDa<( zHUL&BK&*VK-Q{!Q)_5Sa<5@(>z&=sybc!~%F6OR_nmsD5JZS5nJze;6Nt;xFg}}}e zz-9}HJ(5dat$G)`s}tJs-_`!Lk@hj}i`VDYKE_Pq?;`#*(z-;_Qgwf=s(Y#D0m62` z`=Y4Mh>iELIgIFwxPg9FdQCi#1F!7O$QS8cE9u0^r~Yy^W18Ay&5I{84oW+WBU9yL zVsa`rSqMH^@Tt*xvirfv(;E5iWwmLKMNI%k$9o;n%ycZ2xcN4NoTQocahL1Qqho1G zJscv|^^abPNnW3O`5B<9PHx{-in2ZY18ghxFR0sz1vn zsET&aV%ejv>rdopGjSTJt8;i3Ia)-$PT+AnxX4$9;P7J2awcYGN%|~rnzYq^!utrn zO2T9E%f3loCf6#iNYc{wyVOzImsmd`&H~*o+BQ(%GK~2F_1@Bu`zuL@2K`;nBiOkg z8x`|23japoe=qZkc>b~Zr|R=+F3U-(9uGFTbb8EmyB~9o@?!?-5p@UuJ@6m6Z^*bq zmpPeSx#d&D^!TV?&D6eHs)C_F&07P+AOB_Mf%mgdFPc~S&0QW<7wWxqHBRdH(gQbp zE3fxf^8r;}sc`ou8!=V+;W=UJknuu1&sh1@98UXjt35eV{$yjX$l!K(?fSYNE6BLE zqv56ZyO2LO8MT|y(l?F}?-=n!Z^$M6(bbFn`v7x$ov-!sU1$5b3A4R9&T3;X#0E!A z@~KxgFUD1_U+u@QhJV&K^mvOb+HHQzUPUUi8C1>L7Ofz9B-{R`0NJeL-UhF1c)h^0 zIc_+7jY@{}e#o8_amh_*YVNRK{ONAqebB;1okg7;Y8^Qj*5kiI{~?__Bpv#=-Nq(o zN=I?rVqE>sl1(a*OaH4NJ}=W7s3Lp+6XQPB&mkEMq2g0BhaCK4KFHP)X9;n_(KzhX zRQtuvUB99awn4K4n)8K*{T1>SijT+L;I41$Jrwk5_ovjPlNZ$3qDPRleI@q640lW~ zN%~X{oYM`Do%5#2mjy{t8zpFzSZ2|GK5AF3}Pdv-rE^6Nh6=tlTlrGAcM z=X}N$Yd@Lq?1W!7W6=egUz}g=K3k@tm9{$~^o&7Q@NCu@Qn*I;_s7~;(i*>oIR|v7 z3LTe}D;um7%qM^<^L45{rSANM1qi!c!c^Vi8?t;d%Pm2N2f-m|w?MlwN{h^OdCWby zoiW-h!Z$;k`8{ph#M%U#cCpnUisx?Va-drvJe4dcIY!g-9cV3+mhC(YZ5_1d3oVzF zH}ziZFtF1UV&*dwtQ)LWuozG3O7DzPOJ8Hv#={lLP%Ws170q3wmX0@^Iy#wVDw%OdRENr#O&a@5T9#NmV-iM~s{4|(1Z z+fSOX=8jyl*Z$*3CV7n4mm=4G;_o89dLJw{9zmW8wwQSwp>T?cfcn@k={ zRr!kf*+^J7VT123$MP=2>*fgU7`mDBiM(!ym+z4w1Gl&?7x_``j*w~lwk(}**hf2F zjRl+ioy@kp6>GO@*ra`(_JQYPGLfUMPSDTPi#8XfdN+CaKD=ix`+^JD&O3+KZ`}Wt zw3{)+EBy;+r~jvCBwxl0Z~n%pbW02~?pE@*`5CPXRU0TBhd!cgdVJ1?b{}-xp?gUp z#@dRl%*vmqNzM0Mk3-w>?2z$?B(%?%wWllqu|2XMVD7qKr_Vf9q(k~Z-&b6&yN<`| zQm_hWeZP#~GuH?<0nCz(HSPu_8$!R9u)ODo;?Bd^B!j}X>K*mDx5 z^nvO(YTR+_Y@-oaYp``4NQH0qHtadt&&gNX(@$6iVVSybcQg4g`y=BYE_yMZip(u% zO6NzQcl|16FWBvCrY-8-S-c8y$MVSrG#}CWi0dbAJI`kMs=U2va*BnRsOGzc`=RND zrZt|%Z_$W6AA{xyH044Q^k$T6dG5qMc;>G$c`hb6>p{{+H_v%@-Ni^p&Zj3GYLy(y zJCQgB}yvpl9}wGwZ)bGzKgiyiL3N~OvkG>4Ozy$bhhTjg#RwVhPUe>T~;9I4(FRJqNU>kK3N7_@aQto}k z$@(oiP3OTrzT4LPLd>t@26&ErOn7IZ4t~CG(LUtis~&!wcwCSTC~j6ule9i71CJ)3 z(OY)u?lRWK-uO+_Pdtg_Hk0;_e!Cp2aaT@b#5EsPAX z1jBUE@AN7g;HK!PNS`8jTpxN3+O3+_z8`zGoX5xhlP>mNvfn_qhFs^J&Ve?LAzI|D z0zRSl|JJx#_;BTMH-dG;``gkkr{2U_fedzD8!hlP#V_rlUueadPMjmJ$I2~v7$8m~alXd0&ci)c9*#-={vT=Y16Su+-v7hlw8erH6&01~ zQ8UFE^{A+*s3!?YNJ3lMQl*NPDz&I-i;9XZwaj3RN?V*!QM0e8QRBuG6(_pP;TkKt zsHkzqn#m!=jcrkxW*gs)@6PxAx$gVqYXM&wbt3{qMT3`?|0D&qEk0 z#q!|JUF^p7>&EpQ{AObOq^Gui3He(2MPWp7Oi!6SYVQA9Q}SqF)kimUgV4Q7bUe!c z0N63G*9vg;!Tlqgv+!|dNUuAVp2V0zcn#$WxHnV*4OAUVBCK8L{0O0hiT3@x0x zT8HPb|4m^xWNV4>)Ffl-eAJJ#u<3_q_LskKcP?4I1w6HR#yNcPskz+?)JKjulf)Sz z&NEW{Ko-mTi_OWTlAnWODcy47?rvy7XSI1diCu~Q z>N;?N+dZ$kQXf10+o-*o`8`E?$AA5c!X)pm&zbCKMtw&pe3V#Y-w9}2fAfpNN7DST zdc_Va+l$GC%F^Exsj9V9V$Is!xXRBchUh`^Gt9dlwBPT3QMg4wqyv;6S$eL6 zkRSE=UT7DfZ3$^1!MtRd!s>a1@KwTJs&IN#iYc2aI>XON!nU6OMS<>QWf^BLL5AzV zf=duYa}1guXm*A)`^sqY(2PN2ZD}%#xW@QMuG3#d*Fj^t+GuQThWRa?Z}0hQuVKdQ z*Gp74t;9J;oJS~a9+j~ZY#r=o0VW&xBjV?3%o?O zzv(pPZHlmV!c3PMPkQCJe0HjC$784VVlj?%5KH+uNt{9ATz;X;$GCj@-XCWNss162 z2bwGdT^6!l{%YrF@Bij3MA$F6_sGjnvNU|9AZ|>Ox zi7#2m@vgLIN&DRIkFWi(j&x&5xpvjCHc({1@2XLKc6^=sgjYtqsL$YR ze;;^1_(O&BsE&ugCTf>{-?`$QUW>+tp>i8t{EovfLmEHyZ5FrrskC6P?i)(^ZI_Rz zXcn-|$};hB?5$r%ZKiyyEw}y^dg;MS;krU2SPtwEnAuU+X^zroeOL6oge?#jw>bvE z&X!QlVBU{70|mLr8NzM;P9Edi( z@2nAz=D%jVxj!E7iSyWA#zXD6A0ESxj^sz!DA-U5b_i?`Y=v+=qB{!K`Ix0}4x|2i z46Fm}b6)P_ZO(qx@e6F7+S*)m#@WPbWqqj`Ue(_~zM7T_*Yd8l#rWPyKd>`e?WoyG za0|3~XfKg%N?WtP@xd4Fy1VMG^qm*%9KW#rz(x4aYcH}hhU%aF(9b`1sqh<3Or!QU zdoO8Rd9p^4a)oE>C*n5?zrH6e6&~>z$IsvQ5cwH8utqlM+Sst6ir!VjGM+ZKheNON z>w`u5Zy0~KExCO%QT}Xywe=l3gx_b+y{)pl62ub+0@@@YV3(~K4v@wMX*`znRA-p^ zFVo$zYR56cDz+~bUaa~|8V{(8a9>_u>OT^bVT={8MR=Xxu~g7`%tT&MSu}b0aB^SU zZEN>U^Vm7NmI{AX%qz0fjhA0<&sA+C^Fqs#l>vAi?pO-vGk42J=+Ana447{rt;v#~b$FcUTq>yQogK@*Yg-FtsjSg8 z5c`e>f_KH)`c3T3OPAbtMrfz_d{lz*E~hq#Y+c24b{}!JT(;!=-uTTAI5&Xx=@G(O z39D5ec+?Lkz*@jA6%g6i*n7QUzI33emEdE_546{bc5lMo3i|(W$zZK*3hG1a#2qK@ z-zjmEx#)~qNuOl%W~%C6?q{yh3yY4w#eRInQei>^{ic1$+V@i3&-CBvy1Ddab@S<0 z^FP<2q^mwvo!IM{5A?zEDE!-QTq-P8@*}B_M6$?Sr0R0X55+IBnL28;^#jrp-1&`b z?_qv>(^BEXN@GxMRkZ~^+;D{Vde1%9o>^#G2C>~B!Op<~=Zh`X&VSZPSSw-oDvUh( zdtm%Hga2r6U0*6!Vm|4L=7BfV4PII|aCu#y_2EPCnTOAm=W}<;?vXChN4~Fgyb8&? zGO18z)92yU@W!RWJ>i^?ju7v6kv?eG?I$ngYKIOEdS33YL#cXDvNEPwY|nM>IQr`? zONFmgky(@1qOqXkz(rNpR%tNscT5jL-|+UO!c$c?9?9YuSQczssAo!K(e&Rw&0AT= zs;p{PoRW%y1wyj zhOQU7Cy0(m_E;O(FxYDZ!1MLqPteED9>Pu#cB3y-nT{g=tTVF}s7N`nxmwqo7Gb+; zUR{E)7$RM9j5JQ&w&d=Ui}Vrlb|5|Ev;~UDt@W)!y8-PG@q9bE{l#6nIm|0OYEXKm z0RirM$5ObTq0Gmz4>@MLqjDLJuf&y|(nZ`^;@+loc!c$XWo};z?_Ci#47L^QE)nsl zJmX+T!Cou?9bz_!?SXz3S#*AoDnbI=}x_JnB71~FeGld`u#>wIc^RdK#(?KQGu z9Imw_>GKVEbd37>PZ5tu*J2Ga$#n6Q$LzQ9{}AVHrE7JLtol21xFIN9RNqQ)FSONv zyj1wAWWf0EdhmrE&Q3BjNovY<4V&MNLqB<7$@x|&e|#?<3d{MQUtMh0C{M?UmnR;@ zDXxp0t1bUwurEu%pTk*uxERGH?v+ zAlRqxw~y&A!h_{zfZzL4@g3}?cVm}G=UX|+Py9@j>!*GPN|;xPkm-ON@y{Mya%)uh zu-KNY>;Fu*^b*$i9&~{6Y`O)T$K;ubn{Sq8g2tfhgDz@6>e_4(?R)lwtdpr-W}r>K z*Y{(S5%N^(W7SfV} zieOhM@lY=Pb&b>#@5E6#C*U!5_flaa`d>4O_S~OPr^*+P z^4bQr3icBL)J;5%>&UF*u(w9E1JEA+z*6A{3A8K(`6UB4S2_f3?$DC+RUwq@Z?})y zWr;gO*brgce1G-(iM@@L(^VePnB@1PpC!)32a9#yI@mZE#j{5?LhbjELon+fLv zawMBuz!$-7taABb;YJpXvw_+P&wU7cO?7SU5ZOR`$1lVLnlU}EHKH6OL(tDmE){Uu zczPSV=&{jR3bv*@F=3+UL2wxyPXwyEh`tLKIfPL53ukSlH=PT(u^7;QP(VX5LpxheC1M*VYd-DoN$_YP2r&E9Tj0p{VA{zT+o?1tq@uzIk6;9dOv*hLw} z*?%4Q19y>qOrNYf*&Awhwuig45UCJEZ^CLT!aE7y=gHQ!eB<9QTVFAMi?(?mPOKY0 zPalTY_>udW^T+M-&3G|}sc#*J*XU=K+#V3-f&N@7e(~^JDo2Lgn6w7%5on)5JSVFr zd)T|z1S5@&YmJNegP_Yw4or4*-;%SLTL_!~tWS@6uz9eJSL|N(Ya|-Gd!bu}F2lRy zp%X05_8KPa9AT!t0&$xafXjZcD=B9u%Qy{B-kL>7YNrQ zx>c~+&lShr0IQB+(gF29M4rI5DdKB&{js}WuNk}zyiN5%e&gpDOrL6GTrRPRk@q3U z`-z+Tv!%l0eB3g5kGFL$^(o{AZk&!lBOqZ;jb5(rCnR(O9pq^(pV4k5-P5GIO1cN) zbF$S^X?Y#2>(_=eA`Ya@EqW|JjVUTy# zNi^2$Y%>7k$Mza7kj8x02q#$`B+eLd-mf^8hRNR*C@*j1qra#(<^M3W>(Ew*GKgNa z{OnbJC_w6)%D*Oln#-Ml{?wP23QrerlUW;o89QGU%C_=-9=beqzY(3~8#-?XUCKRT zsl~YPx%pG`kIB!MmtuS8{9a?ozfNhLpgP)aXuD>Y++8QZc(9#G_nqm^@e5KP4{Uzb z$0)StH>driXmuH->SG$($*(NAZyp5gv;FR>op+`8xdux8SoBn%$^2>P2mZ2n+*>q`d*kF-Q)!Sg`_&-S$Zuc#$Bk;<7b;;fP2Rref0~-PRXfgk2oQnF?UNtF4SQ9#r zyZ1Sb0ka6NIq|YPp;>W5s-(j*gbmI4d60$uMHtpbSmW203f~Ol&4gh+gq_$VY>2SY zuP+sjh4Hw2+^07|*p|QYeo0I3^A@IdnkH<4Fq@NE*iGDgcOAvs6u4mOJ$0XKv86 zFS8r-xs1t=T_SDguj!}gAL2ggB7T?*V-S>$_a?(q{pAJ<(WGzs;gi1?pSv`8BY#yxrJJH&q>h2_14(wK? zN13WFs-*6Anje0Rup{4HD!fx+lqqgMdmlqz>J2617|U5V*A4J}XKwS~#x6&Wri~E2 z?G*X>JA6H9$18q!Vq|Aw3RS&;4@&PQ;y!K*VWWKIt#yOFb;Fl}?Dltxyb*&5Z%ye& zrrkAFy~Hh{BsuB(V@m%A-cLnY#^qALzGeE$6iMg1+_!ShLf5xgth3g^dP}g{pP{$F zUJ7qLs^1LQkrJ#0Y^?yzuU=R;u&-|L%DRDVI6|(j8|bbZ+~4| z%@xsycj!I>{PYYyMUKv0HB5#X$inkr;?)VSo{D_oUp=ofJKy?Aht@GPcm7;rm-Rl2 zNqB9*>k{$eY2j}gY#r=Z0?hsk>|49t$T_K5wA5})SAFiAXlIExQ<*P3(d+!=d!lv_GeQ8|-heSAm?ySMdqXQiwvPWkUi|SPF zkqWiZA=1cJ#`89oGx-YJ8x>7%{>$$Y9@1=GC9|u@M-u?XX9DEO^^PxU&C9R4j z^fA~CdXLHzwLiU>_P@+*lrZzo9&aP=9C7cH-zTug_XPfZrdRK_>5{gBnH{hn`hkn` z&d=N9=grQi8lIBft~CbRX-FK!|b(pMYsI@*{I zzip>JT))iv71(j!W8-egSm$dqlm`qXjL7&+70pENg;(pN^071hHrJIeH}ad)-=)_M zLOTwvhC1mrtxu}YPk|o-9}sSH$-rNuQ|Snul%)9zU5{6#s~o3@cY=7PTM3GPlf>>_ zpbzODgrYj$&J}M(`x>2}cgq>-<9ZZ)fuakk+xKfGM?Lso#43mda#lXXEm3++MC zM)^e;Q^P@irIUxDYkEvRJP&wB%8d(ZmqUbQ345G)@CZ8!)&^$%l;7&R$G|4Re!#oh zD(-&{*UR2d8Bx?|N+geLQbFRkPTZ|c`S6T;2CQ}kzQQW`LEhco@LxMC9bcQ;BMVK- zALI+~roy?z$U@8jY*HN39utzHyYxw zBVZMe%@>_#oCDi{E|`Z)-cEq6gS}R9ksZqNp{Lr?+Gl(y&_AKQu!7^Yi zC26;SWlQKfz_!M)KKS*5HG}=T>XW)E8+YP;wX5p=vKz~drfpieO~f;>ohOaskIRSO zy%^^r;Vu@l)YRJGrFuCFO)irU_khQJcds$IaNl#4Ox3gC)eo($dznnx9%I_q?=fZv zLMrvT68*Z*zPHjzq{hd4c{KS+v9r+JF_w@0gf9@j-OE?>Ef0N%)OTjaD#^$swCA3X zcYazs^L>roBcXPhRpy?UcY9EHmHt=&s|9;D?`r$kqd!EO2X6t_yB__29xMy?YeSF& z{;$SSQ@aISSj7*@9Y1dp*+Eqw$FSAN64QK+X9w}mJt>kW)nzZ(D%h8O`^WpI&HvFs zRfj5zhbrPJkCVjR-<%K6u9*J|Y!d8iguA|HK4aS}o_eRNL7JT%jc)#a8v5p^weKhQfgN^-?=-x6o}Mop^}KxlcDjdw&MRV$5`Bap&gsgszt!g|aZhCP z;d+;J*#_7G*zLT>>QmzryOcb)_8MF&kz+({)3S=5|BHOlS?Uh34S3Cp7mw(A!HzyN z@9w_lxBB8BSo&G{!pnGigL~ zuk=AbKf$hbClhFAD`z`&UDJ_WnImow*a&eyq`Z@bvi(11SF*LPQr{br>j*U+_A2N1 zJPeO&_^K}T=>Hk8<1JCY5Oy4F4J^;Q9_fQqV8@=5cl%>fv)XEEJ8p*=-+ZbbM0~Pwm$HFSG~o-o?9Xw_xtU_p7{oNZ(4Xx}mLjUcT^GzU}raHcq^Qt>_EMH+6QWw%+*j2>Z1EWiK|%K#A&QUXp=)fw;9V%omRE zUcnfw&%&~OU>Bcox3a7J=b)K{=2p@0sGchR6?ts)dXqDTvb!3A8^O1NOAeeZpc4(Q zPqz@3BkTiSSH|^9drI{sabL09YqUMX zRosr6y}@e_QRa!?o@4y`{rZLPg{8)9u5?*l&rUub_M~KGBb8yY)^v{c*dEP6Rfk!y zF|b37@Q28X5kk z75{Vj!drQF`bv6=t8@`T4fc}LMQGaF8S5(p8k27hkEN~)>yXKhcy2&Durn%)+Pa>} zbw8Ne#_4)H3-(fW_E?Vy`g|*NBhYn{mE5coZ|iPsPvtcl)1>?5K0vYJ zL*H5R8uw1Achp1|A9d9DTaAo{ZSRszXc&1_AKe%hYw$iK-pF*B@6zV))<3j1Q}yIz zIi!a;Svms0+#c$c-+FTV&4G=8UFhXLu3sZRghU=!M5%g3XGqRA;L)+q&udaM9K?3# zmm9P&*qJYUQ@nXp&&^=RF3T4_A%J==vaQicUR&<1amxtkP(S_?ujO*)z6mlB*&u$t znzQdWw^BWf2l3gY^J7oLtD`IL*4fC0^wd09KiEf=FZ`Aal5b}CyGOEony^*E+7)Jb z4sF-@dcFd?!qX+&evA%9V^oLPygA~I5w}Be&E{oK1%e=Lss7kU_$=Yp zzf0;Zem{lEG7jx2XrC!wtdkr_y#iME7@wnrZ4hRUMISTX3f%^Dt>U(;Af2HzfoDX{u}dF=zm`xve5QG zI}Ppio_A!cal*=1{-rgHZ@wMsp&KX8DsikY^IO;ySoc+t-6m`ntPAWC-u0-@Er4}` zeMTTg>@C92T$$nm!vqDntwy?e4qm<2=L=oxqc(2Z zT)^hKoW)=xRdmJT&YG(F%DNtQ-*=dkP_nvC{QWo3mOlR7+TZH;#d8jRTz+4F=11Sz ze2l8AykELIF57>{`1d+&k79j?xARVYx22TVP-RlFR9*Z{!0YVm^Mwy9Ur{?ozR&oa zd9dowlACe2?EyRuuhtv$g+GyoJR|s$Yv=d8HXYm30JujUUCPyr7())mv0neJAOY$!)N$rjO_g@ap|| zzHqJAvt{D}yzt}73+)VT^a685R%BQyXudjTdvCLYT%uy0s_lVFQrZxCiW_fq-mnC;*PLKO!7I_0V2Kd^&8Rh*{=ungEE6wV{M zX0WYb4>!bNZD6fnPw<#@Zx>iMm~0GZSL~JUrGnpR2?zGmFm&V4)%v(9_c+)=uzq2d zZ?oO3Px~FyG@0usbI_iE_M_prO8-wjtB&kox+G{4ZQ$%6sq}wR-cPgM5cau97nF?A zyU_*q4Xbjo?r?V#!)xrbkzY~cT0htXnEAh%e=?7?!?CK@QNm6V_F&%iXskX2wg`4q zfaw6skM*-iPg+0ICdRiVbu#fj4WHJdd3P^6zg4emVBKJE4$B(pgs7~++@s-aABAoVy2HH3>}~8&mU1Mi2#m&cm1i2- zb!e>~`7LZ7to_d;AA_)yU{heX@vbMw-zr!wbLmlE?zoK;*^9VfbZchM%rIk4kk&*fc@ux_w5uy{TPz}mi$cWaQ)G7i?=u#Fz4g?ET89+045b7i&d+LU_!+1|!7xe@0QFy11Gj&I}(@8Ml~-mi;V|EKH+bbg=xDPqV#=oqT6%@S{lcv}^ZN7w?` zF|a=}#9^nwPJvzMG3nbiu#;f-3NyL2^+XBbj&Ne)^AE#|H~ekheN)cLf0dfU>aeyzI};Y@I+ZO0wgs%4_prYFc|XmA_+Si95L@o^ zGdahrhj^VaUeas(!8*Wh@x0>agM;-Dc1~*@9H*0O?|oVaMX&{xS_V zcij6r0@?MvU*W6;G=V$m=~8fW(zC={BTsw93l%Yf3RTBeJycXyR%{`i5BV^guM()f z)kN4)!akrd^CMVak-UPhwJxhgq`PlB%r8d^hjT6j?0lSC%ayJ>O}shc zy)qup&Z(fL8(nvmZK=LfT~%3e4%(-R*6X4iuNm<4-{F7p<45G5Kajp5OnYCAPB+r! zkiWe(+!yEHcbJXV506E7bc;8S>SGwJ=|sMOS>|=W`E9X#V|Q6;A8x$wQ~xU0EOGP1 zy~)Rod`kz?S}35}$w!Cnx6DJk<$KO7et5)T(PY`}c;nogzFPGT`cG}eq4dzEV1<7&fD}Kbf*&pyD z>f0rL8Nco@l}b${cJA#pRkf9Tr>~POT`%MRZESR?dR`50`#@e9AV#B){`CgPkrZ#* z2zHrAxB|;X>g4}jV)HFAz8sPs{@*U-E+JyfMH3GB&4s+}0(m+AD{-sSvov1&r=mOK zdMM)Th4iOi=L`RHQBYo+!&?Ncr%7*?&kuIgRNb9+MlpW#VeDYFVf{sw6+{0K z`CA*owtx+SJ&X4W)2;4Kf8`}d*dfBEWn|G-W%eZrhknGqs!Xy=jLR&qtg0Kh0n5C{ z_GX(L9ESJm2IH{iE~aOrbEVv~r1MXEgY!Ph=LzT+{wE*1bCx+YzIcr_tAsTb{G7^U zB&p8)Iz->w6D35tQhljK2eK-c3om&HKkmQGTHvm#NFKOspN8su41Q}5Sq|+J<#!V7 z99W&k#`{l0{@FW{U6&npmi;WeW*U}bYY@SiYAtoK(15m-ofVu@BSkmScyBx*xGznBm>^b!*4X#&K3L5=0-HMeVo&uQ_q?~WFm!tQ2ZH?22Zv;f&g@D>LDu17Ds?@qA~#E%`+x&Mwh?F#>6HZX=m zhkd2*`&ND#506=P>qb_l$bR7rh9An@*}(~DTcF)voG+#XuMYDile3TTW6%ymdu7;1 z7$@RB(75i&RXt1Hu>8huZk|r;?c2?NlBq=>K6bhA&&m&Z_um~QKk>3loTtlYV%P?f zvwnDF9*4}TT}t|L|$6Z)zisqfuhUN$G$Q&V+uW!=C_?OH3&9breqZa=)&o0r|0KJ);7 z@DI=+TsDWoBV2uDLg_zc+3jI{b+OKUN6@&?b?|o#+EdWpCb>!)(<1qogO9Wl#EQ64 zlQH!A7(P*9A%f(EkoIi<*MCIs$ zS3`%dW6I(09${6*uQ!-(VAiYN9NG%)92Y3^Z(G|OhF3GZu2P}mDhbAQM%wfVO@mDd=DPULTv-{b?`3;jM6Kyb686)+5x`L?$hib z?g`=s^&9PN_l6o`*ukzK+1R{VJB<)$l{oP= zvSY+qCC+Ze={A}EmT3+?$Dsjr3OEllJ+QjCnfuL(FjycD|~cFq>zMJ%aJ(t;_CA zp^XK5HHPV1I&!YFeA_YR)+8Iwwx3u0&cScs zc5Ewk7Aq^Zg8!~@i7e;}(5lyI3@I>993lQG;*as}Y?om(2eC{|SD>CN_VafHy4=Ka;b~#MH|=A)saWmkNf;dv z;pu8?i<#6_zD=rXWWvU^sGhuj$k(O*q;9qD z#=5n-?RD$?jb3t9UB0gB-D(VaZb^UVME*o2^w&baD@Ok^u(y};_;MQbrJ%c^H zuMp=KDn3Wri%>?ha#D`FmxFIiz&QI75vmA1O6Unn{xTBU=`*^$?%*YSK!U$X{-!S3 zUU!tgnM*~bO2rO%?(sa4kaDoN&(->xORr%kX4;^YA@1zwGXsfv@*Znk;i5CcZaOYrvP*^>DfC zm9|Y1^_w8T=q8P!txc5`8}NM(@5-;ACt}pxnKr)ICgGjsUHU#>GB0)MF?i*^8TtQ) z!6w1lz&`Ek!{^)fRF>Fed+X*aUsbnIxxH?Yzf=6>`CH{`kv0C-`5R?0J;=3g6C4hl zuT1?VnJHIm&fxAP?S?)_h ziFE+A9|qDc=0J^1USuojQ9Vr)Zg z>_rMQTUZNC?w->ME@c}d?2i>@^Jnt|GQnaj@@=uRW|vEk#?ZW5ZP-e@)5LpIS-jNt zFyf9_L?$OH(;)G-d~3NNIV(=jdjd&AlVmGDv^~(;`dLxlw1+&96W4YN(2hgR@^^X2S9z@5SIM?t)^L-yjhKDj{CMU!Czjn^bS8_D&q2Ee zXXEmV#WhG4dWm!Nd&`9vhW4AyD9yt$9{f{DFrLbxSo=z~; zyB^IGo4^LZZWI8YdMaA9E#ULue=nS8oxcvS@gL)_+-yxQURKtG-pYkFTr@w*TH!j{ zdaaVmZ!K5K9W_;Vh*I}}av_hYiq!jf;mRHC?}PkJU}djW4klpT3D`{uSZWCH74a0l z3&6cMMJc>30i%s6d;1gVFF#v$-#ul2?dn~DQFY+=Rq z?IZA?zi-)n$I;~4`~b*N{616d$SvZ(yXKnW?x?n1gV&ayFT1-OOg>Va@nQ)+#VP>* zafJc9nV5A!JIY^XOJ&7z=&wqcA4RsX9}Dx9RnM2G_LYcg>KZ^ytjepstWp&T<^W!% zcb5=W93u}$$ivhxmJ6TLIRVNaACJrOFkyExO|oo1#fX2DzZvdAnnM}Q(ToG(f3i#D-@l}*4(muz;s*P0_+yKTWTtGi)S5#DZx34)c&N(ip;+*7cPE8 zdHKv@4|8h`NeNc$FTv~UE>$vlLGHxDu?jySuPexx>oGEM#?M&0r=D&$- zJwMm$<3QTLrFDas+vRAokIOZd?ojbGTKH%uiGI?^Rh}t)Sm{ObYvVvk8XBB#PGT#) zI}M*n`0NrNo&o;m!A^qxyp|tkhntTe8e`&hzm~50z=esqrvH!Dt*298s2jZiTloUi zDkq>O`G4wyH`J}A%^$I~nf0tX(kia2q_ngqzsa({yg1ID9f9AeOU}5xs9??fO@JM$ zKU4T4rGb75?*z-~p7ur%GmdRcJ_haNL(aJG0aCB=wPK9K)M$K6#-_}{a*a6Yhn^`M z5P#y7*-4C32QE}I5If7{J-(Zli&&*YTb_dd^kHWTFW0zkd1RfLdsr{i2e9m(+^5?% zKg}rAZs#-y8@(^QFF`zp;j#abX9`#SVZdY0gD>og-5qtfF<7oP9$Dr?SI2l9B-$}} z9BeyNc;;rh*~VPc&AOKl2cEx#ahT06Iv3ko{)HU8Bz7FPJVb(>FrgtIo&0ssU~Mls zQ~1I&_+c_0omnZ@(N$H)lKqUj>ek9T3BSWPoeA$|GWiEP3icpq^az^=I|BAXL)`wV zlVFQrTZEAfYeM|(SvD9e&UwP~F+NRT)lbEq2b0T3dl%?M=m70VcIh+|ey$`=8`vt? zZXZWm^LOjY0e(xCdkJs6`HY);v!r!L3U47Zh}-e--OK%7><=|sDl z#`jb*FFSy?&2oZEYKDm?9f#@9F4=y>RUW2@f1LQA=3S4lS+Kshc)9b~0@z`&U_W98 z{504puvhS|?`Iz{=kgAHe|M+yFJ2W-$N&A-GvT)eCASS=YhV_yM6ddD_w9?E!>GD}QZZJz#1p=X=3+h~K@Sw#_-KJZxMvoZ=1>_Z)Gn z{Wx@|wyuopjCy#lUtj9yC2<*0)PH7)J3n%!aFOcVbZv<}8R>ndruGf9)^bB-m+fV! z$Wq_$U@W_I6JBONc>9OD{$8J~w>8w6&g+8Tp}#xh_RQJXXnVsop#Et%enWi-`VnXw zPn;>_q|i&sQKEl{&m{}G7Qe)w&Q6o{QwE01b&M@KU4Tw z*xpGts^9OLOMNMkn_p*NgIE7A&J?~3U*#>n58w0=vV(7>NFR09aBoZz;^qHY=offZ zgfbk-ziv12>a3%Nef{3EBiELlLmejW;iWT$8PzdY^u+zrQ5}V6A0Az4eUYt(9d%vt zJ&`HgbO~mR)m<;F^Q3e3%$dS3Rd>;z%#!ul;7-=6r&K1jgx}@J@?1P=(?hvuGk^GH zWPeCEb%RZnU;|($O0W^I^%#~T?gZGDe?<3Q%n$5t`S}r3UJ*nheqOlznIZ z!aFV)Pv2Q}7xkb#O3z>N*89Tyx-`bswqOsed7TvP(`0PZse)a8pXQz#CO(br;V)eK zeo=of4u{5lKHw^}Dcf>$@a>21Jbb5km(0b_DTS|`*G}t^mF5L z@Q3~GOyO(Z=McXq-S?BO)UW6$crioWj^D3^xZT8ETt5?@b@5{!>0==_cG`%yy9TGc z>di(P=ervxUgQ5hTsug!O_j=VML;G7y zLU!KMgdeO_f?Io*GxDE{TTFv7pxSX?8l3;HuYzeyQ(x&l)9+h_iPv7(fgp4 z!Y903#O*AVWs%G?5+hYKz4yy+5a(3=O5rogr|rA2u^JnM^%1SF&`q53cHK*5R{2_5 zng2d?rEtCCp}W~j#o~qT*GadBldCDZl`^B6a|uj zeiizWN3Rq<$GddG0ldaJE#0Y*@RVIx`+W4@V^#_mDQ%mBnUCMvOn)=pS3hZX%8SPtwZyfgQdmI&#m2hl>6Y2^2 zaUbM|iMvkR;}RtEZAEr&WFLCpb64t~P3#_&XluEthcHVvD_%(bK6$0^KD}F;lZ!j5 zbRUk6+WW@dR?|-KR%jQXMU;%Tte=vK&hyV?I79V>)VIs~>Tdgf`Vf5Pn^&BkkJ2=~ zqn;E=nCm}BpwB*KrLawTv^l4@sWbi2KunOv@I`35q5Yuh%6`bd6( zVd6ABYsGyNhVsYl@Gw2Tn^KaXoptFT{v7f5KYOL{r=cv;&i)>L;`{puYHs= zo_@}X^O;4mZ)?GPKG!YkL#MP3L)#4Pqj=XNf5Qw|3)s~HbjD~K3QONWt9JTqk?X#tj31MohEriVwc7?C&vbNe?mrtQ+i)=wn26Ux&Mq%7NB`LCBmbK6)RIFVJ-=8kI>5GqJ(zGklF?qU zX0UGyi28V>i!9&Xx6q{;Ot9(vy!9x&rr~vLGhP@uq5kPgF^nbik{q0eSLOvP;Wyl= zC4Cap+NypV_8ei4S2{eR-vX8cdx8L5q!>tcX@tUZgmou`}T7j$FLT`XC(Hn;I7Syubl29VfL zJMHZHVR&`Cc*X7Mfmi(Ac6LX(p~~lP0oqPz&4w~t*6wX(&UK@Wr&xJbjy34|p=&0d zYm@SFsJx9k(67+FTy(~dhH>X=IBe$ZVf6)lPiypssDHG8brW}jxVsg%B;Q`QXZM#l zR9Yb&C*D!wy(^5jx7eR3FWPSOOuVhJU6qdo;%*T4DT>P@>@-;8OIF-{n*5fISp#ba zi|b|4R<~1s;188QhDWqbU_IMc!gVX*qHO{10)Mpt9$_6|(_nvSh>PC~wg9H>IKiX3 z9Ri;R9}r00YLChUD;-lAUHK@3d|Qp^4ntSHW5xM%&Bl-0Jw|9UcO1G5bW_sLrXOuh z#AMEFiDKRG-9(W?&uCszzmxH!eWmaYW!lnYUSZ#yyxgzttre~9<)A;lcP0F$jOwi$ zY#z*w002B${`P~S~5@<_`GFg``LP2jO)dUS^;0yPLl;u==i*(2wfxA}x_$o9C#FZ?Eg& zkk~HUqkCOqdm}r__i6af!FP>!wad6JkEp(^rh|X+_23I*&c2g>_t~{&_RRvtYv{n9 zy<)|k(=`1R=^-0))SeT?&8fcJNxXI9eM5bRcx85q^+SLDeWJ4Jx9pu^>o z)IgC;?v$sx2r(;8GTyw0{j8+-kGwmbPL_(-EOV(t#E$y|{T#EOxP#ZMxbK2dFXj)@ zJv6!0n?va#CH1`tXj@*s;=bd7znXh|Xr+5he@qkBL)a0YhqxcrUrH4DCrCRBU7k26 ziSxrv;$V6d#gPtd*h_zY1^r(-$HqRdcXO##^6MN!ZX1WmbUXADz0o+K_UQo|2a`NG z9@=Ksp|wYgGfen2;SW_fkNU3l zR6r=1?e6|hc(n9KX(_+`U|Fz_iEm^}bkhFYUHhY98OQag?hZje1^w3r*mqt(N8Q-z`N+-e)zp$hKguN(S# z=okGsU#17mSK@szcolFgCm7zQdaPZKz%Tc@XuhR%)ZWLyTNCh;;MoNH9C&jHo`X;N zGTH+?@LweRwWKgPg;*-~*cKUh=qXuq%Ehi?wEitQy0!N{H;3R|Z8S>SW2Aj6@A5xt z_rNZF8j$sg4A2zeX9<6=50|gAy#`OL4nFg!FCT}d>-By<$8YJ;Q((PdkKx_Pyj{6# z^>&`HKEfWRF#jk{?d8nZ!0nzNlNVOH=yyt^3tQt~UU6Tzk3jX`2K_Mffqz7-MB5EM z2>wU`JmNh7HUd_fpDbZxgpCqr``oR+n7(Cv&>E4OYwWJM&2H<`Jf@F0bHq789MjRr zq?fU1FJ5Hx%60wD#KClzJoX7L0oqh@+|Wz@@X@1s z*$=-t_{Hs^QLtGsxtR5c?hx2a3{(9b1)Bydtv|KHaZmqD-Yc$)z6p97y#M9*#qC&X z%C*NjVYh7()_|kuLz{$U3Hw4qm}FT`+#J!<}utkGl4qH5T>!_ zC~LsO3|8lR6R(@a3q9?-lynPwK6;eh7m zWSUdZ974_z|BCd>pfUN>oaoM~@w6)wB=K_JcsML~?S%{?T6VU6r?Ie)^kn;{9}O>_ z41c(3D{cz%adC1!`k?t_K=a#2Cf3~;G=Cq^+?Pyq6q<|CK~{HvTTY{PY`BW~2W4jJ z<#op{zXs*X+d_C||4JcGu&WQkcWaF*_03?@W*b4h(4B(r_2NTY$M3e?75Zp(9IeQZ z2Px~I}SDlR_%EUI|X*Q1Um;d2`2f|+KA{Xu15cWnH|WzkHQ+j z7Quq?L0B``X|Q;i+Q8Pq9xFaPqU!=n-&~CKgVlpQ)ux^E|%|uwk&EO_f&t%h+E5rg6pTXWbS>`}4Pzut~xe z!!R4CIgf8&{&Z7+pZ^|c+umF(ll#G1OR!O}7OMGST&7)N`Xp`AHt|;9CGXA>6M4jk?QLA zF$oQPSsSF$L3mtt>aW2c1{SPiD1TePy1>lf!6HNS`NVxWziLMWTI8D0Y*KM6 zUXFiYlemHJj>;`E>127Uue1@j@h!=HrH8O4!WNYVdGbCF^%Y&Z==utCUg_O2Xy>6F z7AlQzw^Y(NG zYgI|JTDaHWPppMQm1Q0w?Ih0Qcu#-(5*pIopRI9x%PVMqg-I3}=KTDKoccTPa8q&5 z#fLT<$NPz&ecMXW_f&?#+Q3?1sYfy}4mJQ5m$NCbez3srsl3jD4T71RS>5)UjuMYW z!o~u=jAyF1vtTm;X7yqBP>NLdzt@3XKN_*6=4~$^I$z<{V)QF?yAy;+4ohn6*P7r`rFKp^oq+NIp~#&Cs2L?uCle=jyc$tnt?0 zAGaU6EOgIS+*i1~4}*0*gAhOfi#vqKr; z)olhq$Z1@hAL^ePuTB$pow(KyO5$pV7t|EbeQUJ(Rg5nqe$C3)Zxh%6nC&yV+2t_{ zcBBMr2g`%m*@L$_x*o8m+lu+^2kQZg^BV;_6vI^JLtu+wHXn}iZSzjM(_n91RvQT^ zbLbyZnN9wQ+whJR_dS+Z)zwQT&VuE@MtE1h<~~2GBZXC5OL+*ha|DEOt6ErpO@vk7 z?tNZ?Y}gtgzD(&6E^L-=QeAgIyA|4xiDyJBAKSK2-+9|$2-+!Vm0vyj{~*}m66`S8 zB-l0)z0TF^4A@DqrwDsxUA@vi4z>n%sjwhzlVR+-Mh-Z{WMU24hSA?ot2{L^>1u^G zNK052tUHEfz}mqE!EWH)rO$q0&hvAG$LdG%2B0|x&10lPd4!FCE&OruI5+`zyaYP} zHXp;JTjs_=iond7>pWdD%XOzuw9Eq+}reI5G!ol$$JP8-2G!LpveUwgKG$ESr| zMHL}m<4EkzcSgsefjZEC#64D$$75h~ z4s24$e4YI6;%@_NmH0!-kDXgD@pq%24_qkAfh>l8Zk-M!m+-qqF#YdKk26-D)CAI>1(XvM%mEBMqG& z`Zcuw1I%9*TE&m&uieKV^!ZEnpQgA(q^RDwyS}()t^DvBD#_mwu)znIzeOKk@}@`Q z+F7tE;$JTys=s2n!yyr0x>8=6`k8N)-D zdrHjSMdn#@E3$WG12$jJdJ*wHqBN+(cpKZ=kh1~(ielJVG(1=y2Z(=y_y-ifxZM8J zC9XWG_e0QT?`LuciIo9rbVVX$PwS`~Sjcm^kCa`2(fRBR=C`lVFPi zqWq9^mmhA;jPm2h(s|;v9E|v=UdAy9b6^^e()y@HB=hjPL;F?j+$ATjb+hh|GrJ_BG%FV1HKZ1R5i9QNUHJ~Lp4O86WHo7#j= zhWwoM;qT;KeNX$1vbya@<}ZCgd9HpP`-k6KJlAdlYXl4Ota{FZZ2>DSyT++b!kP&S z`hg#(Oy>MtI(IuV$AN;F-HNeLggAXM39rNO>V&V852E@9Ba3DfP=t?&BONrPM2VvV5h)>`cm9Ju(L5t zbvOjJ24;4ptzY-p98F;pgr(n?95zkZXWGlxbG8z1^ik+Dcs8Mm(oe0Zte}Sc-4XPu z)DOaOfQ94?^m<}zHD5aru34aMIJbssHNCx`^ki43*`A|EX`Lgj8S;29@98CQ+goEk z2HM)rx#Eq$=;o|%1{yuFv@R`9YdlQrvLLMwyR?*tsW)Ixjr%=(-0`Zrt}@_*Y~X7H zzn1s(2=q3lNYk6iZ9a`d&rp;51k7T-U6=paXbs&39kBkhv=h2Su}pr=o!dHiPLZwevnFjaIOSxSbbexJ%>tlO3ler17rN{+oFARs<%1f zZN1y?QB$wuB025&QTYa7)*YjlZeE4{81!a;k+(7(sohvumPLkNf=ZOV*>W?PomeT1 z@?L@d>L%$9o9$lekHGEbGZW56SS0V?%SCx_CCU)-bHx9x;#*$O9e)1{I@sL_p}l1B zeZJIJC*%V-$i8?!Zj_I&o2Ehn+=I7Gk>Ti|>f^;96zT zX=m5>TA)u+o{RZE{cO_bQQKD_4Cg+`83|s~Pj>l=+sKT6{!9wTj-XLJ>WQWOoLJg} z@x3EzZ>4eQCHL8PZ_+>gFGaOSx@?5B7fD;Tq=lhhu%^+$$gm@er}MqrqB7P?o~3(M z;caF5tm948il#SWpTO6~DSivfg3W>j>leyfJJ<}E>5^F53hVRq58+*UFUXg8jSx0h z!hZtnWQ@P^e*{eBE9Ebi8UBv@@D~aojXP3o>p*AXcrx9pe5^vF_EBGO`WK<8cJ-5f zQ)NZwLo0|JK@ksex2b+#z8L-+nQy#EM-d#P)bij+HR%8C7vSgvzGUcLO%i4z6t#_VI3v(^I+YZ(4Qu(r-XhDtUrN1Ltbl#@b?mS zzvYMKY(jk1X(wT;CF%8no!^9hgs}Az`U$Y~N0RGzny_lZ;`KWZ){sCiJM9n)B#nf< zfcNyn{xdE=tV3b6cr#k|M+O=_F@5yuw?}#+BWY4!klyNQyU*rc>2LpsqL^HCyoLTn zS!_OwTpZvVdUP)f>nCh&ldw_3R6j}a4il#ODGgKE2I(Lhgjv~klMkCi+8m**Y|3|@ zzoReo`F>oK?~1o>o_-TyN$E?jTM1M8rFm0WH(?dj`!Mg=4H?!CS;=#C(To!4Crmmu z{qcV{yMlXmtRJ@%HcXgwUi#gHS(&c3dX#)k!&l*d#Je7)H4k>k$BEM`>=67WgS1{) zoYo9s(?MEKEKjTPZRm%Rw6=mRB&4PGs9+<<3Bsf!(?305+#Xp@cHF!8+D*ca5LTZMCYhKgtbs7S>(T!wJ$i%({JBTV}q(od!g*uTO2=Nw@xe7(bLQuZwC7WYz{ zRC&}BOZ&!n+6OMUBRyVqr|C|~(qYoqK96*bOJ8j>b_@D~^nhezAOCH+ZIen}m?h-NE5b}8W z?qmoJ>Ne*}=jvDGyYIPP?mOYnqjZ~4SQ*m&2=D2(g*S1n<&mIVIw7Rl(#wZHU@5W@|Cp*R43xsNR!nCd3!JM zc*L*zsk8_DtgN>r^Ghl#F1m{EKgZYI<&K}ynHr&gA1*KJ9C#CWX<3zraq^HM%*s@g zoQKkOR$AxC!^?v_AH8&iu;iRb}dd zU(5gUW%?0#LLDWQX%2q>^DJLSpLP6HrZw_D2ES6>Q9X)(9=x=j6lV)z6D4t!xAWv} z68tXS)BBS1mQ>d63o0t!6yz-vm9_mD?AwK(wO@TQzofDrf#0(Ne!o0NZk#?oO}?8y zUS8Jo;92m}vZ_oANtq6lhsB^w|M{;ExJ(=5;o=|NFTp0kPJlhts2tri*eaOWKR)g}So#yi*h#QV3APH> zR)TGS^?)%IvPXHTA7lRkSiBClfDMAh?devq5in~r#pACN>|hDj2X+W7Ue7~d6JYT) z4uXw?J=AjI_#FnD1gnc-GYR~TC-6I!!0%iFzlwLc{KfOq09Km6W-#UNl2~5az*OFN z+%B*&Fx7`1{ofBZ3Ko~iVKCJnE{brk@Hm*t8?UP=FxB5fM8}iiZx(C{>?Q&D%*S<8 z6%Hyn%{6~fnx~*S2hGz&!z26f99Z=y%lGRltojb@<%BTt+Co@8Vex#mdiprl2`2sl z)V28l60!&v&`y)&DX`S=& z_juaP_GvY|oBjyTw}(9OuaEP+!w0ZWtBbhlPZj5}AFKlG_vKOLn(*aSSt6832wCtl`AvCN$UYXW;9GM9d@iyz3G z=JbtVoy32c@?w5&e2eb>o4vu7D)qk{bYsxHyPQs&PmA_x?T2<1+Szhigg2s9T}(nd z^6B`#XOpF9FNOALbr-uMv+pfT}aiyKG9AS@9Iu;iBZ2JgnCoCwZ+IGm(n|`%*V%9(X*&a@I`*io! zTpu`1iK8-36Yn6rf-(x52O9%>7Vmn5odlZ!v-L23YkXS;I}J9>d)y}{8BX6x{*SH{ z<`ovnx}0nsp8kChRtB-Z)nl|Cla2NW3u;+*eW%Orv=zGz<2&&UI=vtvOe>^t?9l)2SzMy>c z5Y|bU>69WKH-xP!x>4x*p?fCpvAQR%>%#o1jgCS$0^N>~E+`jkoxWg!@Af3LQ_$`f zt)1buMCnidB{PRo?a=8 zi;goce$N;DqA`zq_louz?$c)hix79mz&N}*;HAE+M|C^})(vJhKliMSr=qhy#|RrB z?0F()9-@3Nf*lGllV$vyc19{{f63K4bkopnS6siJv6h4Ct6*_EKLd6i?BSy0Q6Fg0 zf%d=f>%r7-d=IUi&!Fd^Xo^bMUbD9tfREaB6kc24^&nWf_V2FCa4SwdACS1LCbh?H z(%WG=Xd2q;&zIY;D$fF8wS;ZsU1ud!7pK8Gz@9G52AAEVwia2Unm|Y#=#DP zwJX1z!BPE8fgK0S3M;AWo@i^k>53E3Ee2ssA75jm?nV%H9&8P|=L+Ky@9IB6 zAI$i>3QcaTe^FQ3x9+pPv*z`|Fs;0`5oee<3t|%2n>lSj@Z&jqawN|g8m8%sPA8{7 z{&ObBoW=BmQ7hpG;nha?XT{6PnK0h7WLqRueqL~#xHH5J+C^nO1vU-#9na6(0gP=$ zXZDaZaSZJMEz{V!$i@$lpD&f&yI5?0Xfr1Wqb8#m+bR71qi*6>d^yUGWN`p&1Af0x z7AK%f6Zih;)P{4=)yC3L9i9NI2Kx%{o7SNYbH?+`xYhu9^&#YuxLu0NJ!(ore;M%O z;DPPZ0oDRG4>rPkEFH7+?YyZ*&h4ZF64uR5K4@D6I9)Oduk-M_y_i>2&wPl=ZYhfA zd7F5}0hiYk@M@mrt_tzu$?%s4>jyg^02$TZ-wX=bbxTK+{vhkA(7Z}Ctfw5%HTX29 zmE!Xj$0xqe*w*TF85mB=qAFr=ludAy__M^nRq=PY z_~E|)EGw11C>l$p-!dOU9>3~sMCP8}Mx^o&q=y4yeZEKc>ia!6jl}CAUN7;IY{DVJ z`UtZz|9W>u?;zMXSdO@^owSE(TTOT{1bY z@0$^*u(O0^3A2zqNmwJc zVfsJ+-nVhtnW{d0$xdw(Y8|gP#^F8u^Hkk#R0kg52vif^POt;w_ zhx3tqH;fhuQ!u$aN4y2%#eGyc|gPhnA(Y zolZmB3~gy!Nha0_+e%ncyEl9Uc_FM$Y4E5|H-m{jz$9mFVB$Z|drS|~veDUGeO9$d z?a|gM$1riHiMyb<$fQ3*P0OX;8jhXFw$eTVZP&5lyD;X!dckZD2sENQ0X6^@*l#N5 zWC!ytFxijkx1F^8syY#^I+-QxAYly(yOuEPH*Oz;_%(eLdxY@E^R7o&7VHSvK11Ao z_;#>7*rKpVHlP7@>h~~M^EXxsUlp)7tRv)(>z%!M zfoVkz`ybmib#mWbJ4M`S;(kJL|9^aUt?^^nLx1D<7sEpJwH0gu>>Ba3d8c_8SI_%?gXiNwO1GKqo0srg*Z^45x4d1$?<{{K zV69+p=Dh-Y+>b-}yOO`dCYhKa&KPmNr#Q%3eD2}T*kqHwxz-Q)IpQ|ni`-T7gZ7L2 zqU{?7(cHbAx%=-DebIc5d*DJs=&7U^znWC0f_`%jrae}AR$sS8~?aUYcJgSK%# zbw$Z2u(yU!bUJOpnBgqSj)af&V4M_L23+NOx{TEpl0Hp7I!^xn@8G2W7xQK4eoh=G z*QQgkJ|6gYa5~`8_7lIJ0UNbdFIW%QExsP&wnNp6D5|$L_&5>gv(<;Op|I&uOROv7 z|NS}Nce%jjDc)Am`EI*Ap0=ubKipcW){-XKR+A(8S$I_}uM}Q$vExEy)K9}7+w6|> zQFx4sOm(>mu$E5!j34f>zV>RpZ^?_h)AIKKtym1L))ZKKBpztLdEmnKf&E zuUWHZ_6&3VTdfbXa^@szzdPWw`UGb)sC?}`L+>@wtdqPnin{qGVn1}fzyGzjMUhAP zb)>CuM(h*cVK|2hoqWa6le)t&3+?(>4*jpY!*GCf&0RF~ci&-H@kzoj8TyCaVYn84 z^Og_&L+&u#1Fycup?}C7hKWzHKY!&=aQ1e1Jb9u!4CfQ}Bw_z2?=aMyZ71<$R}Fc; zkQ}AYac}S`GnUx9q8E40&|Oz=&*m@tk_9?T{>j#5cEBJ6SCb`Q;S~~KV#c9^C^org0BTP_F%f_)lTnO1Ktk4Q0bZG z8?Te-A~!rG_nnmTy@PPwmkrr701!!-f5@V~1YA}kOZkctzDOe;&h#=m#(c*27ln98 zW)8w*2p(-3^RcmG$2E6#FTOpqY+KP1b6fY*-HHC`12ZT@dr8p(j;`eMr&Q;RZAG_d z?nq0A(Y))2Ww|s8%YK^q%{4>T7Q*``{+hvBUpM4!b>rS0I^)ybo0VH5aOWPirQe#0 zT_j*w@5iI?BJRZ{$j}&EQ+87h>#%**gwm<{93@RH*A01yeGCX?mFd$MF_{A^58ZD| zCW=DzjbIg@VgJb+hrEkt@-nSVHF@Cnn@pM;&!;*0&#ni+g*~+9WYnZR6O~Yr@5_`H z)%z`{*l)2EMrqkeT6*3*2tS_yrzw#!1)85P3m-aVE!%q3H=I;Z9)hMD<)thw`v51r*d6~IoMrYBs%N;jFEjySt7rPbecJ(EixAwtn`-UNFA3+wp!^wgMbb?Dm@hUCj z(C&q{RPpj?E|d5y>&0MZPDl868o9!R4ljl2g3r?YR&CW*bp%D7(e6Or)y!6rkP^t%DDaj>~+r#bt=`DI;2sUcd8 zUFup^!fFMVkkV)%Q$ET+$NJdDp`iU`!K%Oxg8f;QYIyl~qFl7CXj$isRUI>LEpDHc zUSZ@Y6Qp&?2TD`Li%yxjU{-mmEFm6i;nDeyAy2A!J`cn&JeGFMY&1;HaKbpXB9F&> zg6)RK=%yi$CA=Ju291N32Nwey78fLE=Y{2%C)2M86=|~w`Sw}27Ka5rG%AN0{?4A2 zYqyGj-hVLOzjMgm5$BhKiCjCQ$;K#G@j`k3kK%varg zeYw8QWg@B1#`biAR_>;M!DnZ{2VLTJ-BTXs&MNa^15|8?<>zFkXLUX0D7Bb|+zL+K0@U&HCP2WB*dK+igh+Cr1Qf=M(mpNZ3Kb zHb0558wtBK6tG+Wt z9CO|dJPL2A)7=tk>zk0rpDoI@50%$`(lq(*A@4){wl*Q!sN1h+)$kXF^Jop(YK3mb3ZT?>?4v+yAP}a%#4wSmpw;DdfEVf^W>-cFg9sp-!L{U zt-mN|*dSKem3dw;J7DTDd7AUZWTNteL&5sp99UF?%>{cdzZ0CpqHh6JS6T2{@Rw+8 zjO!1%KF7fasrJ~aqW?K@uI(li&6A?VwBhCHT)vW52~by%Jjt9hhfXTF5TCz-EImj`1PHGNwB z;COsLFy_xhJ^Y&Cm)$w!ZC3=QOw9a;voN=1%>2iciMt0Xo4PWtE2unnz^5BN3&h9N zFK1+#c6ycHGR@lce(3t3^Y^HTT;+5a`~di;1(@(gZ`M9z78hOHw#8t|q4dkxOFup2 z9d~UeEZcH=sgrF@seh*~3)N$HkB{0+3;aeuGi1Ln#on(uw9>U6y!`GV@1>HVCSB-L zjPJ{C&q$GIU_Sq-Q>79r!=2Dq{>PB_)F)Lxsj;%Pi_6;1FI&5ytd$8uOd9LC0%z^2 zvbIHrh9h`lXgK=>yijtRR%rY3{5_nPuzSefkw`teb!hsSTmM3DT_3YfxSnta3Fogv z){@7qU^`wp8Qkyb>@bEGLu5x0Z6PMu6qtk*lZK(vNEcX*W`;8&*2TpF9vRrBHW5&Sq z@sxiphmr3mpieBD49<0Fg-`LDL+bF(_@JEqT|lx1T*7Mrtn))B|n zdxyMxf^=ew3hG?l{z`LYy$ltq%N@{H+&|>~OvV6TPK5H6x=7h-Fnb&hK->SlA$tb! zCVN&Bp{)GJFY(}zcdg_{`qpGwxxEuv{%S{=z1SBX8Vc^1Uk6qJ)&llD#ck@BeUjn3 z-;E4+V?s}o1sLw|TgVM;7n-~L7-LuhiK+4xCFy6R+;x8!nIJt$#kZCC_Wc0+6n)pm zmz%E?=&pUq^nWDF4iMkL;63?(W4)aCH}B>i5J~IJ_+_ zNxwGfNH2DzJBgy<>&UZ-A+K5T?D6B%1$ybN5|4!v0sVhX*#MC8`Be|n zVthchBppqYqe-oGB$qoN{Rfd?nM_`at9C-Nl+H=gdFW5*I@-wbB+}XGN9FS|S7{X{ zoW z_G$W`slR&Nd-$PLwEkFjj49v+)L)UQx4vYv3DRrYXYoGz`!kMsZ6-2is$|m-#;Zh&N>X1a8%;KFRNZRa1tM)s@=J%; zUFr~ZgWbfpalxeB`^9?;e|=z?h9ll#en-dc!a2Oo=8Vy4b#rfwteXeR%5Pzxga2v? z5MNKrt-aMVXtVUeFzoj5H9@~;*^$7;EFNpXdco#6{oQs6>}#jE-sN}a6w5EbUUCs0Nr0z_LRdm?ijhE?jw=eMtHw$Cb3y zvP71@TIhQ&I^qqu`V8+UG5RX9xnqV*Z0}$tD!RaG_nmHp$NY<3Iw-de@+Q?_4S(D5 z%i?GBHKU924M&0QW#-Szh@^D7p)_4A9}G_swOb9%=>NpC_tlf$XNgmN=XR}Sxpm@@ z-hD^Dh0@xn>b^~TTYbb!Ym;-N???1C+IcGV(b)F3utfHW&F~r|9cG^zw&9LcI+-%1 zVe4ln{=Kb7ypO4Xd_9=?@>0#0?Go-YOdn)&rFM4+`pWB$n6oH(HIMqpIQUxdBd$G# z=l2DDB%As(NiI}?nE$BF)ZIt^uRr4LmM-t7DbVGYAr?|5Nh)jgleN%yzUheFV{Yh~ z5*1%iQjOnc{0`#xRq1LzucqAmh1muIW?_kBLoc+4UNh;P;J1|x=#lQ*xzx9Vw(4f- zc3pmmFf}(Fv3q?Kj%Pl9Q{dg;m$>pM*hg&I@lwnsuPa-AZOh8kH`SNc zbtMwdn|w5o2g*y+e)fmne8ld-H+^=w`Yd}vw`5khvrQp0;Wt5h09xN}Bc5Ggha%Wc zu)zqn7i=7?S9RzJkHi2K6Hl;*}ejoI^I*xc3st@|~p>~tLwaAT3c3k3pbN2S+TgtXF1a~D@xLev6n(0h0H@3GY^e44)ZC}{8xV4ezzjm@3a!*kKu3ee~Qqy^EHGW{PdAveNJ_^ z5o{dnPZ?f}UV$wjTz4NbRZYvV@^%;W`#yKXn|NZ`r4D;2wtBElZie3pc(v|6;(cwp zxv!a9nDzH1)LMFLI+okgk~P%zO4mY`QrAnVYu&=Wnot{DJ5cM1`jH07pG^mlKVL+j zaCr*rIjJuP9dMyGB&%6C6FniV-FhG4*M8}UH}$w>;^s)Lsc*#Q!b!?Xc$R(_d&{09 zb}xY0Z@zjq3m4~?TxFIo%-CE5O*1q(KA@j>UoMRS8)Qt=(KP!>jLZGS@)7*?=)9m@p=V`{ufJcxY8&;J%u`p6uxMD4KsCYAM) zRO)9&KNYzNgUjBRixSC=@N^ii)?;{@Z1bkkn_=4s%s7XMbl&6n&lZFAZ= z@k)&qBe4x_xv`11!>jp~l$&_@W0>9R(4fT-2E8d`y`?3o?0ccFef4lKztT9dAFKxK zNBj=8)rc+6*($R-I5TGGa_c~n&2t`NJqdnGRGubH4Xn>>OE2%tbQGly24kwCQ@z(i z-};J4Z$bd`9CI8G{KTsjzx}Tn_Wly9Cu;h5krDK4yEN;gUC?h|G;C#%(VvhnZqD;2 z#304ZY-Vvuv;UJg>i9cAxP1zzG)KY(>nHziKNCPxv23uQtG+W2Gd|T1dk^#5q+c5> zjHYAPQL6CoT0HFCGo9XG#$hubVWr)c$!fyPZ5Z|{#gj5b%Q0tutKF@~uM$81yDpJr z`RfF)20vAKV9#l2KRwe`rx+|K;d&-EX|jr=dpgjj*gy_(k$l8f(udSGZWBU)f*0*9kOv+Wxhl!`6X*l?14Jgsd-wE(? z@crs@5!s&81B3XDskU$;w5S9-L|q}i(CjH)jm33Sb1rW6({*4Q!G7r4XjuP@8PmQN z+fUs%pmw_te#I9L+kN0GFdL;lY2-Ryrd=P#e;5Ad`!VCs8i8F#H~v%jH(W9tS|8+2 zAS#}t2TWg_`+eji{^tdK3OVQYdSaVOr`b3h`UcXZtd_W&3D>rI*t=Q@K^{20hPA7X zjJ?gAF1(z5#>T>6 NJ=p@`O!ku|5FTO0y*_t!~`14FjANsB6_d(zN=&;8!cg{9t zW#{5;MJvrdv16jAy{m7GLtp*VVXMO${-$qecMQhVT;CAyiXUK~h4y3Oouge|)}Bhg zjBMwqt&C`Ze%;T8z0bwaFUrxIH9I((@|PPrH~6&5;9OlNckn;(^I@|uA#>lIrmcqO zXj-C>R4@V&TJ>o?A)fa>JK(9(w`DDvtvr7D*N>X>jWX@XAu3P}C(P59|*%B4$ka{VFX|B+$){W9+=^Q~YlU?=!3ndEE{ zjNxw2+%nnJwC64F%jsnjLV1YOUkBhcy19+gQII>UjH zVeiF??|C-9c$v9ad!=O>{!(mXq}QpP=n1u_PtVP@r)+rZw$fF@-}o)jeJLt?cn|c$%#t-o+hIvDlLCx_o>MfL+OJaD3>n2-sd+pV$)a) zX*1yt67D92Gj&BjaBbqIpsJRZ*ptMlHOSWR*GagFKQSLsebAP|vOZED(%HUG<_bj= z8*CCuJ9b_X*;e{PVE)AN)>S7PKX^zNlkWT=OyOUCK`tf}-s&!`{0@ zpKE*U=j_P%r(BVX`Vx*9!`oy?<=aBI1B5f@1h8+P^9SuGeE4Pg+k}7h)Ufwn)n#rB z(IiYO8FsF=RG<2}@~tmfX;Vj8Ghr5wK6tGE>#+C6LLT1?cr41}u_WNZxTyY>`5EhZ z|2^!bG)E@`1^dq^<&GKYXFF+#u(8u;?d6kU%lsCg$6ft5VdD_CnhNtvSbzcZKf<+X}Xh-!{Cz z)}U5ryOHb+3V#yXerW4O%OkAx=fs~L@jhb^o3~1^onWRd+q~VVylsYNKfH=FBi=`l zTbVQ7@A_lT9vab=>#-2Cb!VC`nSO<~O)bZId;#tP(Y{!S?8z+-Nxh99O90m3E{4Rm zXC*hJ*F5yJoILND?hd>DpE^1F)-IDA3 z{b@J+4?K0mo~vQ{i@MWA!F;tJ|55yJ%@pv#R5Ku=SdM3g0ChY22TOWqtb-jyZk4DH8Bh6`wZb{vL(O~r_}UHOJvcptLSWh5$_#-r0myw)d{!_v8b6Dx-~)FL~*7&iTN6Y*?3Bc{HZ+y@F2iwd!sH0^?R z-`o*zoZq%>Esxm~U~D$pwR@r21AdL!-;MBysT~GE@lE`S@%UL!n(wM7%fZ79I@Zpn|84Dlo|C}=f+%N*72=zm7(5@zdN8GfZnXRalWOKot$gM zCP9CAxbFd-JZ9$1ibvzsA;R@M`)><3hj698Mjx*nv1g}>8BYU$yU9>Hcq8pAv!c_K zf1VxUc;=kSK7q4FykXj1 zCSl_#7>np<+FLTIEvbc@OH7}uc05Be@t(4rOypkAoRX`2*YNj7(q#0*55CWYp3na~ zNzZ|^N6b1%rUN|Jx6C{tnD4T=BQi}edS?xJUF-90w0t$*Ou@IkYQ&qb@|+KzFB9&v zrDEFk1KhV{56C3g6HmQ~$xa3`@1{ zqm_}JZri?etX)_kyc^`;Xe+3Gjp9mkXpk z-F`fy|FW+^jg0QQSa=T*!KC$H9KWA0YfETzbN` zKGRoed*)n7avC(0WhOlZ9@|MStwGZ((w)N6P? z6luSV@aZmfufq1bv?Sg>va}?AVC3A5(dh?nwW~%B*xUZYN6i{t=HM0(o8QLYAP-(l zngy8r+V3n>K5Ox7!Ot%rmBA*k)nJze^!nNcTLB*zN{;QozZ-uX(@w+rFPIOq`te|F z{uh_1t&YNE{!2%^ALp+*|rHvqqR^GBlJ z^5tZ+$*)51}MoGNX7;=f=dSW^q@zHWRzm`vRtDf9&< zUsHr#yJ*BShjrw}m0W#khcaj7=G7My&J(}%HBnRZN%SaXY{D6DObMi=ePNyQf*{6VY`=%*fZF2XRU|RTa&szlHPh9 z5~Q^ZHmro!GE@&!@H+`V*|D|W9PVF6zEJ8xpU9?u9NQz9P|qWH!!g=h1ARHJjhqbH zh{UDQDK|pjvTVdF#x|#ND2O}U2HK`+1Jp$|!S}16go#XIFyHUs5x-URd83z0|s&L0o7uigy^MnX9G4}IO~limVH zkBm2ML}kAbzj+spc$nav?J?2^a%Ha#K}?8ZL_4LaKDHlTea$1@A;rT}!`}c{=WEfW z)W>pjdDCavAea6m9X>aKw`a1K9;ZL79trMR5}!)2^cX)1d9JisdF*4JCwhabvyz zNa#iSR6RTnUg7F8zx{=IXq_U*1Z#5e0uSZA6FzIN8nJs{3?F2JzW1)dj_Zguky2aS z3+)bQzs7I%-8`Ahfe0c;b{O4CWjzZ0yw(xBKZ|$8Hw9J=b``(#+H<9`YFZNsW!;K* z^>68~(7sjeHD{a6jVIyunoV`b%4|l6_GwfL)mbNTY`l8J-s@%R6Q;;B+kLM$uJpt` z(Dgxg)V0ZiecQ+m?3EQXO(~jmEURd$A4>+DAbi`J5%1Z`OHS@X8alUlYebGBKa|Fr z-_bs=4X2S$#FfTHYF9Rmwa~4GZU=O4=XXfX7@IL4W>oOm2i3EJ4{s!&_z9Wnsf%z! zgtJD}gZy51zFo?wl!PbC%Cxo2T7wnI&4aAQhZXKj8ok_(uNRBRsSLOu$_xcg@btL#^L+cl6s4BBM{C41XhwDR+Q~nG$2&6g+F=8O~ZSkAoHMl<4u9U`Z zu)|=pU3!G=1{;Xb^?@A%^V_oM4uKtvgdGLz2lLlbMK=X@Ai}Slh1LBLepO(7VEW8J zkHXf0?E|AY%%k#Z1ltSd%hQe&a+^7w=-1*m<@@ojdDJGbhMPw08SK345$$&HCh#i_ zV)v}=0^0$0_Y;@5*6&|QYlU+V{LLd?zv4h-#@DI8 zFOC&}7`0q|HcRl;@LIQ#aW%hx=Ee)tr*u&R=3{*#7ETTeODcyQ@HqMQk>IXSm2odv z<{jZR0Ir`vj;f#a<5!K}=lE^qdTzg(oBvyTM7W!wLn&xC+ZAZtb=2R{8L*;Fw;v)>xeDkP1bb{>yQ~&ZG;XA?{h8nN9JQCdmq= zaWlO7wv2cmlyHVuczkqo_!>@Ku%#N5^FlK|_7S$KllG}JnzoqJ^H-E08+1CZn7Q*MDHd+pV;i`_0UJ)XcARyMn796_v3Q^+LZN z`tNBliln!|cEYzy(+mV?vvwR${FV53jCdP0kVW|AY>aLXOk285;|f}NWF*IKsr12X z<4)}KI$Hvph`Spw&c?P}XMEfy8(SeWj*@6f`O}2e5Qg`Zsh{p4o~|#szQX?EEh&A@ zZS5qIormy0_+@N;uHQcHIF{A1o$<-gJgf4*(Qm&pV$VP{`&RjWg3qBCNl{kWud3KT zMC{b3;%kN9r(`?ZbHsa9h8M=Sux&EeMtr>>{i*o!A9iy5$lWC?#Oa0^UjBp}t4wtc0@?$?d6ZfMV@muR3c`}aUvK@K74$BO$ z8&r!vkxHy5?3eWOVwIofzU;1Pg_hdwNL?4q&E`Q{{J@BJk7#)`_GH2KfGsr$(c?CQ zO@bA<`Gi|vF*>_$c+TZj{zLo@uR>v35UGUuf-4X8>syoWfjYW-`v+9PF3hI-h zqQY5T30@@BX@u}!tW^Lv50(*5ZF>ryb^Xkt_{~23N^>mUaxMGt%^yLTjKNH^KPxNd zCCUFoZeM_D2RWNnK|9E%pQCnAsP!)_*$BUl@S6JwGT)U^K_3m<6YO_{agrj%(sPUm zSzK}@IEIq~IiG4k$yu7w+-?1am%wJ zP5nH^oG0j~p>gT6kXwC({g!T7n#RY;sd)HGgtK;mOaEyho$KH^aCpSK&6RtcJ|!hG zZ@mzEo7>158u_C}?hDNPr62yqgCpL5xw0*2Q(>K?HGOS-`&??y0IA5N68nBN;(e2J zC-|hj94E_P4fvX0GyjmhrT)VE6KHH(r1x~pkjeHNg}W2zc+xA^!=rTwnek-O$ryeh zKB30aEE%?6{D#qC#m~rfXE&@gl7X6HxIkDc?n!8yM@Kx*#qD%0b3Ot3Lr2j{CM;O9 z^Y#j{A_o$lH8I**yHU0%mB@@a`G;L_OX@O4$4m4B3OmnT15FJy&lZ48)s1oU`MC+a z4*ZM4O<8isY{5MZ%%K%^Xs#-9h2KZ`y@daQ0HZsZZ_=4#vM-Yl4g$IV&fvF6x5zcG znj(Dl_=xvf0qzk#XGV&3nh|fY4+`UN9{8>p`g-um7`z3%?pSXADt6+t9y|+PqBi87 zTHH?2PmFk3VU&j(#~7rw4P?0y@Qb;O-K`6W%8cv##gA|%y?No7U`!LPp0HDdTTQt4 zh>;1$e0fXSe5Zx+FDO2C+38SRdh+=tSC&<9LWxd)wU63V{mc~m>DdSA`b45Z zez1g&fl?kbEVy+OmCttgO&&)_aB;{Hz8kz^vJl@7o&`5{7Z*nKhrzdkN9*?l_`w)H zrNyblN$?BA16@iZzx2&2@S5Mccqs@D+F{yemKw}=-Szl4;Xml|@A{O!1!D?! zOksO*QWo{*-N8$+zSjw#(cg{Ov!#vhnA<-Y(e2rGT)hQ zoXg2W&ZkPHSH>GQ`Qj8^td3c8#7rYSLgidPE0rk!b74Dg0j~g;?DQY?+x3p#?0ul! zxpBbQ-_7Ps@=l2@Em7&&VJWZQ?jd{=e5387AABSDb$(>HO5YIpLGZ6f@F~&%h5f1# ze9mlS*Hj_>Jn&uM(e_jiJ_#;e*?$yo3wZTk3-R^ftuc5fcsF=Bo$6mZ!L$E8;@z%# zjLaz_{fo2p%F{bkkA;etDZ@>$I03)*4uTXZ&V#|*?u-Z;Tx z6H1`QF-8^JqTKj<0)9R4yO*-C;|^)xmPP}1-`W{|=t_C3M`TNe9jJnwBC~2?QD2%$ zR2Gd|TT`w*GiYtenESx#IW5#9`5`Swwd?iD=3*MV1T8ucEE;G4k@ z-ZJW~42_4P-vM6SKI*X>uOXjq6l@<@INmAoi_n!n1%6m6rWrmG|e<4S>x9d%4@3DY|j6)noZ|iE{LLuqDsU#XASAr~GJM zeybh!C8NaJ_A(!=p(dZM$zh*#hIO^qHDH6wj(RVMwEIoqCs!Qx5XZqI`t9J8E020r z5qvjzann(cEiAz!`u*a+>Ztd-2>oI31Ig|Z&rKiGw^-*(wvmb%@ zSAmybcGTWo<2;1V2k*Z8sCQmvCb2k-uuG4F#R zd8(?&aPVMd?U=Qntt#7^N_`;E?-frK{=N9WCX_B^bw2pO%f|BLQ4`o9u=TDjif#>9 zwr(s>_G|>34>k{fJ)-LbTMee8U-by<0c!?htGjuG?E!0z&>aA40rS_$M0Xf$D_B_O zO@eI(`)eqD84f0GdsRMN1=u<;|NAoWn+Mh%q05482ODs8Ai8F-*4O0oTMO0#_Ge!IX9gT2=AYlnUxSarjg_lPjePS|c`yIibAZoXn=^@M4f{=e2) zGtcMuh0fPrqbMuqf)dQFPx61+Lzf%+Ro0%8eLCf_Y|N`x{WC=`uxVX}J!QbErh)di zw1mx~+LOrvXpudcUGQse9JAjJM0EX}ZXVd$r@fO$<$V}lYgdj1>!O;UOe(!!;CpVh zFLc#--QV%g>LS1RnS|uR{AVD4;J=99{v*5@ybXMX58?`62fhp3Z;SF4z8SnH2HyeR z9fR)y?*f007`Ueyx8LzUU41(@PhkD2Q)h2F+nkPcOx?q$dyDymZ<+rIA3IcJEDjr* zG+i;@h*edPp9{vkA+yh|j`C7RY3*Y}itn;9@4u7)Q-3Kg&^ccdIV!vc`-}v`l9D%>&W+IlV`(j5W@VX)Ig#3Q;*V54Aa z3wnfgft>*JRS&g?onVQUF}p96wVy58`%@hk2R&C zB)7X6OMt>n5w4qXL+UTc8fUjM^H%x-XT4#2&COYjg-+?JJp+AU{J6Du&{jJ5B37zN zD}PP+)m}B`?Nr-%BKg&nVwYv?+IXrLkGRWs6vrOoXm1_!{v{^eZofbi8%mKW;aVDW3=Zyh}At{wAcx_%S3W8~HjQrm1|11p2M4NQ^=Yal71E?Gj$ zH$+%ld_Vk0;lD}zO&@Ni2_V^A-^~I~LR0^SG4CPKa3Wo9ZPM&yQAanXH$ECLUs&nH zsMOn8?s)(Y4lk)ESnacD-)qOb8LD*b?rsdhGUD#p%h?svUvi~G!37!e_rq+0Pj}mx zwRd4xHTz-Qo~myA=D&H&d%2V4ojU2x*{1b5^TT0@iUn0;TR&kM-a6)O)&LVHSFq~@ z_qz_JQg_D=ZuMp@sp3rZq4qJ4t-@hmx&3Q7UbLKaZ@h_Ynfdl;4ZO1N8uLD@dBC*k za`v{S^wsg^J7Xp`>)m_c*R$2tGyDqrt-f2)EvI=4X$#FBxkj;06@aMuyy3&@^a@LCUf-b>dC;r8q=%tQ-_zW!5 zKlBO9jMVN(|1fq<$&^O)yH?O$xj!{fF?M#J^eo z?h!r?UUz39o_P-ANd%V;H5dE<_&KgUc5<~EGH9vJbY%o~veGIxN>`)kcZ_)-Rh(;R zXY8dx{nwjq|M)lD74l~p&2NWFU#G(3uekk3_)hRaaAyiMUW#uY_(||T3u)kXMHcF` z&Z|fMhw&fyxYG;PlvTd9toZV>O8MGyn!>-~6Zz$<_~x9={51xj2fi@|uLtjn;EnKU z0pA6_R<=YV_j2o5k+}@}!BXkZN$??8>Fd$q!sKT+{0@9(%v%UM^4q#T)bEt;e*913 z?@W23GVNgqy!`G$d2s;y2wn?b1>OVRBU1>O{c&j(){!4+>acsuy*Vr=wk z+P%LYMx4olP5Se9aH=(hrM=%8EHz#XtPB1s?ONsqejG zUX9k@%>GtX+Jf(dd_C?8WZ8WPvj>o7{b;`r!S`YKK2lb^s*J1Jx6J4)+LpOJeTQj) zs;f@;*L`oyoL3s1JDGJ}J|=MA5p$^nzyp#TC?9BKlvZVzwZ0Y_4rMD z<%9$_*Exx*bWPzuioelNuFuKgIWMG1{$R}eUJ&l{gtLl;_}1dzi~s$B|DJ%a{G0J_ z{o$C`7x@35z+dsM7ym;!JFv(Ut`oc%+}N~fM_8QbW%9N4xZC-^Qov2tNBs7K*APzQ zaDuZm_BdP0xJ%M+qNVj<@z7@Ja9@ zh2v3z)`E?LZ8C_n|A4LjQLbHxt_y5C*tL#Ma$%?Vf!!vCw3El(f8EAGaWIu?8*+62qYxwKEPQ)LsrRQ$PT`t~#ivTd0w^(_bOa0~ZobH;A^wwU?+qLOrF z${MsEegqc1{H=y(%P-KO+*~|tKgroT>UF)!%p$Hz;gB~j+S!V=6y zDFDPH{o-_?Sq8HYdRd{dhV-f(mA;7j9?PHiNFG#y9|W&)^MH7pxs&@{Nn=Qfm&~?Z zu7_Xm_?UM-yk%GH(3UtigHapUj{hM3`mIOqF0jL3XBmVv;qC)F31-%m=r1~7hOdb$ zm-|u>8p*sN=$alq?!7}{87e#2b6=_b#p+?pIJHtPUTWv%7}bX0>C5sChSZwWin6+e zW!VeNS^!p0(IbeIhAi~;$Hwe;$R-W!5acW8a2iCn7P=PbOy4zhm|!Dx%4ZjJ>!I_P zeATCSg0+Ed$YltJyTwz`y9q^VBolSLL;o{H*w>&zt)j% zi0?Oz=6>Po8uXQkG5akBx_|m#q2{~8dRW)v*LQr(oA2TY-y;`p>pe;H6;rhR1$Na= z`0V{{d|r0px9)c?e)19@ho+|KXSpsKUd!-@4O1>B;MMzIW8N@h|Mcb3p#Hvs(tdNS zIH8P9{lA#?DsRl*b#LlbR`kUs`m}9Ti9P?v)IW6nPe7L?IbG1zC&s!8XuRL=p-p#`N+Z94iCYjJUMRVK8l^0w|AtOV;0jx4ivMNP`s#YpqOiC zit}wWk(I+)d)z~=%ZIaN`t1(FG!W)i#mlbSu)Xb;KxcLL zUqgH8dmpuH-8TJ{iIr$C4JL&B zPvc@Ocui*9-lt>goMUNOKhX&|k|E9bH{rioK~k?TElSLqSv+gTtXbvBj>M^@x14&) zJ5Md!bm~(ikHl{?^u5rV{m?5|HZva@N;9>xZzujeMfeNgk(}5Iwj+coz5QU_V5Sa5 z$fMsw;0M9)*S@yLmjhJX?DRcFu`S*xK#Hffmi(QTU!F=+Blv1?(dZG@3bqC;yiUI! ztSv&f6>L+4ZU@-b2wgAO_7I))gZ*GVV0TFV(B9+6Cnx8c((jR+D>SoMyLb7^kf+ZW z_sXSfj`OKT)~0 z&w8A4+dQLe>nv_4oOL}es?w}P!+@xy{!oPO?xOeP1ez{Gn1K96- z_huW*_O|k!?+xk7Y1`h1DZ?8m!yDG&qJQ3yK5`1bD8n1rKXt=m5TY~vzmEMaAI_Db zj>ey7;D`@lz1EY2mRz-IeDyTgg1hZf`49sdxWn6Z~yps zu*XMU!Z(5M0)LvuP4@`j4&M8TaeHp3!&MHuMc*^-ZO`!Hr!(&!TsA>qG|~nOjVp(t zulV%1ce?nSaVq_^B=Z#BZ2y=4XU4tP%ir{=h<)13dtBSgnk%CVB@u=;$>4@pvR--j zxc4TNVXl8-$BvPkOmVJ@6>C-oZ--awZuE^HU8c?E)*eltF!EeWq3?-h#Tgn(*C4#s ze}3HivC8a;($%JcH%8hr6ibJj_bTS+UmEvb;L3ALiZe?wF1sR!!q#gubmd%73N&ew8o3 zYQYAh%hyYl-c8^Kz?Z8(<=T#s8AcZ}akzfo#KJ+0)~3}* z>9_}!-f{E~r8mdRw8O^0hU0kk%t~J!KPa1dqWD$3hW%s5$AfdH!fUt2HmRd~kUV+D z$rajTRLz`*2^wiIyN=)`*}WEijg#Zvx3s9n2xr!g!(&V$BROK?7kxMMho5=OTci!R zzO47pN?+VLLzlsQF0CN;yXphbPpv%WeN=T%-0}7%E>oy%EbC>6A6%Hel_Jn5ZQ*&c z+4BbnQ>JsX%)gqB*?Tn&PsWGv_o>uR#|-w1sSxOvewKAWU~az-Q$TX1GF=D10r-6^ zzrG`~0$WSROb$3NPIIYyT$P)7i1_V;U-gB@V$ZR2>+4y~Li6m@OSS(s@7#Z8&9;t8 z7hq3<-bDwrlNAsZ{edjT6sTLCbIg#G9aBrLJomwG>z9ssy>5NEpp9a^NcSRf^9o>LNxBA}c@1}g zvE!63BtQ2Y^X@7pKgbWa&y$&P2j6kkq(1nUbs|OpW2@ar*hp-xIV(w zy7=y3TI8=wao1b^Sv;+}b0S8NnABStJZBN((Eelgj3v_H+d?F>YVg~M-%k~}k+I8z zxHy8nvnaPl)ySH@IS8^)X+HL&> z{mUlQw12|yC45zo@0|WtkZ*S7PCQP==aHW6ETnWlaLnH8CaGoWz+YP`yw`1KTOv{P zHg|8pW9l?c|Eb5`@SS6M-w{{iw+_7cz%lRbYX3RjNRiZ?fnH8;)L7RIZOiwLdDrmU z(wcKgmUCcavC_I1|K0dstGu(eom&s(+xOh&6k}V|7(5Dn|HenX1^i|YRCzPD8jZJ! z#eA>v;4!;4#$G0Cv9tM@i{B`IGU5A=c-4XrfV%_@C**$PvB{yc=Bo$bZCdGx$O9y9LI4f3s8Z zJ#x(Z7Z-=f#BU$?#)HT5zN1yYI0W7U{teO7ueM1ZxI2{HS}wgohdhKgUU59gcDAc8 z32j>^_&WZomZH!9;F$MkwOiBY4x#cpd)rF|WQDUel)4)hTy(v}R)K(C8wPBMr;oH-;?cx0P3oW=*M<*ERS};&-F` zh|9?;dM-Qn)O8s=>#-iYpQ1AIWC!7@$B%jED8GaYkMFJ>x9Qr1yk_jiG0Diogs+%5 z=6y;GbMjXE;@zoGjBL8Zj7Rlax}5$A{d|Mi|HP*Xybt_af=v3&neFFmDCbB>muwrc z_%uV`bo^M}{8acl@U=1cX7G0KQt@|>=y!l`jKTMSx5eQ7j(?QT5O^!}YNP%m{!`$) zz{B%s;d54y-w1sp_&o69$zxu|)yL!5na|fkl(|H-aPT)9Ce@xd!SBFtkJy!vZF{!l7!j5OaBB|3Mxutmc%u^WEfe>`T-E#Ny4C)d#rw@6>=D1x6RqIsc% z^Z#wWC*e_bk}+C#DwFTU?hdNu?hdMShsihlomEbiE71@Bdd%E$7nD8 z-JFazNzjjt!nMDmWwXkMSrxwrqKc4%Fad!N`Dt$Y~_H z{luL;bHXdnpZmwz5tgvcBK=)0K9HV5Zk)>ozd0AsDbAYk(&`(zww~i>?2l$_(5^7; zLn}-h_wsh*5!d~xofv$P`R1yNxVJxN!qeT)R%Wlt+tZ%@glU~@_45LI!C^=b5U%sN z6JCWDFK8E!Bb!)Pnwh#cwg}k&*IjmU=904Z;w5EUi}`e~_##pN7VtvAg@Ei-VH@@2 z%(sFq3t_DyyasTU1Nk)2gl2~yXcK6?B zgnoMNM98+4YhMNOr#1Dy*dk`MR(m-CudaW|wN>|>#qwa@MZ0%*jfZU`=xa_i1#___ zC7a<_zY6`eX2MIB@{()&#;y_3do=w`&rX#c;M2&1{0*?-XOM3vM{y^Um&y0^B)+Tg zy$D~H=mXzt@a5>Gn5Ki(W*1TSlaAH%C%m&&XpuIMDtTY-5P&BdBN>6KZ)Vl%IH}yGfRe@LhrL65ItsUaib3mdhMs=hz!BL|`avyt&x#4V&XfA6NxO8wM)11EiO@M@ z_Pap&t;KI0erx%iVC-VA5|gqeC6&Bx#;*^*hvY}PoqlNSF0bY5IgP)&6n^D|*LpfH zrc5GhR6jT4khVRWXCD6_CQSG1C%orNCir0(<6nDwM&>E3Q*SXti`I*(At`N!{>BOK zTk8yNs?Zzb^bTH^=+!R{HR}GYEHw38(TofZyB=6T#d#SR*tWy`-YjPRuoKTq?v* z&3UH?vzjnw9~$q%%3q881>5N6n$m@ z3Dlm~5Wf7@3GXV6C)^2(E@q4>=?Af&DKSgzjc&|RgZ=m_iyefk>!3gLTe<|4=4%1@ z?ZvMVzZ3FX!?%OmXiik5@^A>hn#~iz9!g=OV4YxUK6PiiBq z7mulbur9FQ3ovb+d2RmQ@EV;Ro5$bG3~l%|gl~G!ggv{#gl7N=+as2i?W$acX+AX` z=`ah7ZoiZ8ZSS4%9&_G<)x~$Nwv_aib_QFNztS7Mpf-h&bA|O?aPF{H9%-?j}33z5%E4P+*H>gmb^q zBeRf}UW&bhaPwSS4zHo)bnAMV7XE7O6k+wC!Ps=0;Bn}V3GXFNrw-rELtAwExoprn zNiCSfnd++{4P6S~HQ}8hL2g6^-z|jCEm&w|jcZ+YyxdQizB?!EU5b>n8$U=Kwouxo zJ40}pj?Sd-l6f0$ig3j{CcNh(!@(cuOSF)@^Wu$i1_4x^JLxvwT748acI3=B4k-qPgnTQ25!1F#kY2VHG z*#zm~FHU%G%MWvTewfsh3u3}Zx2yi@g!fmKPcEMG9A6htYNsEj60*Jgo%kB<8<+Z{ z1{R%?POT$h_n8ATD}fL5*R*%Sdl)xI^YuKM1aVG5^UXY(&jmEa>%1ioZGGJ%`_F`yHtkGrsFp`pjN4S5z+Rd-h2aQ6dj;6A%zC!B}6ZULc##?*aA^ZIC ztH-Y$zYnXO#L0K0C>xLRhKD63>|o79m|lFatbqd`JF*kTD<$_7~li=dlEPg+p_=oI8mN=&P<l6P3plSOu7`{{oqQHm8;G8{8kmoW5bl zlh=hZ?&#~GZ=Lz%=v6-Jp>Hcb?zL-yC{o`!{lnFFZ#wt?j9fJdAl`?eIRH&`JW=?Q_#MX2%t1}~O9+2!5WW_gxvyir zV%~A@LVl|bom@bVWcQ-$@=HoMbKPo`qB3%(nQ&c%dznG(e`=@e!1sc`HiB;kPn>(a z;2hZ<;1xB;3(kw(1Ag!&$L;qAj+e@}AN(Zv3WsHJ2f=DzdfeXOL>`<|C(TE;d(*JU}B>owO0= z1YusKFs4qqpoO3F`0K>4;$_FZ7e3YcZAo2t%8b>%oI}iQoh7|8*srrs^h=N1bzZ}3 zC93N^%1O;7COGwUsy?fh7yZ`13|7;G*Rrl^8$ zy0~O@(BX-Yj;jp@D*J|O(YKZ#559Sv57q*<3(R~MLqB)(3G^m+&a#fbn~~aX%RVqF znz?{v(hkCJU2)udrISg{rkk^886D2u@t93#H&IUyK*m{sBGZ&ckt8kevEc`$o-jX{z z;9qgkaeD@(soyKqs47>QrbV?vqk7#BT@7@;{@~6jVfRcjb!*vPY@2;aR@kve0%#|Z zodjX0c`c}{ooxEFz9(n%YaxiV3GuFc1NNwkk9)6hZN|;5bco)K>=tN1-@Vu!a_8S~ zORHE~@=m~IcwXRpzI`^obSB>UaJKca3ErcZ9QQ5`>La&r$&7=hex2@)AA;UUAj&f_)Wp)>59W$Me=j*FZlHyaD_k z_0Pv|KlOYem|%%NCb{ez`?D6)3p1j=qk8cJAe;P}pK_sQf9_>pH3xX z`EM`E={l7J*-!W`!Y`DZ;0_YDyA)qtR&KW%0ZBedANgh|Tm#q?;dZ@?aox4;J2d|< zIL{$yfAM?co#DyzlEvo~ElA8qq4+y~muyWjnb?&o`g%&iGpC;Rx3fujcb<~WoKtjO zQsuw{BmK>K@x1F39ZC4}Qd*6BUeWTzHJZEt-C2}O{G0h{!WTck=%vXQJv))Z!v3cw zOA~~95j2ZvoC@b630%YT^yI1cBtL|FdhhI_6SI>&`nty^%DWRS%uk=vn=M)#r1#F# zljUc{VxOPbR+NI??RcR8lLnPt#^f&%&Kov?_74eJ{UJ7Y`1kijJofhtdepP!~Dv zO^XwW-=vDBGTeai;zZ)R8U0kldzlSi>dC*e1^v(Qq@=wX5 zc>!lUlq|B6#?Qozo3|(T2y= z^H^Sriq^gfYhf>>L`n{<|iNtR+nY(5rx{3(CyXbU& zD)@Q4;m*h}Hq(dy`QP7G0zGYSFadmbmwWGXZtt?J@o&pow{?+qyPVtO+(GBI);oF^ zu6MqDf7jEmNtkD=G?v`+^oo2u>Aarn@TS}H>1!jnPru0F?d|#W7e;WO{%VK!y(^!- zErR>>ea9_b)q8Dv!KK~@&(~jI@nat_ryeHmb?@JG?)%TP{!e%B-*;~Lcg(2;iR!cM z&gOZJ?mN!^5$8U(a*c^=z`eiyY8!6+RhIAbTCD%Y z_*DMf;(j@i9>b^nF^l`<27g-*|7CH%9N{CiGST)^i~Hr8NhGzCEm7|H`{g_{ky;?U zZ`jiN%G|FK7YR*WE_8m(X;%6w%w)^S~SD{^h(>V zW+cus?_Th3tz$D>yDLg)62#hM@Lp!#pX%PzuAH9k-e(vqOCs^fJ8gXIJTUan3Bo_e zygw@lZ>FP(vx4wv8~^Bk)z1HvgiYVe-FtCDlh;JzHNm@WrVYWnt(R3nc+<=hR|W4G z6aI#P-Zs#i-TSHN+v2#@y_ZlPdf)EepOPps?>htfQuF>*_x?2J|2_A9O5zmbKM=f^ znfGD${#5Em{Qu2x z)3`$mBmVVP&iF)EyL$ECS1iu=|7wK)-jCRJ;M4yy!vB^CeZOm`KK)hplv)2Zu^~eL z_Q?Acm*=Pdoe}@`$opd%E0_HU1|sSEN=ttJy55`5|LtvSOi&+CPetB86M6q!ap7e(Gb7I|M2d0!uSzb*3q;mG@E-Mimk zzZiM{&&d0?BkvEncUPT(^Am^v$hnU>_h-%>bndU68w7Me9(Ho;2hRPmb02f=&z<`# z=MFpfsBd$^DlMryw$lsbGX%x z*zbC~iqq1z7&3T z1fO)_UgF|A*ZKS9=HLS73Ps-k*@%p@z@BaMJk2kZ!>i^O5e~Sx$lXKPX6lT^OTb{n2?x*vej?UNjMJvB{ zhx_wXAAk6*Yw%_3q4W3obhvkaUgYCj9PZCoeLhppuHw%Fefsw}`fxv1xphv1-w}h0 z*9WG-r(FB==a+uGTRv&qtv}BZuC)H8+m^FG|M$~>+ohKNH&3ht-Ki`Sq3Dedw* zd(SoepGf%gSf9Sz(ckG@jkAj5sx_9sKacn6&wj|_?{oGCKRtK5@cz8lr~jP8{rRtt zXI(q=?G!$rL1$M8w>O2Ucl7?eQJBJf-tq5su4K0Ie3dH~e_rp$dy~soI9~C2`97B~ zXLk{%zppyJ^RKY};;p}X9PZD{eg69#?%Okb+_$^=b`*N)Fm#+U$`<42N5Z-7-?s1B?^w6e;Y|+rt2gW3E1f%d zuci0tst?%r9*6tkqHYR6w(r)5Eq&IxK3&fxZ!kaoxmIQ5{a+*N&VIP*T#rY*{MGID z7uor9dzE$laP4PC-d~Xa?$brxK4)K;U18}fo$IH6(3MO3Io7|u(z*?fQL}S>`Y)GQ z|H&fj?sogxZg|X=*K@ya-B-JHmtQ>9(tYV^b{>9}+jn=(1Gb&{eCyr%|Gc+Zdt0M> zZ+32rbJsX`opaYacaw8BJNF-*&Kg$^{`#4}uBBtK_0(D?;eTuQa`%3obL*V@3g^Df z8K_%-YRjknZs%@u?u)JKmrtk5mkU0vlXdN6@L7(Jb1R+OH`n5=&gJ7m!>i{E>t>xh z_)Hhxxs}e%p6+nhj-mN`{9D6E)A_fC|G%Zb>3O!`zV*%Dn<|XH_e|4nr>n=mxBmR~9^bAXEf>Fj z{dV$?j{g&m@h+F&-OlZG?jGmvb?!dr_BnUIb02i>51jj$bBCOJ%(*9=`#-&3)Pj;@k_Id!ch*>)baw_pQ#|)(gxuecK>D=N!TKQAq+*;@EJ!$a)=O+GS-OZ-Zwe7)44mG zyW6?@oZIi*!_FOd?v!&&U3_z$+vMVDbM8Ec*E`qe-{RieoV(e%|6hCO0_0Y8-tp_T zix&b!yv()`M(KbbFy3hWVljov=HWH?Asa{xVbEh&_Ab`$3P}rcN^F67Y>df>NllFl zwVF~etzp!Lkc9yviqn`th!Q68HlZLw0rQO7!P6}`q34|M|H=1$yLY8sKQLi6wtn}V z^S#b@&OP_&>am-lR{%?3{YTWF9NPhXsP6^yU_UtZBD#K8W9iRmKQQ-6^VdABUgUcN zxKWgO{JzcO@-fB7=kdXwrw2RF2m3sZVgB3*ZUpZId7eCp@(bY0;CtX+P|ia>&qlj` zkB5P2*zo)UWgg%Cwa>3-+A(iT_rut^fYtJJ)9pD)Ifx%;BNp*PkYTkMAJ<4a)UDqVgWpuR{4B3RJ)L zS>kig5U&GIf!r6LqWXvah3M8F?l-gjKS};Tv;Mb3+bzCF^;Q|}DDV7$%6YKF<+rGQ zphR5pHqioeyQ%DXmDunG(XBt+Z>F2v!K(jb?||EuMn$G@7KZ0B)j%J%&& zhcNFw$OE4T1FunDYVH62&VN77>kGyC&HZNXZ+}@okA8nv`yax3;{p3Hej%(s7MOdJ z#xegou>m~X`yW8uJnqc!DRf8mP_b?b`I~YUu>m|1{J)c^K8Etyr&Bo(Zh-!_$y9$a z%Co&xZab6c)*tRSvtd5TA83{@8``daIo0o8Ml6C^)W;W6eM<{5znExU1j6n%$d{Ht z?gC={0-{@gxZg}Sxr0^z$KHS6<-_N{*8W$^KaYPkIoZzR&Xn!@TlOub{%^*-=JR0S zVydsT|NA@t2j-E#y&(6C`_1I~{bd~e{;c-D5A!yU^`#w*WBu`gamcj^1_*dWt@NdD#!6N+q6y=w}cfs*3(N`@uKC-+>b@amH~R%9Fvl;3DuUFbUoTJ_z=K zFM_Xt?}7D~lE0I|Gr{vfKk~8=ppupRALun+79>jPxp2eyNoq5sd|X4F4{@-DCs z^}A921e~-8cEJ{~AMz_vu3tuS-$eONa4PBp;Qgq73QVIu2krz1z+I4g5Bvl?8ox91 zCGcGE3UC#e0q+H$0DlISzz@L*nAelQY2bz618;8JiEcsY0_cnuf7WzEWz)~u6CR)($X{PVB z_`u>CDzknF`t?G;7y1S0mDtX?um@(6RL)#SEX+mu9HIsKV80jsIL-m?2kZreeILqk z&<}F_EADma{}ReaE{?dsEXew47yVx7mm%*#|4KrCvy1*t==-4;0(~I+FR(uHzk`&*co8;Dty zS#ALRi*q|u$ay#(v=?3Erb4cacF!F{`}IT4hxUMr9Oog9cF#t#mlN^D*&f;hE^@t) zi=#d3BA0_)9_>XT_s;idoZ=HM~KK+VrKicyh&UW_yJG2**&UW_i>2ucWm=5K`Btbc3O5bkvQf{>6!W8TyrV}%u zHHXUnvxtQ=AqPi=8C3SpB<8@-EGm~k|7@q8jPp?W&wPd6zvs_`^XJ3)^9cu=vfplH z_3?T0tLf`7Z~tim#T^p!U+U|{LjTtvH{#D&OPN~A?4SK|9075DN?YugVj z!ynI29uFP|na}eezeMPnQae7kbtD_jAbm2j|m-L#rVD{T6$C zeEhob$Mr+yh1)bghMv7nAG?j)v4iKcRQ*)T4L1$H&u|Nl$H%RG6!pd=&+k#_J5>A^ zFL9J*f&F-orf=MFS;~#H>{~Rv-;vsr@?MYMRQW(Z7yv_H9L#`OFbC$r0$2n~U>UTI zBYz&y3;IAm7yv_H9L#`OFbC$r0$2n~U>UTIC;z6?BY3*|3Hn|ks|;N0oagdF+in-z@CQ{yr+? zJ;MG(5&x4yzFx?mAmoce-V*ZqcLME?{}A#!Mf@_JuPtb^t6RH;yncORe~iD%d483I zyqrI;iFo>jyqurQo^{$U3VFHjd{@{n2zhCLkC69^eDe1+xX<5BM)=UsyUDpe$b9bF zUYrM;1HhL!TI5IUhQN{k)Ku>&cBmew&b&=X@&mbv7Nh+x1G@YC0G)6-xTHDh%5VB z^3w;tBjnhR8~Jq!|1QOPtiw`15S(XHT6%WAVQ3t^Z_jxS?4bJ04~bcnb0FU=%WdqMrRm zPNwUZte-fM`Yru_8~U4s{l7=~L190SGRMj1>r<%z3CQ&?q0I5{_4YN?zYFqt_94n_ zr?UQeD1P?K^+%(g<7YcOzLNa9t>{~5nx6Y>$`|vfqmHt2>c^sed*~NY{9xz=lIQuA zUq|Kgtwer*F@*O=EB6=V20#SF_m6*#_p$W6R=Vr>eJ>$iDY884vmU=6RuL2jEPoX4 zpR*pnPbS1GMV4oM*5mijDuUvG<(q{+eqT+9SBfmp`s{B7>{JBBK|9)|Ub>1N%d#d@<*~K5fZzsa56xko^vp;@6uOcW8o_F!rUnNfV$NKD#-~SVCD#g#s`%it((K?WO ziPrbrYFh6L*E!ewN@8$uoA=?5W!=Fj=aLjh9gJ7j7nDo8s9o0Q62r&u8ta{-)N?g> zm^N$}zMr=oqVdi2P#pTa)DJn1WtZ{Iq=t{5tPSxzHohh)y@zOg5Pd=|4x~9M@s*^)++uW_NT|W-$v9X`X4K55Ur1ufBONkjj z(M5c$dMpED85qmJSO&&2FqVO_3>@$bc+<}PrrVAu+s*qFe#eJ*Oro4Yh<;F%pTX}6 zGxdH=OY(g-CbX-j&z=U4l04$pa6?Y!sr zk*3~8@mG_tWpp_wwa6Z78IDb^D{>uTIoJ5ME;miNdx;(}ejk;!zFznJihph-olpF^ z!aP1-XdOfMjf-IX4*V`gmgoV!cTu?vI;{>a@zvGWP4>%ciQaX@40An|bGH(+w-HNV z{&p(oHxQ+#(vyo#m8XXozmAw+j&gvQT|=}UAQsz+nO_l0n~3Ebz+0%l-iN5{{VuU^ z4>1RM3-!6TsXh)S{yy+iaCiCMH~ zP>%nC>I)wbdH#fcNoCKkiDk^I4CX@?41p{cM|pqePv$Aavz^HC7vG|C;31-K3y6Gk z{5=2jKcx2T`a?VaIsVWivY z)cNQ6?|+x#`K--X>wC3&AJ)mzak$=!_~QW@ zm)vFGRm5uXXTM5vwXQ$a;&f~0`BS)!;y+yGPw^G%|AGrHnCqQ-MWm-I)#E*vY&T#R6-HBjijdHcmQ**Q3lb#bxg&*IZ zVRDaL2|umfYC`Yxan2m+<4WOU!N`5|bS1kJsc2g;*3sEvbJpY=B6rtFe*@L~#N(ez zbaV#QM2#lfyJKzpdR3VL-s!Xav+Xm2&Mn!;RU`4)9S_FCHfOd`8p55KgJIFf>j7Jlxo@8hz*$XWDE*X2;HNXaGHgGmSH-#`;g~rGb%VptxuQS!eN=sZwnx>Nbwz10ZkplM zi*Y1PanBR>PX0r6d$i6aqCLrIaAhJIRVNn0ZzA@ZJmk>aw!r1={VgH2*wZ<%y8y_+UZyZspJ$1cHtTCY`>Dt-G z*Us}qjLpYZx0#G2RtICzWMwg*u4ll$v6B5>c0zTVW=`qBr-V|JxF$<`mz-3iy-JKt zv%Dt6nI?}Hi9Wa2U=P=^w(cH%RjUMwbgDqrLtn$>`E=f&))=e0@>AcNO{lFnpXB)b z_>}7Q%=lF7>9x&teip~rtPbpJnE!(6HqAAuHMnmgMQBb+Tg8^q+mdTX{?Zz3MO9=S ztGaBFHO-{KuB;u}ioL%d;5)y=tsQ&~HtSK_ny!7l@90-v-`s=N*~{)T!TDEFk95%_TIeU%3_WnA~Z@-_1VBk<#V&1||d z=ryzKM?t>PwW|g{HLQd3Ud-&rbdM}+$m>}$n!2_#&bunJ1lTt% zL+x4qi&+2)7Pg0@nVkW@R*`v}`AQXg>gHD>rOnOM<{~z8rr#He zeot6UpBZtDueG}~9*e45MirB3im+)mZDD2^yK)|#8XLxLBC0R%@1x?vMs*=04ZRLx4dyDgjwE1z`dv@sG+MyB6V-q7SuDkP zonJj`8dzRJ$>?y%d-0G{N|`1`ny40d7}Ey@i!PL%hGqf$EpAPJz>k^rxp+46hh@$`oB=M*!8{8 z_d>s{8*L9%S8DVZ?V`^kc)Liie5ym;lKT2n zE_Qv-9i;EMgY=Jas+(Nft2&`yNpqI;tt|Y1;I!biE34xkq0eh|dF|;&Ql!tsYB#Z7 z=nvq1f&u8aTw96EsPXu-jXQ;ZTs{zZLr9(XhhO8MUkxWzzSW z(!M9@{{hvc>sUVx{WSCg`&7-5)ZeaZkJb8+lluA^V1KYavrjduuW48G^YEXCe>q=R zkGVtX>M>&f1?U%`KTB`MZ4a;QSReje{kQ86TtoRASTe;(md*3NC-%!VzfuQweJe!z zR)F+9Vgj)~^HrhmRTmij@Gc|$qY0+Y)K`w^;0*=4e_t=@`_iOXZT$XM=x3mxf&Nqu z6n?!R<4EP)?tfdB{BO&Uf1zGk|5*QIrL1Kt;|Kjb^z-!gHH%x`$`Ku$D)i(3MgCde zC*);3`mdO)f0mSE{j-F=memjDIqF~{RXLttM*Ky+=-VFh{MB~2?=~@O`zFfY0(OK( HQMCRarucqa diff --git a/bin/linux/opt/lib/gcc/m68k-amiga-elf/13.1.0/include-fixed/README b/bin/linux/opt/lib/gcc/m68k-amiga-elf/13.1.0/include-fixed/README deleted file mode 100644 index 7086a778..00000000 --- a/bin/linux/opt/lib/gcc/m68k-amiga-elf/13.1.0/include-fixed/README +++ /dev/null @@ -1,14 +0,0 @@ -This README file is copied into the directory for GCC-only header files -when fixincludes is run by the makefile for GCC. - -Many of the files in this directory were automatically edited from the -standard system header files by the fixincludes process. They are -system-specific, and will not work on any other kind of system. They -are also not part of GCC. The reason we have to do this is because -GCC requires ANSI C headers and many vendors supply ANSI-incompatible -headers. - -Because this is an automated process, sometimes headers get "fixed" -that do not, strictly speaking, need a fix. As long as nothing is broken -by the process, it is just an unfortunate collateral inconvenience. -We would like to rectify it, if it is not "too inconvenient". diff --git a/bin/linux/opt/lib/gcc/m68k-amiga-elf/13.1.0/install-tools/fixinc_list b/bin/linux/opt/lib/gcc/m68k-amiga-elf/13.1.0/install-tools/fixinc_list deleted file mode 100644 index 092bc2b0..00000000 --- a/bin/linux/opt/lib/gcc/m68k-amiga-elf/13.1.0/install-tools/fixinc_list +++ /dev/null @@ -1 +0,0 @@ -; diff --git a/bin/linux/opt/lib/gcc/m68k-amiga-elf/13.1.0/install-tools/gsyslimits.h b/bin/linux/opt/lib/gcc/m68k-amiga-elf/13.1.0/install-tools/gsyslimits.h deleted file mode 100644 index a3628025..00000000 --- a/bin/linux/opt/lib/gcc/m68k-amiga-elf/13.1.0/install-tools/gsyslimits.h +++ /dev/null @@ -1,8 +0,0 @@ -/* syslimits.h stands for the system's own limits.h file. - If we can use it ok unmodified, then we install this text. - If fixincludes fixes it, then the fixed version is installed - instead of this text. */ - -#define _GCC_NEXT_LIMITS_H /* tell gcc's limits.h to recurse */ -#include_next -#undef _GCC_NEXT_LIMITS_H diff --git a/bin/linux/opt/lib/gcc/m68k-amiga-elf/13.1.0/install-tools/include/README b/bin/linux/opt/lib/gcc/m68k-amiga-elf/13.1.0/install-tools/include/README deleted file mode 100644 index 7086a778..00000000 --- a/bin/linux/opt/lib/gcc/m68k-amiga-elf/13.1.0/install-tools/include/README +++ /dev/null @@ -1,14 +0,0 @@ -This README file is copied into the directory for GCC-only header files -when fixincludes is run by the makefile for GCC. - -Many of the files in this directory were automatically edited from the -standard system header files by the fixincludes process. They are -system-specific, and will not work on any other kind of system. They -are also not part of GCC. The reason we have to do this is because -GCC requires ANSI C headers and many vendors supply ANSI-incompatible -headers. - -Because this is an automated process, sometimes headers get "fixed" -that do not, strictly speaking, need a fix. As long as nothing is broken -by the process, it is just an unfortunate collateral inconvenience. -We would like to rectify it, if it is not "too inconvenient". diff --git a/bin/linux/opt/lib/gcc/m68k-amiga-elf/13.1.0/install-tools/include/limits.h b/bin/linux/opt/lib/gcc/m68k-amiga-elf/13.1.0/install-tools/include/limits.h deleted file mode 100644 index 5aadbaa1..00000000 --- a/bin/linux/opt/lib/gcc/m68k-amiga-elf/13.1.0/install-tools/include/limits.h +++ /dev/null @@ -1,163 +0,0 @@ -/* Copyright (C) 1991-2023 Free Software Foundation, Inc. - -This file is part of GCC. - -GCC is free software; you can redistribute it and/or modify it under -the terms of the GNU General Public License as published by the Free -Software Foundation; either version 3, or (at your option) any later -version. - -GCC is distributed in the hope that it will be useful, but WITHOUT ANY -WARRANTY; without even the implied warranty of MERCHANTABILITY or -FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -for more details. - -Under Section 7 of GPL version 3, you are granted additional -permissions described in the GCC Runtime Library Exception, version -3.1, as published by the Free Software Foundation. - -You should have received a copy of the GNU General Public License and -a copy of the GCC Runtime Library Exception along with this program; -see the files COPYING3 and COPYING.RUNTIME respectively. If not, see -. */ - -#ifndef _LIMITS_H___ -#define _LIMITS_H___ - -/* Number of bits in a `char'. */ -#undef CHAR_BIT -#define CHAR_BIT __CHAR_BIT__ - -/* Maximum length of a multibyte character. */ -#ifndef MB_LEN_MAX -#define MB_LEN_MAX 1 -#endif - -/* Minimum and maximum values a `signed char' can hold. */ -#undef SCHAR_MIN -#define SCHAR_MIN (-SCHAR_MAX - 1) -#undef SCHAR_MAX -#define SCHAR_MAX __SCHAR_MAX__ - -/* Maximum value an `unsigned char' can hold. (Minimum is 0). */ -#undef UCHAR_MAX -#if __SCHAR_MAX__ == __INT_MAX__ -# define UCHAR_MAX (SCHAR_MAX * 2U + 1U) -#else -# define UCHAR_MAX (SCHAR_MAX * 2 + 1) -#endif - -/* Minimum and maximum values a `char' can hold. */ -#ifdef __CHAR_UNSIGNED__ -# undef CHAR_MIN -# if __SCHAR_MAX__ == __INT_MAX__ -# define CHAR_MIN 0U -# else -# define CHAR_MIN 0 -# endif -# undef CHAR_MAX -# define CHAR_MAX UCHAR_MAX -#else -# undef CHAR_MIN -# define CHAR_MIN SCHAR_MIN -# undef CHAR_MAX -# define CHAR_MAX SCHAR_MAX -#endif - -/* Minimum and maximum values a `signed short int' can hold. */ -#undef SHRT_MIN -#define SHRT_MIN (-SHRT_MAX - 1) -#undef SHRT_MAX -#define SHRT_MAX __SHRT_MAX__ - -/* Maximum value an `unsigned short int' can hold. (Minimum is 0). */ -#undef USHRT_MAX -#if __SHRT_MAX__ == __INT_MAX__ -# define USHRT_MAX (SHRT_MAX * 2U + 1U) -#else -# define USHRT_MAX (SHRT_MAX * 2 + 1) -#endif - -/* Minimum and maximum values a `signed int' can hold. */ -#undef INT_MIN -#define INT_MIN (-INT_MAX - 1) -#undef INT_MAX -#define INT_MAX __INT_MAX__ - -/* Maximum value an `unsigned int' can hold. (Minimum is 0). */ -#undef UINT_MAX -#define UINT_MAX (INT_MAX * 2U + 1U) - -/* Minimum and maximum values a `signed long int' can hold. - (Same as `int'). */ -#undef LONG_MIN -#define LONG_MIN (-LONG_MAX - 1L) -#undef LONG_MAX -#define LONG_MAX __LONG_MAX__ - -/* Maximum value an `unsigned long int' can hold. (Minimum is 0). */ -#undef ULONG_MAX -#define ULONG_MAX (LONG_MAX * 2UL + 1UL) - -#if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L -/* Minimum and maximum values a `signed long long int' can hold. */ -# undef LLONG_MIN -# define LLONG_MIN (-LLONG_MAX - 1LL) -# undef LLONG_MAX -# define LLONG_MAX __LONG_LONG_MAX__ - -/* Maximum value an `unsigned long long int' can hold. (Minimum is 0). */ -# undef ULLONG_MAX -# define ULLONG_MAX (LLONG_MAX * 2ULL + 1ULL) -#endif - -#if defined (__GNU_LIBRARY__) ? defined (__USE_GNU) : !defined (__STRICT_ANSI__) -/* Minimum and maximum values a `signed long long int' can hold. */ -# undef LONG_LONG_MIN -# define LONG_LONG_MIN (-LONG_LONG_MAX - 1LL) -# undef LONG_LONG_MAX -# define LONG_LONG_MAX __LONG_LONG_MAX__ - -/* Maximum value an `unsigned long long int' can hold. (Minimum is 0). */ -# undef ULONG_LONG_MAX -# define ULONG_LONG_MAX (LONG_LONG_MAX * 2ULL + 1ULL) -#endif - -#if (defined __STDC_WANT_IEC_60559_BFP_EXT__ \ - || (defined (__STDC_VERSION__) && __STDC_VERSION__ > 201710L)) -/* TS 18661-1 / C2X widths of integer types. */ -# undef CHAR_WIDTH -# define CHAR_WIDTH __SCHAR_WIDTH__ -# undef SCHAR_WIDTH -# define SCHAR_WIDTH __SCHAR_WIDTH__ -# undef UCHAR_WIDTH -# define UCHAR_WIDTH __SCHAR_WIDTH__ -# undef SHRT_WIDTH -# define SHRT_WIDTH __SHRT_WIDTH__ -# undef USHRT_WIDTH -# define USHRT_WIDTH __SHRT_WIDTH__ -# undef INT_WIDTH -# define INT_WIDTH __INT_WIDTH__ -# undef UINT_WIDTH -# define UINT_WIDTH __INT_WIDTH__ -# undef LONG_WIDTH -# define LONG_WIDTH __LONG_WIDTH__ -# undef ULONG_WIDTH -# define ULONG_WIDTH __LONG_WIDTH__ -# undef LLONG_WIDTH -# define LLONG_WIDTH __LONG_LONG_WIDTH__ -# undef ULLONG_WIDTH -# define ULLONG_WIDTH __LONG_LONG_WIDTH__ -#endif - -#if defined (__STDC_VERSION__) && __STDC_VERSION__ > 201710L -/* C2X width and limit of _Bool. */ -# undef BOOL_MAX -# define BOOL_MAX 1 -# undef BOOL_WIDTH -# define BOOL_WIDTH 1 - -# define __STDC_VERSION_LIMITS_H__ 202311L -#endif - -#endif /* _LIMITS_H___ */ diff --git a/bin/linux/opt/lib/gcc/m68k-amiga-elf/13.1.0/install-tools/macro_list b/bin/linux/opt/lib/gcc/m68k-amiga-elf/13.1.0/install-tools/macro_list deleted file mode 100644 index 792d7bbc..00000000 --- a/bin/linux/opt/lib/gcc/m68k-amiga-elf/13.1.0/install-tools/macro_list +++ /dev/null @@ -1 +0,0 @@ -mc68000 diff --git a/bin/linux/opt/lib/gcc/m68k-amiga-elf/13.1.0/install-tools/mkheaders.conf b/bin/linux/opt/lib/gcc/m68k-amiga-elf/13.1.0/install-tools/mkheaders.conf deleted file mode 100644 index 8d3d858d..00000000 --- a/bin/linux/opt/lib/gcc/m68k-amiga-elf/13.1.0/install-tools/mkheaders.conf +++ /dev/null @@ -1,3 +0,0 @@ -SYSTEM_HEADER_DIR="/home/runner/work/vscode-amiga-debug/vscode-amiga-debug/output/m68k-amiga-elf/sys-include" -OTHER_FIXINCLUDES_DIRS="" -STMP_FIXINC="stmp-fixinc" diff --git a/bin/linux/opt/libexec/gcc/m68k-amiga-elf/13.1.0/install-tools/fixinc.sh b/bin/linux/opt/libexec/gcc/m68k-amiga-elf/13.1.0/install-tools/fixinc.sh deleted file mode 100755 index 0bd8027a..00000000 --- a/bin/linux/opt/libexec/gcc/m68k-amiga-elf/13.1.0/install-tools/fixinc.sh +++ /dev/null @@ -1,513 +0,0 @@ -#!/bin/sh -# -# Install modified versions of certain ANSI-incompatible system header -# files which are fixed to work correctly with ANSI C and placed in a -# directory that GCC will search. -# -# See README-fixinc for more information. -# -# fixincludes copyright (c) 1998, 1999, 2000, 2002, 2009 -# The Free Software Foundation, Inc. -# -# fixincludes is free software. -# -# You may redistribute it and/or modify it under the terms of the -# GNU General Public License, as published by the Free Software -# Foundation; either version 3, or (at your option) any later version. -# -# fixincludes is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -# See the GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with fixincludes; see the file COPYING3. If not see -# . -# -# # # # # # # # # # # # # # # # # # # # # - -# Usage: fixinc.sh output-dir input-dir -# -# Directory in which to store the results. -# Fail if no arg to specify a directory for the output. -if [ "x$1" = "x" ] -then - echo fixincludes: no output directory specified - exit 1 -fi - -LIB=${1} -shift - -# Make sure it exists. -if [ ! -d $LIB ]; then - mkdir -p $LIB || { - echo fixincludes: output dir '`'$LIB"' cannot be created" - exit 1 - } -else - ( cd $LIB && touch DONE && rm DONE ) || { - echo fixincludes: output dir '`'$LIB"' is an invalid directory" - exit 1 - } -fi - -if test -z "$VERBOSE" -then - VERBOSE=2 - export VERBOSE -else - case "$VERBOSE" in - [0-9] ) : ;; - * ) VERBOSE=3 ;; - esac -fi - -# Define what target system we're fixing. -# -if test -r ./Makefile; then - target_canonical="`sed -n -e 's,^target[ ]*=[ ]*\(.*\)$,\1,p' < Makefile`" -fi - -# If not from the Makefile, then try config.guess -# -if test -z "${target_canonical}" ; then - if test -x ./config.guess ; then - target_canonical="`config.guess`" ; fi - test -z "${target_canonical}" && target_canonical=unknown -fi -export target_canonical - -# # # # # # # # # # # # # # # # # # # # # -# -# Define PWDCMD as a command to use to get the working dir -# in the form that we want. -PWDCMD=${PWDCMD-pwd} - -case "`$PWDCMD`" in -//*) - # On an Apollo, discard everything before `/usr'. - PWDCMD="eval pwd | sed -e 's,.*/usr/,/usr/,'" - ;; -esac - -# Original directory. -ORIGDIR=`${PWDCMD}` -export ORIGDIR -FIXINCL=`${PWDCMD}`/fixincl -if [ ! -x $FIXINCL ] ; then - echo "Cannot find fixincl" >&2 - exit 1 -fi -export FIXINCL - -# Make LIB absolute only if needed to avoid problems with the amd. -case $LIB in -/*) - ;; -*) - cd $LIB; LIB=`${PWDCMD}` - ;; -esac - -if test $VERBOSE -gt 0 -then echo Fixing headers into ${LIB} for ${target_canonical} target ; fi - -# Determine whether this system has symbolic links. -if test -n "$DJDIR"; then - LINKS=false -elif ln -s X $LIB/ShouldNotExist 2>/dev/null; then - rm -f $LIB/ShouldNotExist - LINKS=true -elif ln -s X /tmp/ShouldNotExist 2>/dev/null; then - rm -f /tmp/ShouldNotExist - LINKS=true -else - LINKS=false -fi - -# # # # # # # # # # # # # # # # # # # # # -# -# Check to see if the machine_name fix needs to be disabled. -# -# On some platforms, machine_name doesn't work properly and -# breaks some of the header files. Since everything works -# properly without it, just wipe the macro list to -# disable the fix. - -case "${target_canonical}" in - *-*-vxworks* | powerpc*-*-linux*) - test -f ${MACRO_LIST} && echo > ${MACRO_LIST} - ;; -esac - - -# # # # # # # # # # # # # # # # # # # # # -# -# In the file macro_list are listed all the predefined -# macros that are not in the C89 reserved namespace (the reserved -# namespace is all identifiers beginnning with two underscores or one -# underscore followed by a capital letter). A regular expression to find -# any of those macros in a header file is written to MN_NAME_PAT. -# -# Note dependency on ASCII. \012 = newline. -# tr ' ' '\n' is, alas, not portable. - -if test -s ${MACRO_LIST} -then - if test $VERBOSE -gt 0; then - echo "Forbidden identifiers: `tr '\012' ' ' < ${MACRO_LIST}`" - fi - MN_NAME_PAT="`sed 's/^/\\\\/; $!s/$/|/' \ - < ${MACRO_LIST} | tr -d '\012'`" - export MN_NAME_PAT -else - if test $VERBOSE -gt 0 - then echo "No forbidden identifiers defined by this target" ; fi -fi - -# # # # # # # # # # # # # # # # # # # # # -# -# Search each input directory for broken header files. -# This loop ends near the end of the file. -# -if test $# -eq 0 -then - INPUTLIST="/usr/include" -else - INPUTLIST="$@" -fi - -for INPUT in ${INPUTLIST} ; do - -cd ${ORIGDIR} - -# Make sure a directory exists before changing into it, -# otherwise Solaris2 will fail-exit the script. -# -if [ ! -d ${INPUT} ]; then - continue -fi -cd ${INPUT} - -INPUT=`${PWDCMD}` -export INPUT - -# -# # # # # # # # # # # # # # # # # # # # # -# -if test $VERBOSE -gt 1 -then echo Finding directories and links to directories ; fi - -# Find all directories and all symlinks that point to directories. -# Put the list in $all_dirs. -# Each time we find a symlink, add it to newdirs -# so that we do another find within the dir the link points to. -# Note that $all_dirs may have duplicates in it; -# later parts of this file are supposed to ignore them. -dirs="." -levels=2 -all_dirs="" -search_dirs="" - -while [ -n "$dirs" ] && [ $levels -gt 0 ] -do - levels=`expr $levels - 1` - newdirs= - for d in $dirs - do - if test $VERBOSE -gt 1 - then echo " Searching $INPUT/$d" ; fi - - # Find all directories under $d, relative to $d, excluding $d itself. - # (The /. is needed after $d in case $d is a symlink.) - all_dirs="$all_dirs `find $d/. -type d -print | \ - sed -e '/\/\.$/d' -e 's@/./@/@g'`" - # Find all links to directories. - # Using `-exec test -d' in find fails on some systems, - # and trying to run test via sh fails on others, - # so this is the simplest alternative left. - # First find all the links, then test each one. - theselinks= - $LINKS && \ - theselinks=`find $d/. -type l -print | sed -e 's@/./@/@g'` - for d1 in $theselinks --dummy-- - do - # If the link points to a directory, - # add that dir to $newdirs - if [ -d $d1 ] - then - all_dirs="$all_dirs $d1" - if [ "`ls -ld $d1 | sed -n 's/.*-> //p'`" != "." ] - then - newdirs="$newdirs $d1" - search_dirs="$search_dirs $d1" - fi - fi - done - done - - dirs="$newdirs" -done - -# # # # # # # # # # # # # # # # # # # # # -# -dirs= -if test $VERBOSE -gt 2 -then echo "All directories (including links to directories):" - echo $all_dirs -fi - -OLDDIR=`${PWDCMD}` -cd $LIB -echo "$all_dirs" | xargs mkdir -p -cd ${OLDDIR} - -mkdir $LIB/root - -# # # # # # # # # # # # # # # # # # # # # -# -# treetops gets an alternating list -# of old directories to copy -# and the new directories to copy to. -treetops=". ${LIB}" - -if $LINKS; then - if test $VERBOSE -gt 1 - then echo 'Making symbolic directory links' ; fi - cwd=`${PWDCMD}` - - for sym_link in $search_dirs; do - cd ${INPUT} - dest=`ls -ld ${sym_link} | sed -n 's/.*-> //p'` - - # In case $dest is relative, get to ${sym_link}'s dir first. - # - cd ./`echo ${sym_link} | sed 's;/[^/]*$;;'` - - # Check that the target directory exists. - # Redirections changed to avoid bug in sh on Ultrix. - # - (cd $dest) > /dev/null 2>&1 - if [ $? = 0 ]; then - cd $dest - - # full_dest_dir gets the dir that the link actually leads to. - # - full_dest_dir=`${PWDCMD}` - - # Canonicalize ${INPUT} now to minimize the time an - # automounter has to change the result of ${PWDCMD}. - # - cinput=`cd ${INPUT}; ${PWDCMD}` - - # If a link points to ., make a similar link to . - # - if [ ${full_dest_dir} = ${cinput} ]; then - if test $VERBOSE -gt 2 - then echo ${sym_link} '->' . ': Making self link' ; fi - rm -fr ${LIB}/${sym_link} > /dev/null 2>&1 - ln -s . ${LIB}/${sym_link} > /dev/null 2>&1 - - # If link leads back into ${INPUT}, - # make a similar link here. - # - elif expr ${full_dest_dir} : "${cinput}/.*" > /dev/null; then - # Y gets the actual target dir name, relative to ${INPUT}. - y=`echo ${full_dest_dir} | sed -n "s&${cinput}/&&p"` - # DOTS is the relative path from ${LIB}/${sym_link} back to ${LIB}. - dots=`echo "${sym_link}" | - sed -e 's@^./@@' -e 's@/./@/@g' -e 's@[^/][^/]*@..@g' -e 's@..$@@'` - if test $VERBOSE -gt 2 - then echo ${sym_link} '->' $dots$y ': Making local link' ; fi - rm -fr ${LIB}/${sym_link} > /dev/null 2>&1 - ln -s $dots$y ${LIB}/${sym_link} > /dev/null 2>&1 - - else - # If the link is to a dir $target outside ${INPUT}, - # repoint the link at ${INPUT}/root$target - # and process $target into ${INPUT}/root$target - # treat this directory as if it actually contained the files. - # - if test $VERBOSE -gt 2 - then echo ${sym_link} '->' root${full_dest_dir} ': Making rooted link' - fi - if [ -d $LIB/root${full_dest_dir} ] - then true - else - dirname=root${full_dest_dir}/ - dirmade=. - cd $LIB - while [ x$dirname != x ]; do - component=`echo $dirname | sed -e 's|/.*$||'` - mkdir $component >/dev/null 2>&1 - cd $component - dirmade=$dirmade/$component - dirname=`echo $dirname | sed -e 's|[^/]*//*||'` - done - fi - - # Duplicate directory structure created in ${LIB}/${sym_link} in new - # root area. - # - for file2 in $all_dirs; do - case $file2 in - ${sym_link}/*) - dupdir=${LIB}/root${full_dest_dir}/`echo $file2 | - sed -n "s|^${sym_link}/||p"` - if test $VERBOSE -gt 2 - then echo "Duplicating ${sym_link}'s ${dupdir}" ; fi - if [ -d ${dupdir} ] - then true - else - mkdir ${dupdir} - fi - ;; - *) - ;; - esac - done - - # Get the path from ${LIB} to ${sym_link}, accounting for symlinks. - # - parent=`echo "${sym_link}" | sed -e 's@/[^/]*$@@'` - libabs=`cd ${LIB}; ${PWDCMD}` - file2=`cd ${LIB}; cd $parent; ${PWDCMD} | sed -e "s@^${libabs}@@"` - - # DOTS is the relative path from ${LIB}/${sym_link} back to ${LIB}. - # - dots=`echo "$file2" | sed -e 's@/[^/]*@../@g'` - rm -fr ${LIB}/${sym_link} > /dev/null 2>&1 - ln -s ${dots}root${full_dest_dir} ${LIB}/${sym_link} > /dev/null 2>&1 - treetops="$treetops ${sym_link} ${LIB}/root${full_dest_dir}" - fi - fi - done -fi - -# # # # # # # # # # # # # # # # # # # # # -# -required= -set x $treetops -shift -while [ $# != 0 ]; do - # $1 is an old directory to copy, and $2 is the new directory to copy to. - # - SRCDIR=`cd ${INPUT} ; cd $1 ; ${PWDCMD}` - export SRCDIR - - FIND_BASE=$1 - export FIND_BASE - shift - - DESTDIR=`cd $1;${PWDCMD}` - export DESTDIR - shift - - # The same dir can appear more than once in treetops. - # There's no need to scan it more than once. - # - if [ -f ${DESTDIR}/DONE ] - then continue ; fi - - touch ${DESTDIR}/DONE - if test $VERBOSE -gt 1 - then echo Fixing directory ${SRCDIR} into ${DESTDIR} ; fi - - # Check files which are symlinks as well as those which are files. - # - cd ${INPUT} - required="$required `if $LINKS; then - find ${FIND_BASE}/. -name '*.h' \( -type f -o -type l \) -print - else - find ${FIND_BASE}/. -name '*.h' -type f -print - fi | \ - sed -e 's;/\./;/;g' -e 's;//*;/;g' | \ - ${FIXINCL}`" -done - -## Make sure that any include files referenced using double quotes -## exist in the fixed directory. This comes last since otherwise -## we might end up deleting some of these files "because they don't -## need any change." -set x `echo $required` -shift -while [ $# != 0 ]; do - newreq= - while [ $# != 0 ]; do - # $1 is the directory to copy from, - # $2 is the unfixed file, - # $3 is the fixed file name. - # - cd ${INPUT} - cd $1 - if [ -f $2 ] ; then - if [ -r $2 ] && [ ! -r $3 ]; then - cp $2 $3 >/dev/null 2>&1 || echo "Can't copy $2" >&2 - chmod +w $3 2>/dev/null - chmod a+r $3 2>/dev/null - if test $VERBOSE -gt 2 - then echo Copied $2 ; fi - for include in `egrep '^[ ]*#[ ]*include[ ]*"[^/]' $3 | - sed -e 's/^[ ]*#[ ]*include[ ]*"\([^"]*\)".*$/\1/'` - do - dir=`echo $2 | sed -e s'|/[^/]*$||'` - dir2=`echo $3 | sed -e s'|/[^/]*$||'` - newreq="$newreq $1 $dir/$include $dir2/$include" - done - fi - fi - shift; shift; shift - done - set x $newreq - shift -done - -if test $VERBOSE -gt 2 -then echo 'Cleaning up DONE files.' ; fi -cd $LIB -# Look for files case-insensitively, for the benefit of -# DOS/Windows filesystems. -find . -name '[Dd][Oo][Nn][Ee]' -exec rm -f '{}' ';' - -if test $VERBOSE -gt 1 -then echo 'Cleaning up unneeded directories:' ; fi -cd $LIB -all_dirs=`find . -type d \! -name '.' -print | sort -r` -for file in $all_dirs; do - if rmdir $LIB/$file > /dev/null - then - test $VERBOSE -gt 3 && echo " removed $file" - fi -done 2> /dev/null - -# On systems which don't support symlinks, `find' may barf -# if called with "-type l" predicate. So only use that if -# we know we should look for symlinks. -if $LINKS; then - test $VERBOSE -gt 2 && echo "Removing unused symlinks" - - all_dirs=`find . -type l -print` - for file in $all_dirs - do - if test ! -d $file - then - rm -f $file - test $VERBOSE -gt 3 && echo " removed $file" - rmdir `dirname $file` > /dev/null && \ - test $VERBOSE -gt 3 && \ - echo " removed `dirname $file`" - fi - done 2> /dev/null -fi - -if test $VERBOSE -gt 0 -then echo fixincludes is done ; fi - -# # # # # # # # # # # # # # # # # # # # # -# -# End of for INPUT directories -# -done -# -# # # # # # # # # # # # # # # # # # # # # diff --git a/bin/linux/opt/libexec/gcc/m68k-amiga-elf/13.1.0/install-tools/fixincl b/bin/linux/opt/libexec/gcc/m68k-amiga-elf/13.1.0/install-tools/fixincl deleted file mode 100755 index 2b33a121ee6a6ee3bb3a8a7580b022abceb8436f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1009392 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

  3. DwZ7gorDG*+$V7NTs+@2%WIvmsW!vTkzv#&h5H+x6Knx#~29k9wMyxYMTL_Ff zY5bX<9XSa=%V3JIZjJAk5(`jx~7thy%KW!jc?0LAg`(dVM4!*Og*_alYw zkb|hp;Ra}lNbfM-HsjXNFt8yN`pK;KsMi`F%Oj*%Faa`Lh{&Il`)PJnw2011SO)5+ zEHLBjaQW`y2VghR6cwQ8k&2TMnTs&KewMbWh*@El69`I;(TMr-qY6bw3l0D&5+Of{ z#IG_&D3ax`7}3D0kKTsQqMrtY!`rg6Q~TN3`RJo;`SHht{TnQ4uo|xG>8_WrT|t_G z$?!9RqaqeZW28&6c@^uYUd`^bi@o2I#~o}aAL(yNXhmN)+N@c{qaSQH*oLOWi$TZ1 zsonZO5bFL4w-Hguq;9DW(#hq!i@lQ{$KAN!zxZbI$FaV_?jS@Xzk)ODIuO+t5W_CW zV%Tujc6m;;p~8wF8osw9TV;trqS6LT4`m+G$FLNWjm zVy)tWse#gMo;?V~_Wt1?0@wpAxv#wmH!KJuhrP-p z$NVzX(26+e#)+^|MU)Cb zWAj8if~-Dz{?zw9fA+-}fAm=8!RMcTrf{zu#r{wSovn=Y*=PM&EW_qO|-**#F^I%>Hj> z_TJ*pKP`WD#N`(u5?k?ymBoDiX)cCQwr<7epZ@a2eEyGD^!ty$qTgwO3P750OPfSr zs|9fiQe7-A2}$BqQI!ugL@ivrakydbCVP5insna~(eeGfp6Cwp2S^PH)bQt`%jWne zV;|1XKD*^uy4B~O|GPW=g01}Gi!$-+cKQX$ehTMX?evQ;qEkBDNNld0=@(yY?ldWj zWlH7p%LNh;HQkLTqE?EfI#wC4h#dXB8!(JWz7)Q$Il3+r?pqfdroY8$*P{jEIAdIe{-w<9arO~^N7WVrE$3A_&QBk@ez z?)8u_>VQlSG)lpd&qYCnPL`AG-50HB0<5={PdKxEf5p{+|4)XOth%heX-G_5N?IOG zPlzvsLaFOMFaxjRtIMS__?$S=jkO#-zvO^i9$Ss)97NCA0xeVCMdajuPEHt9Gz5)l z;aeX-pK{=QuHb@@YD)t>Pq{b1F~oX(iC-8q zD?vTR<3M5yJs~J_HA=BuwE8oExO5}|;4EXlQtv0*u=UznCgkdeqJ`~LL_6zp;X}l- z`iV_PqJ4!?XpXTEjv87e3Wxz}C}*L>=u;B0xkx+6z;Zd(oz0MMEe`!k%!@i6N(=XS zw$9}qjbsGOh0>98&q0e$J{&3esr7Vx?7>}?L_;*L`J^LiJbSWndR^)_Z$l@~EDB5x z!W2Tk<-*dL_ebaG!R!W3Rw&321A==;+=R|e(he*hD)EZ46V6@qvrHBZ`=xi>Vi6Rw zy>t2BSTQDy$-e&O(#d-nh7=eMCu7qByB6HSqGL>`40KzT5B_!_fQmSK%gAgybRs1Q zk^`etc`?=tt+YHSyWWtbP^Lr&lT0}ytNd4z^-5rjo$uBrJ!xVp0v_Ak8digoG%foOzB-PS|BvR|#*t&?%1FQ{Ck=sNo- zPospW+B{W}OoQCV2IzDo_Yy+|xt0O2y>ZluR#(0=Vnkx3q62JOZ^}+Rgzb@8h?*6} z&Gf!REyHqVNOF3Xs#6}pIz;QKc5Z&uo@<0k={NNBX0m%ZX`$<}(McFgbpcY?PwhJ4#{ z8xiqpk-T0~Y(nH5WUHF}E`kEkos1e4?WrFHGrl!0ReWwq&$Oy63b1qUd_igdn!01p zME!O@OF_*BM4-KHmETxD7h;N2%cvMk#iBxMtP?o!J+@bxW5}_Vk|b?KXIv~MDU-{4 zV9Drem{@yIqKB%Y5z>ZE<3sCml9FU7Tb^HH+&R05B*~ZX<#V~o_6H%;jN}(M!S)p~ z!T}Z;2Qb5>czC9GfJ{$mm;pEdrjofAq~(IxR+4|?uO;~W1|ehaR58;&VIdgXuOS{u z(a;*2Enn?TDh$T_x(LaA2OIFI(598|LHiY>eVh$-{z*9#K5Rvj4IR^Nr_4(wc!FC~ zoZiA}kw(wX5b6vc{hE~7Gy_bBnb%0!Qzv(??1XK~guW}A<$Rm>s0h<#(w_5A^6?3Q z`okpWOFl2w7Li1%08r9cimJSFQLHH=N20IH1D8L1;Jg5%Zsda-MedOIRRu`Kze)74 zx)h1nR-MKlRf=%Sb7xi*L z{^e0ACh?G>6QZtSVR7T9w|BhQv-W9WX)`yyhQ{bZdXPxnVz^eWMqHRXHWxnVF@#m| z*cJe&OKQaG{7yg20kVv9BqSHz-OFdjddYf8rJsvI6vE)kG`M721*o?4q3maWUQ#;a@X0u}(ualMn2LN_ z%Zs^h7_k{cpP!&f&-Z-jvQuLW-1#u^7=S69QgEsPDn;81?Wn20bm1BVgGn?PD&TxW z@Wr5YE?c}<#*1v;PjFKxWyMI@&QkQ>)NO=|u%0MU07Vr72}dQr;$7AOhO6mbS*(1| zWzFP}gWKNJNg4aD{b#EWdmQ;MnUM}zOr)gR^h4$$hi#TT9E1kk630V;l$rG~mCQHW z$9OhmM?9@;M8$-RO$pac-E20q#-1RFEV=zzC&#jF2}G# zofjDo9Bwxmq$gY0-XT8Me)Ju;*s1x&2x9eBgy+_Gsi&rS*rnpK|CLj zW)>-Aq1_!zo=_j$m$eftfQkJDneMvq5|xAkL2$}K7^P$1LYIgTub?`PSY$XU^J?A& zc_Hk=&SV2sL3s%tRQXX5RP@Cxqrj5yO>iDz*Cv=yskulEuH&QtJpvW{v{@cmt~Syl zUM;7DnS?Vh0=}*t@r3{gfeVLKF|&HI!N zf=2`x)fZNhvVH$)Q-m7m{pqTjBy!w;p9b9?PDO(1)dwGd@OI9LhvdJp^Qid4_SkreB@KmO$d;Tfcn@DhJ{K!T(z{>;x-pCmO9%>Kk(>*AuDDWdB3p64 zAEi5w9}|M+m1y< zg38&RuVQ>x%FV6pCo$MMA++Mi7&&*@T)zC~acR-;BDY#GUZ~TKVWStSw)pUBue%x? z<@4qXG=C{UW|EWnw9FX2DTgLVzr^#Et*sbpIZ(FtGR+9K7ieNN2!{}X8WdNu4DvOs zo)iiYyoZXBN!RU`K1!n$pNfD(%~%KW79cRgIhVW zfxDc7BtKm@GCx%8-q<1mhFpf@Q`PCvOJh0a@WtvJWXZk`@u%vfmvk&c2VsfsVbC4b z@Xpgr0}-fgGW5k!=^=c_y*}V=A4OLDZl1q(J*Jhcp|a(0n?oHH|B!S?-Qd`)VUIDZ zaN`Aqgg!XbZy@i+lQ@|c7#OZLO!lqO7>ue`D?|2qz^(s?a#p>%KkS1ffMh>Z1jm~4O6%Clhp=%s3h7RV^cle~lrh#uQ%mlBV9#QWZBOeH@3ju9Tpu9AK z290Zsu|i3ZFOC36FdO#emC%W;v;Y~e!F zz}A7mU)TnT@;v5CCGNB55E{z4tEy_@&_0X$s(VumKn`xM2MwpZ(kl#-U1|?-H#4}p zR|3o%u3(-;K3`;!1Ia9d#Q0A3FYsxfY4L3Z-!St_U#0BW&t-K{Wo`*>2c0lAs>k)zro{ZQHHyHOPf7Gfsqm$a z4b0mUUYh+H6g3_tLWp-|5xjE3e@!0h7mI;DZY-@wNh+ggmV!x^ZtIYCX42z1* zN0QBup5@@=rs1+L8LC88>d0#>{mPo5Z1QfXDj}_f-WCWoAxc77;+VEgKnn%EIV4%_ z_%Hw0cSxo3=anwX3G)skN4AJ%n%ne{4-L1CVOMKw;fwQyxk$eYSL|+S-fw9!qxD_H z9S;?$OOr9@g?hXe&k8&hKcv_!oh7}CZYl{Zugj+*q4{b0dpMR^s?L@K2!qN6%d-in z%VjacCQamy5EfORjXvl-LYg!sukvD_+ia;B{nETeQc=H9ut}6T%6~VJsrx0R9kvkL zM@HnFNFxq_)qj;fjowf^0t2Hf+OUG!CMLqSbQPZF4QfF~)24R75)qR`wh-2nE%u)3 z5UZpXg(o;fs3S6hX_Z$9%n!J(1qU~`ZM`DIh}&dA*}Ye;T*b-LtP}z5LaTYkSVw&X z_-z7_lfq5$bn14>9)2gpSNNg$XDaVOPT0WzHU8g01Z~$Nhh4`VTF5IKN8BrVB}5&a znmfq{2mMAoyO9Sj#3D-xY`04u`A!aZvcSN(sU)E)mpdeNTgk%WpTrCEkk}NYMhLY) zzU_lM&maBA!<{Gh{{1WQm{0?5k3Re3?|%1BfB4<+KK;W#{^8Rve*gQ={^_&dKb%vl z`z3XGJ+(nez?EqY-cg1loYh;VG;F+iIv#e-x?V>u=KfxZ**fZ`##fBm_1TTrJ>9;( z6|HI`puI9q5%)Mcu&|EtvU|9Fh(W6>R`KR&0OmHz%8M&TT5Y*~v~bFvrAIvQo%w z3tiJF`Zi~yZgI7DQ8K_YLu8=d#pG9Ij2bYi51Y6ck6XXUMZVE%baKF@43LrXK-P!u zugLJ7@4urR|GeJI%CNCU&9yZif6u)^*o35HK*!C}Jbm>0A}j|QvV`_bOlUeRT_vGc z>W@%S0T;fpS_HA>v-X90F@@|+be}~;cGNMd?2a8Y%J65B3sK>C*p%M_75t75LtY2> zHL`ddc8Thd(kv85j-^vVIWj;Yp}=afKVbOF1xTxCtEa?7KBx?C{2gIelyj`nS-3~E z?#=qVww`>{knlRouM9uq`ziRzAS`Kz*`|*TagAFmr~}Y{-AUR37pYncm5!$Fq?nQE zT#<()dYTiic2YQXgDn=QGQ}poc09ez%{?J!;mEPA7dH^ThU4fc(CC!Aa#4CrNeCfy z_@&asUoEJAsk5QuZe(~$NB4*i5xQqbrGJV=;fzmmU`XlD6r1E+0aglpIGgXIPs>6j zV$&}C;ZOlk+ce!JO$n_Tl)5T$6NXl+TG7Nsqr6&$i=3VEL1;kBqoKLT_Jh&X=@mit z;?iSzzARHjA64$RQB4gcFRDO(nI+d;5ldYtQx8|q#BV`8$DUVO7-HDwE<^$nQW8ar znKSk(UkG`7wb1lM+KLTtkwjLZ0m!2xc8Fj3c6Fw-+Su#HE~6Ss^_)dtR+uLTl8LIx z$@(){O|L%%vzSlR665IErBpTA^r9|^jDMTVfeCZ zs#69*1#xkTLqePl5q9n5em=&Ee)`?*-*w$?_OCY`SXm2pt~;(p7_znm3CL(gP81F6 z_bHJU#d7DR>w&>vcu^cUf06^>(M>(bJIfj5)OOa{a+vL|y{u|j*UqadS2sOcE-{-X zDaG*RnwJjg(y_s6B{0VQ52C=Us9&yt3i_zFPIFLysJOQHCWQk-+J`3IW?=4z@{v=XwM;HgMzq7Xz0^p5(9{Y!zN~HrJc^7>ZE@5>8F;ob>gCL znQsX;j|D3fc#5T?4x$X|XyMb3==IdTEqQwH7nDva99>{9M@vx1XJd~!()og5-`aH= zNuXts?u0!9B8GdS9KxI-TKpVLwSzK(uJwQbj<}!fr93}5 zIeEWaxzB8tl`0IsxLh>L{7}NwN(j6RtX;V_81_-V=Rpq+Bf`ii|HQ3RY1SeqQulhWDJZo`+YZ(bKlc^uRvO?NCP>) z9HH_KGD~qSDq0oOaqg6_zU?5Zl~;~(HuGyy9N(zP&Iar2K9C|(vQj%elD&+kF2t?8Ww zMY`?<>b8`K=BpAYp6ldL-jO5ap!oeS_oF?7x~EXBo)__(BwA< z9skZ_D%Y_wP>61=hFAF6@h(crin3;BCZH|Dmj^fPD~g_on|GE}Zqd0zbv1nbn>mG4$-HMfsT zcYP@qK6c!NM-Hk{nz6Cqdi#8B)b?Ro`Ya>GXV%uGf?MWu?~~Gj#7YTIL(5oDipT;` z?tgR^;+zXtcqZ{#@g~IHO4yZ5u(`fNsg08zD!!!l4yjVaV9ZfnBg-7;9YJx@WDYMp})FOe!6v zZVKWnITSyji*QQ!DY>)U(&mh&Pz70oa7N8S(#cScZk{RAE5NazX~zn-O}aDbFai#t z{e|q^zAQA8U9oyw;m$#Nz?X5+UHY0fiJpxSrG=-$-OR5Pg%W#*1=o!YS7cYC!Xiij z*=y$3+zSk4NX@ZWqnX5!d|KoVMKr}7;5$3SxxjorN{M6{bj$7!u=TuSc-}jO&*475 z(7d4B3MWCiP{x3eTg_1?LxYzY6mc`7t=zcWKh4Q)4wjA4ZP9laCZkl390#D|N_1OF zK$doxM8C(jLq}9`7W-i~4u6qlp?uLXNShoGgAttQ%Jd~35kd1)9HoI8H75&5s2%oG zOSNk0`=tUOLv!T-?SV1H)hcw28#2M&$w9858^c=}BinYa!fFKO4KnOh1xjwsFq%uv z(m^dPyB-R;>><-9x67Oja-&os9>?#bapg;$&}www&~pbUp}=~y0L4Meb5y3xae#JJ zOLH8YSaC$qqJ%maCuR+Mv4E(FWz9K2hyQ7R&Q+PRNU4qmaT8tb7_=r_Q;`}J=V%k7 zP@IsD98LC!-4xZ~=ZStBsCb7;3gy7~5kNzcEV|xYF0eibu%sTub}L;J4AUUOF}GAZnOERkGjra0$Mj8aT6}6xJRXpTp&L;j&pbP zy+ScfQW3UYqLo>PGCqE;Noyx?_qTAv|El?LTGNzYbdsr$&}z~n#?QrttZ{MXt`Ck^ zacOu!W&jR0a(k6E5xDCOVocKEDp*yZPSnnb*aI$NO|lySoyDYqF_?>#ph33;Z3U?s zxg2;zv42&v!@MOCHrzeOBEOCWl1x9CP&r;-rI5mWhbbFT)wZbIr z2Iehht+@E8NkehF7PldW?8q6Y9vnN4r+FdOk#bx^^x}}K9=q@>r1+!3t~N9skZL8u zgMC%RU3vtspwD4FCK$_whe-~2!;A3qr{iZw;0rKZ54QD(Hnlr04t!1 zj<&6%2CG>;iIesV;Z?fYHq_}#KG-iDM%@gDz%z*rBe_5iF?nH&+p91M#2CnSx;p%2 z4IF#xGMy*^6ep6620ykF3!}3AGPfv3(-|2^0~)KZ-sA=ncz@k!BJ*;djh@Hw!J>68 z%bPlVVnofes*v5W*wC#CEDGdnACmDy@izrI!>B76sE6f^CNtjvHXIFkoC0|r^wl@+ zjBODSru%#geMmbG^`{~b6Z)a(MAHlRd?sCg`naDKC$u*!)>*c7r73W4b%B`}GqEwb?=t!b?YD?#AW*h1 z+D^2>d}d1RPP%DcoWMG9R$xsTbX``|f~#vk$?I1@X~rc~3vI1#lCFC>fjmd=Mz@_E zT>`U1b^g6qJG|P_dw-vA^tWHQ$$Ck2FpzZ$f4!1R+=`ZHc-xnwXS1_o^4;NfKtn`Ycx5h#1SBZXN^aV? zyEZ;k_TsdJaHc5-eWvUEMk3EGoJv zl3^kPFcvFu#q$t6)yYTZ(?~m|EN73E+iEj+&Brc8-93;O1+v%@7TKVxVqi)qL{)p| z!_k_eAJqIuE5>hq8@*}%E36<960E%g8*D-CyERxau0!ILB-KzqZQ4vP-$`FO?#Pm7XW3VSLh*HV91~XiFDP7pQjK|Z?O*! z@ITALk3J6Xh(cCMRswQ%`M7A6rOV7v)XXDc4LN{$IGEZhvUG5r_7jyaYC%W!do}0M zUONnXIPyVBIDGIFJN4qUeA1a`WA0j-A8O(DXSv2NI1anQDbl#0`7%yU2{HX(WhBuz zTP#SU(Y`QuWO@nsB$D6&!9i9W38kxw9RvCOT6taNv$tF^i)}^SZRoi8G8(Pn z(3FQlxoh=iKtv6JDiGux{c6zT+FXWT%hZz)*}phG#+|?6D%5Cz`GW?~w61> zZlP=vg?0kKJJHdtW?N^?E_;>E)#|#*J@?=Jj0ZRJRHx?J_7$A%Ki!6Q^-An^1t7Gl z%3;OSE&-!@KRC|m@%1ShbYYa`iNFA*_pR$Ok07bvKY!R{{gk+!K!+jY>9>#n@6Z6T zj+l`FAcAHoiI4HM?^v;8J6wj=ZQ(eIIRol6V{FfTHrQ3 zMSiMsAnPa@a!+XxyvZjoVqDvuN2D72;_#MUlq4Yxtg79VIywIBP1IZUO!^$M z7~n192FZ0Ux*2MLPC?hH1ONptP&g}5QJFhCz z7L5UYSeg;%(agI;NT_wZgh zT_r!P9cCDPT*%m?Q@B+_<&_6sVTg{?9N@eB9+UwvPHBRi)-3lBl*N1RU56<591^!u4>FDW za}*A=IE4ukYB~9j(F8o2kM4=4wc9xe1iHKT$1lboi38sMSQ0v+O+5RDf8Zjtcp8CE z(~F;=cLxjl$zNq^4`tKn&KtUh$a91Y0JlY(UHKGxLqd?$c&n|W2dZi!$!npkEgKUbFcv{Rd_^F9v+Y8=c;X=3r<)>pW3zOhZk5TcWDKaxiTyJ)WM$|GV}3t5`A3S?>za4*K z>|7O?!v%FE)li{_b_^gA)BwDX%n_Y9BvTh%JiJa90{rYJf-{`#!;W9k<##Wh-yJ=- zIm5e&gHknMG#YWs;o3f*>tMQ1 zF=zHo0tJu<&(|Jde>nf(fiUjgKAvE0vLYeac-)zKX+jcoIC^o%hleOXD!5m*QL50u ze4}vg=wbdwpUZ^&>Q9%khL~A#Jw`fOIu}HdW6F&w8eGi24YI*zaj(8b6-{%7q8Jy@ z!;s^3Rni5tRj@&LK(VxLfk`al*K`f%vd~;VRGAy?H&-z|fp59qOH9R|)Y*;h>F+{+ zbg4GQr%Swm;WKP+!26LZTrKnSDEpo=zSL&ZNSkdyF+>nG4i1oW_SdbmtQ#Mbk-a4z zvyj>)Z*)v&hFm% z_Nx!Rhv#srNNZmE9K@*I>zLQw!88njkX8Ub;`6sL=OgHgEqEbKEgSVPt%)8msuy$p zuyyMLK}OZ@1fnDGwEQXKc+|ZMFU#}|l-p`3axiIxQfUQ+u#5tMPGV%|j%s3|3!Em{ zCi_&Tcrjz32lpR_+G-Ujw11PE280ABk(||J)CybOgG!ttXqFiFswkKV*14m85Ui7n zrK2=u!VdqY_2QhEj=z5T9}qFXtK89I6@}M@5DQ3To-H;|ksNrMDW9z*|IVu_Li|S? zsgz-|`PF60M2IwG({yYWD4KUADlnXEC<6thW-wIa^i%Dfn6fBy>erxzYfI(@h)TDz zUE9qSX5lUp02Iw~Jqt|#1uK@LZ*|*-Q%b94-iyFHeubcEN4g0SXLqklv6XF!|VPN(Ou0>`5TX?524xB%eX$vMMP z@dssSQZlKMhqx=LZ*=d?Vy>HsuqwpWdW8oFa#>5vqO+p85Fn1QPh&RU_s!j{&*du+ zq+aL&7ldbzBIQvfpn<06)=h~sAOW*}Bdc)NpGGIl0XO03iT+*GMXnE8TpYgAu~l$! zCYEp90XLbztLWpI{tb`Jv`fFb`s2)ir^#6(qrx^TM0S_wX3 z@C0*wRZ01HFhw|o4PDx1xUSSHU%8mi*|xab({e#f*8+{g*F|`?Exq&`JA*-h1ALwS zW4p5b`v(B9ce!^lgsd>jskR5=k#TOmBxmyyEFR3%TNo54iF1U<3Mo&l6v=ECUTL;jV z+|!hjl!_i(=1GMCUdSyz5MlB9rz2DZT<1JSTmLv6U)Gs#AwCq7xS4vEmeX z90XCD>quDQ&A88zz(KJ%9RrPHs|qTa;X%v+$7WACd<`nfqSw<;c-ns&P>GjR2dK&R za7Eo2#8Cz-NU4?}RAM1)^7{7CV{N*=gsVsg97&F%4zDU&XZ7nCI46SADl@OJ4NrT~$sEUVJrrZj(y##`;*mNModA#8Ph<(jAUp86`n{dpz8k&H?PA-ps6?{45yQlo)zz zqjB+(Tn1f8gJ(q116@|LG_)y!;HzsQu+tvdJ<9l~0(>aa83bht=gOV#gB9uQp^!x= zfyl(}+QU01m=3z&YHZFp$5hs1ia7j}PiaP)y07p^ps$X!1TH=uWGZN#G}M6~9~?P)CaJiZM7|a6Y7$pn+k-oLHV|C(IH)l9M0DiBy0V zSTBnfL-28o=rh-MVhDJ)(dpeE7ANoIBbOrf4r=)02QOGf&Nse{akQ{o!h`>*=FmFM zlsLt~-v)E_Mfm zbcvQad~txZ%GFb!T@OC#x{81);wiZ7wJ6ZSiJ14Mx1a0v`PpQ57x9_mk1_!05f_js zv>d$JJ=~KKXz+xskSwzDI82O**6{@rX2*4WtqHWV${VqNaoGt4pFIelKnFR72ct)E z4Tcto!J}kMbmX0yH}z?_6uy4+?E`XTp@4&2ioy3)QD`W)-jN(xrL&?~Xtb=BZkwkK zVP1o%@nktAbydsg{<>2({HqV1=)TbQw+L8P!h-3|&Xo2#-8<98S4A9aU2_^+&;Fxz zw7p{`WnG*qk_FR4>9i@0nkGuVrj6Ljzbkf11kx$m@{!pN`-pY@X&Cp_RWPF-W5IeN z{TRZW0Q={>uBdf!_hrP)R&BM9NTLL6cbeu5~Tj=q6OP7Z$CJ-Tb75<+h| zs(^xz6fhLAHi$9eBIIE6YnBEH>t4Yea`ySnB%&s3h~-NMHlyNjxAxgB+uzswH^+|; zmtDLiD1)VXjlhvJ=JdokF5-|(2w8uR7r0f&==F&;>zPiY@GB~K31!tzxnO;;ffWu&d>3uos3Z6YQvYCvik^(6u?p1}TzUF_wNL(QW?7KKcf z6E2g$!e@yrKPowvDy@bdLjXqjp#nvvh-0&XKi|Z>r*5t1Rt4y zYXP%Az9(e=U~ggaVARQiv@00(iWL({m7 zKs%v!pzp^lbkb68c^Iu^;WIo$;r7M+tZ$4SFBY#uJz3akAV*TB->E_jJ}h7eZRx%- zrH!XGq$v)`LXH}&ZNwA~E=33vNbl*T9Y%N`>71WjR^j&+a)itse-nGk2JVl(!(v*U z(|L)28e-wMjt{k4`Esr6AMV}(gO^|Z_`!XD2>Zlt;RR*b+<12T@b-9ec)mDfZz6^$ zXJh&b{$h#d$RTdX!`crazgnd!@sV>EI)7W*-HP%^@0FHr zvl6*Dfr;P84B|K0|Mh}UfOmTS3SVks*6}oIF2<#!z3o37O3z{L`)6|^Jq)oV(LTlm!Qk?R(#gAkzxSyYlUp&t>aKlfAPIXR$ z!YVx%eRuPJ+^pd{lAtU)w2TLF{X|DDVM6}Ku_~=zxKSPmrHf%A8Cda58kdBsV%^TJ zK)RwdC#I&$JPQtK%qepYpu0)F?Cy7f#*`a$B+ z&+6Wv3_CtJm7)qZ=FUHQc>njm|6=vR-)MpyU|Learm4xv>We_C`DGzwU~c(LKM$ z#MK(HQh6>id|2Zjj)N1nnQAIP(bdc2t)oO#VYT{uAF6q@c{p%@h*!i(bfa=Bk3-Ug z+8j`11eZ7PrPdT<+MngJH@}k+#kP|SQ9@$c&l>OM;S4#3XkdMgDh_23#6SHXzggU# zJ^rW|CKo3T3n>jJwl37roi@w<`43FtU3TzpdO_+`lRcqXTC%5~lidX0wt}a4_T!Y5?+biHvC((c9IGAqn2M5E|uMO!3SB!$n)Rqg8P2*8F#0q?g zH5qQP9|UFj@=lE~Y2tHw1gl8K8CRYp{bdubgWmE<-}%6xz$6nf;W}pU&TQ8&+y=xB}x{! zUwX|Yqli0(2JZneM&4K7S@wdM$^+)nB3Y!x=_U3(wQU*{rae?b)iXqoISB1|01}r z#!WjZ*18}kAZ@uE#nVd}QckCbLHSeri9a+IgInf;RH<#|)y(emaQrMvu;P}YkY84x zJ+LV-{s}zMBit48%4t}xQs@$gk)W($%NSbmzHMgG-|HSaBo-9lLcVY!>N`;H zY~wz2yR;BdI;WJOG&zrNJ|GTT9Q^3wSjvPP4E&&P?BDR?@B#}1h(D} z9FYmRxqDIgODZ_vmMRWMj0<7}>4>bV?2+z}>@=bM-NVVADxjj#jUMwa`xRRpQv-v= z5R})LQEa$H9oY&M)PXn02%24r+LfPo^5d_5`0@@mx!D;P+_GVxeKq<2h6*hD|nG+vOK7@5a=JeZf&B5w_qw+fk&evIf$% zKL(h7;U7@US65vtqGU~O8?{*jNw1MA6DbHF*sJIq%GgmRYbse>S(Nhb8!fnpXOD3m zh!~iIkbSr+gV$m*AiNzyAs&WF;tlNKU(bemeIgvW(O;+olWQwh)3_5bXDY6B7B-C0 z(RV7>4I&Xw7e%6M9o*zj^V6=%nN_3Rpw8;I^ATT0z|qm}>^bm3>fueD z^0UVqjgYUT#S(hJBm#h3pt|J4ayE;R;;NToVA-)8$G}wKq59yrr5BHS?-yeSHMcsc zx@hc7ek#LEUi*N6QxiRzh zg-uFbL4#;1=+R}w-BCt@i!n}lt}>>eldHDTr^{~{KEVRijOM1b<=SS*A6}%!ct$vO z;giBG{l;|UP;KoEX&H%<<*xD9!h$tz}M9SQnhZYGJI@nqD% ziKUn8&z{8731cTnyC5$vg|@<2S%|WQuJT9#wzmG_F25SrtZUc_UzM-15pPC?%NTSN{-5J-Wc_#jSk z(-#2rw51v>_Ox4$<%53W6QGkHix3UQb?TiSa>HkIQ9$8>EsKow=dVqT)a0ep#{9K& zh8K<8{Bk2VztqU|l1&cejAg?9d&G^x4|LlRP9R5efNu{07NVMk#tLNlmdNiNL=fw2 zFT8#j9GfNby`xPq6e)0)WDPLTadDIo8l2>~M^~OQn_k2~r1l6XA?k?e5hOzM6=57P z`zfO!_)wl{CB=&rPO6e4k{xF}s82Sa+922!24OsWFRh=^KnBiYbuQkRDS*}7Tw*1B zR)T_xm}ci~-9CtY4?4z7)})8omjFQqJtJ5kx141=Wp32q3g%ne2+kcOy}GVM8}yoH zSL4n+N(t|^k`$#ifhy5p&(k{Ac{|mI=iSjc!&wvN7b#5|-}9~`G+DqTbL!!y%zN(q$v!_{(oo8LDrWuX5de+ z(9cP4|M|_QlObxd2$L$#11Z)dn`j$tMxcR6vnEJfvQMjiaIod^#s}kxfW^+vgri&% z>dBFfe|*IV#l?GUqdGWT!*#0D<4z2Ly@2Go*3wyTIDdZwXbCX>cVS)e& zGJ@ed2sw~Q32#R7cX10kvhG%MWRZM-f$SB@%1pMn51HIQ-N){D3_z350WL@(aiFgF zB8mkc0bX=U@hGRqTs+HCb`X(czR+@fnCwWbk?b017j{1?W6_MkGvo{|L{~zT8l^q# z>9$VZRxnvJ$AlY1?7cS}f~#9XV6zUnyi|@L;WeNB#+<7##dWs*YGbE9^uw;)g@Q-6^6ay&hhfa>J;QVrePDKWEieuOxDAgZT(6J@sKs$Dtkr`t%zx@vF6+b#S6e*w44!ElLvSFBU;$a;b&zZ z`(!!z_iugydJYL-0A+w#Bv|LXYA70XUW2mI&{{Gb7R@6}{?cewL+Q)~m8uV0_7d_9 z7+-NgK(PRmz4ftX~hM{I^`zI#A@l_lk8^$2}0ysnf z?C$YKhdYB9IFLFxv*9%qc>!NKZ+@1fW}p6Y#%4@m<{F446T^n%$*@4}TO_WHV}ee_ zQ&@B%fhHVO2+O5LL>8I?6^m{P0-b4}9`8AHu^kTn{(3iy5qOB|W2>iwDlFQm5+jGb zmmV808pW|cuQ>-OSw6vQIY~C`i0?6$M`!u@N;CX?e6sg>_h{qy{#_}b?%(sVng5Ib zS@`Bbn#K?uX6k{r$YJ}qWK-aQEaT|81p*!-cNj4iLwf#<=`K##EU3$R4cMmSXWT7~9J9uACsT%FG#AV(!2$};Gs(d+g7%cSfU5SMEBjQ?` z3+06tz+2}mnNJ>LrtZoq?fYD|-9U-uZenYt)9KiR80yFo+@{iI^YOUB#O2tOu?G4h z#(0rdL^_1-!U(6qw7{;Zl;FR}+fXJ`-g2NilUaMQ{AgwM;nni>>dD7g%5FoGIWtP( zR##%3>9p%G;JDE%U8szUT;0Nfb$ksKREawlVqF9sDrE79M5&CzQ!PER*BO-(cWw@*lm0?XfRqxjq}(Qr zP8rRFoMJ*^qxtDpg$c@%F{7FLG11TU|9n6Fl?Pww%4F!v9XS@OU08DYmca%G*qPnR zgTG$=H$45X4%PPT?z;i8hK7rQ^FLkP4qy5s$KhC~~z~+Hz2H=%!U0Iz^PxL^`fK!bN~15DiOuBAL5T}d!$kI2fw8gIz-ibyPpE)gGhk<6c4=)rod=6XTaaA5 z9!$bgm88}>Zi=OY&Z~REwHiuLHwIT;82yBIW3tfdTWCr8sBpBb!)Imnx}OoQ-C@To zSmc1NuNf_h7rW>2Jl#^{uj%4RBcD5{7 zc`j>{$*-p9c`l#m`eWSoK=gGy1*Uy%oHdPcJ_E!7$nKd(!Oexp;Kx#H26gDlZ$;SQ zAgpD)ddWD%h7r3apEy_}@yjym*?2BkYfp|f0Kwj$x9Yi4#2?f=7iQLUu<-pm3VxC@-{#ZEq4!Q5VnX6Dm(c0vx0c?E%D}@sAEl z_h)Sp2y%O&zq!4OA49eC!Jd`CXN6!sURslY7wOtM;*NHPbas26V8R&|1g0u<{hB`G zwF?q=gW;!R-%)M96c=1vW&OrNF0hL3F%YcqXiAD*i7?wmXC)DGE9OGN2klZ}zLiZA zt-5Z3lNmoVjn#o>hLyx3rIOUw1*Z8Crr7dvqD32YC)?A@G5&wLHJHJ^9dL7GsnI5% znPaWWaWj4=G8gr#Cg9OzG`FX(X2L|4?MQ=c5tTJK^W!&d#w1XHEN7xzrG1mbXw(N~ zx}AbuM6}NNdRH8c&2dOMrn&U<_w<)_X7-lfP~_Y9n)B^=#4k?D`Sm1=L8qjlyoiLJ zw$8Hz^r4*AutE;s8qas)O@lI&SiI_FT>P#x2bOmf#KM6hDUG~5G(0;k1CrHdT;JfB zez3(EvpV_m%8b*O8N zEFgnJVkp7qQDuyZ2Q+^?k**OpL4hW6DKd7mA_0~8fi?FxAY+8sVNH?SR?IzuxnY-% zdpifG#rdT*B8!ny(Cl!;{nEZ#D~FUljQR3x$cuuj!860Nn!YUKa=<@dr~ow{Rf;%rFzWGrZC$kEvPDYa?v83g_)?T`^Kht*0H zteL`RS0Dvgq^dsyBPt071uSOeiK|{3!|Yx;Y^6!XURo1WcnSiChehQA1;?)WKtY z71}1cwY{)ueG>n=daMw~2>n;+`5etAHxHGzA@{I<=!?Hc#n)($jm%dpFQUJxGYJu} z=?GHI{*e#L>gMVRB*uXlE=?)y8ycioQ{j}3|JLNIuXf)G9aroYCx(0@(G&Z~)fSPL zuA`Ono3!0%5744G^)(Y}f6mx-XTrLmEl>PjzsFim+}n>v0aEWxQQ1Nldq_=)u&)ZXA3*Xe?@ z4LYKgVnyso43Oi1$mtZ`1I1`^BeDQ+rlmg&^Qu3xa-Ml{nvCHQz=_NO537bm{>9VB z11zbg75?2AIMUw%b?)J@zA0Y2`hH8m5wgHz)nJ0!A)W4pQVCzGj}B||JK7;A%e$U))zvX+!(PneFy9YJobU|62-r)zNb#h!v z=|IpPz{VZ(ZbX{#uFK0dm(@h}J5pw8676HefQKb1i-`3ov&dbWZVp&f3S_tC-x*A< z>}kw3{M5DW=eLA8#@6I7oM^Lo{0^Jih`R-x|P|eo!H`&D39lyz@OmSI(B2)oa z?S-_(#DNQ_=~p#vOc*w{Nlbui;_ks8ndE^LPfd|=v_NQxna)QjGsAUW85eWBeVf!a zR|mji8>&kiMH^H62hY~Kl+)ISsZ1a(uR1!2;9cJ8=1qWi9D!sy*5Z;2FJ*Um>y2wu z44&Lp^1U4Qm)}vh<&34)2@2-;;?p;sQ&t4TJY}law@wMa1|`<{+D5)2lGlBSV=3d5 zPy~yQ6M!#E57pMRS&EhV+8OP&0m#Dxc3+~S``|Wq;hK!}{n}>HK9sS?FtfQB`PZ~I zbR-^OBNjaGHIX0#&JP4pZh}*wEi5EMPlrzhLqr}RX?{>bi6XIj@j2s?SS=B0Z1r{p zVYZ;59aDw^#i_^YJzjb8921wmqnzj~hnJ)RTcao5yrRd?J6mr)@57~$VXHa?sjoL1 zuxCVeycwQ+7~+la`03KRGlID_Gd_jC?u7@r#Boh52ir>Z9jyT(O#j{R6Zfx^oa;r+ z?FV;Xg_80)rf^CC4-6;{vDN-;i54FtWkRrz`*aB@Qh(Aw@$>GVf*p!G(4ztKYf}b`qKn(`GwT@q@$PJ%Y%>Vqu_AQ2!6zP1fBMNWAi?!={}c68wm1Wvb&p9>s{W%P(!dLS7g-UEa>&9ly<1>XOA^>SGQloZn`6n}kkZn^VS`4IaJQ zk>NDgxIERBm4wd(6D(|fEfp<7mU{6pRxRsTaTZrsxR3#l^AXsZwxv8Mdv8EO9nuE} zQ$P-qWoR=$;dOKJmY7qt14O;SB*@%^wlJzoUaGI)1#BVK!pUBVXj*VQ=TM?DGP3y9 z$N812;bV-pt*d@pkThn_h~$0$A{^o(i`0C~-w=fQ)(| zPdU<`D$~cda)(MAgl3AFA+Qj5!lE?4_*rsDxwkY@ib*psycQFXE21%=QH^90|LqM6rCE?(z2DW6rQPLWJHVb6b?{uBI z#-*qcG?_XF5jqe$a}L5Gf}x#yOEOx-$P>j4za=LUcBQJO04VmLByBS22`c;cbO(Bp z8X)Ylf+-x-d?OC`XPS>`oz&DDZpw^E>r4NY?`mHOrn*C}LBFw24pC@>5IuphCKtY@ z&2C3^jvl2=>ez3_FT9N0j%e&!HlV%ha@*XPtVYQJuw_Ob9dTA}jx_^p-oq8_f^&qc z1rcK{QKUaxEPl_{NTR_igO!F>fX0Cob^I_St?222H%j~ix1IwA8fRrS#GtM$udK@plnz<3 z*vB&XI*6cnwWH}#*ODGCeDlXPAECHuYgyXUCr%>u@4&UmuyB(coaIOv`^H=<43#gj zJba0M-V)G;o{7*6xjlw=W|4S{2CsKj-zRLA(igWegF5OHZzRC46s5B65wRy~)wav^ zMdGZFdjuE+Ghw{#wg>@$u54jeNY%8g1JI}gEwgqy3xs05ZIFw&;K{X-&>vrG%A|pr z?Y)i266e;%HV_$DM_!(1jypeg)ZjGTj?|NLDz)xlW6JHgs3MM$d$Nwn)w1)`PtL92 z!Q|cAbui`mE{yRI4b|QV7st*zMAKQS9aZcp8v||LtBv{LuDbp_;@0!e`VU^|GeELE zqg553Y|>&t+ULs5*Q3N`~nM2rUgn5=nVnnI~X$*NF6eQqYe_2 zWJTeCt}B1^)X99eBKRS=9PX}MRAZy_)Jo7kI}aO3rU$7)AsE4!!)bJMI+GpPcN2ZC zyy}_GbZ1h-!!J4SXc6M*qGTX)Po0%J2~utjHW zh9z+igPk|6^lq|qJ6tm#(^JAhsqZnY#>BcW(puY{Rq}FR?aW^ec!7pM-5nD}5DarN zrnnWF*mSWsdRajXt;GqJC2@^u!od<@IPyWWrai`5sS@ty;&&UB>8uf*nqYdt8L`9LA3u*(3d{4r@FLrWeVi>a; zly=FN5Vhk7iBSy6GMc5HtW;`MC$mC~4;i#j7#Kub$@tf`a-q_lwqx$#O0EWgiXR^9 zt`aQ=@PH^^7h-b#<1=G!FF8`JKn<S z%Xrn=!=QU)rLhBjxw+opp`(cxk23Irzj&%onY)K zfT>(()NlsNBCN)1H57?0Gdj%r#7t3t1=Vhlzwhf(m&;R9ZK3TKR-=P}qcW|P=S#g` zt+#t2vs3SR_oOng;|)f%gO~Hk+kK;ou@|qFfBsB}oj!k(l0A3?s~}chEHUV;Y4k(Q zPypD7syr9cMXOwdXcq$$@W*!OzCspklSDaQWmFoLG(*(X@sZd92k@J`v(LB=CI?D+6u}G5z=yx?N^g<~@SuW2Ob*2@g61&93Q1rb;ji zK<;bv#@i%j5RK=%{Q5dJd-a^{5YEI62i=AYY>|1v&8Y-*;Ak{F<+`biYegQ9El_W^Hwce!zew&(V-K<={{$Q>>)UceS4Bwj)b#Dx(ORK*)hm> zs5^qB2_(~3NrFQ9hZ9xvYiODL*l`C}vX)v$ZY5aY(#7jd$rqlt5pic3x$rsu(m}^v z4n-BVLB4(NTsXw*qR8yhRNC`l02*;ciO~78j!G9_$H*BH>y^W^#3trc_T8X|_{+=m zU^1b0O^&M?AT;h@nh5Av0VFcO=c>+JGvr)l?~q*bpI^1MF@ayMVdlmA|9AG_aV~Z& z*XRjSJ5R4bI`07}kPmL(u-?Uo~!UV*RV zEP$#>wc%^REb!Papp(Ugl*sGfWd!l+EKO*7s=&XAflg`{8`yn=hlLH-zQq)c zO#0}eRn^rxR?<|rC*^4ZPNV!TcnbZvQqhxP0d)tX=G@@|{pO8AYrI%@(7o;au)llo z!_n^k4=@VaV41#r9LvS(qdUF*1s7aU(ftJ#-d~`2403xYR|>ANFPHwVJxneFGA-{H zS&xLFxvK|v=`ig`t>=7GPJN+?7^g*YG%@hG#+fF8?}P)JiKZcGxXJn-s9?A4UzEz) zuBvP4NUr*Hz!kIo@CJ?qG4ZNIfrVdqvMyoE1_!4LkTOGc8C0tYL_Wk%={EVDCJBhM z!g(m2k1@9Hi&t4(QY`|45Ifpn;d>%!VAYh&DOo`Tg>KhY_~}4l4HH6%i`wcL@M4dR z40d8E4iC2}g38#hA0%q3flAD z>frC-cduBKm)k>|HQC~j69*S7yX6}kag+RT9QL`RvbUz~U=jeQBq$ZA7uLmc@D_T5 z57dDmN`>5CdMc(Rz^!-Qk1xAEl6QH1Z|P!Ub%WE;0p=F;dB|U43*F&IM7mOh*5j zwn&%44;&tufW}{jj9&&E5ogSdkxqi5Bvop9nxU8Brkijt(tx6R|HIM7S2y7q|0XPu zd0}YpUb8y8XGf@KC=iICz(wzm!#7wAkNvOi8gXvJOy2hb|0sjxWRsA1wl&VS*(n{L zIG9&f*Iz6>UHe|j)?6dd5ov9FA7A=RmZgupBUQsA)hD-sPq;T4R2MBKy$iWbTpMCrXi;C9jh z!KRO5bY#W`%M(Pk?GXw7xJv&y2ZT|0fl@hmr(lXy*MpW|FV<|Fmq?z?flKtxIUsH# zf|)cx9qTCKHnlIUFM8qItuh$zWF;T>PFaNptg9Q7xdw_Suao>Ybmv|1xszlbkRDu| znTc$}L%QgwqmJpQA-=)b>8t?lE0`a-IcY8%`%3q%txpS(=x)td1Dk}Fv+!qP2ukbL z6N*o0#DkH+ zsxGz8MC>16*(f2X2&7xuu?v%u z8XjlZMQL*SLwCIGS18fJ4(VQUnt2#;9rg89p8EK^GRR)h5|^v3Tt$aKM?y>hh@c4N zrFo7Ie!dVIJExSfPQ0}lIkY$k5Yn<|qs4|Ct7_$oP6J1ohWM5s@s@d-^>G!*h%yX!Q*&xa>0Aj_2&KXV7p}XJc?SUODNB;CkoXi zjzr`l1k-LnCYCrD+BRvgKW9)Y9B;sz3K{bl`eeMToNf$DO_pyLZ7#0Tjk6XsQ?h%m zjT#KsVqq#g`p+9!D#O46H=vR1D?#rf-GGQAV-O zI5kK6{)JfCJdrbX*Rom^`Y9uU1>_pz{0tkY45OMLJG;iVsN0P?gWcQsv-|esT@c^dJd+LBD%s_;)L@k^p?RX69yxin>ZvMa1e zMpP@~5GK=adH-|^VOws~`D@qgTD*0LI&tu@ukv4Pe$Kn$xjn)jY%t9_?s&Pwd4o+< z5<#-R!2pK6^+&5qkJq#;V#PTNkuN|gxGa9^!|+2N)oA|OJs>>;0Eq_C7Y0a&8X60! z(dK_*{Yrr@w}PsVwu{K8CQnWfz>A8iZ3O&@*3|+DXW+q$-u#VgaVE2@NqEUqQ@mnf zk9O<{WdKrQo*HLU89z%kk|CZB|GM70qWBx`UD?>|JzMMj_4}6dACIm&*xhR#ZHshJ zo!r3?WNDF^GLJ7H9{Jr+j9PO5n<={aLFyoq<41^x-@r%L=8CpA)l?9ggTwgP6-uj1ojRw7O@Uc~yjC+2Lh;hi zq)R&V%_!Q#?$T^;?C*ko-JA&~NpO4*cMT4RU=MfU_1Pr*+vb+;yJ(T54v8YMx-ExN zE+lD~2+R&Pz$XRsV6ZJPEskxp-+j(7CO z-XC3PPW4%5RC1a81CwjJ4357Mt;y!w#z>o@QO|P?6||5G!vQD_rrX^7)obmwJpitl zm6E3gjsr_kZ}I9ix4Dht6ZbEGR?H3Q&FkZH*FiZDp@C*p6Fc}4JK&Mh$ z0S$(3L?-UIph4_bIoJYUR8>L3ty%-ZiXr;OYXf&v;x~UhaG$&H=Zk zqMIw+S(fu&aYGNs6eWEn(0Gp@>>qX8eDa)|uf*p<*;%W&krx(&oqq%eiZaluiKwWo z7^Kv+MWd&lo;=6LW^LukgS2@;0%GCZ5AFsCNQ%nX-wKchn9dmkE;{Moe3DkzOs*;3*+yu>>?D|KNRjNgUMPB_pOw9}kZ& zMSVq|z@FxOwfzD~ye&cw)JNaR4Nt_KdcJa@TTwphRB$7&GU~Ht!u&l_VX9*tsqvO0 zp<1q_d&EkV4pop*yIkZ@FcjlzXfB5VcKku|wdbV#rb2F~@Jj5hNXvNRaN9_hWu_sb zrkZ4IWS(htDTxD$y-D(?sIWvj!^(iFBGezPKC`9?Fr_`ni?h z|C{GBZ^v(W)uC=c0uwC)u9SXD0HM~U4)l~dm4)oOk5y=v8b{G8qM}8WGua1>c>3(d zkjMz*{E>_Z&E{K<2E9k#9Ajw7(Wa65!LXEB$I$BQsTkVx%=Th)1s$6Lv2W2l7EqZ9 zTf-~T)G@ecB^1CnoDnC(;LQ*C7HLHh*gqwiKgzY4#KVSYO_5b#nv1+m{UuHNQ?pX?H zB_j(lT-YVx^}ul~(l!<-L;;K8u^QwzQDH=Zafs|zT_|G86c)=%Bmn6RbTgFW3`e|)cG9T=*mdQ=&cwzRQbU-rim18`qAq8;Nh=JtAi&G*MEU+6N0O)db-@yR;2|_4v-9o zhXYtmRAFkIifHHoi-MilRBfxeY;XVUwP7dwQzm$ zchK=Hhf3TZ7HYwTvkP6Xg|44nXt5SrJgX3XJh!`2ZK89Mz8v&!w=7gE_j-x^XjlyR-XuAxQUM-MecjxZlD?;Rt#zP`-OeX%vbEV$8A~7Snkm2;`_gSoyWS=jckXr##e6KK)hU3$n3c6@nPJ#R`oS zukrxe&~9{sYY3RIOH^}=C!E5F4etm(m4#BjwSW$+yr4oQ3*zA*I6Mf(P4*60=hXj6 zzsPp6H*Jo-PI(-DLg!<|8icu3_xKErMi%Dp^q!#qQzS`Ym8&Q*J_^|3oah6rRiR<^45h_M&cqsuLi{#I0el0y;E!RQP@#k&f(w&`!9i6JIz29C*oLop^_K;q7kTFOFwW zWN*i7z{)j3rZWRX@Bg?gu(3P3j3$<4E{Ao8#ddr&S%Bck{B3N`bhNv_AIrl*eXn%y zzy_XCd3y4KYUCpzO6Xcu}7W;OCFYg{)w&MoO zLGY}gL}*S7pRVG{n6ei9tJ-Ep7}gp)IOUoA4`GiK2g{ymn1fpPU8n~N{#^(zE~2Ag z&Age8Cgz-m!}ZsX$OBkoi!PYgE9&q4_jVbf0m4jToZ`p`(z>9bX_VZIu#*{M*#$9`C=P5eF8Xv;=V;&+ z7^Rk2@-i%n03+^HmovBFO!lBqj$>jxv^uj4rrY_w3-@j|20EzwQ9?!icXbXx<7AeX ztZG(<^|KC|O8aDV7cXfzS8Nd91#rmaQ|F|c^s_x&5q%N@9)nL$ZT0N>QcPR=+pqSOdc6GXSGEU|wt=oc)1kFIb!!L+_dk}XpBLlLQYX#RmDs-ZIo4Hur3jJ5S{^Ts$w;y;6j~%3*DyG z^4;0MGk2U&IoSeCqh&6T7tM|pov3n*)_7BK#oa|W`(56@f@~mj6G;}1#5IdlSkLA3Pp_eoZ4mf6)JfqR;%Qlh0rwY9#rUSSGB~Dg~-EUx7a5&!qHDJ}#F~{Rg zV1X8#TwXZTUMV#D@IZ;%{?=Glmvg>Ydn>A|hc5k8G)$5lhZE9daS4X!-#R|UCM6vr zW`wQ7eXzPcK|4F;$i-p`34s+wQhd7*3GF}lQ}h}yNYBQ z?&;Qfl4prb{qL$hIhh9fYRQs)cYYAQrglN0jR! zaza0>9zVT@3jadmLV2XM@N$BqZu2jE$)GT1MBpKfRru%+H^AV_fkhaVpNk$Ia2T^< zy5@(JpOPqSIZAR!Uuv;H5|3ahwE$vJb`MB}AZvxk2QVi_fxqgURbuZlX!C=79o-5g zI{p;mv{*-hp})#4V*VOVuA6gJUy&swK( zeY0~FbeD9=_*L3RRh|v$63Me}-66s!sqv3ey-C9)l#7H>vcGnHD_JpDp$t1&wakK) z^e{#(6}@qoVik)c-o0j>hOIjc$2@IC6fxe?A6u{!Kw7>)GFE#eV$mZ?wpy4o8L191 zWOn`Ki>IhJ%Z6zUkX=qX8t83e)losmd(Zj|C3My-dgT{xDAmKWmCB_?N1JO;%@X1Z z2uf>hNkW){amec|Wnb2@qshy*z#|-2vh0^zTEJkvW$^wd0kd*|$x;(VL>#nWTxhjLc3X`a zyXO$xNSDc^H;IvCEf{BINL?$E)XUT*zr*oBsKTZeP{=}_1>lJvcX|jEZx3TqF`1k` zu1It$?)p27aJ}yTNq1(vxV^h0eq0`lESwg>Hw8r9poau?;_GT&*sYJfeT9-7>52G) zH>eTqvG%#PM-EJM)72IAvz&*elKZTXsVHk7?#)l15d{f!KKb<7kicIIu@UtD8D#Q% zckI32-jW{{%7UA)9F0R(*gcZ19_I#q41}hQdLeWq`K2z7BIVo3`00!V5+c}CfmTHK zD=&cAkkY8p?)YWH?ilGGU8b<1pww5S$KJC`CGonK+7I2->uvRJ?P(yQA&aBK;kwOw8X-0gm{(LBOoT2*0x zgg*UMOJ544g3l%jighVuSwC47#HWzSNHi7z0!|#itq7Zt?fT?fLRr*jghhVpmdia4 z?hwf|7SO6$Q1vI&+rBIX`;W4hc+ugweXUzvx%%SO-f(9FsC<7dR&8vx(g;&lOUTBm zuu{8iUb*Fx!7Tw?wd?6`Mr1>ou48n$zBQ%68Se=;AzbYE@Z0&)rwtOHpfm^GRYHeLY2&)9aYuOln;Q_)I z&ePUE8_qi8$r|?naO*{NN+z4T*DU$gM`CGrYz{CKiaer8z1t2}8<|j3KNoE8Xmca(Sleu4v&n5z3}ofAc??qnG0Y(OAki=e>M3!S z0*gxp-OE1KB7Aom-Aa+KZ!@ozY&4L6cw^z>mBY8AuT2A;vDAa!{N8WMbcAO4C?P}T?!aud!eC|mbSk^{#QIX~sX_5rTr$@7!^QQ|nVm87uY?)sxZj_+Sj%06% zC}xB>D`(%)!R#UEvk!jBV{nlvfzBf*WUh5pg_I9S;_O)5TcR7j+rj!=d;d^^zMDNJ zeYw!82zO*c8U1u-OJSI} zZ|JB?0jkXfFT_O{3yfBhgvQw{FUIC6#1$W8_Nw+Uy)JFG2y4NdoIPtoKiI60{6fna z0i$wCMA{dqU=4wM%LgZPVQr}j0nr-F06x{m=czy0##G(8goTuv8QD->d%H&^O3&7Y zmKh|JzNk8yE)G)aHb{V!CMB0~Xzv+B9jo*@2K5CrX{FimRzh8LRwJ+yh#cawGLIV} zjgq-=RPrY?VDTx_Q3bnSv_Il9A&GLX=oIz%!rYEXvx!SSXVJ0A#ib=kkNicFVGM7Q z^lFMa;jI@(b0`sZgrmAA**^+_m%~?e(TaI>IBNS%hkWb$et0B zTd__lXIHh>l&D_-ovjE*XwG3!hWZXPT$r%l6*#9Vp?ohUkDPO{aA5C}3%Rt56Ot8F z$&C$)Y1lqlg-2`QO%*2HBC_@EO)*BKteq}Dnt)N z1Fca>-y8Kx^6uQG5tt(5b)TTe@Q}O{P znqoT@g{dljKTz}-l}qfDA~97C_XT8qXNeyCUlj>*t!)`&=KU%es)v95U` z8FL=P&tSEUqt6nJG+;gLb+!jHmv3aj0O(n!=v0*mIH)$xr-x&v@5J*rp2IRttr z*2Hb|ucDMb@~;zkVZP_5vb3p0_~Yg$13GWL1b&c1N{I8L2KLyw$+Qu50ubWBgGK5$ zcF&js87{*?9fhT}2FT%vYwt&({7kBdK5b2J@nMOis0JfOJe646xGCtpnvLX(3HNSy zoR;f}XkVHxDP8m~^mM8ajyQCB#nPEx1fCa7P-@V^^H0P9#yH#h{ow|l@HylQwL+ZYG10}rNaGYF zsMSu6Ht=oUd7+HT}7oCqvU>CXwJ(P;{Aj(90o4)0%E+Gh(d9J_7 zDPVn+3U4eYsw>1fz9(KoS+ghF_G~>cw|no^!Qp2slSrmps{H=V*9<^=8x5lHP~@l` z)P#Vtm5!?$oPvX`*lg>)V}_2H)v@IyLT(a8fvy15Y%Ur3wjUNwmP&RR7>XVBM`QIm zBtN0Q3|Xh0`^5XZrGzer-M|1A^gl+oBiD0mzIJ1&5cc=x&m>w@_+YZJd=g0DJ zVs-Lk+kfz2qKT!Y`r37A(YFRL^`pP*vZp* zqOVoZ$N2>lfzMQo60FJ(mKB6swkleM#j0s}pC~O~d(Um8k&0sI=*g4IDu!?T-T zcPUV|qgo-sEQNc3ne>iF?1Zdh%D%D3MJWMVsdL^(_q~6*pINe*m79^s(&=ZLyDIvL zlZCiEL#RC5eJ=R5h}$i8bKhWU_pJ8J%vvm1e|EOhw*!I35Jl27Oa!L{Ym8 z2nZvxWY%~RF1-jcIx3VXBdSu!D{s|AHKsv|o=S!R$aoD~2Pzf2=YLB=md;iP4IFBF zjIQ0=dtJQ)zt)jW9$5~p@k-rtl|`<};8-gzASM2REfDAWCZ~ zhWICpAOwo#>6F7i2gS}=`&gbL;szHafHDT+EXt^kd&eVUwLujmFr@_x5ZJtK+QD=;HZW6*z4cS+Ut33JJDI z?EFS{s&2sRtSd&j=s>>VE^40CMthRiDoa;I69FJj;DkvO_HbDuf$?ypb@D|>$LM63 zi+G$v-x5T`s(xxE%Fm*n4QCXvU?{=M{Sp*&?bwjiAB3|WAg;+N(@CTj`*3*tZo`g9 zXS}{=nK{5f`B5~%=?hn@h zG7+44UaNh}y`qJEEQv^3<#(wAP-q?UYG{eyz`Gy=bi%k`donwPM0MMvy%MEIID61? zcMN{xWgjckQNo*9#3q=ze$N<*+ljsqu8Y$`vm6lZxWW*@BGs5={!5C}vN}jgJM!Zw zP{q;WsbTVQFpUIZGraJr6kZJl7Gk0H`qpNKyHE7Vz2cbG%p zHzJ9>11!z>ORaK9?Q*h%fa z6}RrL;~J>RbQBx=oclP=&=zO^Ez{&w$PsU(Ba;Rq>7-ygP>1bvprkz%Z-+pbMGb&d z@o_2M#jIa&O&z!$s@v))6Vh_)Vp&FDlQRx+^wq3_rK!^{vbbANX~*4_fn<%z2JERC zO{k8n$R!v*omj(vPHxk3K8JU9K7z!Faa(QM{5>2eJRUV>zT1oMP<)0ZeJf&7C?h(x zlx?A{_cpHDd%RpkPwinsNtt-Th~z`k^nH$@#@E3jF;CtM~|CL1(YOc=}?QY{+>{jie0@^3&Kerp&h z4i8{#PTx>1;#mcojw75nHbe7f{msp)#6h*v|9NG-zr6f>45fNu%4Kv)Ay(3N2D#os zW=IWXS8wAxj*K_(J>}>Gho+%t`uyOtVpV8!Vjy20#OB-5t(A0{DhB6R8#uI?V`JVt zB&E@4QwC8TK`hO>X-CLMotKY(nX{3qDLA4PgoZwQ1G=Back96B+iGL#E zwj1?y<-8CMs|lfX&po0p*g_ZrL|P?sTe}!{#;cdNDJD)r*dCamSns>{b4hD&J60#YURd&e zP-`g@+hrDs!ZpZuM0uvcZGc^-zZ7Zdn?yAmrzeMEbVyWETgkC*Pb?b+6c-}n6M9+c z!~4%)JRCcjWqn|?hT(T!D@A2Q)y{r;qn=heE?NJNgv+fo$6Q+?B11u1O>rhqnD;3laM#sJIWgyG3%9T9Vf*JW95~# z)#o#C+-PsqVV^-+yE|`B5L1n%4&(2n%DUGy}4AefY_2UcC}?4VFb$W)BZW1dm%t59RPASfdpEDZK-e^v|N;DBm2A<9yK-ppK3aJxh@ z&7vcPA{l`4Gz^hZ3u|YdW8n&W^prf|1xN}KsUs;b&cG_=GumR%dhu%W0eOFXRN?*C z*%zS~xXq;?T$)2KJmDK@v|NE-W_`dYUe{B%6bH%sEVKIW-z;s3l8vpl6htiwsvNB# z<@A921F$jTW$+0huiOD$khJ)IiFNQLS*~T(aZ!T{;$&*0un6%~8}KDzT*8>2(l;Tm z9Mf>*#*{lHIy>-wosaj(V(*KRoHt7M^`ox(8D+i@Qm=NH6*)ysg*(AJqx*Vpz!T)?u z9n{?_0d!QPOicwrK#&T`MvA11Dj<56o@ykPAS$sWDrJ?5nCmD6!pkhQ44$CPbx8?q zOnX%ocJ5M!&7Y7G=~X;Wm&Rth=vrlSns9J4MGnik_D^*w)Y7TE(U5I$*b)jKoVY*u z79~TJuR%14tcPHtNn7c0>PWw)a3lvvoChq%W-X4YiB+wsorTdOT+Sla#J45u3?Z~^ ze791F;L;Ah-}RmG;c&yeR@R4CnXjliQUw39WXAx-$8>}}n9v%M8T zLa5pKjk;UzcU|z70=^jcQkwwIpvU4jZJ4ByH;2>pr>YxA}*-J-1N7h35v9`e^EWY-ko5lfR=sd zMu7SrM}7nZUxl`dpCRwSJ}3>kW|Mx_Gb^e=#^pn%LNaE^O##=cQS)njN$DC^oK=C8 zvho}rVHYx5fG2H6vQ=0PSsVvAiB1=>5bopNT}m9B+$VikrQz8(E%W%D{c9KxM^YPCRKo_w@F1~an1Sk$q-xa6iIas*bg(}X7sYmC z0+hqwDEOGjE5>p{G%;ti*GK)jJ0dk~Z|&rCYZu31h0Sg2%FFR)y$p30_g-ZoZu<^) z>2nN=++y}MQj)V`RV#QqJ!&Qfj<=ZnU|PPOV@JABDc!*xyUu48?`vk@;*(rm)c2!dq(=q2af?Ivk7PABSAqsz0_Z9= zA~61(3Mp4({=twvA!~jZZXjl2#uNuhib?Q1*I~qBdEZr_JgY}Ncal51>KW>8S^cN0 zzmZ-l$U0xS%vhRbdl|x#maBZBI3d*mb8xo>g?RwJ_*J`8F=?>C?3oVG@LjiquBe@`j>9>z7uX}U6%ujg$>fr#R+ZD^2y?^*R>J1tedix zumhe!WPj|IZDYb*m$H8wto0|7A@;6t9cX(mH8*bG-!U(VQ>wLT)VvYCGlrKy($ z9aawjeG7Sbhp6slTz}auc2j|707ZH!;!$%18bbsXi}@RVt(Li+t#dvNd?cV0cZlV*|Fbyc<_9}>&dT1(%$v4 zCRbPGKlAzTLjHT*|0+O+t>ogNwCF$hZLqXHkRD=?E-%8F@mBCs-ZEe>f_v!>Zu!E4 z3rp`CF11xix^z6n_A8S{b2Ung z3C?^dgXauP+Hqy8V}{#>2RCLNJ5<6sQ~at2lI$P|73wC`VOGDd(>${73(FlG`KFJz z3#DB^?zgNGAdY~H=p4Fkv=6%=C#&Cd4Fz-M@7dSeu~mOzqah-K$l-a*+*E6J-m(ZfjK&!jE_le)`JvnK81!Mo?xs z|0>pFCn85Ka_Wm;5@7xzQk57!0HHUqTRZ;uFYyCb6R;pwND(hE!NI$lA&_DopFB-t zpF)Cq?lIqZ7XVa%AzQY0X^brvTE{()dU1eIZ1g9rn9R{-0 z5){655)_wCckD)5z6&M|s&Ggn7&U8>yOS~mpVK04FCli_P_Kl3J|1G;1$4nBlQao5 z`z!Yzx9IR=QY8PYb^f!hu2yC8VDiyYC-ctEpRlL=xf@O0|E6|&W-X3ac1->mQ~vwR z>Mj41m!y%OkcU!r!L8y{t-TbnGY2Y3EIe`0_#Zpuyy@4Uy}P`;Z@YwliQQFW3N+^c z8Yz83Wi9_E-#vg)!QR1~aouK2Q}H8GYmzu`{InYcNVIEGPqv7LZ&P~PK z)xbR3-#HxNfI1v32O35#Uq^zcO_ynoR`9zm4f69#?Wsta*kp4tUmDAa$IyxDiFMGJ zkP>t$gr%ln}nxMajJrutNt1{&uQth5cRsdx71La%Bz5=5vwA@!=u3eK&udv(Rzr2!6l> zz>ZBSKb!%9Ag~ClI0puG_MB8j4ZWiv8#r^aIJsy%rZ2Y7bP#?5$?tC-ou0A6{-QbXV|)rZ?B(Y# z^;x$QzC^=-K1=+X^iWdb2CHuCprBT)dl`UgZSQU!Zp_@UM||lmsf=3G6^JnQ;~)?o z$KJQvYw@nF^2qp!+2wjz%A(AH4$G~txS6axNZDdMbBFrp0-_y9B!oe=k6r+=CDL}} zUgsnfaGO;a&{({g8)RJ#X7 z|I!@iZ;sDV84+d!l6*rFAi_`CbZi`!Jj#eWGy*6$_Gr_{uq;df_nnt%!V!^9@c`42 zs-2u35XidDU$?6*t}4!Q`Z-3jyG|m3k2~-@YoS;}VaK@wS#dkT{Otu_U@GBTvGx<^ z>LY<7wc7gX8nRJ{GR5mfjoe)PH%52B|4;&PZ8EC6wG!M?O$&Pjr4ZI7M^EQJLH4bl zpYlqCNkjuhI$9w_WuHa>!?*6puXKBD$ZZZ6QuJJ!71f&c%&b|-;=}Q2vl~Rvkh~N$ z#zVD8n3*%A&?`chE;$DB{WTd`w$MZ2UyMEnhg?&P9~Mt#ucSQn34_(MlZS#I@=6uX zt~N$8(XJrhCy9e3rqEoqTIBL@xUACL2u(0%vf9`Li&t1r?avh`Ie^k`yJ&mQ%&bHm zTNzMez>0A=0jVu18cKhp%S;UM6+Mc@B4n~O(_MvfGjuoquy9wMNHX2-pNjO~KP=+b zb35Cmo`gLwALuCB>u8rUQo!b#0V<$3hETiQ_VvBDq2eQ#dzN z0m?uESNddLiC*Vk)fluC7~|6jDAORc_MR)C9pcy6Bl-Y!G(uayZD}#ShRyA{D*8;N z?ISI78kSC4l`gIp=q^E31t{X~dF6p|#N-|Z9)6~`9B$-F<#>eloxc`*!wE0+!XXTa zH2UxY0M4L~i;NK+xP+y_bwIe-*O}T?G|SK()1nUZSNOdxsiQ_eJ8q^e9%5APrCS=H z2-?*`+&C>$^OfoWHr>a-T+Qk^_^OLYXW}lU4mt~~Z%T)##o_p>oW=rxXuA4GV|OHF z`B&`H28oWl&oN{d)8`$)48II=hWS-R@LpnRqaVe0fOC(Sr;2y4bm|J}MaOQD`^TqO z0JkZ!EA$t#0U_6@;vQ$OL_5gCZU=8aOwMUM(k^#KeKIlE(>L80W2iDl ze*r>GFZbx?+I6v>!aGH~C(p|H+qZ9tB(-#g5K|L zomJt}7bmdT8PA_zER8y&Oc&8_#=3Lm!L_l$^seAZQ?C`U6$x|+uz>SI^K3uzqav>cK8s&+_>Af^5=OwSofin^_w!Grx^O#Y=bltXj8c)%wCL zZ{N=Lw{ zZ0EV{%(v~7O1E#ESLODN$?;;R?N-1|l|Y8b0PUjfoe;8&Bt>-Y8R$ zub(c8erF8zt59-uHuF55g_Qqmx=d6Z{U@^aLqXR(TnJ&Gzv+KB8vjDGiQF~FFCL2S zk@y-E|6j1s7ef5!PqmN(rg|ZQ@P*dCxLTD^?2Zm^-@1MKj>uF{q|TegYiALsE=jXd zF+BsI&$LvIWv8jzQ;nZL#%|R__2rci+jwid!8#-i+9{L36W1X*fjLI!*2BhEO#pc+9HFYJ@vMnQ%?wE?rVT_UjI?5eA;s!yw9ZU3?egSnP zO28v-n5EPF`Atz^ijFK34wCN~yIhx8=`S=~Q(d1nakWp;7%)!T{UyZ9XP{Mc$Qyx6 zB-6W28zIJWOE(Jsc9fR5*Ze)Pu*&y{2JJEB8!ijZSEEu zxIBXHKq@lQHhAf(CNiZ|t9WM#p}B>@2m%i!NNN8;#aCn1GZO zKi+zM)sO)o-i_X}wB3ahfP}A`p=w{jR~d}VaLHL%qr>S8{@y1}cGTr`Ig##e3YpsEEGIS9``1n3E3%=)&CpH;4e%QR@V z6^qhDkQYJLEYMb?fj8_+LwXBEnmRdNz|5u`Za$tgZ#OtCWXmF@;-A_c{lTZ=wD}WU z-kff#$)gSIs$0$OR&%iZZj;#phNL0pQUma2F@2S1r)@>eb--R?C~9hJ@*JULio`V z0j<90vVq**(4SlUS(tB9S(=hi0g$LS%ru? zky4y3*rqU>sz1v=YZQlo`zMy=BRfSD7Z9=eZiBE650EW@?#T$xSE~s?IiC)igG0`- zOrnkSV)~arqJzT^2hIG+;e10PHgd911;B2?mX57zqtPFns{ni~SNa1`>>Xig-#fw` z8E0V-3>1hl96L0PesFJU$m%jYX?9Mr&2BYG=Nl185a1@;bu#MD-@18ozJI;32_cfW zX~daMM1}!D+%W*o29nTclX=M|+0Um>t+I0l^CrC;j?KWB5rOxP_n8{4IUJF@-;TxGt7df8#eb`Ax(8r7(XP3xDbP`hx#3s_P4M zbsbUV#&xxQ{U_DJx#Py-BA!Y5OI7|-mA};DFVz+oH9G#%A%CgKU#jw#4*9EE8up@w zy{M)a)%2pqzNoP;YV3;|`=Z9acuQYz>FX_j{n&(;2L{j+0NnqKCoe2?0h=GUm&wVt z<~7VGe+YLce2l8!6J9PLukH5>`U5h<>BWDB4bTlLfMd&BAq4)SK7jRBbM@+v{15wu z|0CY?s+hEmJztkLgenz3-@*JuSfYWdgVf*6J9CRy z=eOtP=5G5jUe}jds1*LT(elyc+|9)(zHlR}-SofT;(QG!HnDzOwM*7_R$D({mrh`% z#5Rq@m)4vWla-X8-T|Dh$e*S+mZi;be^+ZrxF~EW!gL z;T|S~2+$%P<`{D^whDQ&Lck@=Lp zrPHW&pT=NwPg$Z*3cEZGhA?!PQFn;N4ex0xBP0vyT)oSMYG0YGSuR~+EMNZ~tMvp#p<#gIeHX&6jT{M2QL?*dRzx zjur%gA?9M03{T4*!%Cr-uHy!i|4iN96~a^_a#)w9I0r0!e&4nks%!fy^g`Ca{G!V> zOpFu!@cnE@O5L^LkX19ljyWcN+uVJ7a&k1f^P{lZRan!jhsQfVQg`&@{WBJf<~sWs zDI|;7=|Gq!5)R^zm1?Hrw8$iEyI>|@+qFk>hfl&(8qzw>ZCOrn@$j3 z@HPA@5M~KmIDe1#3e;>OtzHwiO~S~PcGQ#GArloYpYx#DNU;j9_d-d(feqe8q7(BNUeb{E2 zH@4KQ-ET5$JkB}aHWKBxc6T_yasJ1#O}p*FPErvZ?>Ev9z&s;^)t^Yo8};F!!Tm;s z`1cs@p3~L%uWIYFog9DSvOAfOE5-%Aa!oj3!uo%(eE#C(&{D1=k`AK=0@Ls<5mB*`ImqB z7i%0EGC8APmxPDsP9(+`q-2`-5wH5j3B;R!+x)|;{eO7%ZxeHC7Y~oLy~ATI zp?^SM3t$G>8V*j6_Y!1j>)QN3U!Qk_@%u*S_f7wHPJwxfUSDXR7xcVX%lgOmfpurm zPL!1zXQZOhtXB}RSC_yx!BvM%&-dvmymE0xLnUIQC}>sozOO0|82 z$%9h~3<&V43(<<}DnjW;%I~vqnNqueEBexvXpi*oK(q;sk*-_^atdp&{Zq3pf(ip% zSs0s!>b16o~{2IGL^bM}eJJ+XR9o1)7IQ6-A*GidaeBknCf zBAEp*(`$MVo}@ZQ16BeRv-J)v@s2!$+QA;ZB?U$2O(UB-*K(YcBFt}xc`^qO?#GiC z@x;aG4gdX&_{Jok|MnmTRVr5?>5k**!&YqCs#JE~zU2TRpvUj{H{Xm7cEQAKFMQ@F z{I$5Jj(k5)r4N_V$4=6I3e8O{ZiP&N9~_PZfrFh@Z^u9CUfBJO$}=2qe7Fi}e|!1{ zUf|f1J2<%t5BcNa201zUC!3=mQy+-B?Z@<+^P|Sz`81{^Y3GU4D%l+Y)>8}e zUJ+ehfNuBh%fHNBTm0+&=I-3Jg^vgwRiz>|_kgJaSoP<`XYs2cMR&*m@Mb93`Vd$lkzMouk3%@CiDhs@caFptMG|ydaN^ zi1-?a{Ds&%fl7y1ZXtZeU&5anz6qp$0D=Ld@v7hN_nN<8DTejy!8`rHp#Kv8zz+WF zzw*CtbA+7o!QnRQ3nevT{n(+A+tx^J{Y!M*?7{7>$?;P0M(?(m1YK_yUqi|hW|hrPdi*Uasq zQ&ZYS{v0;2c60jYsF^$E7yoTHb07Jo|M){2V*&$2jWva$zMi{w{jhoca_$=8rT_5z zt$+UK<{w@+|3ejGdqvaFPPmU z0D|_c$}G&8wz6LCGoiqk}jnD{I+@K^kK)kOzFr)>=<9m#bj#fcJ||K=lG(7 zTDsdd!PI~=?3a{G$PcxLTDoo93p!)a45pTTqO1sQnejHu7R)ML_znE$yTdr6?a4Bw z<<3YR8Y=IA zx-lT>u1PVx<3b_Ki56nU|JAlni9!oQ{W;}p=@$>z9=`bX;e+1lv*o4rm1pQ@pS^gn z@^tCN|J{4C^c)6%_uHn|Gm~Lvzt=M(3dNEJMOeF(31SnTLK>$-Atyd60<^sHWIBab zQ42psY-{+j`f%yjhx+m2;nSrjonM1rAHMjRfj((J4xTJ6zj)TXO!H{32i8D@p_?t6 z9yIPDOb65Wf+2`fc zrByH8*b;g~EFB#Xh&OkdIOluGN@=z(;lf<(oLnyD87Z*Vzwafk32!%G12HU?|!W5WqSAS^*)U~&7IEOZ_Y13f)q!?#prwAeYp!aIx&bD z-9B0R>!85fV7*y-(EsJxat8t<;ZPDVbYKUHY4WiRQDp5R89{;6Ds63ad5qQkQOd5JnpToJblPH ze9nKJt^I9f{g(mSn6<3J%6@ePGriOz4w-W*eUQSONhlASf#_#ML%W?~NNa7eU@K=8 z%fLH4X{wGx>_)jEUKQ=76Zj7C#>yKnO}R|~Zwb!G;pxs>l(US7NWsG%06K4m&Rq=#e9^pIf7HLe@bkm`u^K<- zZ|0l%oB8Gzilma|GxV`J69yrk23B)-vn)Vc6i!k0FKeVV7A9F$KG-}NA-d2!{B!L-!C^@ zM|ncV6eQ@anPUlkTyNwXDmRD!97Y56EbAcrP+q_osCM+V?S+rbIX%Y#np#EtR9-** zcTuwc(9AWnja=p#EBeJze??o(7F+r0@YFldQ^nDL{EOE2-(!JW*)%rn@_$@T@YiU+ zIFgGtB)j5(NPn*O2DSz`)nWS7Wrr44FyXCWY?DFf= z|C&XLW8nzA8M|$0?rF8zmW%b+sPqK@sk!`*oHSA@DsQjEI40vkX$26ozTO7i21-x}5{aoh7ltsA74bUzmPo>uLrKlD;Qh z5Tnb}+^ECw$XoB|=tp(KkfbxvNlPP3Xx{8yaw}V^qX6in06jjYwYpo@)$d7RZMVQ z%`Zz&AHQ7vUoW3NUVHfL>Embphm8>oT*m%zVRLZ0@o{l+ut%Wza;2PeAA9?{QOgr0 z8^_Z}|F-P4n%+S%1-|dd_L$IJO%bwDA$?D_evW-h0d2j}YnA%t-v}>uJD++Gkx6IfkUJM zW{6e}PJ|;YQ$QpM=@hSkTJeO83fu-uO*yL}uQ_j%Rt~ft@&cA(EG0@DnVf~pZ_=p2 z4}XFW1N)kpZmUynLlHDUMOttgT@)#%uXU7CpKX=z=HLa!SP985Q>3DXMe@OCIw6Y_;+H0DmS&?n~IZfeS#DlsA>D%Z#`nwHWR z=2#MuTZ#J3cR5}17P75)^67GW3CnSn0!`(W^#C4kub^&AH@~ci>jE|IJ$U$h{TJaT zUQ3e{Y(Q529#e)vrL)}{Ji@UoGQCTWR#vUCx+IR~Zh5-j0Mgtbld5M(J=?1jFh23` zyy*r*o!sx(+wZjTGv0*Q?XO04oXiq#$8urM1ZiV(*q0w-ff?meA!K24TCk_Y3m+!_FrQov}3*yCe^$^XE zeP39_85P%3#)V@R&|*MkXX+>v>!y7r{{@1E|rW=;?RV63fn#lxB&&5O8S$<@GY&W*}7Y*jcUj-3+t~x;U_~ zVHP_Uz+D#o2f*rs-qAo!<8H6ItBsenq9Csw2p+zR_+1Nx^@b!0!qjoNrCX>E#zSWQ zzst|emH%nk_oOk>t&>4Y1S)Nr^9v{fOA~h<-Em;dCR*Cl!HpGSOQAxQI%Tf(zMba6 zE6ubGU5vO0nu(3wKAXvw1x9Gqpmd$4P84**8R2#jhJ5@5v2FEtCJ6gLd zQPWZ?%ZluI7ONNyT$^UYsQ!6)}y_ydJ$x_mp<=7|}IKPycnYp_X0|qB^_W@6{QM0;* z>-qnfdlUF7itLZK?v{jrV?@-bI9@gZ0SSnT2pD7$6(m9sP%sILg0e(F!96oBgUV=h zTyT#&;~JH58PUm%%b=oW+`whVj54mM(Qy~${Z7?6eQ$UA*6m{6|MOmd2-TNB6W42I`GCE<5FS>VCzQI& z%Is44zBxQx{k*UPF2RL@=PooirJu{_DVR(g#;Z%0(UUXXU7#yN*MPR%jDK)lW;Ah| zq6hW(-?K`us--8k(8R)C%me8ptOyQOnLh{LJ`;^}&mldtyEnWNOc!g zo)d3BpuSPxg1WsJw>or_Nxz<xGn;GE)nhMqI@{AXJqP#u zr=Ww@vx#MyE?nxWziOHhI-L~m60(NDnMs7qBUql1q|-sukyIF#ik*ZBM6bU`pKdzH zu544+%vtcFqzOf_zDej_a!iQE+xxUIQr|F{T1G9QQP4NTy>a7)!{@dp!^UbTT@i8D z>rI)^i%O_{)QD!)iBo#|?8ZsVs%WSJUd6~vWudw#xtzS8q_doT&o3AU`T5k~XIDk) z-1O05;)qtMU=<9$RIh(A3zyLXEV9GmZshUR@JN}mAHl)%nf?az7ijb7b$8Dz3ZpU1 zZe9Hy3I(34Hoev0mZG zV`nvppbM<_q^2^znC}$zC)XXvm{IH%6%TslvUIaad2j-}M7!BY| z^Tng8s*WB}HDcnSld7uB{)CE3y*sIL)X1u;^Z>-pqBE$^B7KdatZZB`uB>ceFmAvB zW&5^?8x*29AgG70I~_1!0OcJqY0~KNhm0FNk?qhXVSUjgEQ6vbdo2CHp11NeHMjp=Vr~PIQ!BgxfN|`x5eKU_qUj0$3^uY(? zdc&{`Pqt`Q5?59a`pQLiDu0Luuj=6zA@dC@(!~rX&6v08!SIbB>cI4qB_5>cn?1bg zh`tl+hRy2W$@s9!z!B+Q<3^9E>{mIV-^9ZX9b1`3r5`;CYy1xFt+c`+>0Ua4G)S|J z!l)o&0wmLpY84kejqVXdp9$~C2 z8xyq7q?r}ws%!tfyXtNhZ6|d-xMenHg}xN7Ctl3}LoWuSHv>==^crz}>gZEXX8hrM z3?Lv3%rSJMhb0_ihB-7!r4_xj{shJ1P_PoFOyPt7XruLa{m})O*PWoD7k%j2CR*{V z7oh3>tGCL5$AuKKT1LJckDgG>!*H9vIKXd+VH8C@1SU0?xG*E4G%& zBM@2pfG>078I*J(J+dCIFHybI)7!Q0P^{$kF!NNZr(UkJFdYWO*jHv);DOAe7W28J zw0>HQsR5oUT4Y{d!7^O>T{(H!g(nht9Y%L%@|~q<88i8KioIWI6oY%F5mKo95O3C=r(^#0M^}hI28N9|dOOHq}oL_{N1MA1IqHD7G zs#E6J3=Hil%}P-_LoJV)+XG0Kl+|(5Lm^X*=v@K)6fr6tjpWdZVt$L}*D&;}(K8zZ zuml310K%-2nHNNp>-GOpF}RryKr#=1v~6Z6LZ6Mt$A&UPJ$V>}YHfm=ZoHC=YEJ{PzUuVy0V_c z!QI@s;j;(y*dk2b486UlcXY;P(nuLF{9c85gh>Oo>>E9*W0~nv4D}XZ765}c>Z|A- zM_SH~xBBtr3h%1uwWPO9=;Adao+FewJ9>uER^LA>hP^Mnd5E45w1Wz~G zSn7(3h>UXW%6*7j)?_+$ta7y~X&`w12$hnv9>f)sXT4|?YaTSnJ-gfkQw2Ol^QG!Vvz3 zE~BCR-I=03>n!DU{AVfYq0ds>6P~5~V*nNGRaK^2Jxhgk$Y)^@?ELxk!8%$HiyV<)N!lMfxM#!VWn=!rH)fk&ENTcM%Dg-LC(8aFLHMq$CHLKZc4;$$^< z@hJ#(P7iMu2AHPYs|M+zJ@6Kw)P=CbND7gav|=ySTaBJDMs@3^j#V?%8R{%`kkYR$ z;K#Xjc;sXZxhATSV@FI>Q}qAzA3lsl0lwq~LkH{V36*1^hk*_TFKP;hCV;ltVSP^2 z<9*&AJ9@+@jH-2!gsYm2mpev{9%IV%BvZCe#4U#CiY;D*fqNob<;f-)cP#=i5dmTV zGIGNB@i_CSmw0u9?hjSP#1V&%AHhM@=n3Og#Rxq}Rr+N&47X@45WY{g@1XtmKVa~I zH8W@79#i!gf`9mLD8Ao7Z-FYj)nG>VXtm9-UeO>Pzlc|h5%Un;fSO)}9%SNCjkn;F zCNuC!8$5gQzxBqGMp+b11W>PD!?TFYI~iVzS)`pw@e*{WnOWvfud(R2Uid8*h~p=W znv6AU&L^EhY>{WlK0 zgGSPSljy(kLweL6G#Yz-$tVO9@!wgh8w~?|E7=#=@mNd%V$iu5WiW`l47^v?xh#ueW% z?23<^;0}=f@NbCzNAkg4+uqXYvb~!+zPII+==Hj>nNTx(R zY)tnUI6K{A&}fxgK>i|$1%=||&w>OR_Z zusCs8ID<)Qctn6tGYHFn)+pMCVBIa+D%8!KuQMt_-}dK*Dmr_p2KN)l7>@gG{` zt#6DFtydwbtUTsR$FxW&ki#tKI+2zn;f>&|96Z~Fr*&9!V{Xdva9sxEI)Y{lPO0Ua zLA+j8i}%;*#Cz&*+GqarfSH*mj;yjs8HV6ZYHt-z^%#2}njNV7*`zC}-uwv1? ze%yAPjxQu&T^W6lVl?;t`u`>R<*_PyZQsPo zhrY4~@48}mixspx^}|uGisFj(ufCzrh0)+2vkvkh4SaRmcV{e_(RQLvlO8@PaYA;B z$X}|cf~FpoW-Fir@&NeWl3C)wnI*x@Snx75GooB2ouKf$8r!89*)YizP)H?R3Jbm`iy$6h^q_1?Qr z-+ue_A9B#pVZ#qTcKVFt&N%a|v%PC9AEYOofu@VPNuT4`GOyvIQJbD^Az#8=^r(8( zS6^g9_0iQoqtml*PkJDO$E@M$eulIp?0gz1WTEiHk6W6Y>D-7=&xJX4`hjz5asAyF zKM%rvj~*$Qx~^{_9kbx2Hoio#Zi3qpOx@9UB(14CV~Y zm7~8L)V4M8H5^&>x6R!2f|D?k(@(D`)U6tJlqZHzK$87aSV6vluq%St4<-5B; zFT%UF^h}*~v)=n>L-rYTJiRnIe|~@SBy9-VCww7E|9-2mVW$D4d-dtx5ARwHJRazp zQ%~3j?Znc>rwvhhViZj?i*0<3Z|I|F8a1M&S-fa@)smC(jW3zF#7GK@==2O7F4OtM z(H|uXwDC($!!H=%Z3X(eBAxf(kc2u1wU7D50{tdDeK>d4q7(4VB-F-HQ$|c2gO391 za+Hy%yd_@ z{)4LUxiY=PBb{48`T;|lr{68Y^AbC| z4TprWjQN>xu?%r|<2}UHqCf@Npp=dYd;K&&jKgIc4Ye2_!ADJ@-)6~qc10(n442|f znXoKApTOja<3<|?z*}ew_3d6*KDJ7?@_0mHejx`HRcGL3DN=bw}vuDZP9lt#WTv_ z%@=aQ4a%ho*J7Ru)4lkLB;CH^vB2VaxIw~a%jkmw__Q6mTKe7~^|*T0UB2b#uZd!K zzFb-F%Ig>I&D&ghYCd~WM1S~k78=a?$M=VZG9sEY9ZiOE6u#Ni-%NG)ui1xI&0@ZW zZnnsBdR8Sj>3WHAR#~`&Y3PQh;J9_7?;TU&bS}r^?x5cUG?nyKL;d(Qvukefc|4QR zrE3_|_&M}2NX(>UO&bI)0uSGK)kP@!z?Xiqf|^PVAU|U~K`JT+rdbWL2)fRTz%8kW ze3gobGwU&=@$e$N%hdcvi%g62wd!wvCQTdPeRb^CP!i6PA%>lGqP&=qcx8 zRS#azQ~HrRI!&_-8$AYI;97`VQS;CqEx{Ztaxkj=tx76Se`EpEW#;M*DO8fEJLm4i zd+y++Nlbbc77$>-i=mpTp8AFYqg9S&Y!HIKga0i1KFj0Y1dAVT7F;~z7 zYt0!dH+FM)STh$z?_8O*YCMo<%$zFTm;gQ0BIHC9g z*?d|7aXdaqybM=IRn4**H1DeBbO`8C(K4Z1oi$(e>aAuiK%6>T%|2T7AEstcRmWmT zJ_CDtD0l1(d~{gpwc+@F zojO=89u1_x}ThNe95)FbufrgLa#po4i8FeF`x(J_eT}GB+%&6C8Ym8T3 zCW;r3D}D^erfy^~|2Z(1%&%QKJ4ziwHW| zu(-r5)uCi=-?Y{-o+YhrIs;RxHCSj#vs~TO;Ug9=#!M$I znV|0%XH8R>(TASk#uy7zuxQXQsMHa%!t7Mj{n2ttb#!H=QP%C-;!{jdpRGX^N)Jc0 zz9;F?qd)3+j2VbY1KCsOEnZ5$H-eA!EO){G1w1y6Z<8^zGLyWTj)`W92N$0VM#I*>@~ev+iwOSkkq%^W;L%ThGyX1JkO*2`P_7#I|*ky-EH(Oa_g zjJ#_{vn&-OD#xNzRF&f^u+okKd~zNC^+#>$zjQ%ue}yTCsd^I}y*!P}By-yJ z%>~APWEVZKG{0YwH7=1wO||o|tc;$fWfrT^Nk(1us*oQ4dwTL7Caqi3U!Tv6`a`Y2 zPpaWF2LU8*9q==fX7sIJ2gMRcdXlamuT_kmO3zXdRaH5ms^YMU(Q+q*Pxz~lR6RkD zgVl4e^Je2?0yIJsi%r>P!bKm-si^HI(NiJ(t`z-bkD}4>skJ7+k0}^cObJn+fhtSM z>7J@5erAD2OKR@?ajKYpgMsG;*tgucQzpz{nYpH7^pvylEoEA&i285H-7q(!V))sP z&iE_9-yri79y*L;{~uFRlpO1#;<1`oBDO>OWGtp)v4){ajY9(c{r<4__}}a&5Oz@M z#L5mjDpsOYq8hs`ag}UHs(4*Wsfs;SN~Kk-I;~PoX{Abfs8nqa6>sRF60Nk~Q^gwg zR;p>ZN~m&`tQe^hO{0{moecfSh<^@x&#PqhdKIsJQK{;eRjl=8r5ayTsg~EE`;JQ1 z{}W|?ty1ORfc1@1bvwtBjl0BD#kg3qdVDO^GCmeBJ2IB4n-GiFSHx7y#8|vx65=ak zv69I#)i@1@c}z?-%!nmxkBg;ht758dW-MMeE2hfk#F8y@Vybm+EKxoW`X|OxO(({Z zP4nTZg|S4%!dR?qQ7q9^8;ez(jJTx;Pl?4_PKl|e(~))tSXaj4jaQ+Z|HNYDAH`Jq zQ|N4tCDdmzRsAi}zD2p;#Z>*zi2ntQl6b75B(7R|#N!Qn#Z}Ybcq~069#0>HxWnSH z*2Chdk|W}=>WOjHd|W)Hs^Y5d+IXz~+PJE{5#f!Ho8z(CH{yx(hPX;^MBGNiy&I1; zycOpHP5l<%)s-!p( zZ!Av4s@o?LP3;liJ`u0(kVrIcp8znCs4hvQN_I#jt9M8wDmo@qW2Z!{xl{JBPsAHW!GCibY5wAZ!5oc=8RV-HvBs<5i>qPJ4LFvYU}po4{SM^2BcbY7Cz2I+ zB~;zriA2f0;NF{1t$&6Mk0WnWBHr4RP~}f2lC{s`{5+pXwmy&JegV7}q4N@a^im?F zUWVPTCSvK=5^?o9!q;JYuVk#OS29tLu(?+wr?_7*Dsl9 z-6t8V?Vn6F^oL&mWTLt(nN$OkiP`~4)iN-dDBm}!>IOk?5cCg7#!3b!Q{{t`s%ca* zQ8GFiYaE@7myJm#8pb45Sw%8dQISlxB2-5ulMP2D<1I%a&%|V+X(D(>V}A-*QH@#-6rvAP?Q@unM+iS$j-zX^G7N~-2t zlc}=Xz`i}HD*l*^x89XZG~bQ#?gjro=-daN+y}-(@YzF2Rl5f1YoPl`GS&D9{P1W} zm9I@E>eqtx6zpG@j5V)ICd!_JZ=Xx5R)l5GCsQrYBYXkz>yd9gbk>9QYBE*-YEm`6 zo{Y7=o=lazfw&Eb+W=o}NXFF0WTJK>^f%&|-h`h&OeRY{1#>fO`waV^!;bHh$>#5q zvFabd`5D}wld1GC$yog_$&}ifOtfx=ekzq{DM+c-4yi=*uTrV>_Nipa4k=Z;V=A8R zlu`{lrQ+2)r&29Dqfgi+6|dMOm2BB16)P!Csiu8W@$#}%thx+(ho%zhFvK60N;Mpo zLfeY{NzkcG#ab&pB<2TRRsd8utLFM?tc&7xMQmNHpvX-981e<~{|gzHdQH^(#n~_k;dE1**A!L9(o@ zAXZ*hph^Z5#Ons2>;cF#us}8LTaaqq7yLm5s%1a0_lM5Vf>_y5qz^4XKUI(@I~aKm zE=Z-z5nqnDLkbdgBMXu(qY6~{IM_X|AeJ5vdnTfcO4uezy0^|1x9 z+GBBCvkGF>vkDTma|&V&#}}y9D+}V~R~5ust}2Mvt}2Mttpe|l(D`FQGJO~9zN;YF zdN=g$DM+gO5Px4myy?DzWX1i^Yb=O0H6q^w@Zp0f>%oF}dJXJbQ;=+0Q;?|s6OQFi z$n$VPqUB-4KT@Dd9>Z}yhVl?r{~11f9A!LJ5N~*D*X{`{21&{koIXos&R8c zqW&{*KLhu(f_T~I1+n_iVN1utcuU7ZRoAyLp5CW0R=rPQvKgT&D@@i7C`_~tD2$a2 zEX1ItFjg_RFi~<~p{gEI7^@#rn5;XfFx7ZaVL}Znj5Q2{PDNp?uA&hAI?|6VOr)nn zo?fULjw_5cRu`tqYrwB5OsScL@!FY%v65MZ$+FqdpIaDjom;3%PJ-S^g{hMHg|YN} zl(PW&7r?HC2p1Nrrdrr_GRj?C7%N{=7;j!un5tL`=2Fw&Z`6%lGgcl(EU16f(cVMq5jJ2*PjMrZX+b=9k)?ZYZXuP;kRa_3<<%O#G z4~2<}D+=R{R~E*auY`ZDE=;tnf?d}Xs@7}3xwcT%UkkghElf0DSEw3qfq!m=9k&)H z(|5vWcOtzJHat+6s(zp_R{s!qYYJnvYY_h@l<_cZcn0z_g{g*T3ek@s@3XM`+roIm zcPR5a`04w?Wcd$;iQ1oF*B02fr7&LdGx8^j;lRaR6KZzw8C)we5B6&;IW%^izU zWjhwBhTcW7^xg=MD2lZnQIu#JSEO2}6~#)9DN^c^qGZD*MXLVFqFCdVMXLEh#6JYq znxa_s8l=Be6f1wJC|S}B=7yqJ?S>-N_*PM>`K_W@%Uj6zc2T_fZLl{X-+zkY_5UeK zm3&Zy`i6WTp`33K{~hEXi(>UZ7OCo=VB=3<{alo+_@zjdZ$&vK}mKL+xTs54BUZkF<-GJPQ5C+Qk|lYo{vy+Ad!ER6EtW zzFngA<#x%2e;|An;p^=Z6&u*2_iN@E8lTEJ|tJXJ)+58zepBKl{Ulb=AzCfPV;$(d*(!VWEReXoM z-xVj-_ptki;#Bhw#mUwmi{m9*ieuGVidAE*eXJ?gK3NxUA8U-aPqiXUC)%sJ0_+#G zk2MswPc;=HuBd&gqNqLUSo>5|nx14$JO0di8r08qU5(Ry&%ov9AeRR_$!kIjocL4ioP)Dnw|y zct@RIlIH%y&Px^Uz(l5-Deo3D6KjcYY#p%~^DD_6d zTRHyDKssg>^maGL-5X~P|CA?Pj{7mzlX@%R^}Cz%em{p2FX7$4HtB0Qlz0in@Ar2J zuRqd1p3^NnUE(jzk$zBjldqgZDOcJzk#mI``eZ<4;>RPT6_l(4-?*2hGFVTaOUeoq!*A<)^;qX zOS!s`tn{OqU(IoH9C%`(x9Oao=5*ZY=}pp4;Pi5i_l}?QpUUZVoW3)MlK&{SujQPx z^(pZD%lUuL`NbjT=@1~CevPE_9a=E|g)en9s_Y=oKb-$o$97C7m6(OThjn zNl%-EVE$($y*xbqc}cG`>77h~r($O3T}kHy-Z7B=UoYJ_K#ouH|LCRvR_ELBd332GWOn>1mxJ=TGcA+)FRl>7M_zq|^j2-8ew%vE;AL zq-zIw*Dw2TZYI5skYYdM)#;qR6&uA#J0N_~%N3r@`MEfCF3Z2>4D~Eay}yR#-8lUg zmOHY1C(HBXwEUhYr?njX@2wNX9+T1{GCS~nkvZeXB6Ip?kvaV%4Sv-u>y$oXlXeDIH~@}w5bO$4^WcklnZ$jJUEPsf3dfHa8+!1R~ zXuFYR;pxb%|HM8yo?PuwRuzavCVMF^xZS#)zx@feC)2X>2lJ9#&FSLLIa%dX z`aG7!KMPov^CSJA_>=NvZ;M%9;!a^Xm%dz|l74oe{PO}l;YzrI)5X5}fc`3$g?|gn za(u#(@bMk}?d^Xj8-GiF(Ub6xf%02=8GZ5Zy@B!`VOh@Y<17pRFDwf`82+8p<#^Y# zEXVUY%fb)V5Ammz7v$f5i#dLYe~D$$|BhuTZ}qK4U+nn@%ToT2EQ>$hWc%d$ewSsr zo;R^9?a5~>OMCMb%hJAxof3Y>>0;l{EQ|f3CtVKylqdWyoL`Qw7t7-BvON3)0{IVOS@>dygku8wl>z;kEQ@|HoEOlq4e+GB z3g#18+6Sp0XLEk>&v`7%@dxYsg@N)fWm)Q@lq2CaoGx-hAiu;*cpIn7`M58SzVsL3 zZ|N^2e|CQ%Wn_oq57B=lP+su(v-8sa-vahN7swyf50)3?znUk1uM*Q93U_0m{C8QF z^BHWfC7*;JvA(nipRz3NK`YBL5A+SoW{I~_Ke8gQkG>NZ4Z`Zex)nRJMjVaWLf5K-n-e9FY|!K+}_H3OkdWQd9VR2%Y4uN zEbq?zp)Bvg@(7k?{^wAZWj<*f%X_l^Q7orfKAPn&EFa5qSC(s7?#A*7EO%#l0n0sD zUc&NTET6`5PnOSNxfjdlv)r5Ii&@^A<;z&^!}3)u_htDymiw`MGt2w1d?(BOS-zL$ zGL|1=c>v3gu{@CFzp%V7%g?YZ?<%~&@_wA&%<}#$zs~XjEWgF_V3yxy`9PL8u{?z3 zk6Av5<%Y`hDV7UX!hp@Z@%OhFdndMO| z58(Pdn&sU&eGJQ8SU!~Ho-B`LxgX1ivAi$KhqHVj%SW($Fw6Ar2W?Zh{P9LqqdEOZ zmJern0?QLvu3)*6<)c`h#_~j#k7Icf%d=RnWce&EAFqb!Z7!!D&GJH)r?9+~<*6*6 z&hj*t>sUU92zLDiBmTzOZn&rD#u3`CpmS?iOhUHl- zKgRNGmY-yK4$Dumd_2n++-~aI2`sPU^tmj*$nrdvUt#$~mN&3`63g$fJfG!%v%G-i z4_IEv^8fYtx7%&z_+szn`*wi`c$kAoFL^e}2jOGQRkhWf?C7`|lu6 z`g_TrPygotzr#9nd@>%}m1VK7C(F6UU#|Wi7~mfiC|~YRq&&Gl5&z5miTHmM=a=!t zVJyq|;z*Wdd@+e-8DC6gS;iN^^BMH_ajgFfKOd6uzC15l&EtQ`H=Ff;W_^j5FnGQe zvA&%DWh~42m3$J)`4|0#MgIBEAYbwY!zUJ)abMjevp!VnLwZGA&tI2uDEYo&{ic9^ zIqOvf^mks!Ji4*j}- zejV%8=g@Bq=r^!lV-Ee6fPNF}HRsT;nBqU)7S?MG=r{5Cst@R^i`f4hir?R7{pNsv zn)S*8`dg$vO!eDS&UzIA{oafC`U>b*vtDgLe=O^lPxJHZSg$^yUnBg0ego?@2K0Z+ z`i%koCe~{X=-0|u%w6I=lKz|+UR|oXf#q56$#s9ysep5g{&3a`4{nA?F&(?r` zIqOvf^!u}Z*|C26t68r$pno*$*9G+JSg$^ye=6%Y2J{jU~ttk)dSpUU<$2lQK5ua(2oSx@Xq*ZA#Mm$3gi6g>&c=KA&1 ztXCG$zlY1I3+R`#UPVBEJ?l3H^s8B~mc#b~_N#e*d+J!PKEUs`gxkY_ego?@2J}a> ze))-heiQ382lSV*eqBJnh4oqk`r^-ExSBb^c#-M8BkV7G{44tsN?zA+)3;kky5^yA zG2I)}{RzzxuEQVQ`_cUdjlt=@g7(R_?7yiz!IvE;_b4lMJnV8w-XYbQ-5Th6Ve!}0^NUXyoQ#tnO_@qoq zCtGN~mDrRkZ`tK=oWQF+86JIFo?Ntc*E;;%0h=or)3FUKD#lio@w zX@4M{jz!fO-_t!8&D)jZkGPaZdh4)H`G`x$QGUqwnn~$(h@-ioB>u=YvRCxQ9?H{j zK}<8oV}AuEhY{#abj^8+d&f_{Yk*V4H-AG0`WwUfD4_D_uWU+6A2*dpek{iy*+$G> z_#@lX_#@k7pY*6~@+-yBANfx5U{}`%iKmeKPk$&zmr;(8{6q&&dBtZCwOz!QJaoKN zmr1T`{V`7EQXaa`)^!ab8JI>uHq%D-7U3_AKkYC;D6X7E1bQReXd~Z{4OAADO?JwC zGc%ma|*>biHrHd^4>?<8e9IJUjc6|1}r+}ScJjvOA z*}B>LRIua?hNPDrC%o+Z!F|#pW_G+Vvg7`jed1#~Cz~5)n^DWylC6`yPqqjv7*ZN> zL`Tv|mW|6fhr;Z1ktq~imrz&~%6@kKAUCKZaxi~(KG6|wwr;kbq*F-ok}o@yyxC!P zKHEO!$>wJ3N*NR?$}@`;&Gmuw)Ne0nbS<tYn!DX(m@pUumT6Fr-cM4xn}d%n0-%6x{^lw z#LUMfyai5x6P{3_`b200>AdnhA- z?0jUG=um#yvi&b{*BE~ z{>)*)QZpakp2LnD2JPJ?M|@CEuhi!$?6G@=V{x9FVG*4dH&M66>Gtwo`{Ri$*+ z?fgED{6z_TERXr6dXcJ~KhTkXJM5=+~Ke zWREXMrgYk726$2U=ByIGT$6~Gi$6cWCtcfiUY38RM)3bKNB;TXW4fCCLzdY6ztWMv z81+Z|6XpC~#r)eMmP6MU&BfBWQ)(`n9Akej|9=>fOP-)@DeQNtpIcMzew8D?4t%LUcxsoI zztEBY8}KvjLw^2pNB#xii~sRtF0cJ{+rXFpMX9lQ`4>9!r^GuJ(KwB+FQvMAeC+r( zN~i5wNB)WMk6gb|{Bzef@H6(qKQVjz{J0~3KJ2Hpx^(PO>|eJH{7nCn-~Klo`NinJ zTP&+kZ!Z+Zd1ocr_mVZ;_^M-C7!9eE33u7lkk5htde+!#5oH6^{0|1o%OJ$oDBF zekJ-}dL~cjt|~(R`&EEnu*^O_A$~`XU#Iu*U(WiuM}U`)KMwvOv&sG_sQ&2_;OA?fsr__mpZ5>&vuzFAFG2q${3zp-5!=A0xmfZ~l=0_y zNB$*Q?Q<0SYqo(e?OPQ4Pj%#9i1SPDUK{_Io<8h6Q95mxIPxz7U;3{o^BcD~@*CiP zdKaB+i!%T7CrAEeS=U#T{(Ze8{|{OIFVrjL%=j&M4(Rx3+vLcn@uA=U?*!3WHuSAq zzjx&S3VazqmzJi%vfE#9np^vJ9nNp2eaO$>A;8bqzFi6b%l+xp($${*xyJvy1^CEd z-N^rP{}QGD?HS-lv0ujLQ%mQ<7W?>r0P`yX<>WdDvY)=4K=nhZIe2i@5~?cor-8YT zIq>OQ4;lWZP`-Iq5>tIoH}z*ChoQ<@kz{{&k6#1(KgvqY?27%*G51pke%i<1oPlQT z3BU9VWB*7Fvs6NN$^PC*G5#U@TSN7P{}6NEbKv*$@xQk6r=4l+uj4ROIV+Ov@8RQr zpOu=~75o3i+~ir&+KIO3cS{DEwI}@Rnfn(9eiv{u{ttbesMASjhqH~{2XmNZLg+5p z-`B^-Z^VUcV*kU;UGKn`@xM}3e~Lo+R3s&AX6|<9MEC!m$Y=aR?L!AEe;{*@a^U;h zpAswoH0EC8z^Aoq8T&g~`F~^X*ADzLAHOt|FXwl5o$>o693rcAqx#be8X5aLhw=$R z2|N78@OyJe@wSclneic=-?WuKiMb~@@H68R;&-?5&u8v!4t#(8>1E}=#@x*ge7}F_ zt(&%+iHxaEzcv0ZE8$CNkvR4e}s=3eW-_t*dFR{mSe{lQ6%` zpBR+z19Q9mA-aG3vf3!A~PaG=a2j=c{ zRrLDl=QoA&<@%b<+}}9xGvm)1TwhOz@^Nd2Ev6co`?3Q+)4tL5yDpS3_V>8j_+<=- zx>(D9R6qUoXT6nwK67t(;QPlX%~t*|%;8bFZRF1+#enI{`%i)<#JXbv3mlC z=IC<&-*)^{l9NyCsNQ7m76-n+{&x!Hi~r}{Z0xV+Ft_Cw*CyZ@)t4p1_yrT`6*prLqqvw7JU;ez1rA6fy02gZA7v^ z^L(86BZF?;k&m3gyf7Rs2U|e-{qh7#xTo`(=HgnZF%tZ{;sw?g|IKzkQo- z$S6KP`-EZuk!(khP0}*6@=J_)9k1Ip@l#Ry!Pcip%2YzP#8}aKy`BMK6Yc%%H z<}hGx8KWS{9DZwuv%{d+!W{4<2ZfIHfVe*aMYSslu!$Rz%1 znR|l+-~W91o>0En{|a-zao~4>T^av0TKVM<@%77L8;1lU$Upx3uQgWwjm&-AfuEV* zCjUQb<^RImoz|G+2$VmS`&uji2#*e^=C74 zJNzlSfBg6F>#Y1?%&l?Ycg0!B)X()+{vFJHew+EtR(_9%jb9GuuuX*tM6|8{uUYw* zGWSmo{LJ`}>i%@5N!j+%_WFpBewufd7t_{|Dwi?7;W8KP^`N7Uu5xX!QE& z=Whz-)Ae;Qo)4~M?tKpYH1cNZ=SQJ@xxW6(+zyXLx8MK%!e%SKg1Ji__+5SWw_5p6 zGWTB&e1H4!wUxi~pN(Joa|qL{8`V$0f4;Z!mofKF2fly&xy8!=nYjZWkA8ml#Sv!e zkNy;Tn`4&x^E>9=;lTILZzL0K;9NeH@d0zUUmM+i|NVvj+*X?+#QqbRdx-4?<=@BLmmT>2`q|gY z@84wnatw!o)7eI(^XtF=Ewl31GWTr1o2O`LR|M?vp z%9r-%bmm^;!1vof)XM*yxjX$Wdi~7Yzti}w+{$0Z+-n^8Y50te-?X2jto%*P-Ri*4 z%x{qWW3Bu{pE7=_;xKSJ+lX|2GxGz)A7|y)GxshBzJLC?!ph&s+#ekH{_D5W%HQv4 zcpQX&b#)01rmSyapAIc}|XW{QZ%-!kl z(e3w-Z)?<}iwX{QdjNP(Jye?%(T}yV`;8uRryneDTlc%q@8#`t_BDZKnRzpnhHv z%9r{xjk#w!@Vof+oPd;@&9AYecgfYZ-3TW`MbVs z?B9>WDE9mLO`&{h9|q!YE_2V@X8zNmeDTjC%-!U`_dlOnXXT&VZ2WUMhf)0F@4wbt z`7bl~8wb9B{=C`BANUVr|9B3g*zdnTddfkl6~g>cT*^z{6Omm<}&wp4*bmcjry05 zLiysKN0|Gf17FrJ8T&U|`QI>i*Vm%^$M64ED}Nz#&v)SapPznh<-g0^Ee?Et{r}#| zKkjwomoqq|^KRRy|Ml~?Sox1IcY_1pKYsRpW~7Z-zaZwOp0}VuwfBesnO04{) z%)P{c@ArQvEB~*|eanHLu^;V^Dou95{{?~L6#oq0X#6vS!+=^Fk^JLp-&E%$wHLYg zYnl6|1K)prrLF!cebd-~Act)X4n&as{_#WiP`->m&tvXQ4t!t#u6iZAS^SfJ%h*4T z!+^PMM6%!i{fEAx_EW~$_+@&klV5^))z@FZKT$=I-&1IS!lclt%XZ=Ld#b`7@Y%wgcZ^Kg+HB=a~Dc13!)9 zF#bpT5FZuFr(-4m@A6OMmwp^lylo@@_{Jw{Y?AKxaR{22Yz?t&Dg)(%HQvOQ5R98UC4}d`hS7A?Cj7!1w#7 z&dT3uld=B*4sEtmT3h?i3+2=Kr5>P`xtBTc{q=K2DBpNz>(=L(`>6vz4a+FMx&K`m z$|vh*(v?t2b= zzyEKu@~3`e>_3-7tMN!A`~B-@R$KW$GPm=`rkp7JG?X&+{~jxU9&>-|!1vex#!$Yr z4=*$KM+d&&KWjqy^o@6F2M2#*{Bi<^h_Y_vfB*ZlkB0K;*(}xn2bue(1HT9IW&FQ3 zlut&IkNSOT>>tk|#oIQr-{1Z>h4RJ!=QH;K2fly&_OzA1!)9ZDZw_s?QySUtTc4xW zB?llr*ZBVo=3eW-_m6MahuSag!yca*`w!(Xiv9lfp*fUKoZ0w$gSp>1@csScYgYb6 zpBww{;xLN+{`#{qlrR4Ikh!~jVakcZ_pc9mCzMYd^3RRTea3^4{|64E*xv<8rv0hG_+)b^pE%S;yujSA9r&5& zv&3(;@`rzA?4QLUm22CmeW3X;V?T|rz7FM+?Q{e$GWQDyei}J5{O?2gM5ph+9r#~k z|1lg=ylo@<{q<*ym45?s*E;b1?OU6lhVslK`@dlBc3+$0@Dg+Ekp2GgRWg-B)%b_G zGaUH-`(OQYgl&qD`rqRlWA`Wy+b9Mi$bP?nI)vIU{NFJ5W(U5%{VWOPlUcLz7yH)O zKZwJCxot$UpZdd0{p=LV7yB<`?tKpY%=|fBzonskGK{XVmzevR1K;oe&Q^Y(?~H#A zGFAL?1{p* zvp=2J{uz$^>%pfEF{*!NIr47+pH660{)vwKbMgCMg&u!}=bvCDlJmP{8~CQy(EQa{ zG{O|-{{6?Z9QnV4{qp-?Q%j4`j2S+ak-dri7di58^wppI{<(e|`11RDQT%hiBmXAY zpPAnHw=g7Yt{!ar!`Ipm!$UOf4#F5_s`!n~~`R$Kyackdh_MPAS{7#Pi zTfooEPv+AbVvT3;Qxy2 zf0Wd22_ zd@JL_DA(6dj{K$QzcTfIMPC1>es=3$XndZrALlpE_-D}ehF=n~9OBcn15-bHdG=$+ zx5@Q;LPV})PJr(+{#@wDzYzY<{Qf(YY9GIy{A13v99woM{`tKlzW{u>KPrtd z{<+DKUj#lqyCM6c@b3=r+nr*sulM@=U#CkVzvOCv)@}n|{4=$*JTL#H0H18JZGV9M z(!WO;f4=9)?*RXsT0`U8{MT1EzJ6^sXQ$EiD}1H$^EU_V&-eSq_3)4UzWMUfI`r`7 z`pR{FW54+8OFsS;;LG~MDE!@-|7#A%EcKU{?Hk%B|KO%h*Z--dO?nUi<*c9A1?(qX z+m_8&$#qb*`{zdH-yE@=Z2r^;?Zcm$`=kS(=5?rjh{FGrxu0{GuYK^@-?=HTe=ccn zKc4{jHb0+E_0V9|)cSOMw4KG**Nm;EoPuTc^0N7*rTNeAP0YQ8L!YrBLN-52`|~Pu zH#qR+{H9eCEU?$l?bHr>o_hxlLrnHXk^L_G1DQLNLl^&V9h%?%rOaLCV865v)e-!2 z`Zl!B!msO|zy938cK>l3>|ag~s`&i+PLhr__5T^>KF49c_Bs3fF7KSb{r{4=-)s}V z$+JIr5gY5bZtW8@^|L>R!Q%|de)}oaK0Z8-xikNd_!lwvQVyf|AIq|J`y9ppk1}`d z|B?NhnEMfjo#WEC@_)pCow*w$^E2mn zYJ~pf$B0}x7ykNVt~5!@4$ax!y7lL6;M4iNl`3h3`K4IW-kxRKMElad-4czq?Bm-`+rZDXKV$RqcmJRG`R(tz4gAdf zbAJ2x-UfcgKl$w+unl|{`wwLPP!65$Pb16^w47-A$EgvIV+z(MWUk+?s*dX?wH?`; zv~MezdqYG%wLdgJb3Y0x-IZFp^5D=)7bE;PBXY$y;>-Axo-fzs>EHjw{7n(dAwFHd z4|w*Evf96Y%Cyhr9EzQ}LgE)8@j>uQO2|KBt^8}5d$R*y>VN63hp4)^eSElux!V;) z>u1P*n%|~h{VmdW+T*PDPhoD21E2i!C-4WCl7A|!{L7eoj{~2cUq4LeSMw{a{8r{B z3Zwgnp8q}qzEWNBH`U7DpSedn@M(Rc`Bh}%Pq*@KXKtedpPuhL2K&qP3ae@>|KH60 z(t%IUm;dbXXIuHDMaJ)YafqzGZ6U`$%JU#=F@Hrkry_Ukv<&iLoo9A?`Pwomrc zwC$7NQ~RJg)oTA!nc17z{~&Y!;=rf-$G;F?Uti0u=XWb}i;AOPU-W#r34GH&oN48E zWA1?te0u-=uf*5>sk8d$S?0dtz^CV5e*@oKUn{Kk@6g`(r7wrbYTfAkQv3E4_@@0? zY2{zQ+}j-ZblYWqb-XL~>aF~C9gO{5IV7uW8`)3myPomvzrxC&&)jnz`1JjvXFdKZ zEB`s>e(Av93;e%({Ohg!{kAjynZcpWH7|u-Q&&WIwIXH@{j>^}o@| zKa;tu9QgG9(Tkq_Ypne5n7dO+bo=T0eaYiLYUM9v?j;U<8lSxE@z+}Up9*(}==Rh7 zMYG3mvhojN?i2?;`Trjt|7k1#56peof!_uES3LeYE5CO~gPs}-(ux2V{W|zpX`6r<8QL^|H<5~4*WFuZ+ZNW zto##pGX7b~A+lOGI=}RO(Ayq=vz7lEbH8%n)AjX^$8WXr58T<OzlFJfbL9Wa<9~1E@3@Pxe;|iZ?5Fj;?|S?#R{pijeZqm?1^gC|-{#g!n<)1$ zC8fsx{v1ZN|KA=z8N9Xg@y}-Nbq;)LKi~8CdO2pP{~vk$w3UAhb1!t@)BAlNd;IQJ{wvJ= z-htm8{7*c7FDw6m&c;7eI1IR>jVSHsryjqrm47*N?|0zS^}E^Qms$BgGPmO%(XU^s z|DSpML00|(=3eH&r}59{9)GZv-^|=k9Qaf}zwr1&t^B=zZTvExLu9pXbbh-)qt)Y= zTltqV_tuE~oxrE{w_k!^t}U_8zinXdClUE%Ki!{x1-_Xd8)dbB`kwZB^RHg!`OmCh znec1Of71Nqe?9-$?LUe6XXGhIy8{1_{h9ZJX5#t6*iidPKaRgUnfr(%{~OOg<3jn; zKYqpBWIEhWQ#oGz^Bw#{)570+e7k>+;rzMybe!3noL{o9w3ME|RD{}3dB{HtnE#s` z_GhzcpZHWizlZ&1{;)EXFaEikxlcOqseb-I^+(U&PPOuP>SFxflSAb4ZNd8a6Z`*1 z;_K%lcK`n_58qc9glzvSMfG!fsQr|W{C_R;@5^C7>1A)?|1F;V)uDXx|3}RI#(_`s z=RbS=*;f9ZU5)?yahPpu*gn}$&qsdI{A%nO{|5)@V*h03&U4`F_ZPr7&j;sP?Y|)p z_byJC=Q}Yxzb60C$usSzz5d+C`Pb$thmf?1f9Ux2^{eI=kZ!zD{_n;i zF>D+0seO)n_SXv9mreL*Fn6T`pPtVqJpNKE|8LCww*#Nq~=P%2x{2twne-7r* zcaR|h`G>|2DbM~ht^D6I_fiKw)t>_JP5rF1@;5}}%ApjYe$x3Z1Ru}$QC;ly^8@C8 z6R{krKlJF`tRFbfYX7(%#{X3uik-Pa;#2$I&f~AJ@^54ALk@iMPqD{eY2_F1W$fRB z!(4Vtyx8B~;!A%F0joH2#s}&lh&!`uQuv z&s#tHGkwhs zvOW91V?_T~GJj6Qa>#ya|91r6j1N~^?Z1<`k2>-@fp6N+d#wB|%-ybcbpMn6J9+#@ zEB`3w&UEDO?D5xF`FAk)5l8+m;G6O7qgMWIdmF#>(!DIcjC=H9Azj8N3z>hegZ=dUZa09;_^rum|6|O3#(_`kD|YwzPh0t|%>BiI zPvhs#;HUK+#5ya#tdBXr!#PA&-xj<-`Zd}I;_m^zY2WPQhedh#zQQ0#`%LFguV0F< z54E52(K^esnO~p7e$va{h)?&|dwTXahw`QVd@kI+(c1^&r@iz0nw8&|xg#C;G(X%0 zeA9kzwDK1*_tc1dnqQ*(iLRdg_Varib03MwC;wCb*bRJBf8Md$-=UxJ`>#1fR_i9` zx4Xx0vGR{)?g?S?l2-ma=B{wy)BHex@Xh(vpEC+rkr_Yyi@9Gp z@M(Nf=J7jN?e96j_@^I-Z43!Skbh_`>;UjfOS@vP#LAz}+*2I*w7y~>_@;h#vhtgm zyUBr1{@K^#msTKnYVeYgX{NVij{%GH*{_jV8JqWe8 zZ#U)P2M>nq*YlIOfXw`SI@Es3M@RP%^Vj9DKa5Y~+XIlEeC>c?(h0q`L{FoF$X^Re~9OwGAsWR<|YRjKLz~} zl*vET{vYJ=2U+=tGk1yupW1&~nm<^#4}-1zo0$861E0nx!#w+kTKT)~XZ%veVbC8z znfycJ+u;FzuKT+?nA_yQC;uM|zG?rRW9r$#AJqCO;|1jOkzlXVxJMd|K_)zf8_^sN? z|B|`M1Ebe}>L15?_RqHRhckDY1E1E99R|LspL4DJ` z`-iTtBRqbsl|P2L6CC&i90$JX-Yj|2!-Ix6HlDfluR;qrf-ye}$F*7v}!m zfloJ#6Tu%`n#SHrEB`;tZ9g=;{!a_US7Q83>+5KIN%q&}dH#4ce_v%;fCEJ6M(39d zu7v$cRpZZ$&vUIGxQ4lRIPj_dPX^yyU-fqXFn5aspT<8&gKygZE3Eu(!;IhiaEPqd zjr>FBcMAAZ_4sg=l|PxeGadNkpQ)aIuD9~9WA0rJe7b(8flo8sN;O#d>zVtm1E2b@ zV?6)gX65%EZu~!tLu9pX4I8shJY|8lgSwcmbqs+@Tq-1!Sm1hP`=pz0CS&p z;FJAxJ$|#5{{eGzwQoTAHu4WWztH~C>sMb3qUgt{;~Iu&oTF{hJ>PtOOJ zfN$|I_>x*=N>o>mS*W zWM4@49K~bI`Q4jCpF)U0e0sm~RL?)Uxoe{-{+Z0&*$#XfKQHt69jG~NvkCu7=HBJN zr~0`Z{Bm7CORW6YnESCK|1^)^$;#jJ&}i+xIDpy*s_>_SUs|d#?QCx!dNF@!#B%8T z()i&F@Xh^Wsn!0|nR~SZpXNW$1m9d=ovr*2nER6hpU&@D15B|0Q#OcHqjY!tplI>uit`i>dzo6{~yf#(1B0mlXE@)47T#S9d7({Acx3m z-N--0KhNV2wertr?kWd9-5;F~zG>get^7Bb`-uae+J_6kH|@hHE5GsxBp^66O4^^z5H*<&R|UQ4V~XzxqA+rhTin z^3P@N#`Br#tXz{^t+yziB_0Tm63nbMJHD zQ~PrT_@@0l)5_m%g7N<#4#m&8LTMka1mD#EIxGJ-%)P{cPxCWZdHnON{CAoAsRN(J zCs%v?6;}S96~;gNa+u365>Ni2_IVZfrhQv!<)6>ol@5HW>(_Yp*IW62W^S_spT-Z@ zf zvhhnl4w2QmQT?R*-`hO?S}VUQB3BCCGhx18bi2p5&kvl={L3PiL-vz@?f`$PzJF}8 z+W$&KuGrrN_S5+1PVl45kNt=FzeFrY+K1KPoAK4tR{N(MZO-pJ4#mz~A@S+@`lDz6 zIxGK1=04=Wr|au3&;IpR{`<`R)`3s{zZ-nh{xn-mgpL~DgNqoPBo=>eI`y)J`J&g0$a7aGL-h%wU zf=}o7Pv8%Zz;9yihKT%=`1!@d;74hn_dnJg|Dhaa+fMsI`|19X{QpQq{`KRuuNGx(-`Znf6W zH<|mf1D~ERKko6rw(z{_V_N>%gb+&)+?M+RFcexv3iCr)*z@?UR3~{aFY8RE7Uk zcPoDab7wg4ss2Cb@q1bMw=nl!2R;FxC)4%(Mqexc9p--Nz^DG}1@KM#Q)cClooW0& zgF~_^dkemw_#)aL;;#qa)K7c+b8#Mic3HG9=l4a;KLm@c28G&Bx=>L!Gyj1c_LE-r zMttfYUqWV6{|ATirG5K^xrMW$*H4-sc-i9*wep8Ccaj62>VGr%{Cv>L|4l@$_=x=D z@_gX}=3g4I9OBdSFoF z=JCf_`M+WAMGk!O&+DFlDy;mcnfrQtC)MQ1E2b@HzV@*Jl^YsY% zHss(3*AKsg_L=IM>G@}NC|}y=;U^gXAIV`hD{P>;uJKQA4#Rws9Y_A5{^j2uf2ox}m${1__;mmEp68$CR{mwoy~Tk~ z_49p?f2NiH8FLHgMQ`6|T5=Qk=KiA2%AdmAnGSpc{>S5=XXRfSkqe~W=={>X+y~%e zehKRjS6KO1GylGbA^sgOsl{K*T9f97*YR@pXb zfBx(FXRVe0AakE^;1lp`GF{IvHCg!|F!w75K0TlM27GgUJ#FRpTxk3=m_wUyC{3>4 zZ$1C4v+`@1dzu5E?q9wm|LFOR^;Z7l5xGR8?I(8dfKG{$H`Pt)dwAw$c*7(1Y!+a-!_%uHG1$@(fzVrXE_dak|4gVkit+rYT ztHL6>v4}$d5W+1*kwl@0-Bc?2vuaCx!XktaLI@!VNs@#RqELho`Vc}0A%y5RubJ1( zz4x@|eP{N|_xt-jemivEXXea#p7(jp-!tdjyCQ!ix#I)*n;d_Y$e&H_tATv{IH~b} zwaEXG-0J66Tu-C-kJb5nt(xP@<=c|nIDWJ|pg-n6xPLRhKenbq|8X3uKnL=>$M}zY znZeed8qWW<74q%<TR^BjMj$bXOA&ja{)zEe~2P5-}MM+NZle4)0}XQRk}lHAt<_*g%|BBiPS2@IE;1zWzwBaA*}w3}s& zBv^g6aQr-x|30}t1@Q6yOdZG9ucJh~Fzo}^(7nv~--mXyjFANRkMV0u#ZT&ea{HZ3 z?#uu_>VI9uH{*LezyKa75Wbi@SgWl@;?pmANNNMl>cV^tx1J^qrO@rJ^cfA#r~b4^mjd|ke@Ewkn+o~1d~YK6!2mwi zS9fy!wj%!za;slpu0!%2``|y;_jXo%pXVbz$sHWPhdvDz-}DbD(f=>V{X2k<=Xbln ze|`VhLF9M(kJ05!S{x+>=!5&CT^+xZ$bW>~#Q}Vb?~N4S%ul+A{H@0r|M#Yqe8)cc z4}Q}5-%aF?B=^PuKAvAUcKjY9e-*jE2k=q8yE%SOk$>ccMxWDY)uCd5KIlJpcl_QW z|1okG1@O^+iyXg1d*dK|J~Hqc#%Jz+?xXUn71}p zd_MmY`7e?CZU7(i^A?UjQRMG@Df>5Cb*LC@{cNfA!3xhLk$*P1qXPH@Ip6p_D<+`j|(=pPPHd~<&>Rpd9n%;?{lRuo_Dg#H+R4|M$LBL8u6UkKpC z|AQ3Y^ba#c{x{_Q8o&pzjpCc}WtPZ4YOK-c3|e?41?YqM!@qjz3@I_qyEZGmKW!2K%57=09!0H_yLB{tR;G1n|*6AEx-Gd>4xR zwU&E@xej%x7~ntdUk+D%(|;}&`HjeJ8o&qe2*+O{^81oIB!G|S%PFVNGLb)%+~)%L zct5J0;`iJUklm} z!N>Q%I(YKCl79{@ypjUyC+@#GD!%FeSBm=FNbVg0e9X^}QvAX~lsQC9^(*xMouN+~%unR{b9WAY z^kU#Y#$UaD)dufRuC3629EY>dBY#qsX65?z{j#`p@GXKY`or&4Shc zS8}(w+FyV4Z{46z9@=l7$ZtjNkpX=8e**m1_22xtd6kqEtp78}eI|g9@;wp$>-D|5 zqW`PO{WXA(`q>@+w}n0hB7gg9jP85U!Ye7Dec}GDhx5OI$nRANKKzHi=J!7<=EFz0 za1Qww1^AEpbFwx};U(MsB5AM{82EdhVW_UZvwO7r8MkFOwiO#mPLe;?<6C(-|1uQ&ehO$#5T z0RQnq$eB+6E+YRlaz_O4F~0Y8{&y4k50Lw003Z7FbNn76f7Aq{&p2918|<_FPk+bn zDe~VU_s0M}e*gI_r+;sezuOJQ|AT0K{Kxw60Ox;+$RAGbg#mojpMi>R#;<-Ne=@mu z2k_NPrF#5LDw}Km|F|btqtpk=7ZXl1zK?T!tO;cXJHL9K{Fgk>1AcV{!tu$(0=)%p z9RC+jE*J>l(5<*{4D+Ra_fH& z`7=Dv1HSVg4Ixn~_796Zxga5cpVmLO|8J51p67YMS6!R_t7s{lFh~7a>&ew9^#MNW zC;sYMO0OcC`X5(+ej@)D&+~w9+gH!R5_Kk--})xgevhD42Z*6w{&_WA`6fE4yfS|P zxn%)-R2WnLbMx;acSZmo>+_ng>t~r*KVK*J-2lF;pPD~fW}76 z68Uv*Hu~46RSt;({-?)x_&-JDAMeSvCj}qtC#HSnu0JJ};KN~G{*X%W)BR6w|3_DX zAL9Sz!TfaptbRpDD}}O&YhUAn`B&7y{Soz7LxJg^agNM@{RorDzsvJHcKo^ugJdG9 z{!Q2Q6Jrj7?(&p1^i7*SBKOlk{)<|Wq$14_`TN~s+SdWJ>Hsmof1u%CZ8ZXyQ=d5f zJCj=+z{mOt_yq-uUwxMLKk5|rBg`iEg#dnfeqN&Zb431Xa(@Znqkp(om2UwS;u7;j ze$lN)|AT0w*BOmNf2^P2+6xPz{{qdA)Bi$p?+)N675{pDe~Pm&7XAN>-0GA3#!2{( z`}YaD{uimOB_jV2a*qk%qy66C{9h*Whmd=503XGAqw{~c$iLH*tB^Wmmakf+QRTZr z^W(~Q7WvP4o(Fu4zZ0GRt3?05_vF%jJwH#kFZjPk^#3pN>)z&Hf55-R`M*x|e^*a# zrvK^wAO3F;{ojxLww~v)`cHEHCr})l1+;I3lRdc>0DiXqy0~M<$NuDxh&fO6`;~X7 z`)fFSyYk=kZ}RwfAGxz*_||W0GyOOHe}Sk^o!d>lX+&!|aTa{6?@d=M`RrP`2mj>`IPyOeTzsU1E&JdT*1f~O{o?(H zDT<#`R(%sg?wFCahU{hz%Q z|31an3pJcynX{)qaeWA1lV5$Zzy5fCW2!6PCZhjs$vw%FkNOGz{fh6?Kb%eONKZcW z$NkGR?SE2jH52{6k=z*peALee9KX59|CZcM0eo9O)l)E4Kig=2-1y%5PE)SO(kj=) z0DbWO{DaQ_l<5EE4)8GTZ;qBv@&)n|s| zcMKVf5h>-iTsDiT^zv2viwZP?;-N@?l$@~r1jAU<@>1P_Z0cv$Q=~GNB=O( z@q3H>2gqFz$bZc7OGN%Aa+6d1`_D$o|Jjb;Pvn=7J1T&W``^bkzeFtv3>5h@$qgA_ zFuu=m{>$^9=PSX-{pk~){I@H?$NQ^uJ^9~Pf{*_HNl$+MJ*M95N~;bP1NtAkzG3?R zQeD1Sv&;-;blxs&b69>kxmN}7;p@|ipVY81V*PxC z+yw!A)SqXx{zYo5T;%V6uhG8?t#(QHfc|(tdA{S175Nj$y*q%9`>$smf1JpFiQG2> z_;|kX9QY{c9P`7!$gO*yfBy#mpV$5;)z)~?{|m^yI)IYCApb?jpDgkpAouY={!5NOMdYs~cS9h5p)Oyvuc;!x`Ta)s zjAvqb;bkz4x#e|>O&@tWh$5&4Ib zJF$ZwAK!n${PuOtPpU0>e$uNFe7wK9#FIa|5`5^t)RTXWr|t@=1KJnXpWje?HNLB= zGf&k2&Pwo6zHcgiDgpj{kw2#re5{`=Q~adnFA(`}lK+9{d7uxTYQClTZ7`8bEYy6o zvCLrG*KeL&do1`^e|TH#pHf?Rmx%ml$bB_{4r9;K>1?9 z->;Cn zH(Fe^6rex)&yTb|Nwp>4A5A0og#bSKpOuR5^YQ%GE#jBDcRM zANt__<#WehCF*kxxucr-)laO?V|-t&_=RW)ImVZJ$$vP&f6UL(KcrL%lvk7chi^T( z@D$_p8PFl`suD+RUdEF{6fF~xyF;tjDC|9$$0?<&DZ{aokC-&6@c<_|x5 z^6Ncn+HZ(HNyUf$(5E~{|I@k>{5=%^XHWl6s{|kO^Yxzm5tZQM{{0tE{tcDjV}0pY zPyVz@@bP@dw|p0ouMY7F7=JN;+u-T{`<3t?&zFDqf#q`v2+4 zKd2J?q~dS%@*xTv2|sZ-m5SrhaZoTT$N3G|V5s$FX{Tn^;>H{b}6&(dpz43E-oD zsGjUe=`NL)8-W|Zl^V2-XUoY~%CikZRKIZ>5H9x7gHfX*oh^zqp5O$v(Hh+fx z(5IH>=l=deEAo%=JP-J|KZ0-SS2`2riH)K@k8E9#z_nczz)#;_4^;O@2~0<0-_QJ% z+;stb0Jm`EtEam-MOMJ|AsqC$(Z4-yR;CIfw*J>qd~^R^SNk8$YUrCb^(FU`06yjq zIG*o+iu^Cg{W*Y-0H5=9 z^#4V2-woj7{vyp!iu|4D8a-Oj(#=={|M7lEeOJCkBL7@+uL|H}yh{7uMC5-!?z#ZJ z?LT$<&1)|5`#ov&DW{DUhC84S#xL!^zJE9MKd%1#L~fmVa=ofo8!7nBEx&XfG z-#qy1$gTF2zyEf8DbV~jTP4-S#m!GnB)4y+`Lg~yJZ=1LMr(DBv(VqZKVbZq`4^IV zX8<4Xm!|7aTT!1T&lvw()5iI2)8RkXXLfPzHzn5pQgZ(jz|Wq4cGwE-&6cm7XW{w~ z){y&403Xl48o_@J>m>TW^L(REV_K_2oP|E<`jhy;KUEU=j0WTVrcLe1?Ha&`{*68P z<14|(taCR{{w?HB5AYxBW4mi@iquvYQU6cK{XT#XV3FddlvTgPC-S#`)|BrqwE7U? z1LX_g9?t(BBEKEEJp%X`fA@6!o+AHpazo}<(0?z@PpU1se%?y{LxKJ`asKxf{a;P) zZ-M;19lu26w|dT$??JTcg2jOHt*&zH1HL|otWO!aR|N2(KiYpv+43Cv&m?zY0N=iU z>%(79Zr<}oC*_hDpbzd(_tn}Y)mA@I|9#1A8^8x}KgS;^^2^D+CV+3p7oYbl3Kke$ zwx?CDiNW^&&9(nUD(_&?|HH{WDu9o%u!Z6$wI_1@Je}O30esA_S}J}@^GiklXOsI< zAiov#!M_~!e-b|t{_W&G7Qn}R{4mEa7x~*S zH2O57)t4-MKp&Lv;f_C6fxW7v|{&?vL6#{zQ>KjNFR@_?SN&>G+dG{&aHZ2k_B7K`aD8z zh(4Geiw4j2;?8@_%lTQ z4dmV%z=!@_9DkO`Urz3-06ykd$0@#9Kc6G=w_9xV-;)+cNdfx9|E`WdPvoCU?uY;QpdpQ5){<+#~MxX6z)uCd5K6d?9{kChO zJh5ym%opwYq&?WK@AV+}+yFlG!SUw(H`)Kf*Ny+JXzlsqEd0l7v5v2{Fy6=cKa1R@ z0sJig6(94hIQ}V1jQ>MuNyYEhq!8!%Apv~6 z|KG>)*NXf{$$c|`kLO2cI{rG5zr`}6%bv9AP%)rsQB-+be*N@`Qgr{Hw{mIe;JH z|4Zb)8Ni4C!<7Cht)PCKp|>(Wto}cfTX(rBhs-<`Z9{*w-%`)|*^1o51NhMAT+jOR zA961V;45@uI6e|Z>R(;4e|U)8*#Ug?1<=>$`OCND{^`vhkq3vtNB>ZsC=mT`_O2<{ zcC_kHG1SW+k!R=shTlNsUr6q?0etH}dWiBwp~!!Q+*JX5jE_ct@EeN!{ogbCbfp!= zQ9Gdz#>X^2De|u(cY3AyMI!%ua<_TkxBZUD!}yr?zlq2{ncVX#&2J|1Um$l?06$y* z<|03}!sybQ)~9^!`)Q_rwifx*$bBY&Z`+sQw-Nb&lDoqP{^gtPe_N5?i`>!xzI{K? z_@5H_caS?bfS&4&-`S&kBlz7M*+@=W`>-svy5uT|uJ@5x8~f&UYn z|D#3!^FKDaH=u>8QUKrHe^pZ%%M)Wn{(c8~JkwBM;>`7ZI~+Ka;X_tC%I>-ci}`Y-w4c%H}h5BDj4BCkk&Oc(vH z`MJ@5M_TJ=oCQBU|Lm72Pt4dF*Aut?Tt@EL06rYX{L1`&BDsEkLhkPYe6-(b&_}Po z%@Xz5ceT-{11*k{0`$TC=>v*y>dzdJzl_|k0{PPw-=}{l`oj2sAg$y(_Q8M5A0C80 zS|hoBUPkT>0esBgP`>8=ai01HbbS5!nA~*%eDEH2`p*~jKjurL&#AQPP%%Is0B0zE zO6Oc4^5=ST?Mcx;VE*uk^Iz8gb@JcxJP-UwvCeeH+h_cpN$xY={5g4;-=cp=DO=9@iQ3Ex*pKifxqk-m z?fPd*wczsV%SC-sUmN{<(PlYOL8M;(T)n;l-%@J7`u$AJ$Gv1`zvq%}1*2|5fCN+#f-o`C6M~PW~H7{Isw>-L-D_aVO~_m=>^UH|dn zw_0oTIf7OcN9}|@X@2hhZ4kK^2Jr3t-1Kj2Mg13$yTY6QQl5RjkW$xEo-q8l{%y-Q~hj25w4+ikz{}RW~6ZzGCF#6P`-OQ0l0`$TACrce)FBe2| znf@F84jeVFze zw|+H-+{**_nBTso_|PelXdwDOncSHHeB7U+?9}|ZT6v;p0u3N;{B8cD(dP(Scq9er zgZBH5^567th1&nP_FGKukO02De^2P&FKsCDCy{$k03Z6ltLslvZ6!th-yrv+06yk# z?>T;v$lvNGqkltMb*LDu{_msy=nB+Cg=W zN}GxP|4wef&qgOv9JLerV14XE$8Rq34kOL-&*94CHIy9KHBd}%}=TC7qk)i zzmvP|dS883y7`qU-<0OZ^=~JWJJg$RexK@Nr%xx*|7*#e6u`Idm-^JtW#oPmz_;^% zAO7~g7~S`vRYfNT+kQW_<(s2@4Ip=90N?hXKK@T3_mKd;T|e>R|3YrTufFv&{rx5% z{u$&B3gDyue4+F=^Up3~{k)ajhXeSSzkTWW-9-L!a(@WmqyPNM@q38;!r%OKhZ+dD zf5CiVjpF;gOBezwdb-_>cMFI>k5hD_Q@)$qo7Y;}~Cl^z?tL z-%Y*Tj@GCU{|Wz5zCUUGlWMD<)<153-kjW203ZFs&zfJPwg!sjdl|VC1NZ>0cl^O3 z|2=Yl2;gJ=@E65TDx0f)ZTW}MzY(oIMEHRI=>LCJd{aM5MgNZ@_sjr3o-h37_+=vh zI&vQh;A4GhgX51D`76m?8^A~X`Cai-$|e$HMEf>|196Q@$taFjP9LiwM)VW z>L>K6rhqA(PuAx=a<2^FhxosU+~om$JO9`Eyxz| ze~QSznB2Pp_;|ljPeS$k6;nn23Qw-Rs5&*x{RP^WdA@JzzrGxsNm=YiSVR5>&+|YZ zTmLn`y4=3nCF&(mw|dfMxKQCH`1bojy8c(6F6#3Pxyu9iXis%r`OXme$!f;`7PJ*Q zoskIt0fe?b@4t;9_oe_o^x0bbpHy43wEwpKT8r}|EFt&T0KT~^@~c0+svCW-q*V@y z0s1skIpCX5{rr^NzXJG}Uu_$sPjz~S^CKKt!}#BeR&-wNg#Y&URZ=Qmo|u!Rzg{v{ z>4v^((^zuv4B(@F;&`kMm#Zxmjs5!|?^J?szrW@){(eXP9|8Vj{Mt_GpM>Lyd1Cvz zzQlb0WiR!uC|h^+VKE=jAN=iI`<*ZHe=Iiq(*yVzA9ry41tR|%azoxf!T3_>>Zja) z-b?@Q3h*EEw;i4T3q}7=r~Y3A@KMKia{R?2e*pPSYx4|Cf>baR49d+l?H5g~&gI`fpjw zzkE@Dl8(Ppuf=NXgA9kNq|1~`JmCKZULSr#p!bl zxqSlonE&tR{5Pwh5jXVw5gOe{?n425ydSu~<2S%^%4Wgp{~@_w2k`ClUvvLhDDs=t zG5WWp-OQ0l0`$*QX)WMCHgdGDuH+66;P0lWEuB6MMgK3|()d4}79L3f{uikXtsFlo z^2_TQ{!O$J8~eb={1fGezrR+VC@R2s5LZ9HB=?5^KE}rboc~Qk|F_@D_+Lb;4i$rK zUk5sVGm(FWC)b`7eDpsD8NTWon~VGrjs8t()d6C#`W)i;ZAJc>3JUL zgXh6LG*vOZH)dMXsw@d7W|~zdAQ?u68ZO#yMXqm9OnTa>yzjoeE$Agtpel! zF0^re+jQ_Tex;oMT}1znCbyV&Mvn7l^>=d2?C#pI+Zq-;b_t_!S+8 za~)O*KIVg+od0TqUqLYHY}(Y5{6U`Qf&ZBB3iPHKGbSAhN~ZhU_@2ltuC{$sPA zFBB=heE+hT$A1vvRB*{UDa-!^zMnp@0KbPD>wg1NzAw_oacw&I=zqF6{RfNsZzQ+Q zc7F8;e9Zrk10Od=iBge2n%uDge0=|?EBGGm>qTL9?t(UqW_D?4XHl>p5*EO2ju?{;6K)XPIms6i~bkvVCrW>T6L%xP=C*Mk8&W?}e@^xEe-ZgB z0{nO5m;Qa2@dcQV#`XU@7Mk+ilU8LF1IicuTW{z8gbMX><1e{`0{HO%bjP14@~4yg zXaFB*J-%ywCTYGtUB;DL|9>R+j{rXI--`j%ld37A|A*~p^zTla;X;L*&>!u$MDtT> zYr5$FBy#T#-~-(UA82Sf#;c*zpHf@${CTz~ zSAleZ|KRuY}zHu~42HD1Plf{*rlmZ$#*liN9fkMbSh>Hn?d zP7mOte;DY=|CHSI0esAV26^&ZHZ=MlMXL@K1N6uGIrIju7jUcwme7s z{e|4>yO`@xhls(}pTRhZ`TZ!de``u^hXB4Ef6e<#b4314}s`oQ(`@!_#Pa1FV)2kbuM35YZ=R`EE;Iqa0l87x;GkGUdBU^uGhSCk60PzLzL{Qu?H; zMgDc3+)V$`|6dCI@uEdyjmV!y{^OqKfj;Q}FH`&^@QJk||5I|m59E(^^=F;PZ%}0F z%kH$=CE)}9qkp(u@y+~dy~rO#?v(+2tY=^0_!~t2VsbwT;A4H`O2^+Q^0(f@=+l@M zS1kqTgZcS5$4?--S+MQ*P;!qA;G_S%O7YF}qdbv+fhX5Gi07xM_E$T;JbsO>1RwX0 z*LdJ zp%Q$Q@AaAwn(Tk|Jx%@Jk=C9+&O#rwuL+K?o5N<=t^dc8dqw~s75)atuPfI7hsb>@ zfN$qNnZKVCy#VX~ujFnF;O8mWO(;-osRxiYUK$tzSw!W&1dzwm;8C2=K&w{^IPD*zJG5Z`v0jX*ZKuMfVV2XnZFfk zew_d71Nmsb7*HlTzTCcQH8JJefY$mMXW>8QSGQ?CDo{gFpEJlE9>BNjKZzZ2f1MQh zFOa(;fRFy+4wSDRd5c7Ti@l9LooLljVt_v2PX=Gt|0W{8jNB^%_;CA9$8RR`pC|X# z06zNXyTHeb1c~M%f17=bK8c2X|`ympy`K<*Xzt1yO13RfLdH%3PGo#P0w3ZWR!N>aE{hD8- zwo;=0$B=ts03TZ8`hC_PULki`03Yq^0p)*B-M%`A{;wkUhX6k6&veaCsjW_$ujNuP z8*KURysy!}h}Q0pv(O*U?;dpicN6{ZLGGCWe2gy-fv@||9wPs;9NdR?GvCji$96J9 zy?+APAJ&2-)s{Ry-bMb?InJX%IzS)1?+ks-`}sY$ZLZ>R?YH)RM*l)uLy7+cAN|iG z%6~I|ko`ZJ+!F)%XumVHK4@RPMg7ak9Us8Q{g=_FB$4ayvn(Yy?MbIk zsp$X5{C?b|06u{8oIYhDe>S;q1n|+nJ*D~m)YfRt*HIO-!HzF~lUuKazy6s2KdpgD zwNE9-Z z{1S363gBbfpB}#^Zi`Zg8{a=A_p1PYp5ncv^+~F&>9`#8s#J!x`WLk_`s_oCyi$NZ z;E$_;TuJqBhR8pU+zSKw3*kRblw*E%H@VXS_&~qx$zMqB>w)}NJo#UfyDpHw$dkWy zYg4|BX`!eTP`;?}ixuDe{^2CC{&yhvm;gSC^;P(<*T*J{{E6h=8^E{E@AUKQ9Dl!W z1G&`?@E>1r|CMgP^4|w+NbUgve9RA*c$V)VaxV_xV|{X|)<3DXril74Aor~RKIVsS zC_d=wPG011BzMaL{q?u=t5hOYtvoSZ^Y!KE^O+CZzx5(FL?5gVEOYwI68#@a{zU=) zWBuwar_UUbKb_p?1Nd0KdRzNnq_*aX{4dG)Ss3lgS+z zz{mX~+K&%^Jh^xMOZ>OU{rq3z*E`sh>t3|#(#3%KY2Ob_s+_sXw->oX0{9{2dndVb z0{G}3e9O1iAx59Zw4yj_C-lMkm@j`gxfciUG2!&(&m?zg0N;MUIH}H)t9%G(@T{uAUb4B%sY{L1l{iTv-#t$vul{^;MJ{-Wu z{pl~7pHy27ME+88zX;%G_YZ~j_E2YuTi+XUq|xVMT9s7{(8tctP5Cygx2HNHj=z-L zj{^9(f7#&lNs9XH-NE?ZhE{Z5?S%i?{lDD*+(quA0eqD2AI|?G(f|LF`+Xq)PsLB^ zi&ZZURS?kr5bAX_`ZT1iAZu0<^uhdOBmBqoN3~>pMuVYm+H?%LT?6>l73?oh{!N}- z>mU3_{rTJJFZVz9kUz`wJe$`ang1iXp?}{&Hz*JNe<#28QKp=&4sq7%Q%yD4l+L7H z%%~vP@@+wG`v5-bKaNi+Tb@u4&{VL`z3}V=!SV-?JNh5uqi;g6{5#2gB!F+n-<0A+ z{YTqCu>7~k{Vaf=t&ds&Rv}KG+DDsmEu=+WDWH5MepH{s$UQEApRG@}|GLU52dzHm zl6!FgAMF=El9bXHsuo@<2$p{@xpM;e&|nKaU=^t?b%Rntu>9Z1-Kvv+`@;OEj^-!T zmYSed5G=nvxjh2-cKl5#Zh1lt94grQ6V?9;awq*m{Am4uo!s{W_~-++a^uj|5fCMy#E7@3tat?$KRXC zzcavp@V8a`q;^*3&n5TO06uP5>N$P7iTZCKcZ*~E+ZXz``i|d2`I&ALWP^C{{U|9_$4C$SaMGb;G_TF zLGe@CgMK3a4svG)@Ns`v2>E(ss_egUS2J1V}<`(y3NJ>HWK z{jom0lhz+KXRzr1gXAs@;6s+36~8=znRKbhuW_8wXD3>9fEeIE^lzyBFH&1&BEN*( z(D(Ot(fp+1%l*%}HGo{uRK-{G<{1)l%xi_^)p_RLln3Kh*1L z^xv7*?vJz3AMYn8!PkSitj|btFAd;_JimC9+yw!AJO50oODNA#zMqo&O8_4Q3VnU} z`yOxfZ%3;R6$A7S;a^JbjRAc0pL@9aIYz9XZDpY8*Kai z&k07Kt7z^1I17EyKj8R;hyTmS{civt?YAi$PO5*2abo%AooM{umKH}y0shpO z$UQxPZ|@%se|$YW?}^j@IdYc=@KL_|IejLG`V@3G`W#IwX@h;x=Ky8*cl?PW{|a(% z4dC1U)95p)9 zS+M+lPBP_sIPGQ`BMI;yf*k1lm;2{S$h{?iZ{I)hdA{?#C)ZvE{73)LM*ENQmFGWy zlfTW${`DX2>tM|v==gEt%ZcQU^yIgxW$Nc4p8n4y_i0Z)^uhResHgw$ko#Ex-##Bn zCUTFztxhqzccoRXi2?rO{^c<3f05dnF1KHD9|_=N{5l+bOn-9JpLOJJ3gAPZBRu&X zdK!IBp@m0MfIjFSQl9*Id#S*KTqTjC-=Gl zKJ+=-@#l;DSIB)ofRFyUljAQC`CFc5bl;6u9V!OYAFOY5cKn4RzbmM805|RI3a(@Wmqy2Vq{AD742eo{Od1otHwJ8SZ5C4yI{N*D5G;+@k z;A6hr)$*&a5czkK`(ywg?;jrT_$xKv&b_U*^S5fJ8+{tmisGo9&xeT+VP({7eAk^ui3skGA_KM%K) zn+3~1mE3a!_~_rxaD06`AIpD)+?NCRn7|Fx0aI(^M`MBLph3jeXb+E?+5 z_51k^MgKdKdrBa`pW>VM|C1vBR&wtTyGm$@++!q7*Sl<|^_$lp4bCLfgxxWSQF+L7*{rod?^w{TtD$1H@q4*C^+IiOBCl zZvOy2<`3sNem{|ayC>IP6yDFl@3)Lre4qDo?k9ha=XszH`nU6){{uz;*OOcAY*P-_ z&o~P{=5H4`{$P>cn%wpQeEWPkKR=aFzdu%gA9X%`x(ugm|9LC9(*pR=XN&@-G_Oqb z|7CLDiQzwdy7_&_DYO@<=Ogg{LhW!;ZOQjXjn6TcGu2_Lq6)8mWb$IYKFA@}wG zKI;F)u6##}`qUciS8wbk!GGve?(~trU(kU3W}fE(-#wqzzt1W2N0B=|fRFVzqkjqN zCoU&}dxFeh>*qV7z8An=a+d_~ zF@9aA_yzj?w@D&@k5ai@U+rjqf3@${W*nQK#xDS`SNuX%KXd7G2>IP|oJWCl$n1X# z_4@hb3jIfBwB?h|HU1Bv)ezwWeCU6JXZgtJqV_+jwq*Y&=HO?Z3)}D? z4#U5K0*sGS>+h@L`f`wg!TSFo`LkmDxB0CFA9I~s0L(+G?Egw~*9P#>|J-{fHACc&B6n;6ALGkyjz3G}Pbc^B06y+tP=5OTs2tDl zHs;`d+{DyR+y6{f^%LvccPRf;%H}HH`ejD{rnLGH;RE{H`C&?(p}hK>3iSa3bD=9d zx%QMJtC{)jom&6g?{`fkf0pNY;6M5Y=wDC(|L0ZcKlUTk8fo;g{^hb$l>X>HajfE3 zD`)$PyT2$Te;?2D!2b+>&fo7HPVS`ve6+87T>YOf>NAbprvmus|L=A6bAiZDj0)4= zjxYBqzR&tVee!qnJP-88{9&rr2jj~^(f>~5o*uvl@P6$-I_SkBf6|tw{m%{Hqko&G z{ZFc`B_jWGa(@rt=Fezf=Ka#;^;@dAK3&F<*pD!q z+?NCRsGkpNAj)@z=>Kn)JKC?F!hhWBKIHf-MSd$!uDx{dZU3zQzHkkBd_R`_exB#4 zm;Z1rd;jRe|Crph-h9*lKjP}oDp8-3^NsH3(pnwjEcCJOpCnZ#+doJ1o7%H!(>>(Q z3E-pt;CLVYkK|Unz`y>WfA;0?Mee}?d^^7Q_}`1%(g41FzsQF_ncPPL_#x%{DY-ue z@S*=4*M3)v^|RrBOt}`(szb$q`U&(Cj=x6apH1%h0ep;Ka~*%J$iI)=X9D=>f1Y&w zbt3;aa;uN=um6}o&vX3sBEJc_Ed%&?{`HjOZxH#XkQ=gova{l&{hIYFxqmJr|Ed80 z;qWug|Ba&mv&nrafRFYy-|-U|?l%j#K7=pG4bcbv&$F7JR9mt>zmZ?_LjU@M`OkCC z|2)zEgURg>z(@Uj-tqNvu}aAfMx9NY#*lks03Qx7aQwQW|Fg+`Hh>TRUvT^ak-w7M zwE=wepD#Lo1ChV&MW$RE(q^l;c?|t0{C~;u3q}6%ezlPj5xAW8gMD_Q%Fh6|FQ=dP{FDUopqyD4Af8F`tT=f57a*q$- z1GvQTTZ{Y=pG9uS`~>rd<(i*VTXO$aM*bB6{$u|0uJgZ#=>PNNz8=8G`;+fEeovAA9l6yn z3+sR0cl_QWzZJPh1n}Yi3db)I`Gd$U3*e*vf8hB2ME+gmhSVR-pFh<6q}r0}&!d&# zV|@R}lm80&p9JWG`N>MB&p=V1t;d>rlcZILiUI8x_5Z()KUm}+PHyJ_KFarF$1fH6 z<>ZFUf1uANp8DTL{zC!&qyDUN{+EgVze;XM{Y<}qQsUOf;+|iuCjW;3|Dpe9&i~P( z|2tmJ@t0N|DhAXayFO|DKIs_E*Qd)k(%ygFMDC10{%QcRJfEZe?sEmlFWL+jD%^zs zSU>r~=~FK1b1S*i0{9pozf}B`_F$~Ye~;X+0{Ez(Uupl7YHOUx-}XwQPeWSmlJEh2 zP=D4aep2U?`_BW(JtlyU`Ty5W|M8;#*O7Zq03Y+iZybMu$Y12i)l#Sr=!5&OZ#6%! zntD?~H?p?{&2) z*VeS^P%)r<@qF`FtxxXvAI>7TEP#*umtQ>j50E=2fDiwF^W=X^?(YG7_`kuE-}V~6 zcBPOyK!5cAziWO{HLF=-`F10}x954l$NkG6;OC{(hw0zq=2x$i`(Xed{qvvNe>}gQ zBl`afxdr3>bb|kwA8vH~c_P0fxdQ_DNyY!m@#l;DtI3@bzz6Ve$6p}wzb3cNwf_1v zQv6Mhzfk12CAVt~e+tv5(^ji(?vKn1^H542A7}Hpmt*(}kQGqA_W8A$KQC_3TIJA} zlabSoUrnwvx*SNGk)^^-@X>y&>lgl$YHNw8Pl+ejp6p`v{urL$)c`*)cmH`d`B!+J z2mYh~&(r>+eJvCHe~H{T0{EEULf<6buglRtY;(QQzbUOcR1DVtTFQT)_oGV5y)uB0 z^@rMyzg*O35xMUM@KJxDk9q%RMT7lRJg$E3J;CU+KdmT^+6jGdTepQP-<6{O#pIr( z{!DOm4pz~*@O~Ql|2j?|x&59~2|ngmTYB>UL;m;xeK5aD>%XeO0V*D+|2%SE4&Y<{ zu$9(7skT;&`hP?2uK|4MzqRA95&2DTF!iS;tvXZ;s6QCXw{iNf75Tl%9TLEY{soGk z)Sj#p`FD_ePXHhFe_O2&`nUBW|G(sh+~1*m>nVOpS=1zLA|I$<2!9lt_Zz+I{riOab^Xl_!TAx+Aa`g0AN7A{$FHmX zkDkELH*K0oZpiorEgCAm&-~#I@NlHmR)>lK<%{Rbjhz1lqW;avZ5zPH_>}}7CrUIB`9Ga)`pfWM`2)xu62Q0ms9(9sssCN%`nIp_l>g9rPv^hfzV5FCAN|{2p8Q8D$#3Gxf1;B7 zy*>HQlK(obSb5Y=)F0fx?Bn=JU4QJogSBWM2zj@f`dNq8haXaZ4kh>406xZ-X3qa2 zvHsse?p*-1_fZ+ssPff0IOcqFGk? zqHGXweF%fd9q|wGac%@dSKogj_gQa#^C3 z)y03JePR9c5LZ82XX%gcBqCUShLL+=03YqQHTW9VM%3p4a-R&~qkSFV{BJArH;`L+ zyU|Ge{FKN)iQLly__lo2_^#@YJb$>1+^fC$2kG$(C2=Rcw- z89Skm^n!;-@APlK>HcS6&iViT?z|PZb6DZ|8?S8!k{; z90sdqC#OS{&kxGYScmO{{pE=~dK&uK&44LKY)4ponWArJc72#@U zz5J7F+xG{2_$B1_^XAvfN4I9`rzwewe8PT&^R|)uo9MC7C!~KK?di8YPrdwJZhb&` zUoEAs#O}+q#`{g1E+v1Q=Xt<)^9SAkmx}%W3*;`2;eQrMFH`TIps$2~>Ir}zA2a>7 z+t&ZDc>E6$j?Gu+UQ@qp9DLh;efR}DeuoIh@>)dFL;XLH#~&8qSpF%I^iY0p9^W^@ zvHS}o>7o2fdHmH8j^*DUNe|WkVIKc@gk$+{MAAd~%X$3D2*>h&i=>D0|Kjoa_hr{Z z%a2<04|aSv^|Ju4>u(lp{clHZmrC;+i2TdRy*7qFJ(3=(&rBXaH^Q+O{8l7Al>a`D z|0Ke({68Y;p?vk{IrV!v`Lvd6?e3BEQ2yRLzD0y%`CTIEq5Knh{HYO+j;`J2eC`+)!ap(1^3zZUHu zT9JEb06*QorTw@3RK)*N$?X@wxA(uM{!GzC%P)`c$CEoTfDivKj459`z}WJAl-wr* z_|W*G7=9|^|L5d>AHc`_@ZuQ0d1jcdKXs>@defMer;jygzxMsTL_+mH)stfTO_AFv zfDipIiSfUjo>~1%$-OXuFV+8O|1g`}7XtWr{(D)B|K^>|wEka{`(pq<-M*Cmi80%? zQs+ZjX0ZAcJ!s0eDQ#w+ini_ea(SHp8~`l;G;+@j%j^-2N}E1mCWY`S4efzsB=C@E>*Y zFrI<3RuiFI^=G$-P5s%A*7_M|!MD#} zeBK`(MDBgC^@e*aDPpA*FXb0fK%y!n~^e^U9s7~S1w0reMQrx~XHY?dJ=0s5!Ee}s~rDEi+t zkpF)5bp0r+2RkU!eW{$7>fXZt@#kp9SQoY5c^>G4`N?F@@qIbDpLp`$R^yi)AAQ#M_MdI)&mpw79OLY(*?cwCmGwED z+<~5a=o8}qb>!amFY%uz_qBhCzmD8LJ^8N%>c8vbrhNCNjVo81{(2z43%RFw@;Og?f96|g(CM4|0Q?Lzr?RM*VLazw6>na zS@>_)Pkj9EP40jIeuzFdkb8Ro-}Vna{=Z1>>;Dq}J97W<w{+IZ>&NKQnrL{W5*--!clRMm#|3#qww~{;6 zlmBHP|5b9|^W=x>bKp}(|08MRbhqgde$M*&Ai2K&e;ugL+(7@o$>yuelKcOc$oK6Z zBKqXyFC+gWTB~!M1>g41KJ&x+Pn+`Hl{SuR(?j`Z2l9VV`iJ;GlKgT{|Gy99-$(9D zPkyLA^`0^M??P*JjX3O*`(ps#&d-6bmRPwRex(P`+%f~!ClES6YwBm_ zK4}~NJAU<)dOvfOe*PHu{P)C4@Xb>@=#u;SUGGZp)uczS&-n0*E5Xlxe{7BTe71ij z`04jI)brCEzi%_R5`24qTllf zO^Dy0ddriWS-xri$Ejrf=lo)S-|53j@U8#q-D<^`>(77xWq!@)v&XMp7>ADt%^BCP za;bPn#_jh(doqqb8(}Epwmn?IxE(*QXB;&f;U2~@CqbCWxPCQL#pg4g#7-67VH`CV z;VZ_Qn`q)s#@jGnu)thjTgDqRo?`q!#=9`yh4J2upUHR$<0BaF$M}_u4`lon#s@P# zoAFY{7cpMO_y>%SX8c>m$1q;)1>=7?k>b zcVm1pr588ccThks+YdMyC4AZS2)0P_UeA>5Z z*U!ag$4xW&6A#cb z-yr&PF75fW7t@ZVy^3}M?X9%-ypJ*dB<%~duhG6q`yQ=5?pMbDjHKIgwf6t2e663Q zTjuHVDW|piulvZP+kDpk)A_9q*8X4XF@-wVc4^zSwYFVbYjv@<`5Q*J3AF2I?e#5R zY1+w3T6>(e3#j`tt3TU8TzPc+)SPb_ZQ@%K@Ag^6?U%~X+ ziR$f;e*x21F+HE@%b0H4t5r31zTte${3@pXDfy2{x9wT+fln-B`a0&Xo2a4nOpY=6 z|6+R0L=DYZ!1NkF+j24amodFgIz0(~>LSD0mg)J48amzbcVc>;<&QP_5B}BgmH7I+ zwjS7Wx8-ch)s~|zH(O4&Tx>a5-L1}6SF5Ad&FW-zu{zl6w%2K|%U%br8R7d{^>xLm zk-#bj{*JJT*Ge?j@!wq>s{|^jzt)0^Rx^QB3AGOA;&_WQk*LeK9qkJkuVwzYPGa^x z=J@LBw+<0@aL4bav$8!w@Mg)4rDx^D}qP3IF7>a8k^%) zebn(2-0|j)so2F;3sPZ-%WoRgD8{!{R}A7f#i^NBtlU;uAMD{=2HG6-%$o`ii@%%`<=RW3m zTStb_KN}y;xap-5i3=j}OCs?rBJuH&_)U@c?UDF>k@$m=_^e2LUL^iPB>q|?{%$1x zX(aw#B>qPvo?qXzAFIa>k@%jG_(75QQIYt`k@$c}d~_s!4db@G-V}-78HrDg#2;mR zIqmzjD``KW{fzbtTH7A1jn40PPk0kr4P4x=4GyHyjz-;Q=y+Jk9Nq8(0qIqhWHnY0UN zm(qSg`x|Zk-sU{}(w;y&nAYlh5#zRhLw&=)u}rt)AlfO?uVlI%FKqs6nQq4^*$-)l^_hvf=RRb*^?x2|(g&wDu2?YM<>_&R4_Q(ksHXZ=5l`8(5E zP8Y`Qcn;sOuRGK2yu{}3#q{2^nAPJP0~xpTGMj%W)9rlH`ZI#*b{=E%pU-qVpRwr| zGu_TRE$33EXVy0yb2-!PJOF7pW*pP6p~Z6)T=NZ#+j*Kj@2yPFJTEx6Gu_Ukk%oVF zGyPs#TOXz|Zs%E+KZEIZernV0eU+UTgN=PpFu$D-+WgNj-Okf({sm08^BG&di(3gde@lzINgT70aeMz@ zud5p8$M(L!@@q4_4z2C48pNdU!1SGHQJ=xulW{u_w|;){j=4|Rm-}shbpYeh^fpYN z!{;dWx!s{mKb#i*Ev_wB=*ax$ZdyGrjKmjkz0TbICK4xbKm5eMUX0uQ1uvQFvGFsw zAO0X@#xbV#kDM8EdCy|K8bNTiikGJ||#?cmk;(pXcglK*IgZq&eAya?&oY&0EkMNEoLS`IwHgg=t z{%Cv$9&h>4c;m?aXuK)++xi=gAISao`ZMFGgNJgzz5ZzYNbW~oglN1=WPdb%68GEs z6^#$ze%rn?<2dI~?l-H4*>UVIgHtM;x7hR>wjD;}CRh5i4>u>1Z|hey{xJ93@;Q^o zJ;8K)UD5a=?zioJ1dm(JblYF9V*DuXj~+LO>3i*K>Y3%WX1oRWpT)TC2Zk}dEOOi> zk>ehZ9M_M>y%0%%lkt|^UwuF0kJas|<|aO$_IcV_ZOppmGTOw!Cf@CEV@qh0N0@kX z+HSNHXnEQyQ>8$a0#yoBDNv$`?R4GuU!2hQd=y05w=XRy-NqZ*kH(kvB^|XJ} z=5v2N+J>}y(&iFjF!PO~EvIcxdkF2-v=eFXqMc4Vn|40!E40gKKcrnv`#tRj+Ui}+ z_0^@_o;FFl4{dAO!)ZIwo=Dr9_AJ^`+6!pM(q2b9iS}OF8MJe07tp>&yPWo8+BLL4 z(Qc%zb-cNr0@|Hui)i)0WXLVfnvDyNdQA?jJ{cBkg3`X|%Iw zpQc?%`v&a_+Rtd$(*8=D=w`034s8S4U1^)pwxn%KdlYRq+EZ!!(GH~@O?xTrc-mWN zr_eq`JBRi;+QqbQ)2^ibl6D>KAGCQVnCsb^wvcu=+Gex|(xzySq3uC?2JJxF;k09D zub`bkdpqq^+L^TTXkVmVLi--=D%x*obG7r4Mdo?S$4!j2@0~`ETNT-F^X0Pn)w8*? z8MkZ2_W0=e-1}-B&GB}B`O@vP)|u`4&2ddlzQ-c@7f15jbs2l!XCnERMe>`s!V(Fa ze@P_&xJZ7>A4Y%Pi{xJs$#2(n-Z|R%|5+sesz`pzAJNI=UmM9kA(G$fWBp$j$-gF& z-}>`2`5Pno*G2N%^{j=RjXzr-Wvnf)4UznI-E#x;H;&{_ypdhLR{!&lHQc^iX7fuU z{OI+zjPUa#e0#mK$Ui)ie{_Uz*FCMCM@8}%MELsUSS3bNzOQp?B!6Kfzg;&yg8BPK z@=uEKXZvPGmvbWdr$qAGbzSTKeOqPgIX#l!>e-n5(g;5p@!!@@%fBF!e^!KV*KzkC z-}Xng{>+QyxBRBee@TQtaA9`+vFn?*f4e@Czr4l{S^bGEUwi&rBl!!fW#_l$W%Eyo z?3j^wxX!RBur z$=^KUkFB3J|KXARZ6f)tKXKY5Bb(`KL$n+w!&fheYzvisZLn#@p`94@=u8Hqy9e~$v-KQzmOHn`v39Y+3)3ciue;PFMFJ| zc3xq}bDM7aTN}6iqwU9R|77<^tsU>}IBv&VJC54%(T;m|e6r(+9Ur1x8@Khz>TJ_z zO{=E+yLBzh8}Z%FH1k{A9!px9^wNEeox=DmTH9IXbu;6}y1eZE(0(7_^S90OHT#^_ zelOq$rrUO9zZdl<)9v_Fo9`)XO>6sw9T?v=l3x0{Ip1DPx98oS-EpSFG%Gkq|vO&`g)^~a7+mofcXT3at~Vcc?Te{nC$`?R4GuUK$QYj3REdjr9hPeRSHxoP^CbX0#yoBDNv$`?R4GuUK$QYj z3REdjr9hPeRSHxoP^CbX0#yoBDNv$`?R4GuUK$Qaje^OxE-SSJe?NFM3Vuv2> zPyBz=e@B%xQEr{mt~^;-+NL}|zqGKtHa_a*cW>9dU3s1|<#kj-X}QhVY|1BIZs8bihNS}G$UhQ789HfrQ@2N z(Y`#drxLCc{*~A0dEzmpJ=K3UVH=g8k{H!i)t{_5j?33al-D%}>Q5Y3^qFqgs|N^8yqZByLUDz_%z$7y_u&}b<$+XPIg(^pLmqp{$HuD zrG-3W`poGqv^Be*-emi2W7bA|&mu+kReW{fM`Uu^m$upLESbdgc6uxGc()iGD+ za%Y}1THu-cvbRCaBxi1`oba%se;H@Z_A-l}aeWc4IX+{5=5ZC~%{U|SB2Oe=3@wwK zu^pB>a`p_4yyqV{3$9X+LAYRh+1Zz#F7EPLDtATyWge)uonIDYZAHiaPtrJgR*Xl*&2zEz|_CbQ!G@u?N>i7SV=+?gKa+E&%L zpfrVC>587~nCSk0!jCA^#?x%GWd>Ng*Ll5JrB3IF-%7LN^JMNxd$4(lxEX8u0Ax@1 z66thosX2t2Tx6!@uCk%-X43z;?f*S5(q~F<{d3n5LdrNlJMoN^3OW>9mO7W~_RSg1 zKJ2j!YpqAoxK01xveNk@`@GcnXZ?|H!(Xju|;CSDE$MsqW$U8j_ytG z5w_r)?Gv&)TzgNEPA#vkGOL?n=x46aUZt_>E(NkE?)Xaz+V@cZl{9F7vic93=D#y4T2=5&E7`7HdBglu z+m-joKc#(1Q_rK^8p^+&zhim*{L&^^>l%pFo+jnHpaCr;~7 za(;*I?N4o2T5#gO`>#+rWB=h?(d|l|za-hNhmXEkuWZ*tFVogb6&Ih{uTQs8i4#Wj zoU&mPL$wJyeXvT8CJya0Wb?H1veW9TqdW9JtIx>6Whagt+P}-NzI_JwPYh3hT0Ekx zPv3Kj`wl#(c)-X$!}}%5$LX`F^nU$^4==Tu`VAXdrX%Xu!Nd9@`K;mn`zOltCyZE= zRIvd=$_5Ql)MYqa<>)h5$5muR+3>zYaBRQx2lrF4k!Kd4IcTV&Yxb#a&Kfkd&)`89 z^zYoFmC8D3=z!wB!-n?lQ`T`5bQqqm5XBj}+6?S7Vqo!*KBb-83>sQij9BNhyPVy; zW0$jAbnMtI0%_S|#GoOigZt}z>Y(DX;e7^`jp*Fs;C@CCy~Cz2d+Xwk9rd{* zC+_;ca^@Dz_4V~1S~mRrTyAu2*!hMuPyY;k+lQ>fJ!=?tBy}g& z_1NxZt%{3Vv}k!|pAm!lQrOOYyLMM;eFyd#Zkt@+jvZCn!MYCjDH}Gtvr6dLTJ;J2 zI`$m`UXv_d%NE7OnMBoB3>l(oe3vs-<8Rr#xVUWK@L}f_5AHv7K-s`z)q@Qi-fT6B?6UY%G1`QZ$o$T~KCm#9#w0A8qc3kCoUiaSJ z^~S!o^Dx8>11!NnAhVnG3uu`ndkc%rGI$r_2HLr^_s;cR`##1q_wIT_pi?l^DIu9c z0&bFup+&7#UL!=or4k)gNVrv1rVoUJsxm^UITEUM6`id4m&X({ho4WMp5Y70dV7F3q+xId7b@Olx4DY7a=GKqT>*#7G}% zrqwt(Y`ZjX&$4x{-LWl?)`htAQ>K?OcR2K@q@xX0a?GEXl6cuaB!xrHeb3W*I`fKDVDR?Qh(B~(dne8r4b`y_& z8q%fzt#Y+%HJh&Kb=pnZDBEn5_ipruJsQ?!S~HT)m!Pk;+;?f+8OjLMXF&MLaI(+!4~48gmU(>xP0LRyWH+sira4XEzEOe&jwY--Z+45b^3A5hxr z3_Tj|SxTWk-TUE)QC-eaHu4iuwkgW_oDcJ!@rco$7btUWt4ShA3PxA#VnIf3Q_4Nt zrYUzRX9H_6HNWuox!S&2;vl2ef!(3=yG+@d+a6GdzJlqJ39Qk<&J@({Q5A!NI!G-K zZ)3#W*^#YHdxQmbJMC^R@43Q45~AN~TI-}&q-@vCHs0Z=-}4*H+*pQq(>9vj1>&jg zS%U%fkq~;KozLSUAy>RoVm}Z|w|Eo9l2eK;xk7U#8&UGsDR`Gh)S<5Z66tH>sj*5Y zd8XiAzDom2aq8Gzhc3}sYQU=_@fA`s>=pDJp`$58BZ8E@a#79`yVG{)XfY-9oFM)# zP>R&R6Or(w;Kia`EGP{mCFG=6Y|TrAjS?pt5oYMig*|^|$LU$lJ9Qj9-lyhnKXTXn zf>}Gdw75V9KaHEi;ja<5_a z=%IIkQYN31+~_uNK+|ss?EMWBJ)zPO&6obth~`V5jcC5~mq*ld@`p)<%y8i1T%q$X z=;jen81Obh>dzJwA152(gd4Ve#B&=wA2J&8!pHf7;}E0^9v7TEvvV0Qj4XpZBMLg` z(|vz&gHp}Y4LYR!(iNN}$rqvU?O{B`}w(hKs1N529dtuP;|)cVI2LH>pKsCz&$gol*>!w>9de^`CGqA1~c{6D`+ zFVJV>Ka`&TufvBii3pRx^>KRr=dHL8|FB9dxC%1)*BaBaj%(vdXVT4NyGIU9&p7?g zI!Rp9={M((E}1pF7uSRjR!%*q_V-oRpHuq>5pVX{9VEstkgNYia*fiRa7fGfZi;0kaBxB^@O zt^iknE5H@t3UCFu0$c&E09Sx3z!l&Ma0R#mTmh~CSAZ+P72pbR1-JrS0j>a7fGfZi z;0kaBxB^@Ot^iknE5H@t3UCFu0$c&E09Sx3z!l&Ma0R#mTmh~CSAZ+P72pbR1-JrS z0j>a7fGfZi;0kaBxB^@Ot^iknE5H@t3UCFu0$c&E09Sx3z!l&Ma0R#mTmh~CSAZ+P z72pbR1-JrS0j>a7fGfZi;0kaBxB^@Ot^iknE5H@t3UCFu0$c&E09Sx3z!l&Ma0R#m zTmh~CSAZ+P72pbR1-JrS0j>a7fGfZi;0kaBxB^@Ot^ily7fyk2y=wTSR3yJ}YxIgp z)bN*#)iuMHqjI<>mXdNNg<`Zjm5pp$I+03|m`K5a=!QVb%0VxZGRc>GB@p9rE!~!g z{$wnrl7C|))$8f4ewq9tDcPBg`BETfa=0V9!QUDv{#YRCx&dFJFD6PXMq(gp;kXe< zK?!c~3(CF}$*`A=s-{)xUnKfUEE%z=2C}NERW&Nr>vauIN~z*RuMQ9}d`W2~6SGos zv;XdFGAN}bL&qe>)>hIGl~kly8%0Jc;n zH7X{JpQ<~mnvQ9js%mu~!($4VWgt~kDU~x4ixbPSoG6iqrH{pGh6eR2LQAAn3}hd< zSB=GVjA$z-h&qr0Byc7=i4w?xtffjUM@U_yzYoFD1Rb*y_5*H}ND0x0n9v`2lu1=J z8LR45T}u&6BE^_O9!n;N*f_yt_?Bv2k3}T90l(NkkPZnPicTigV+cTUQ#7!eTA)CS z?L;Ajg9ML|qlu)3Vl@ZRw)o@fT z#^h2d!Mb4EXlja{^{^C+bte`>MCzz|-Nz(+$*)jFeMIJ$9jA_+5Xm&fRE^9m!9ozV z1F;?;68K5PK#EF6ytST;>D4+U)gw_Ou0%D0h;c=QT9U4&l4_`qZlsfGHACMB>ZP)V znO}>h#C-;BQwV728U*ntGcf?L;2PwF4!#_VB;Sod)S~ON$w)~{zO2Tt!@?n=bW2*+ zA}E8*to!A9gxULIRPo1=Sf$`AI9L2F5r#@dJ(02H11xDa9*RT{q`FbpAbE_u2&D{% zQ=&jX#DE{NB~LOvhPd@=LI%V->M3SV=AS_oCseRSkZn?kq)4Sm38Zi=6!jG1lV2hx zVu;H8hb5|4({0s2!I_3b%@_ThQ6-#%i$Ja>*Fk{^HHJuN4z+Q#B3`Vx3LzvF%kPVr zG#ZNr4h9lmwVFa9+#5a?Dl1`lDMIH6TC2K-E?K!6A=zUQ@gdEUQq|F_$<|Q8{?QEs zvgn}_%9%u#g-imz^?D#j#{Yw})bOjT*jQ#XwrLHJj2SEJ(anbuy){lFgEAcYHFoq9!+{B=i*f zB*7+mIK=BcwuBUSP+T`Ui4%19d$>Pdb3LGWX zsA6E};1J#xlBL+`mm_i}$|M8)sX&Q7CHZPtj>@qTy(FCsCRH^Ovuz<3#fMOOq-0`R z)&eQQFGM%BUPm(InHHiA5{|?ekaf=>FlnhJa-`^WBomQd4NFzc(2(a7)d-sq;s5Q)svH(3tQ9_}sZMVE}&d!k7?~{{J>6G-3az@o^zW`Sg}?VK>TeTt80ZIxsUX zbin<&ap4q7;bdN({_MCg1%1`?Ip6)aXs;;3d%iy|d=7pmFQFew;Rm^&=)cD4Ivg0E z5DvqSJ~=_-eEOORVGcapJ|R4W^2<9Xs6M-Ho}lrbf8~U*1V6K1oe<8Ty!V?E!W&Uu z{MH1WM>Cxe9z(y+?cPH3#kgY&)#2zCL3ktb?v9#OLV*^7uub%Z>|sR^aet`b>L+vl zv4Z;re|*$_Z;7`5QNg2vpM(?QFD>{F3a;*!Y5R{$dA(NfopQmme7yG;Jlvl1j~6^D zIMS5**S?th`?FE~Ejj-VA1P z41Xz9hX0NBJ%)dc;S=Sn+qWq9H~TYumErGW_-V>F=l=qK!|!GIhZuf8!yje%A29q+82%-Oe~sbaWcarj{#}M&VtAHw92xoF4;ikE zQ++n-t2y5|-*z$lCWgO?;nNI1$ne`4KF{zY48NPJ6d3=bK8 zj^STm_@6TT&l&zV4F5L6pJMpa41b2AXSmAnS228=;csI2A%-t9{M`(1 zF#H6=2MoWL;U8xB0}OwZ;h$mn=NbMLhW`b_|C-@{&+zXu{QC@llHvcs@c(4EjQ6K2 z-xszp{5po?_3NtkH#1yg_c6ZHedmGJ756s0FD5Qz!LCI z;9bC7z)|3C;N8G`fL{lG12BO)U;)cO184#^&;pJDD?l4K4x9iwKo{r%eZT=u0xsYI z17HZO0&Bo2U>&#zcrS1-@IK)Ez;6OR@LRwKfDZzvfe!&627Vhj1KbDv4)77+e&D0P z1Hgko0Q@fSG2r9CL%_qpCxA}^XMx`X9swQ&wgC!I0?I%I7z4%uq_%)`5+(us`6FCI z*cF`IzZ#d<0Ji{SUGe9WH6bOzui--UC3AZWr~=!89l%cDTHre1df*0N7w{tB#lVfg zZh+_I|DU|Xato$;_w-)JG1uBn+idp+_A%R?KYV<;HmI!{)3c6i4+iU|^u`n~;wY#R(>GT_B)Akx}+ZnX`z4?Qy zcEcQc)-k&_y`MBe1B=v932FxB_#8!nAd7n;%FiC0acFgVmW)l~FdeJyUK!VO9G@)8 za~!{6EX*GF`n|oYR%d9}e(Zn;di|Db+h&n-M0~pbKV_=Mp~kZ_r2TBu@sVla;D#Fe z8~v_hxpoaAEl!(A?(T|dpRyan0kYJ#nzjquT%MgrhCTZ*)~{p3wy^kSdr<4Gw%vYj zgVK)Ha>q8T!3wPJ?5(wXP4f<`aRRB{ApHsxI?o&Py;dKlyB7{E4sJ8e>FJqe%WF3Z z0p=SEi?B6TEO)de8nqg12Wg&JgT6ZtLv0q@wOMO)ukzuDRZ6n(%D4yEs2hOq_(mSXaANv+0^%2hZS9ZQj1oANEL8 zxdPU5-vzT84cqfjdW}Jw__K<+;I7aL`>HLN%bsny4eViTcbwTMJAI-LEt+kd3eBN2 zBha$~8;2YjtC&bWSgUBq1EhTTc9kYZM8Z>53XC796XZ(A+?G|xwhcWkk+Cg zwJr`LS|A9JqOoV&SdkWlA56_JynU{=Zx(c5cgV17ZhL^%WRx}ZMQQgCD@q4~dU(L+ zq@7o~opzTb3+jnB{Z`Xj2kYiSwebpo&a@bbk&`@>wrAmOM=(#c$=KvE*U39}3juNF zHdde;DZ7x0lny$e?Dkg?3T`}-M_pvJ-E}bOF5VGv9rkFMk3+7|e{;4@+d=1%YD6>~ zm@wc3Cjsa3o%HDP=OU8pRW4x27n$5RIJ&3iZa;F@{DN6Ky0o|;n68~ii14USlq0do zv0`DuUdOf(tJfO^vXNJw*RXm>?W@-a&$tFQ994qeW8$PF3Xzg1L`tF%DLn@Xgd1cX zEsIow1!p+5;00~dUvK1~H}cRMwc8kDBlLj_H`K?Vk8A?LCM?R~<_+%h6&?0SN(tt$ z*J=0AVb~i9v)byrFs!ylDy(kEu!c81 -#undef _GCC_NEXT_LIMITS_H diff --git a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/install-tools/include/README b/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/install-tools/include/README deleted file mode 100644 index 7086a778..00000000 --- a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/install-tools/include/README +++ /dev/null @@ -1,14 +0,0 @@ -This README file is copied into the directory for GCC-only header files -when fixincludes is run by the makefile for GCC. - -Many of the files in this directory were automatically edited from the -standard system header files by the fixincludes process. They are -system-specific, and will not work on any other kind of system. They -are also not part of GCC. The reason we have to do this is because -GCC requires ANSI C headers and many vendors supply ANSI-incompatible -headers. - -Because this is an automated process, sometimes headers get "fixed" -that do not, strictly speaking, need a fix. As long as nothing is broken -by the process, it is just an unfortunate collateral inconvenience. -We would like to rectify it, if it is not "too inconvenient". diff --git a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/install-tools/include/limits.h b/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/install-tools/include/limits.h deleted file mode 100644 index 5aadbaa1..00000000 --- a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/install-tools/include/limits.h +++ /dev/null @@ -1,163 +0,0 @@ -/* Copyright (C) 1991-2023 Free Software Foundation, Inc. - -This file is part of GCC. - -GCC is free software; you can redistribute it and/or modify it under -the terms of the GNU General Public License as published by the Free -Software Foundation; either version 3, or (at your option) any later -version. - -GCC is distributed in the hope that it will be useful, but WITHOUT ANY -WARRANTY; without even the implied warranty of MERCHANTABILITY or -FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -for more details. - -Under Section 7 of GPL version 3, you are granted additional -permissions described in the GCC Runtime Library Exception, version -3.1, as published by the Free Software Foundation. - -You should have received a copy of the GNU General Public License and -a copy of the GCC Runtime Library Exception along with this program; -see the files COPYING3 and COPYING.RUNTIME respectively. If not, see -. */ - -#ifndef _LIMITS_H___ -#define _LIMITS_H___ - -/* Number of bits in a `char'. */ -#undef CHAR_BIT -#define CHAR_BIT __CHAR_BIT__ - -/* Maximum length of a multibyte character. */ -#ifndef MB_LEN_MAX -#define MB_LEN_MAX 1 -#endif - -/* Minimum and maximum values a `signed char' can hold. */ -#undef SCHAR_MIN -#define SCHAR_MIN (-SCHAR_MAX - 1) -#undef SCHAR_MAX -#define SCHAR_MAX __SCHAR_MAX__ - -/* Maximum value an `unsigned char' can hold. (Minimum is 0). */ -#undef UCHAR_MAX -#if __SCHAR_MAX__ == __INT_MAX__ -# define UCHAR_MAX (SCHAR_MAX * 2U + 1U) -#else -# define UCHAR_MAX (SCHAR_MAX * 2 + 1) -#endif - -/* Minimum and maximum values a `char' can hold. */ -#ifdef __CHAR_UNSIGNED__ -# undef CHAR_MIN -# if __SCHAR_MAX__ == __INT_MAX__ -# define CHAR_MIN 0U -# else -# define CHAR_MIN 0 -# endif -# undef CHAR_MAX -# define CHAR_MAX UCHAR_MAX -#else -# undef CHAR_MIN -# define CHAR_MIN SCHAR_MIN -# undef CHAR_MAX -# define CHAR_MAX SCHAR_MAX -#endif - -/* Minimum and maximum values a `signed short int' can hold. */ -#undef SHRT_MIN -#define SHRT_MIN (-SHRT_MAX - 1) -#undef SHRT_MAX -#define SHRT_MAX __SHRT_MAX__ - -/* Maximum value an `unsigned short int' can hold. (Minimum is 0). */ -#undef USHRT_MAX -#if __SHRT_MAX__ == __INT_MAX__ -# define USHRT_MAX (SHRT_MAX * 2U + 1U) -#else -# define USHRT_MAX (SHRT_MAX * 2 + 1) -#endif - -/* Minimum and maximum values a `signed int' can hold. */ -#undef INT_MIN -#define INT_MIN (-INT_MAX - 1) -#undef INT_MAX -#define INT_MAX __INT_MAX__ - -/* Maximum value an `unsigned int' can hold. (Minimum is 0). */ -#undef UINT_MAX -#define UINT_MAX (INT_MAX * 2U + 1U) - -/* Minimum and maximum values a `signed long int' can hold. - (Same as `int'). */ -#undef LONG_MIN -#define LONG_MIN (-LONG_MAX - 1L) -#undef LONG_MAX -#define LONG_MAX __LONG_MAX__ - -/* Maximum value an `unsigned long int' can hold. (Minimum is 0). */ -#undef ULONG_MAX -#define ULONG_MAX (LONG_MAX * 2UL + 1UL) - -#if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L -/* Minimum and maximum values a `signed long long int' can hold. */ -# undef LLONG_MIN -# define LLONG_MIN (-LLONG_MAX - 1LL) -# undef LLONG_MAX -# define LLONG_MAX __LONG_LONG_MAX__ - -/* Maximum value an `unsigned long long int' can hold. (Minimum is 0). */ -# undef ULLONG_MAX -# define ULLONG_MAX (LLONG_MAX * 2ULL + 1ULL) -#endif - -#if defined (__GNU_LIBRARY__) ? defined (__USE_GNU) : !defined (__STRICT_ANSI__) -/* Minimum and maximum values a `signed long long int' can hold. */ -# undef LONG_LONG_MIN -# define LONG_LONG_MIN (-LONG_LONG_MAX - 1LL) -# undef LONG_LONG_MAX -# define LONG_LONG_MAX __LONG_LONG_MAX__ - -/* Maximum value an `unsigned long long int' can hold. (Minimum is 0). */ -# undef ULONG_LONG_MAX -# define ULONG_LONG_MAX (LONG_LONG_MAX * 2ULL + 1ULL) -#endif - -#if (defined __STDC_WANT_IEC_60559_BFP_EXT__ \ - || (defined (__STDC_VERSION__) && __STDC_VERSION__ > 201710L)) -/* TS 18661-1 / C2X widths of integer types. */ -# undef CHAR_WIDTH -# define CHAR_WIDTH __SCHAR_WIDTH__ -# undef SCHAR_WIDTH -# define SCHAR_WIDTH __SCHAR_WIDTH__ -# undef UCHAR_WIDTH -# define UCHAR_WIDTH __SCHAR_WIDTH__ -# undef SHRT_WIDTH -# define SHRT_WIDTH __SHRT_WIDTH__ -# undef USHRT_WIDTH -# define USHRT_WIDTH __SHRT_WIDTH__ -# undef INT_WIDTH -# define INT_WIDTH __INT_WIDTH__ -# undef UINT_WIDTH -# define UINT_WIDTH __INT_WIDTH__ -# undef LONG_WIDTH -# define LONG_WIDTH __LONG_WIDTH__ -# undef ULONG_WIDTH -# define ULONG_WIDTH __LONG_WIDTH__ -# undef LLONG_WIDTH -# define LLONG_WIDTH __LONG_LONG_WIDTH__ -# undef ULLONG_WIDTH -# define ULLONG_WIDTH __LONG_LONG_WIDTH__ -#endif - -#if defined (__STDC_VERSION__) && __STDC_VERSION__ > 201710L -/* C2X width and limit of _Bool. */ -# undef BOOL_MAX -# define BOOL_MAX 1 -# undef BOOL_WIDTH -# define BOOL_WIDTH 1 - -# define __STDC_VERSION_LIMITS_H__ 202311L -#endif - -#endif /* _LIMITS_H___ */ diff --git a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/install-tools/macro_list b/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/install-tools/macro_list deleted file mode 100644 index 792d7bbc..00000000 --- a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/install-tools/macro_list +++ /dev/null @@ -1 +0,0 @@ -mc68000 diff --git a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/install-tools/mkheaders.conf b/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/install-tools/mkheaders.conf deleted file mode 100644 index feea308b..00000000 --- a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/install-tools/mkheaders.conf +++ /dev/null @@ -1,3 +0,0 @@ -SYSTEM_HEADER_DIR="/Users/runner/work/vscode-amiga-debug/vscode-amiga-debug/output/m68k-amiga-elf/sys-include" -OTHER_FIXINCLUDES_DIRS="" -STMP_FIXINC="stmp-fixinc" diff --git a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/gtype.state b/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/gtype.state deleted file mode 100644 index a7118336..00000000 --- a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/gtype.state +++ /dev/null @@ -1,38564 +0,0 @@ -;;;;@@@@ 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 "13.1.0") -(!srcdir "../../gcc/gcc") -(!languages 12 ada c cp d fortran go jit lto m2 objc objcp rust) -(!fileslist 238 0 - (!srcfile 4095 "../libcpp/include/line-map.h") - (!srcfile 4095 "../libcpp/include/cpplib.h") - (!srcfile 4095 "input.h") - (!srcfile 4095 "coretypes.h") - (!file 4095 "auto-host.h") - (!srcfile 4095 "../include/ansidecl.h") - (!srcfile 4095 "config/m68k/m68k-opts.h") - (!srcfile 4095 "config/m68k/m68k-microarchs.def") - (!srcfile 4095 "config/m68k/m68k-devices.def") - (!file 4095 "options.h") - (!srcfile 4095 "config/m68k/m68k.h") - (!srcfile 4095 "config/m68k/m68k-none.h") - (!srcfile 4095 "config/m68k/m68kelf.h") - (!srcfile 4095 "config/elfos.h") - (!srcfile 4095 "config/newlib-stdint.h") - (!srcfile 4095 "config/m68k/m68kemb.h") - (!srcfile 4095 "config/m68k/m68020-elf.h") - (!srcfile 4095 "config/initfini-array.h") - (!srcfile 4095 "defaults.h") - (!srcfile 4095 "../include/hashtab.h") - (!srcfile 4095 "../include/splay-tree.h") - (!srcfile 4095 "bitmap.h") - (!srcfile 4095 "wide-int.h") - (!srcfile 4095 "alias.h") - (!srcfile 4095 "coverage.cc") - (!srcfile 4095 "rtl.h") - (!srcfile 4095 "optabs.h") - (!srcfile 4095 "tree.h") - (!srcfile 4095 "tree-core.h") - (!srcfile 4095 "libfuncs.h") - (!srcfile 4095 "../libcpp/include/symtab.h") - (!srcfile 4095 "../include/obstack.h") - (!srcfile 4095 "real.h") - (!srcfile 4095 "function.h") - (!srcfile 4095 "insn-addr.h") - (!srcfile 4095 "hwint.h") - (!srcfile 4095 "fixed-value.h") - (!srcfile 4095 "function-abi.h") - (!srcfile 4095 "output.h") - (!srcfile 4095 "cfgloop.h") - (!srcfile 4095 "cfg.h") - (!srcfile 4095 "profile-count.h") - (!srcfile 4095 "cselib.h") - (!srcfile 4095 "basic-block.h") - (!srcfile 4095 "ipa-ref.h") - (!srcfile 4095 "cgraph.h") - (!srcfile 4095 "symtab-thunks.h") - (!srcfile 4095 "symtab-thunks.cc") - (!srcfile 4095 "symtab-clones.h") - (!srcfile 4095 "reload.h") - (!srcfile 4095 "caller-save.cc") - (!srcfile 4095 "symtab.cc") - (!srcfile 4095 "alias.cc") - (!srcfile 4095 "bitmap.cc") - (!srcfile 4095 "cselib.cc") - (!srcfile 4095 "cgraph.cc") - (!srcfile 4095 "ipa-prop.cc") - (!srcfile 4095 "ipa-cp.cc") - (!srcfile 4095 "ipa-utils.h") - (!srcfile 4095 "ipa-param-manipulation.h") - (!srcfile 4095 "ipa-sra.cc") - (!srcfile 4095 "ipa-modref.h") - (!srcfile 4095 "ipa-modref.cc") - (!srcfile 4095 "ipa-modref-tree.h") - (!srcfile 4095 "signop.h") - (!srcfile 4095 "diagnostic-spec.h") - (!srcfile 4095 "diagnostic-spec.cc") - (!srcfile 4095 "dwarf2out.h") - (!srcfile 4095 "dwarf2asm.cc") - (!srcfile 4095 "dwarf2cfi.cc") - (!srcfile 4095 "dwarf2ctf.cc") - (!srcfile 4095 "dwarf2out.cc") - (!srcfile 4095 "ctfc.h") - (!srcfile 4095 "ctfout.cc") - (!srcfile 4095 "btfout.cc") - (!srcfile 4095 "tree-vect-generic.cc") - (!srcfile 4095 "gimple-isel.cc") - (!srcfile 4095 "dojump.cc") - (!srcfile 4095 "emit-rtl.h") - (!srcfile 4095 "emit-rtl.cc") - (!srcfile 4095 "except.h") - (!srcfile 4095 "explow.cc") - (!srcfile 4095 "expr.cc") - (!srcfile 4095 "expr.h") - (!srcfile 4095 "function.cc") - (!srcfile 4095 "except.cc") - (!srcfile 4095 "ggc-tests.cc") - (!srcfile 4095 "gcse.cc") - (!srcfile 4095 "godump.cc") - (!srcfile 4095 "lists.cc") - (!srcfile 4095 "optabs-libfuncs.cc") - (!srcfile 4095 "profile.cc") - (!srcfile 4095 "mcf.cc") - (!srcfile 4095 "reg-stack.cc") - (!srcfile 4095 "cfgrtl.cc") - (!srcfile 4095 "stor-layout.cc") - (!srcfile 4095 "stringpool.cc") - (!srcfile 4095 "tree.cc") - (!srcfile 4095 "varasm.cc") - (!srcfile 4095 "gimple.h") - (!srcfile 4095 "gimple-ssa.h") - (!srcfile 4095 "tree-ssanames.cc") - (!srcfile 4095 "tree-eh.cc") - (!srcfile 4095 "tree-ssa-address.cc") - (!srcfile 4095 "tree-cfg.cc") - (!srcfile 4095 "tree-ssa-loop-ivopts.cc") - (!srcfile 4095 "tree-dfa.cc") - (!srcfile 4095 "tree-iterator.cc") - (!srcfile 4095 "gimple-expr.cc") - (!srcfile 4095 "tree-chrec.h") - (!srcfile 4095 "tree-scalar-evolution.cc") - (!srcfile 4095 "tree-ssa-operands.h") - (!srcfile 4095 "tree-profile.cc") - (!srcfile 4095 "tree-nested.cc") - (!srcfile 4095 "omp-offload.h") - (!srcfile 4095 "omp-general.cc") - (!srcfile 4095 "omp-low.cc") - (!srcfile 4095 "targhooks.cc") - (!srcfile 4095 "config/m68k/m68k.cc") - (!srcfile 4095 "passes.cc") - (!srcfile 4095 "cgraphclones.cc") - (!srcfile 4095 "tree-phinodes.cc") - (!srcfile 4095 "tree-ssa-alias.h") - (!srcfile 4095 "tree-ssanames.h") - (!srcfile 4095 "tree-vrp.h") - (!srcfile 4095 "value-range.h") - (!srcfile 4095 "value-range-storage.h") - (!srcfile 4095 "ipa-prop.h") - (!srcfile 4095 "trans-mem.cc") - (!srcfile 4095 "lto-streamer.h") - (!srcfile 4095 "target-globals.h") - (!srcfile 4095 "ipa-predicate.h") - (!srcfile 4095 "ipa-fnsummary.h") - (!srcfile 4095 "vtable-verify.cc") - (!srcfile 4095 "asan.cc") - (!srcfile 4095 "ubsan.cc") - (!srcfile 4095 "tsan.cc") - (!srcfile 4095 "sanopt.cc") - (!srcfile 4095 "sancov.cc") - (!srcfile 4095 "ipa-devirt.cc") - (!srcfile 4095 "internal-fn.h") - (!srcfile 4095 "calls.cc") - (!srcfile 4095 "omp-general.h") - (!srcfile 4095 "analyzer/analyzer-language.cc") - (!srcfile 1 "ada/gcc-interface/ada-tree.h") - (!srcfile 1 "ada/gcc-interface/gigi.h") - (!srcfile 1 "ada/gcc-interface/decl.cc") - (!srcfile 1 "ada/gcc-interface/trans.cc") - (!srcfile 1 "ada/gcc-interface/utils.cc") - (!srcfile 1 "ada/gcc-interface/misc.cc") - (!srcfile 2 "c/c-lang.cc") - (!srcfile 514 "c/c-tree.h") - (!srcfile 514 "c/c-decl.cc") - (!srcfile 1542 "c-family/c-common.cc") - (!srcfile 1542 "c-family/c-common.h") - (!srcfile 1542 "c-family/c-objc.h") - (!srcfile 1542 "c-family/c-cppbuiltin.cc") - (!srcfile 1542 "c-family/c-pragma.h") - (!srcfile 1542 "c-family/c-pragma.cc") - (!srcfile 1542 "c-family/c-format.cc") - (!srcfile 514 "c/c-objc-common.cc") - (!srcfile 514 "c/c-parser.h") - (!srcfile 514 "c/c-parser.cc") - (!srcfile 514 "c/c-lang.h") - (!srcfile 1028 "cp/name-lookup.h") - (!srcfile 1028 "cp/cp-tree.h") - (!srcfile 1028 "cp/decl.h") - (!srcfile 1028 "cp/parser.h") - (!srcfile 1028 "cp/call.cc") - (!srcfile 1028 "cp/class.cc") - (!srcfile 1028 "cp/constexpr.cc") - (!srcfile 1028 "cp/contracts.cc") - (!srcfile 1028 "cp/constraint.cc") - (!srcfile 1028 "cp/coroutines.cc") - (!srcfile 1028 "cp/cp-gimplify.cc") - (!srcfile 4 "cp/cp-lang.cc") - (!srcfile 1028 "cp/cp-objcp-common.cc") - (!srcfile 1028 "cp/decl.cc") - (!srcfile 1028 "cp/decl2.cc") - (!srcfile 1028 "cp/except.cc") - (!srcfile 1028 "cp/friend.cc") - (!srcfile 1028 "cp/init.cc") - (!srcfile 1028 "cp/lambda.cc") - (!srcfile 1028 "cp/lex.cc") - (!srcfile 1028 "cp/logic.cc") - (!srcfile 1028 "cp/mangle.cc") - (!srcfile 1028 "cp/method.cc") - (!srcfile 1028 "cp/module.cc") - (!srcfile 1028 "cp/name-lookup.cc") - (!srcfile 1028 "cp/parser.cc") - (!srcfile 1028 "cp/pt.cc") - (!srcfile 1028 "cp/rtti.cc") - (!srcfile 1028 "cp/semantics.cc") - (!srcfile 1028 "cp/tree.cc") - (!srcfile 1028 "cp/typeck2.cc") - (!srcfile 1028 "cp/vtable-class-hierarchy.cc") - (!srcfile 8 "d/d-tree.h") - (!srcfile 8 "d/d-builtins.cc") - (!srcfile 8 "d/d-lang.cc") - (!srcfile 8 "d/typeinfo.cc") - (!srcfile 16 "fortran/f95-lang.cc") - (!srcfile 16 "fortran/trans-decl.cc") - (!srcfile 16 "fortran/trans-intrinsic.cc") - (!srcfile 16 "fortran/trans-io.cc") - (!srcfile 16 "fortran/trans-stmt.cc") - (!srcfile 16 "fortran/trans-types.cc") - (!srcfile 16 "fortran/trans-types.h") - (!srcfile 16 "fortran/trans.h") - (!srcfile 16 "fortran/trans-const.h") - (!srcfile 32 "go/go-lang.cc") - (!srcfile 32 "go/go-c.h") - (!srcfile 64 "jit/dummy-frontend.cc") - (!srcfile 128 "lto/lto-tree.h") - (!srcfile 128 "lto/lto-lang.cc") - (!srcfile 128 "lto/lto.cc") - (!srcfile 128 "lto/lto.h") - (!srcfile 128 "lto/lto-common.h") - (!srcfile 128 "lto/lto-common.cc") - (!srcfile 128 "lto/lto-dump.cc") - (!srcfile 256 "m2/gm2-lang.cc") - (!srcfile 256 "m2/gm2-lang.h") - (!srcfile 256 "m2/gm2-gcc/rtegraph.cc") - (!srcfile 256 "m2/gm2-gcc/m2block.cc") - (!srcfile 256 "m2/gm2-gcc/m2builtins.cc") - (!srcfile 256 "m2/gm2-gcc/m2decl.cc") - (!srcfile 256 "m2/gm2-gcc/m2except.cc") - (!srcfile 256 "m2/gm2-gcc/m2expr.cc") - (!srcfile 256 "m2/gm2-gcc/m2statement.cc") - (!srcfile 256 "m2/gm2-gcc/m2type.cc") - (!srcfile 1536 "objc/objc-map.h") - (!srcfile 1536 "objc/objc-act.h") - (!srcfile 1536 "objc/objc-act.cc") - (!srcfile 1536 "objc/objc-runtime-shared-support.cc") - (!srcfile 1536 "objc/objc-gnu-runtime-abi-01.cc") - (!srcfile 1536 "objc/objc-next-runtime-abi-01.cc") - (!srcfile 1536 "objc/objc-next-runtime-abi-02.cc") - (!srcfile 1024 "objcp/objcp-lang.cc") - (!srcfile 2048 "rust/rust-lang.cc") -) -(!structures 1802 - - (!type struct 1 nil gc_used "source_range" - (!srcfileloc "../libcpp/include/line-map.h" 758) - (!fields 2 - (!pair "m_start" - (!type scalar_nonchar 2 - (!type pointer 3 - (!type pointer 4 nil gc_unused - (!type already_seen 3) - ) - gc_used - (!type already_seen 2) - ) - gc_pointed_to) - (!srcfileloc "../libcpp/include/line-map.h" 324) - nil ) - (!pair "m_finish" - (!type already_seen 2) - (!srcfileloc "../libcpp/include/line-map.h" 325) - nil ) - ) - nil 4095 nil nil ) - - (!type struct 5 nil gc_used "line_map" - (!srcfileloc "../libcpp/include/line-map.h" 391) - (!fields 1 - (!pair "start_location" - (!type already_seen 2) - (!srcfileloc "../libcpp/include/line-map.h" 388) - nil ) - ) - (!options - (!option desc string "MAP_ORDINARY_P (&%h) ? 1 : 2") - (!option tag string "0") - ) - 4095 nil nil ) - - (!type struct 6 - (!type pointer 7 nil gc_unused - (!type already_seen 6) - ) - gc_used "line_map_ordinary" - (!srcfileloc "../libcpp/include/line-map.h" 727) - (!fields 7 - (!pair "reason" - (!type already_seen 2) - (!srcfileloc "../libcpp/include/line-map.h" 411) - nil ) - (!pair "sysp" - (!type scalar_char 8 - (!type pointer 9 - (!type pointer 10 nil gc_unused - (!type already_seen 9) - ) - gc_unused - (!type already_seen 8) - ) - gc_used) - (!srcfileloc "../libcpp/include/line-map.h" 417) - nil ) - (!pair "m_column_and_range_bits" - (!type already_seen 2) - (!srcfileloc "../libcpp/include/line-map.h" 421) - nil ) - (!pair "m_range_bits" - (!type already_seen 2) - (!srcfileloc "../libcpp/include/line-map.h" 436) - nil ) - (!pair "to_file" - (!type string 11 nil gc_used) - (!srcfileloc "../libcpp/include/line-map.h" 440) - nil ) - (!pair "to_line" - (!type already_seen 2) - (!srcfileloc "../libcpp/include/line-map.h" 441) - nil ) - (!pair "included_from" - (!type already_seen 2) - (!srcfileloc "../libcpp/include/line-map.h" 447) - nil ) - ) - (!options - (!option tag string "1") - ) - 4095 nil - (!type already_seen 5) - ) - - (!type struct 12 - (!type pointer 13 - (!type pointer 14 nil gc_unused - (!type already_seen 13) - ) - gc_unused - (!type already_seen 12) - ) - gc_used "cpp_hashnode" - (!srcfileloc "../libcpp/include/cpplib.h" 1004) - (!fields 8 - (!pair "ident" - (!type struct 15 - (!type pointer 16 - (!type pointer 17 nil gc_unused - (!type already_seen 16) - ) - gc_unused - (!type already_seen 15) - ) - gc_used "ht_identifier" - (!srcfileloc "../libcpp/include/symtab.h" 38) - (!fields 3 - (!pair "str" - (!type already_seen 11) - (!srcfileloc "../libcpp/include/symtab.h" 35) - (!options - (!option string_length string "1 + %h.len") - ) - ) - (!pair "len" - (!type already_seen 2) - (!srcfileloc "../libcpp/include/symtab.h" 36) - nil ) - (!pair "hash_value" - (!type already_seen 2) - (!srcfileloc "../libcpp/include/symtab.h" 37) - nil ) - ) - nil 4095 nil nil ) - (!srcfileloc "../libcpp/include/cpplib.h" 986) - nil ) - (!pair "is_directive" - (!type already_seen 2) - (!srcfileloc "../libcpp/include/cpplib.h" 987) - nil ) - (!pair "directive_index" - (!type already_seen 2) - (!srcfileloc "../libcpp/include/cpplib.h" 988) - nil ) - (!pair "rid_code" - (!type already_seen 2) - (!srcfileloc "../libcpp/include/cpplib.h" 991) - nil ) - (!pair "flags" - (!type already_seen 2) - (!srcfileloc "../libcpp/include/cpplib.h" 992) - nil ) - (!pair "type" - (!type already_seen 2) - (!srcfileloc "../libcpp/include/cpplib.h" 993) - nil ) - (!pair "deferred" - (!type already_seen 2) - (!srcfileloc "../libcpp/include/cpplib.h" 1001) - nil ) - (!pair "value" - (!type union 18 nil gc_used "_cpp_hashnode_value" - (!srcfileloc "../libcpp/include/cpplib.h" 983) - (!fields 4 - (!pair "answers" - (!type pointer 19 nil gc_used - (!type struct 20 - (!type already_seen 19) - gc_pointed_to "cpp_macro" - (!srcfileloc "../libcpp/include/cpplib.h" 913) - (!fields 13 - (!pair "parm" - (!type union 21 nil gc_used "cpp_parm_u" - (!srcfileloc "../libcpp/include/cpplib.h" 863) - (!fields 2 - (!pair "params" - (!type already_seen 14) - (!srcfileloc "../libcpp/include/cpplib.h" 859) - (!options - (!option length string "%1.paramc") - (!option nested_ptr nested - (!type union 22 - (!type pointer 23 - (!type pointer 24 nil gc_used - (!type already_seen 23) - ) - gc_pointed_to - (!type already_seen 22) - ) - gc_pointed_to "tree_node" - (!srcfileloc "tree-core.h" 2107) - (!fields 39 - (!pair "base" - (!type struct 25 nil gc_used "tree_base" - (!srcfileloc "tree-core.h" 1145) - (!fields 18 - (!pair "code" - (!type already_seen 2) - (!srcfileloc "tree-core.h" 1035) - nil ) - (!pair "side_effects_flag" - (!type already_seen 2) - (!srcfileloc "tree-core.h" 1037) - nil ) - (!pair "constant_flag" - (!type already_seen 2) - (!srcfileloc "tree-core.h" 1038) - nil ) - (!pair "addressable_flag" - (!type already_seen 2) - (!srcfileloc "tree-core.h" 1039) - nil ) - (!pair "volatile_flag" - (!type already_seen 2) - (!srcfileloc "tree-core.h" 1040) - nil ) - (!pair "readonly_flag" - (!type already_seen 2) - (!srcfileloc "tree-core.h" 1041) - nil ) - (!pair "asm_written_flag" - (!type already_seen 2) - (!srcfileloc "tree-core.h" 1042) - nil ) - (!pair "nowarning_flag" - (!type already_seen 2) - (!srcfileloc "tree-core.h" 1043) - nil ) - (!pair "visited" - (!type already_seen 2) - (!srcfileloc "tree-core.h" 1044) - nil ) - (!pair "used_flag" - (!type already_seen 2) - (!srcfileloc "tree-core.h" 1046) - nil ) - (!pair "nothrow_flag" - (!type already_seen 2) - (!srcfileloc "tree-core.h" 1047) - nil ) - (!pair "static_flag" - (!type already_seen 2) - (!srcfileloc "tree-core.h" 1048) - nil ) - (!pair "public_flag" - (!type already_seen 2) - (!srcfileloc "tree-core.h" 1049) - nil ) - (!pair "private_flag" - (!type already_seen 2) - (!srcfileloc "tree-core.h" 1050) - nil ) - (!pair "protected_flag" - (!type already_seen 2) - (!srcfileloc "tree-core.h" 1051) - nil ) - (!pair "deprecated_flag" - (!type already_seen 2) - (!srcfileloc "tree-core.h" 1052) - nil ) - (!pair "default_def_flag" - (!type already_seen 2) - (!srcfileloc "tree-core.h" 1053) - nil ) - (!pair "u" - (!type union 26 nil gc_unused "anonymous:../../gcc/gcc/tree-core.h:1055" - (!srcfileloc "tree-core.h" 1144) - (!fields 9 - (!pair "bits" - (!type struct 27 nil gc_unused "anonymous:../../gcc/gcc/tree-core.h:1058" - (!srcfileloc "tree-core.h" 1083) - (!fields 17 - (!pair "lang_flag_0" - (!type already_seen 2) - (!srcfileloc "tree-core.h" 1059) - nil ) - (!pair "lang_flag_1" - (!type already_seen 2) - (!srcfileloc "tree-core.h" 1060) - nil ) - (!pair "lang_flag_2" - (!type already_seen 2) - (!srcfileloc "tree-core.h" 1061) - nil ) - (!pair "lang_flag_3" - (!type already_seen 2) - (!srcfileloc "tree-core.h" 1062) - nil ) - (!pair "lang_flag_4" - (!type already_seen 2) - (!srcfileloc "tree-core.h" 1063) - nil ) - (!pair "lang_flag_5" - (!type already_seen 2) - (!srcfileloc "tree-core.h" 1064) - nil ) - (!pair "lang_flag_6" - (!type already_seen 2) - (!srcfileloc "tree-core.h" 1065) - nil ) - (!pair "saturating_flag" - (!type already_seen 2) - (!srcfileloc "tree-core.h" 1066) - nil ) - (!pair "unsigned_flag" - (!type already_seen 2) - (!srcfileloc "tree-core.h" 1068) - nil ) - (!pair "packed_flag" - (!type already_seen 2) - (!srcfileloc "tree-core.h" 1069) - nil ) - (!pair "user_align" - (!type already_seen 2) - (!srcfileloc "tree-core.h" 1070) - nil ) - (!pair "nameless_flag" - (!type already_seen 2) - (!srcfileloc "tree-core.h" 1071) - nil ) - (!pair "atomic_flag" - (!type already_seen 2) - (!srcfileloc "tree-core.h" 1072) - nil ) - (!pair "unavailable_flag" - (!type already_seen 2) - (!srcfileloc "tree-core.h" 1073) - nil ) - (!pair "spare0" - (!type already_seen 2) - (!srcfileloc "tree-core.h" 1074) - nil ) - (!pair "spare1" - (!type already_seen 2) - (!srcfileloc "tree-core.h" 1076) - nil ) - (!pair "address_space" - (!type already_seen 2) - (!srcfileloc "tree-core.h" 1082) - nil ) - ) - nil 4095 nil nil ) - (!srcfileloc "tree-core.h" 1083) - nil ) - (!pair "int_length" - (!type struct 28 nil gc_unused "anonymous:../../gcc/gcc/tree-core.h:1090" - (!srcfileloc "tree-core.h" 1104) - (!fields 3 - (!pair "unextended" - (!type already_seen 8) - (!srcfileloc "tree-core.h" 1093) - nil ) - (!pair "extended" - (!type already_seen 8) - (!srcfileloc "tree-core.h" 1097) - nil ) - (!pair "offset" - (!type already_seen 8) - (!srcfileloc "tree-core.h" 1103) - nil ) - ) - nil 4095 nil nil ) - (!srcfileloc "tree-core.h" 1104) - nil ) - (!pair "length" - (!type already_seen 2) - (!srcfileloc "tree-core.h" 1107) - nil ) - (!pair "vector_cst" - (!type struct 29 nil gc_unused "anonymous:../../gcc/gcc/tree-core.h:1110" - (!srcfileloc "tree-core.h" 1119) - (!fields 3 - (!pair "log2_npatterns" - (!type already_seen 2) - (!srcfileloc "tree-core.h" 1112) - nil ) - (!pair "nelts_per_pattern" - (!type already_seen 2) - (!srcfileloc "tree-core.h" 1115) - nil ) - (!pair "unused" - (!type already_seen 2) - (!srcfileloc "tree-core.h" 1118) - nil ) - ) - nil 4095 nil nil ) - (!srcfileloc "tree-core.h" 1119) - nil ) - (!pair "version" - (!type already_seen 2) - (!srcfileloc "tree-core.h" 1122) - nil ) - (!pair "chrec_var" - (!type already_seen 2) - (!srcfileloc "tree-core.h" 1125) - nil ) - (!pair "ifn" - (!type already_seen 2) - (!srcfileloc "tree-core.h" 1128) - nil ) - (!pair "omp_atomic_memory_order" - (!type already_seen 2) - (!srcfileloc "tree-core.h" 1131) - nil ) - (!pair "dependence_info" - (!type struct 30 nil gc_unused "anonymous:../../gcc/gcc/tree-core.h:1140" - (!srcfileloc "tree-core.h" 1143) - (!fields 2 - (!pair "clique" - (!type already_seen 2) - (!srcfileloc "tree-core.h" 1141) - nil ) - (!pair "base" - (!type already_seen 2) - (!srcfileloc "tree-core.h" 1142) - nil ) - ) - nil 4095 nil nil ) - (!srcfileloc "tree-core.h" 1143) - nil ) - ) - nil 4095 nil ) - (!srcfileloc "tree-core.h" 1144) - (!options - (!option skip string "") - ) - ) - ) - nil 4095 nil nil ) - (!srcfileloc "tree-core.h" 2064) - (!options - (!option tag string "TS_BASE") - ) - ) - (!pair "typed" - (!type struct 31 nil gc_used "tree_typed" - (!srcfileloc "tree-core.h" 1456) - (!fields 2 - (!pair "base" - (!type already_seen 25) - (!srcfileloc "tree-core.h" 1454) - nil ) - (!pair "type" - (!type already_seen 23) - (!srcfileloc "tree-core.h" 1455) - nil ) - ) - nil 4095 nil nil ) - (!srcfileloc "tree-core.h" 2065) - (!options - (!option tag string "TS_TYPED") - ) - ) - (!pair "common" - (!type struct 32 nil gc_used "tree_common" - (!srcfileloc "tree-core.h" 1461) - (!fields 2 - (!pair "typed" - (!type already_seen 31) - (!srcfileloc "tree-core.h" 1459) - nil ) - (!pair "chain" - (!type already_seen 23) - (!srcfileloc "tree-core.h" 1460) - nil ) - ) - nil 4095 nil nil ) - (!srcfileloc "tree-core.h" 2066) - (!options - (!option tag string "TS_COMMON") - ) - ) - (!pair "int_cst" - (!type struct 33 nil gc_used "tree_int_cst" - (!srcfileloc "tree-core.h" 1466) - (!fields 2 - (!pair "typed" - (!type already_seen 31) - (!srcfileloc "tree-core.h" 1464) - nil ) - (!pair "val" - (!type array 34 nil gc_used "1" - (!type already_seen 2) - ) - (!srcfileloc "tree-core.h" 1465) - nil ) - ) - nil 4095 nil nil ) - (!srcfileloc "tree-core.h" 2067) - (!options - (!option tag string "TS_INT_CST") - ) - ) - (!pair "poly_int_cst" - (!type struct 35 nil gc_used "tree_poly_int_cst" - (!srcfileloc "tree-core.h" 1499) - (!fields 2 - (!pair "typed" - (!type already_seen 31) - (!srcfileloc "tree-core.h" 1497) - nil ) - (!pair "coeffs" - (!type array 36 nil gc_used "NUM_POLY_INT_COEFFS" - (!type already_seen 23) - ) - (!srcfileloc "tree-core.h" 1498) - nil ) - ) - nil 4095 nil nil ) - (!srcfileloc "tree-core.h" 2068) - (!options - (!option tag string "TS_POLY_INT_CST") - ) - ) - (!pair "real_cst" - (!type struct 37 nil gc_used "tree_real_cst" - (!srcfileloc "tree-core.h" 1472) - (!fields 2 - (!pair "typed" - (!type already_seen 31) - (!srcfileloc "tree-core.h" 1470) - nil ) - (!pair "value" - (!type struct 38 nil gc_used "real_value" - (!srcfileloc "real.h" 57) - (!fields 7 - (!pair "cl" - (!type already_seen 2) - (!srcfileloc "real.h" 43) - nil ) - (!pair "decimal" - (!type already_seen 2) - (!srcfileloc "real.h" 45) - nil ) - (!pair "sign" - (!type already_seen 2) - (!srcfileloc "real.h" 47) - nil ) - (!pair "signalling" - (!type already_seen 2) - (!srcfileloc "real.h" 49) - nil ) - (!pair "canonical" - (!type already_seen 2) - (!srcfileloc "real.h" 52) - nil ) - (!pair "uexp" - (!type already_seen 2) - (!srcfileloc "real.h" 54) - nil ) - (!pair "sig" - (!type array 39 nil gc_used "SIGSZ" - (!type already_seen 2) - ) - (!srcfileloc "real.h" 56) - nil ) - ) - nil 4095 nil nil ) - (!srcfileloc "tree-core.h" 1471) - nil ) - ) - nil 4095 nil nil ) - (!srcfileloc "tree-core.h" 2069) - (!options - (!option tag string "TS_REAL_CST") - ) - ) - (!pair "fixed_cst" - (!type struct 40 nil gc_used "tree_fixed_cst" - (!srcfileloc "tree-core.h" 1477) - (!fields 2 - (!pair "typed" - (!type already_seen 31) - (!srcfileloc "tree-core.h" 1475) - nil ) - (!pair "fixed_cst_ptr" - (!type pointer 41 nil gc_used - (!type struct 42 - (!type already_seen 41) - gc_pointed_to "fixed_value" - (!srcfileloc "fixed-value.h" 27) - (!fields 2 - (!pair "data" - (!type already_seen 2) - (!srcfileloc "fixed-value.h" 25) - nil ) - (!pair "mode" - (!type user_struct 43 nil gc_used "pod_mode" - (!srcfileloc "coretypes.h" 69) - (!fields 1 - (!pair "scalar_mode" - (!type struct 44 nil gc_used "scalar_mode" - (!srcfileloc "coretypes.h" 65) - (!fields 0 ) - nil 4095 nil nil ) - (!srcfileloc "coretypes.h" 69) - nil ) - ) - ) - (!srcfileloc "fixed-value.h" 26) - nil ) - ) - nil 4095 nil nil ) - ) - (!srcfileloc "tree-core.h" 1476) - nil ) - ) - nil 4095 nil nil ) - (!srcfileloc "tree-core.h" 2070) - (!options - (!option tag string "TS_FIXED_CST") - ) - ) - (!pair "vector" - (!type struct 45 nil gc_used "tree_vector" - (!srcfileloc "tree-core.h" 1494) - (!fields 2 - (!pair "typed" - (!type already_seen 31) - (!srcfileloc "tree-core.h" 1492) - nil ) - (!pair "elts" - (!type array 46 nil gc_used "1" - (!type already_seen 23) - ) - (!srcfileloc "tree-core.h" 1493) - (!options - (!option length string "vector_cst_encoded_nelts ((tree) &%h)") - ) - ) - ) - nil 4095 nil nil ) - (!srcfileloc "tree-core.h" 2071) - (!options - (!option tag string "TS_VECTOR") - ) - ) - (!pair "string" - (!type struct 47 nil gc_used "tree_string" - (!srcfileloc "tree-core.h" 1483) - (!fields 3 - (!pair "typed" - (!type already_seen 31) - (!srcfileloc "tree-core.h" 1480) - nil ) - (!pair "length" - (!type already_seen 2) - (!srcfileloc "tree-core.h" 1481) - nil ) - (!pair "str" - (!type array 48 nil gc_used "1" - (!type already_seen 8) - ) - (!srcfileloc "tree-core.h" 1482) - nil ) - ) - nil 4095 nil nil ) - (!srcfileloc "tree-core.h" 2072) - (!options - (!option tag string "TS_STRING") - ) - ) - (!pair "complex" - (!type struct 49 nil gc_used "tree_complex" - (!srcfileloc "tree-core.h" 1489) - (!fields 3 - (!pair "typed" - (!type already_seen 31) - (!srcfileloc "tree-core.h" 1486) - nil ) - (!pair "real" - (!type already_seen 23) - (!srcfileloc "tree-core.h" 1487) - nil ) - (!pair "imag" - (!type already_seen 23) - (!srcfileloc "tree-core.h" 1488) - nil ) - ) - nil 4095 nil nil ) - (!srcfileloc "tree-core.h" 2073) - (!options - (!option tag string "TS_COMPLEX") - ) - ) - (!pair "identifier" - (!type struct 50 nil gc_used "tree_identifier" - (!srcfileloc "tree-core.h" 1504) - (!fields 2 - (!pair "common" - (!type already_seen 32) - (!srcfileloc "tree-core.h" 1502) - nil ) - (!pair "id" - (!type already_seen 15) - (!srcfileloc "tree-core.h" 1503) - nil ) - ) - nil 4095 nil nil ) - (!srcfileloc "tree-core.h" 2074) - (!options - (!option tag string "TS_IDENTIFIER") - ) - ) - (!pair "decl_minimal" - (!type struct 51 nil gc_used "tree_decl_minimal" - (!srcfileloc "tree-core.h" 1773) - (!fields 5 - (!pair "common" - (!type already_seen 32) - (!srcfileloc "tree-core.h" 1768) - nil ) - (!pair "locus" - (!type already_seen 2) - (!srcfileloc "tree-core.h" 1769) - nil ) - (!pair "uid" - (!type already_seen 2) - (!srcfileloc "tree-core.h" 1770) - nil ) - (!pair "name" - (!type already_seen 23) - (!srcfileloc "tree-core.h" 1771) - nil ) - (!pair "context" - (!type already_seen 23) - (!srcfileloc "tree-core.h" 1772) - nil ) - ) - nil 4095 nil nil ) - (!srcfileloc "tree-core.h" 2075) - (!options - (!option tag string "TS_DECL_MINIMAL") - ) - ) - (!pair "decl_common" - (!type struct 52 nil gc_used "tree_decl_common" - (!srcfileloc "tree-core.h" 1849) - (!fields 37 - (!pair "common" - (!type already_seen 51) - (!srcfileloc "tree-core.h" 1776) - nil ) - (!pair "size" - (!type already_seen 23) - (!srcfileloc "tree-core.h" 1777) - nil ) - (!pair "mode" - (!type already_seen 2) - (!srcfileloc "tree-core.h" 1779) - nil ) - (!pair "nonlocal_flag" - (!type already_seen 2) - (!srcfileloc "tree-core.h" 1781) - nil ) - (!pair "virtual_flag" - (!type already_seen 2) - (!srcfileloc "tree-core.h" 1782) - nil ) - (!pair "ignored_flag" - (!type already_seen 2) - (!srcfileloc "tree-core.h" 1783) - nil ) - (!pair "abstract_flag" - (!type already_seen 2) - (!srcfileloc "tree-core.h" 1784) - nil ) - (!pair "artificial_flag" - (!type already_seen 2) - (!srcfileloc "tree-core.h" 1785) - nil ) - (!pair "preserve_flag" - (!type already_seen 2) - (!srcfileloc "tree-core.h" 1786) - nil ) - (!pair "debug_expr_is_from" - (!type already_seen 2) - (!srcfileloc "tree-core.h" 1787) - nil ) - (!pair "lang_flag_0" - (!type already_seen 2) - (!srcfileloc "tree-core.h" 1789) - nil ) - (!pair "lang_flag_1" - (!type already_seen 2) - (!srcfileloc "tree-core.h" 1790) - nil ) - (!pair "lang_flag_2" - (!type already_seen 2) - (!srcfileloc "tree-core.h" 1791) - nil ) - (!pair "lang_flag_3" - (!type already_seen 2) - (!srcfileloc "tree-core.h" 1792) - nil ) - (!pair "lang_flag_4" - (!type already_seen 2) - (!srcfileloc "tree-core.h" 1793) - nil ) - (!pair "lang_flag_5" - (!type already_seen 2) - (!srcfileloc "tree-core.h" 1794) - nil ) - (!pair "lang_flag_6" - (!type already_seen 2) - (!srcfileloc "tree-core.h" 1795) - nil ) - (!pair "lang_flag_7" - (!type already_seen 2) - (!srcfileloc "tree-core.h" 1796) - nil ) - (!pair "lang_flag_8" - (!type already_seen 2) - (!srcfileloc "tree-core.h" 1797) - nil ) - (!pair "decl_flag_0" - (!type already_seen 2) - (!srcfileloc "tree-core.h" 1802) - nil ) - (!pair "decl_flag_1" - (!type already_seen 2) - (!srcfileloc "tree-core.h" 1806) - nil ) - (!pair "decl_flag_2" - (!type already_seen 2) - (!srcfileloc "tree-core.h" 1810) - nil ) - (!pair "decl_flag_3" - (!type already_seen 2) - (!srcfileloc "tree-core.h" 1812) - nil ) - (!pair "not_gimple_reg_flag" - (!type already_seen 2) - (!srcfileloc "tree-core.h" 1815) - nil ) - (!pair "decl_by_reference_flag" - (!type already_seen 2) - (!srcfileloc "tree-core.h" 1817) - nil ) - (!pair "decl_read_flag" - (!type already_seen 2) - (!srcfileloc "tree-core.h" 1819) - nil ) - (!pair "decl_nonshareable_flag" - (!type already_seen 2) - (!srcfileloc "tree-core.h" 1822) - nil ) - (!pair "off_align" - (!type already_seen 2) - (!srcfileloc "tree-core.h" 1825) - nil ) - (!pair "align" - (!type already_seen 2) - (!srcfileloc "tree-core.h" 1828) - nil ) - (!pair "warn_if_not_align" - (!type already_seen 2) - (!srcfileloc "tree-core.h" 1832) - nil ) - (!pair "decl_not_flexarray" - (!type already_seen 2) - (!srcfileloc "tree-core.h" 1835) - nil ) - (!pair "pt_uid" - (!type already_seen 2) - (!srcfileloc "tree-core.h" 1840) - nil ) - (!pair "size_unit" - (!type already_seen 23) - (!srcfileloc "tree-core.h" 1842) - nil ) - (!pair "initial" - (!type already_seen 23) - (!srcfileloc "tree-core.h" 1843) - nil ) - (!pair "attributes" - (!type already_seen 23) - (!srcfileloc "tree-core.h" 1844) - nil ) - (!pair "abstract_origin" - (!type already_seen 23) - (!srcfileloc "tree-core.h" 1845) - nil ) - (!pair "lang_specific" - (!type pointer 53 nil gc_used - (!type lang_struct 54 - (!type already_seen 53) - gc_pointed_to "lang_decl" - (!srcfileloc "ada/gcc-interface/ada-tree.h" 37) - (!fields 0 ) - nil 4095 - (!homotypes 10 - (!type struct 55 nil gc_pointed_to "lang_decl" - (!srcfileloc "rust/rust-lang.cc" 74) - (!fields 0 ) - nil 2048 - (!type already_seen 54) - nil ) - - (!type struct 56 nil gc_pointed_to "lang_decl" - (!srcfileloc "m2/gm2-lang.cc" 83) - (!fields 1 - (!pair "dummy" - (!type already_seen 8) - (!srcfileloc "m2/gm2-lang.cc" 82) - nil ) - ) - nil 256 - (!type already_seen 54) - nil ) - - (!type struct 57 nil gc_pointed_to "lang_decl" - (!srcfileloc "lto/lto-tree.h" 32) - (!fields 1 - (!pair "dummy" - (!type already_seen 2) - (!srcfileloc "lto/lto-tree.h" 31) - nil ) - ) - nil 128 - (!type already_seen 54) - nil ) - - (!type struct 58 nil gc_pointed_to "lang_decl" - (!srcfileloc "jit/dummy-frontend.cc" 497) - (!fields 1 - (!pair "dummy" - (!type already_seen 8) - (!srcfileloc "jit/dummy-frontend.cc" 496) - nil ) - ) - (!options - (!option variable_size string "") - ) - 64 - (!type already_seen 54) - nil ) - - (!type struct 59 nil gc_pointed_to "lang_decl" - (!srcfileloc "go/go-lang.cc" 58) - (!fields 1 - (!pair "dummy" - (!type already_seen 8) - (!srcfileloc "go/go-lang.cc" 57) - nil ) - ) - nil 32 - (!type already_seen 54) - nil ) - - (!type struct 60 nil gc_pointed_to "lang_decl" - (!srcfileloc "fortran/trans.h" 1034) - (!fields 9 - (!pair "saved_descriptor" - (!type already_seen 23) - (!srcfileloc "fortran/trans.h" 1021) - nil ) - (!pair "stringlen" - (!type already_seen 23) - (!srcfileloc "fortran/trans.h" 1026) - nil ) - (!pair "addr" - (!type already_seen 23) - (!srcfileloc "fortran/trans.h" 1027) - nil ) - (!pair "token" - (!type already_seen 23) - (!srcfileloc "fortran/trans.h" 1029) - nil ) - (!pair "caf_offset" - (!type already_seen 23) - (!srcfileloc "fortran/trans.h" 1029) - nil ) - (!pair "scalar_allocatable" - (!type already_seen 2) - (!srcfileloc "fortran/trans.h" 1030) - nil ) - (!pair "scalar_pointer" - (!type already_seen 2) - (!srcfileloc "fortran/trans.h" 1031) - nil ) - (!pair "scalar_target" - (!type already_seen 2) - (!srcfileloc "fortran/trans.h" 1032) - nil ) - (!pair "optional_arg" - (!type already_seen 2) - (!srcfileloc "fortran/trans.h" 1033) - nil ) - ) - nil 16 - (!type already_seen 54) - nil ) - - (!type struct 61 nil gc_pointed_to "lang_decl" - (!srcfileloc "d/d-tree.h" 284) - (!fields 7 - (!pair "decl" - (!type pointer 62 nil gc_unused - (!type struct 63 - (!type already_seen 62) - gc_unused "Declaration" - (!srcfileloc "d/d-tree.h" 219) - (!fields 0 ) - nil 8 nil nil ) - ) - (!srcfileloc "d/d-tree.h" 265) - (!options - (!option skip string "") - ) - ) - (!pair "frame_field" - (!type already_seen 23) - (!srcfileloc "d/d-tree.h" 268) - nil ) - (!pair "named_result" - (!type already_seen 23) - (!srcfileloc "d/d-tree.h" 271) - nil ) - (!pair "thunks" - (!type already_seen 23) - (!srcfileloc "d/d-tree.h" 274) - nil ) - (!pair "offset" - (!type already_seen 2) - (!srcfileloc "d/d-tree.h" 277) - nil ) - (!pair "intrinsic" - (!type already_seen 2) - (!srcfileloc "d/d-tree.h" 280) - nil ) - (!pair "frame_info" - (!type already_seen 23) - (!srcfileloc "d/d-tree.h" 283) - nil ) - ) - nil 8 - (!type already_seen 54) - nil ) - - (!type struct 64 nil gc_pointed_to "lang_decl" - (!srcfileloc "cp/cp-tree.h" 3018) - (!fields 1 - (!pair "u" - (!type union 65 nil gc_used "lang_decl_u" - (!srcfileloc "cp/cp-tree.h" 3017) - (!fields 6 - (!pair "base" - (!type struct 66 nil gc_used "lang_decl_base" - (!srcfileloc "cp/cp-tree.h" 2875) - (!fields 18 - (!pair "selector" - (!type already_seen 2) - (!srcfileloc "cp/cp-tree.h" 2846) - nil ) - (!pair "language" - (!type already_seen 2) - (!srcfileloc "cp/cp-tree.h" 2847) - nil ) - (!pair "use_template" - (!type already_seen 2) - (!srcfileloc "cp/cp-tree.h" 2848) - nil ) - (!pair "not_really_extern" - (!type already_seen 2) - (!srcfileloc "cp/cp-tree.h" 2849) - nil ) - (!pair "initialized_in_class" - (!type already_seen 2) - (!srcfileloc "cp/cp-tree.h" 2850) - nil ) - (!pair "threadprivate_or_deleted_p" - (!type already_seen 2) - (!srcfileloc "cp/cp-tree.h" 2852) - nil ) - (!pair "anticipated_p" - (!type already_seen 2) - (!srcfileloc "cp/cp-tree.h" 2856) - nil ) - (!pair "friend_or_tls" - (!type already_seen 2) - (!srcfileloc "cp/cp-tree.h" 2857) - nil ) - (!pair "unknown_bound_p" - (!type already_seen 2) - (!srcfileloc "cp/cp-tree.h" 2858) - nil ) - (!pair "odr_used" - (!type already_seen 2) - (!srcfileloc "cp/cp-tree.h" 2859) - nil ) - (!pair "concept_p" - (!type already_seen 2) - (!srcfileloc "cp/cp-tree.h" 2860) - nil ) - (!pair "var_declared_inline_p" - (!type already_seen 2) - (!srcfileloc "cp/cp-tree.h" 2861) - nil ) - (!pair "dependent_init_p" - (!type already_seen 2) - (!srcfileloc "cp/cp-tree.h" 2862) - nil ) - (!pair "module_purview_p" - (!type already_seen 2) - (!srcfileloc "cp/cp-tree.h" 2866) - nil ) - (!pair "module_attach_p" - (!type already_seen 2) - (!srcfileloc "cp/cp-tree.h" 2867) - nil ) - (!pair "module_import_p" - (!type already_seen 2) - (!srcfileloc "cp/cp-tree.h" 2868) - nil ) - (!pair "module_entity_p" - (!type already_seen 2) - (!srcfileloc "cp/cp-tree.h" 2869) - nil ) - (!pair "module_keyed_decls_p" - (!type already_seen 2) - (!srcfileloc "cp/cp-tree.h" 2872) - nil ) - ) - nil 1028 nil nil ) - (!srcfileloc "cp/cp-tree.h" 3011) - (!options - (!option default string "") - ) - ) - (!pair "min" - (!type struct 67 nil gc_used "lang_decl_min" - (!srcfileloc "cp/cp-tree.h" 2906) - (!fields 3 - (!pair "base" - (!type already_seen 66) - (!srcfileloc "cp/cp-tree.h" 2890) - nil ) - (!pair "template_info" - (!type already_seen 23) - (!srcfileloc "cp/cp-tree.h" 2897) - nil ) - (!pair "access" - (!type already_seen 23) - (!srcfileloc "cp/cp-tree.h" 2905) - nil ) - ) - nil 1028 nil nil ) - (!srcfileloc "cp/cp-tree.h" 3012) - (!options - (!option tag string "lds_min") - ) - ) - (!pair "fn" - (!type struct 68 nil gc_used "lang_decl_fn" - (!srcfileloc "cp/cp-tree.h" 2970) - (!fields 24 - (!pair "min" - (!type already_seen 67) - (!srcfileloc "cp/cp-tree.h" 2911) - nil ) - (!pair "ovl_op_code" - (!type already_seen 2) - (!srcfileloc "cp/cp-tree.h" 2914) - nil ) - (!pair "global_ctor_p" - (!type already_seen 2) - (!srcfileloc "cp/cp-tree.h" 2915) - nil ) - (!pair "global_dtor_p" - (!type already_seen 2) - (!srcfileloc "cp/cp-tree.h" 2916) - nil ) - (!pair "static_function" - (!type already_seen 2) - (!srcfileloc "cp/cp-tree.h" 2918) - nil ) - (!pair "pure_virtual" - (!type already_seen 2) - (!srcfileloc "cp/cp-tree.h" 2919) - nil ) - (!pair "defaulted_p" - (!type already_seen 2) - (!srcfileloc "cp/cp-tree.h" 2920) - nil ) - (!pair "has_in_charge_parm_p" - (!type already_seen 2) - (!srcfileloc "cp/cp-tree.h" 2921) - nil ) - (!pair "has_vtt_parm_p" - (!type already_seen 2) - (!srcfileloc "cp/cp-tree.h" 2922) - nil ) - (!pair "pending_inline_p" - (!type already_seen 2) - (!srcfileloc "cp/cp-tree.h" 2923) - nil ) - (!pair "nonconverting" - (!type already_seen 2) - (!srcfileloc "cp/cp-tree.h" 2924) - nil ) - (!pair "thunk_p" - (!type already_seen 2) - (!srcfileloc "cp/cp-tree.h" 2925) - nil ) - (!pair "this_thunk_p" - (!type already_seen 2) - (!srcfileloc "cp/cp-tree.h" 2927) - nil ) - (!pair "omp_declare_reduction_p" - (!type already_seen 2) - (!srcfileloc "cp/cp-tree.h" 2928) - nil ) - (!pair "has_dependent_explicit_spec_p" - (!type already_seen 2) - (!srcfileloc "cp/cp-tree.h" 2929) - nil ) - (!pair "immediate_fn_p" - (!type already_seen 2) - (!srcfileloc "cp/cp-tree.h" 2930) - nil ) - (!pair "maybe_deleted" - (!type already_seen 2) - (!srcfileloc "cp/cp-tree.h" 2931) - nil ) - (!pair "coroutine_p" - (!type already_seen 2) - (!srcfileloc "cp/cp-tree.h" 2932) - nil ) - (!pair "implicit_constexpr" - (!type already_seen 2) - (!srcfileloc "cp/cp-tree.h" 2933) - nil ) - (!pair "spare" - (!type already_seen 2) - (!srcfileloc "cp/cp-tree.h" 2935) - nil ) - (!pair "befriending_classes" - (!type already_seen 23) - (!srcfileloc "cp/cp-tree.h" 2942) - nil ) - (!pair "context" - (!type already_seen 23) - (!srcfileloc "cp/cp-tree.h" 2952) - nil ) - (!pair "u5" - (!type union 69 nil gc_used "lang_decl_u5" - (!srcfileloc "cp/cp-tree.h" 2962) - (!fields 2 - (!pair "cloned_function" - (!type already_seen 23) - (!srcfileloc "cp/cp-tree.h" 2957) - (!options - (!option tag string "0") - ) - ) - (!pair "fixed_offset" - (!type already_seen 2) - (!srcfileloc "cp/cp-tree.h" 2961) - (!options - (!option tag string "1") - ) - ) - ) - nil 1028 nil ) - (!srcfileloc "cp/cp-tree.h" 2962) - (!options - (!option desc string "%1.thunk_p") - ) - ) - (!pair "u" - (!type union 70 nil gc_used "lang_decl_u3" - (!srcfileloc "cp/cp-tree.h" 2968) - (!fields 2 - (!pair "pending_inline_info" - (!type pointer 71 nil gc_used - (!type struct 72 - (!type already_seen 71) - gc_pointed_to "cp_token_cache" - (!srcfileloc "cp/parser.h" 141) - (!fields 2 - (!pair "first" - (!type pointer 73 nil gc_unused - (!type struct 74 - (!type already_seen 73) - gc_used "cp_token" - (!srcfileloc "cp/parser.h" 87) - (!fields 10 - (!pair "type" - (!type already_seen 2) - (!srcfileloc "cp/parser.h" 44) - nil ) - (!pair "keyword" - (!type already_seen 2) - (!srcfileloc "cp/parser.h" 47) - nil ) - (!pair "flags" - (!type already_seen 8) - (!srcfileloc "cp/parser.h" 49) - nil ) - (!pair "implicit_extern_c" - (!type already_seen 2) - (!srcfileloc "cp/parser.h" 51) - nil ) - (!pair "error_reported" - (!type already_seen 2) - (!srcfileloc "cp/parser.h" 55) - nil ) - (!pair "purged_p" - (!type already_seen 2) - (!srcfileloc "cp/parser.h" 59) - nil ) - (!pair "tree_check_p" - (!type already_seen 2) - (!srcfileloc "cp/parser.h" 60) - nil ) - (!pair "main_source_p" - (!type already_seen 2) - (!srcfileloc "cp/parser.h" 61) - nil ) - (!pair "location" - (!type already_seen 2) - (!srcfileloc "cp/parser.h" 65) - nil ) - (!pair "u" - (!type union 75 nil gc_used "cp_token_value" - (!srcfileloc "cp/parser.h" 72) - (!fields 2 - (!pair "tree_check_value" - (!type pointer 76 nil gc_used - (!type struct 77 - (!type already_seen 76) - gc_pointed_to "tree_check" - (!srcfileloc "cp/parser.h" 38) - (!fields 3 - (!pair "value" - (!type already_seen 23) - (!srcfileloc "cp/parser.h" 32) - nil ) - (!pair "checks" - (!type pointer 78 nil gc_used - (!type user_struct 79 - (!type already_seen 78) - gc_pointed_to "vec" - (!srcfileloc "cp/cp-tree.h" 1564) - (!fields 2 - (!pair "va_gc" - (!type undefined 80 nil gc_unused "va_gc" - (!srcfileloc "rtl.h" 267) - ) - (!srcfileloc "cp/cp-tree.h" 1564) - nil ) - (!pair "deferred_access_check" - (!type struct 81 nil gc_used "deferred_access_check" - (!srcfileloc "cp/cp-tree.h" 1564) - (!fields 4 - (!pair "binfo" - (!type already_seen 23) - (!srcfileloc "cp/cp-tree.h" 1551) - nil ) - (!pair "decl" - (!type already_seen 23) - (!srcfileloc "cp/cp-tree.h" 1553) - nil ) - (!pair "diag_decl" - (!type already_seen 23) - (!srcfileloc "cp/cp-tree.h" 1555) - nil ) - (!pair "loc" - (!type already_seen 2) - (!srcfileloc "cp/cp-tree.h" 1557) - nil ) - ) - nil 1028 nil nil ) - (!srcfileloc "cp/cp-tree.h" 1564) - nil ) - ) - ) - ) - (!srcfileloc "cp/parser.h" 34) - nil ) - (!pair "qualifying_scope" - (!type already_seen 23) - (!srcfileloc "cp/parser.h" 37) - nil ) - ) - nil 1028 nil nil ) - ) - (!srcfileloc "cp/parser.h" 69) - (!options - (!option tag string "true") - ) - ) - (!pair "value" - (!type already_seen 23) - (!srcfileloc "cp/parser.h" 71) - (!options - (!option tag string "false") - ) - ) - ) - nil 1028 nil ) - (!srcfileloc "cp/parser.h" 72) - (!options - (!option desc string "%1.tree_check_p") - ) - ) - ) - nil 1028 nil nil ) - ) - (!srcfileloc "cp/parser.h" 135) - (!options - (!option skip string "") - ) - ) - (!pair "last" - (!type already_seen 73) - (!srcfileloc "cp/parser.h" 138) - (!options - (!option skip string "") - ) - ) - ) - nil 1028 nil nil ) - ) - (!srcfileloc "cp/cp-tree.h" 2966) - (!options - (!option tag string "1") - ) - ) - (!pair "saved_auto_return_type" - (!type already_seen 23) - (!srcfileloc "cp/cp-tree.h" 2967) - (!options - (!option tag string "0") - ) - ) - ) - nil 1028 nil ) - (!srcfileloc "cp/cp-tree.h" 2968) - (!options - (!option desc string "%1.pending_inline_p") - ) - ) - ) - nil 1028 nil nil ) - (!srcfileloc "cp/cp-tree.h" 3013) - (!options - (!option tag string "lds_fn") - ) - ) - (!pair "ns" - (!type struct 82 nil gc_used "lang_decl_ns" - (!srcfileloc "cp/cp-tree.h" 2985) - (!fields 4 - (!pair "base" - (!type already_seen 66) - (!srcfileloc "cp/cp-tree.h" 2975) - nil ) - (!pair "level" - (!type pointer 83 nil gc_used - (!type struct 84 - (!type already_seen 83) - gc_pointed_to "cp_binding_level" - (!srcfileloc "cp/name-lookup.h" 314) - (!fields 16 - (!pair "names" - (!type already_seen 23) - (!srcfileloc "cp/name-lookup.h" 251) - nil ) - (!pair "using_directives" - (!type pointer 85 nil gc_used - (!type user_struct 86 - (!type already_seen 85) - gc_pointed_to "vec" - (!srcfileloc "tree-core.h" 1670) - (!fields 2 - (!pair "va_gc" - (!type already_seen 80) - (!srcfileloc "tree-core.h" 1670) - nil ) - (!pair "tree" - (!type already_seen 23) - (!srcfileloc "tree-core.h" 1670) - nil ) - ) - ) - ) - (!srcfileloc "cp/name-lookup.h" 254) - nil ) - (!pair "class_shadowed" - (!type pointer 87 nil gc_used - (!type user_struct 88 - (!type already_seen 87) - gc_pointed_to "vec" - (!srcfileloc "cp/name-lookup.h" 258) - (!fields 2 - (!pair "va_gc" - (!type already_seen 80) - (!srcfileloc "cp/name-lookup.h" 258) - nil ) - (!pair "cp_class_binding" - (!type struct 89 nil gc_used "cp_class_binding" - (!srcfileloc "cp/name-lookup.h" 258) - (!fields 2 - (!pair "base" - (!type pointer 90 nil gc_used - (!type struct 91 - (!type already_seen 90) - gc_pointed_to "cxx_binding" - (!srcfileloc "cp/name-lookup.h" 59) - (!fields 7 - (!pair "previous" - (!type already_seen 90) - (!srcfileloc "cp/name-lookup.h" 48) - nil ) - (!pair "value" - (!type already_seen 23) - (!srcfileloc "cp/name-lookup.h" 50) - nil ) - (!pair "type" - (!type already_seen 23) - (!srcfileloc "cp/name-lookup.h" 52) - nil ) - (!pair "scope" - (!type already_seen 83) - (!srcfileloc "cp/name-lookup.h" 54) - nil ) - (!pair "value_is_inherited" - (!type already_seen 2) - (!srcfileloc "cp/name-lookup.h" 56) - nil ) - (!pair "is_local" - (!type already_seen 2) - (!srcfileloc "cp/name-lookup.h" 57) - nil ) - (!pair "type_is_hidden" - (!type already_seen 2) - (!srcfileloc "cp/name-lookup.h" 58) - nil ) - ) - nil 1028 nil nil ) - ) - (!srcfileloc "cp/name-lookup.h" 220) - nil ) - (!pair "identifier" - (!type already_seen 23) - (!srcfileloc "cp/name-lookup.h" 222) - nil ) - ) - nil 1028 nil nil ) - (!srcfileloc "cp/name-lookup.h" 258) - nil ) - ) - ) - ) - (!srcfileloc "cp/name-lookup.h" 258) - nil ) - (!pair "type_shadowed" - (!type already_seen 23) - (!srcfileloc "cp/name-lookup.h" 265) - nil ) - (!pair "blocks" - (!type already_seen 23) - (!srcfileloc "cp/name-lookup.h" 270) - nil ) - (!pair "this_entity" - (!type already_seen 23) - (!srcfileloc "cp/name-lookup.h" 274) - nil ) - (!pair "level_chain" - (!type already_seen 83) - (!srcfileloc "cp/name-lookup.h" 277) - nil ) - (!pair "statement_list" - (!type already_seen 23) - (!srcfileloc "cp/name-lookup.h" 281) - nil ) - (!pair "binding_depth" - (!type already_seen 2) - (!srcfileloc "cp/name-lookup.h" 284) - nil ) - (!pair "kind" - (!type already_seen 2) - (!srcfileloc "cp/name-lookup.h" 289) - nil ) - (!pair "explicit_spec_p" - (!type already_seen 2) - (!srcfileloc "cp/name-lookup.h" 293) - nil ) - (!pair "keep" - (!type already_seen 2) - (!srcfileloc "cp/name-lookup.h" 296) - nil ) - (!pair "more_cleanups_ok" - (!type already_seen 2) - (!srcfileloc "cp/name-lookup.h" 300) - nil ) - (!pair "have_cleanups" - (!type already_seen 2) - (!srcfileloc "cp/name-lookup.h" 301) - nil ) - (!pair "defining_class_p" - (!type already_seen 2) - (!srcfileloc "cp/name-lookup.h" 308) - nil ) - (!pair "requires_expression" - (!type already_seen 2) - (!srcfileloc "cp/name-lookup.h" 311) - nil ) - ) - nil 1028 nil nil ) - ) - (!srcfileloc "cp/cp-tree.h" 2976) - nil ) - (!pair "inlinees" - (!type already_seen 85) - (!srcfileloc "cp/cp-tree.h" 2979) - nil ) - (!pair "bindings" - (!type pointer 92 nil gc_used - (!type user_struct 93 - (!type already_seen 92) - gc_pointed_to "hash_table" - (!srcfileloc "cp/cp-tree.h" 2984) - (!fields 1 - (!pair "named_decl_hash" - (!type struct 94 nil gc_used "named_decl_hash" - (!srcfileloc "cp/cp-tree.h" 2984) - (!fields 0 ) - nil 1028 nil nil ) - (!srcfileloc "cp/cp-tree.h" 2984) - nil ) - ) - ) - ) - (!srcfileloc "cp/cp-tree.h" 2984) - nil ) - ) - nil 1028 nil nil ) - (!srcfileloc "cp/cp-tree.h" 3014) - (!options - (!option tag string "lds_ns") - ) - ) - (!pair "parm" - (!type struct 95 nil gc_used "lang_decl_parm" - (!srcfileloc "cp/cp-tree.h" 2993) - (!fields 3 - (!pair "base" - (!type already_seen 66) - (!srcfileloc "cp/cp-tree.h" 2990) - nil ) - (!pair "level" - (!type already_seen 2) - (!srcfileloc "cp/cp-tree.h" 2991) - nil ) - (!pair "index" - (!type already_seen 2) - (!srcfileloc "cp/cp-tree.h" 2992) - nil ) - ) - nil 1028 nil nil ) - (!srcfileloc "cp/cp-tree.h" 3015) - (!options - (!option tag string "lds_parm") - ) - ) - (!pair "decomp" - (!type struct 96 nil gc_used "lang_decl_decomp" - (!srcfileloc "cp/cp-tree.h" 3002) - (!fields 2 - (!pair "min" - (!type already_seen 67) - (!srcfileloc "cp/cp-tree.h" 2998) - nil ) - (!pair "base" - (!type already_seen 23) - (!srcfileloc "cp/cp-tree.h" 3001) - nil ) - ) - nil 1028 nil nil ) - (!srcfileloc "cp/cp-tree.h" 3016) - (!options - (!option tag string "lds_decomp") - ) - ) - ) - (!options - (!option desc string "%h.base.selector") - ) - 1028 nil ) - (!srcfileloc "cp/cp-tree.h" 3017) - nil ) - ) - nil 1028 - (!type already_seen 54) - nil ) - - (!type struct 97 nil gc_pointed_to "lang_decl" - (!srcfileloc "c/c-lang.h" 46) - (!fields 1 - (!pair "dummy" - (!type already_seen 8) - (!srcfileloc "c/c-lang.h" 45) - nil ) - ) - nil 514 - (!type already_seen 54) - nil ) - - (!type struct 98 nil gc_pointed_to "lang_decl" - (!srcfileloc "ada/gcc-interface/ada-tree.h" 37) - (!fields 1 - (!pair "t" - (!type already_seen 23) - (!srcfileloc "ada/gcc-interface/ada-tree.h" 37) - nil ) - ) - nil 1 - (!type already_seen 54) - nil ) - ) - ) - ) - (!srcfileloc "tree-core.h" 1848) - nil ) - ) - nil 4095 nil nil ) - (!srcfileloc "tree-core.h" 2076) - (!options - (!option tag string "TS_DECL_COMMON") - ) - ) - (!pair "decl_with_rtl" - (!type struct 99 nil gc_used "tree_decl_with_rtl" - (!srcfileloc "tree-core.h" 1854) - (!fields 2 - (!pair "common" - (!type already_seen 52) - (!srcfileloc "tree-core.h" 1852) - nil ) - (!pair "rtl" - (!type pointer 100 - (!type pointer 101 nil gc_used - (!type already_seen 100) - ) - gc_pointed_to - (!type struct 102 - (!type already_seen 100) - gc_pointed_to "rtx_def" - (!srcfileloc "rtl.h" 453) - (!fields 12 - (!pair "code" - (!type already_seen 2) - (!srcfileloc "rtl.h" 313) - nil ) - (!pair "mode" - (!type already_seen 2) - (!srcfileloc "rtl.h" 316) - nil ) - (!pair "jump" - (!type already_seen 2) - (!srcfileloc "rtl.h" 329) - nil ) - (!pair "call" - (!type already_seen 2) - (!srcfileloc "rtl.h" 336) - nil ) - (!pair "unchanging" - (!type already_seen 2) - (!srcfileloc "rtl.h" 348) - nil ) - (!pair "volatil" - (!type already_seen 2) - (!srcfileloc "rtl.h" 362) - nil ) - (!pair "in_struct" - (!type already_seen 2) - (!srcfileloc "rtl.h" 377) - nil ) - (!pair "used" - (!type already_seen 2) - (!srcfileloc "rtl.h" 386) - nil ) - (!pair "frame_related" - (!type already_seen 2) - (!srcfileloc "rtl.h" 395) - nil ) - (!pair "return_val" - (!type already_seen 2) - (!srcfileloc "rtl.h" 402) - nil ) - (!pair "u2" - (!type union 103 nil gc_unused "anonymous:../../gcc/gcc/rtl.h:404" - (!srcfileloc "rtl.h" 438) - (!fields 6 - (!pair "original_regno" - (!type already_seen 2) - (!srcfileloc "rtl.h" 411) - nil ) - (!pair "insn_uid" - (!type already_seen 2) - (!srcfileloc "rtl.h" 414) - nil ) - (!pair "symbol_ref_flags" - (!type already_seen 2) - (!srcfileloc "rtl.h" 417) - nil ) - (!pair "var_location_status" - (!type already_seen 2) - (!srcfileloc "rtl.h" 420) - nil ) - (!pair "num_elem" - (!type already_seen 2) - (!srcfileloc "rtl.h" 424) - nil ) - (!pair "const_vector" - (!type struct 104 nil gc_unused "anonymous:../../gcc/gcc/rtl.h:428" - (!srcfileloc "rtl.h" 437) - (!fields 3 - (!pair "npatterns" - (!type already_seen 2) - (!srcfileloc "rtl.h" 430) - nil ) - (!pair "nelts_per_pattern" - (!type already_seen 2) - (!srcfileloc "rtl.h" 433) - nil ) - (!pair "unused" - (!type already_seen 2) - (!srcfileloc "rtl.h" 436) - nil ) - ) - nil 4095 nil nil ) - (!srcfileloc "rtl.h" 437) - nil ) - ) - nil 4095 nil ) - (!srcfileloc "rtl.h" 438) - (!options - (!option skip string "") - ) - ) - (!pair "u" - (!type union 105 nil gc_used "rtx_def_subunion" - (!srcfileloc "rtl.h" 452) - (!fields 152 - (!pair "" - (!type struct 106 nil gc_used "rtx_def_debug_marker" - (!srcfileloc "rtl.h" 452) - (!fields 0 ) - nil 4095 nil nil ) - (!srcfileloc "gengtype.cc" 1379) - (!options - (!option tag string "DEBUG_MARKER") - (!option dot string "") - ) - ) - (!pair "" - (!type struct 107 nil gc_used "rtx_def_debug_parameter_ref" - (!srcfileloc "rtl.h" 452) - (!fields 1 - (!pair ".fld[0].rt_tree" - (!type already_seen 23) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - ) - nil 4095 nil nil ) - (!srcfileloc "gengtype.cc" 1379) - (!options - (!option tag string "DEBUG_PARAMETER_REF") - (!option dot string "") - ) - ) - (!pair "" - (!type struct 108 nil gc_used "rtx_def_entry_value" - (!srcfileloc "rtl.h" 452) - (!fields 1 - (!pair ".fld[0].rt_rtx" - (!type already_seen 100) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - ) - nil 4095 nil nil ) - (!srcfileloc "gengtype.cc" 1379) - (!options - (!option tag string "ENTRY_VALUE") - (!option dot string "") - ) - ) - (!pair "" - (!type struct 109 nil gc_used "rtx_def_debug_implicit_ptr" - (!srcfileloc "rtl.h" 452) - (!fields 1 - (!pair ".fld[0].rt_tree" - (!type already_seen 23) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - ) - nil 4095 nil nil ) - (!srcfileloc "gengtype.cc" 1379) - (!options - (!option tag string "DEBUG_IMPLICIT_PTR") - (!option dot string "") - ) - ) - (!pair "" - (!type struct 110 nil gc_used "rtx_def_var_location" - (!srcfileloc "rtl.h" 452) - (!fields 2 - (!pair ".fld[1].rt_rtx" - (!type already_seen 100) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - (!pair ".fld[0].rt_tree" - (!type already_seen 23) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - ) - nil 4095 nil nil ) - (!srcfileloc "gengtype.cc" 1379) - (!options - (!option tag string "VAR_LOCATION") - (!option dot string "") - ) - ) - (!pair "" - (!type struct 111 nil gc_used "rtx_def_fma" - (!srcfileloc "rtl.h" 452) - (!fields 3 - (!pair ".fld[2].rt_rtx" - (!type already_seen 100) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - (!pair ".fld[1].rt_rtx" - (!type already_seen 100) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - (!pair ".fld[0].rt_rtx" - (!type already_seen 100) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - ) - nil 4095 nil nil ) - (!srcfileloc "gengtype.cc" 1379) - (!options - (!option tag string "FMA") - (!option dot string "") - ) - ) - (!pair "" - (!type struct 112 nil gc_used "rtx_def_us_truncate" - (!srcfileloc "rtl.h" 452) - (!fields 1 - (!pair ".fld[0].rt_rtx" - (!type already_seen 100) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - ) - nil 4095 nil nil ) - (!srcfileloc "gengtype.cc" 1379) - (!options - (!option tag string "US_TRUNCATE") - (!option dot string "") - ) - ) - (!pair "" - (!type struct 113 nil gc_used "rtx_def_ss_truncate" - (!srcfileloc "rtl.h" 452) - (!fields 1 - (!pair ".fld[0].rt_rtx" - (!type already_seen 100) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - ) - nil 4095 nil nil ) - (!srcfileloc "gengtype.cc" 1379) - (!options - (!option tag string "SS_TRUNCATE") - (!option dot string "") - ) - ) - (!pair "" - (!type struct 114 nil gc_used "rtx_def_us_minus" - (!srcfileloc "rtl.h" 452) - (!fields 2 - (!pair ".fld[1].rt_rtx" - (!type already_seen 100) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - (!pair ".fld[0].rt_rtx" - (!type already_seen 100) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - ) - nil 4095 nil nil ) - (!srcfileloc "gengtype.cc" 1379) - (!options - (!option tag string "US_MINUS") - (!option dot string "") - ) - ) - (!pair "" - (!type struct 115 nil gc_used "rtx_def_us_ashift" - (!srcfileloc "rtl.h" 452) - (!fields 2 - (!pair ".fld[1].rt_rtx" - (!type already_seen 100) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - (!pair ".fld[0].rt_rtx" - (!type already_seen 100) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - ) - nil 4095 nil nil ) - (!srcfileloc "gengtype.cc" 1379) - (!options - (!option tag string "US_ASHIFT") - (!option dot string "") - ) - ) - (!pair "" - (!type struct 116 nil gc_used "rtx_def_ss_ashift" - (!srcfileloc "rtl.h" 452) - (!fields 2 - (!pair ".fld[1].rt_rtx" - (!type already_seen 100) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - (!pair ".fld[0].rt_rtx" - (!type already_seen 100) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - ) - nil 4095 nil nil ) - (!srcfileloc "gengtype.cc" 1379) - (!options - (!option tag string "SS_ASHIFT") - (!option dot string "") - ) - ) - (!pair "" - (!type struct 117 nil gc_used "rtx_def_ss_abs" - (!srcfileloc "rtl.h" 452) - (!fields 1 - (!pair ".fld[0].rt_rtx" - (!type already_seen 100) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - ) - nil 4095 nil nil ) - (!srcfileloc "gengtype.cc" 1379) - (!options - (!option tag string "SS_ABS") - (!option dot string "") - ) - ) - (!pair "" - (!type struct 118 nil gc_used "rtx_def_us_neg" - (!srcfileloc "rtl.h" 452) - (!fields 1 - (!pair ".fld[0].rt_rtx" - (!type already_seen 100) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - ) - nil 4095 nil nil ) - (!srcfileloc "gengtype.cc" 1379) - (!options - (!option tag string "US_NEG") - (!option dot string "") - ) - ) - (!pair "" - (!type struct 119 nil gc_used "rtx_def_ss_neg" - (!srcfileloc "rtl.h" 452) - (!fields 1 - (!pair ".fld[0].rt_rtx" - (!type already_seen 100) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - ) - nil 4095 nil nil ) - (!srcfileloc "gengtype.cc" 1379) - (!options - (!option tag string "SS_NEG") - (!option dot string "") - ) - ) - (!pair "" - (!type struct 120 nil gc_used "rtx_def_ss_minus" - (!srcfileloc "rtl.h" 452) - (!fields 2 - (!pair ".fld[1].rt_rtx" - (!type already_seen 100) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - (!pair ".fld[0].rt_rtx" - (!type already_seen 100) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - ) - nil 4095 nil nil ) - (!srcfileloc "gengtype.cc" 1379) - (!options - (!option tag string "SS_MINUS") - (!option dot string "") - ) - ) - (!pair "" - (!type struct 121 nil gc_used "rtx_def_us_plus" - (!srcfileloc "rtl.h" 452) - (!fields 2 - (!pair ".fld[1].rt_rtx" - (!type already_seen 100) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - (!pair ".fld[0].rt_rtx" - (!type already_seen 100) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - ) - nil 4095 nil nil ) - (!srcfileloc "gengtype.cc" 1379) - (!options - (!option tag string "US_PLUS") - (!option dot string "") - ) - ) - (!pair "" - (!type struct 122 nil gc_used "rtx_def_ss_plus" - (!srcfileloc "rtl.h" 452) - (!fields 2 - (!pair ".fld[1].rt_rtx" - (!type already_seen 100) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - (!pair ".fld[0].rt_rtx" - (!type already_seen 100) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - ) - nil 4095 nil nil ) - (!srcfileloc "gengtype.cc" 1379) - (!options - (!option tag string "SS_PLUS") - (!option dot string "") - ) - ) - (!pair "" - (!type struct 123 nil gc_used "rtx_def_vec_series" - (!srcfileloc "rtl.h" 452) - (!fields 2 - (!pair ".fld[1].rt_rtx" - (!type already_seen 100) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - (!pair ".fld[0].rt_rtx" - (!type already_seen 100) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - ) - nil 4095 nil nil ) - (!srcfileloc "gengtype.cc" 1379) - (!options - (!option tag string "VEC_SERIES") - (!option dot string "") - ) - ) - (!pair "" - (!type struct 124 nil gc_used "rtx_def_vec_duplicate" - (!srcfileloc "rtl.h" 452) - (!fields 1 - (!pair ".fld[0].rt_rtx" - (!type already_seen 100) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - ) - nil 4095 nil nil ) - (!srcfileloc "gengtype.cc" 1379) - (!options - (!option tag string "VEC_DUPLICATE") - (!option dot string "") - ) - ) - (!pair "" - (!type struct 125 nil gc_used "rtx_def_vec_concat" - (!srcfileloc "rtl.h" 452) - (!fields 2 - (!pair ".fld[1].rt_rtx" - (!type already_seen 100) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - (!pair ".fld[0].rt_rtx" - (!type already_seen 100) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - ) - nil 4095 nil nil ) - (!srcfileloc "gengtype.cc" 1379) - (!options - (!option tag string "VEC_CONCAT") - (!option dot string "") - ) - ) - (!pair "" - (!type struct 126 nil gc_used "rtx_def_vec_select" - (!srcfileloc "rtl.h" 452) - (!fields 2 - (!pair ".fld[1].rt_rtx" - (!type already_seen 100) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - (!pair ".fld[0].rt_rtx" - (!type already_seen 100) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - ) - nil 4095 nil nil ) - (!srcfileloc "gengtype.cc" 1379) - (!options - (!option tag string "VEC_SELECT") - (!option dot string "") - ) - ) - (!pair "" - (!type struct 127 nil gc_used "rtx_def_vec_merge" - (!srcfileloc "rtl.h" 452) - (!fields 3 - (!pair ".fld[2].rt_rtx" - (!type already_seen 100) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - (!pair ".fld[1].rt_rtx" - (!type already_seen 100) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - (!pair ".fld[0].rt_rtx" - (!type already_seen 100) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - ) - nil 4095 nil nil ) - (!srcfileloc "gengtype.cc" 1379) - (!options - (!option tag string "VEC_MERGE") - (!option dot string "") - ) - ) - (!pair "" - (!type struct 128 nil gc_used "rtx_def_lo_sum" - (!srcfileloc "rtl.h" 452) - (!fields 2 - (!pair ".fld[1].rt_rtx" - (!type already_seen 100) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - (!pair ".fld[0].rt_rtx" - (!type already_seen 100) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - ) - nil 4095 nil nil ) - (!srcfileloc "gengtype.cc" 1379) - (!options - (!option tag string "LO_SUM") - (!option dot string "") - ) - ) - (!pair "" - (!type struct 129 nil gc_used "rtx_def_high" - (!srcfileloc "rtl.h" 452) - (!fields 1 - (!pair ".fld[0].rt_rtx" - (!type already_seen 100) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - ) - nil 4095 nil nil ) - (!srcfileloc "gengtype.cc" 1379) - (!options - (!option tag string "HIGH") - (!option dot string "") - ) - ) - (!pair "" - (!type struct 130 nil gc_used "rtx_def_zero_extract" - (!srcfileloc "rtl.h" 452) - (!fields 3 - (!pair ".fld[2].rt_rtx" - (!type already_seen 100) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - (!pair ".fld[1].rt_rtx" - (!type already_seen 100) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - (!pair ".fld[0].rt_rtx" - (!type already_seen 100) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - ) - nil 4095 nil nil ) - (!srcfileloc "gengtype.cc" 1379) - (!options - (!option tag string "ZERO_EXTRACT") - (!option dot string "") - ) - ) - (!pair "" - (!type struct 131 nil gc_used "rtx_def_sign_extract" - (!srcfileloc "rtl.h" 452) - (!fields 3 - (!pair ".fld[2].rt_rtx" - (!type already_seen 100) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - (!pair ".fld[1].rt_rtx" - (!type already_seen 100) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - (!pair ".fld[0].rt_rtx" - (!type already_seen 100) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - ) - nil 4095 nil nil ) - (!srcfileloc "gengtype.cc" 1379) - (!options - (!option tag string "SIGN_EXTRACT") - (!option dot string "") - ) - ) - (!pair "" - (!type struct 132 nil gc_used "rtx_def_parity" - (!srcfileloc "rtl.h" 452) - (!fields 1 - (!pair ".fld[0].rt_rtx" - (!type already_seen 100) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - ) - nil 4095 nil nil ) - (!srcfileloc "gengtype.cc" 1379) - (!options - (!option tag string "PARITY") - (!option dot string "") - ) - ) - (!pair "" - (!type struct 133 nil gc_used "rtx_def_popcount" - (!srcfileloc "rtl.h" 452) - (!fields 1 - (!pair ".fld[0].rt_rtx" - (!type already_seen 100) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - ) - nil 4095 nil nil ) - (!srcfileloc "gengtype.cc" 1379) - (!options - (!option tag string "POPCOUNT") - (!option dot string "") - ) - ) - (!pair "" - (!type struct 134 nil gc_used "rtx_def_ctz" - (!srcfileloc "rtl.h" 452) - (!fields 1 - (!pair ".fld[0].rt_rtx" - (!type already_seen 100) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - ) - nil 4095 nil nil ) - (!srcfileloc "gengtype.cc" 1379) - (!options - (!option tag string "CTZ") - (!option dot string "") - ) - ) - (!pair "" - (!type struct 135 nil gc_used "rtx_def_clz" - (!srcfileloc "rtl.h" 452) - (!fields 1 - (!pair ".fld[0].rt_rtx" - (!type already_seen 100) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - ) - nil 4095 nil nil ) - (!srcfileloc "gengtype.cc" 1379) - (!options - (!option tag string "CLZ") - (!option dot string "") - ) - ) - (!pair "" - (!type struct 136 nil gc_used "rtx_def_clrsb" - (!srcfileloc "rtl.h" 452) - (!fields 1 - (!pair ".fld[0].rt_rtx" - (!type already_seen 100) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - ) - nil 4095 nil nil ) - (!srcfileloc "gengtype.cc" 1379) - (!options - (!option tag string "CLRSB") - (!option dot string "") - ) - ) - (!pair "" - (!type struct 137 nil gc_used "rtx_def_ffs" - (!srcfileloc "rtl.h" 452) - (!fields 1 - (!pair ".fld[0].rt_rtx" - (!type already_seen 100) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - ) - nil 4095 nil nil ) - (!srcfileloc "gengtype.cc" 1379) - (!options - (!option tag string "FFS") - (!option dot string "") - ) - ) - (!pair "" - (!type struct 138 nil gc_used "rtx_def_bswap" - (!srcfileloc "rtl.h" 452) - (!fields 1 - (!pair ".fld[0].rt_rtx" - (!type already_seen 100) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - ) - nil 4095 nil nil ) - (!srcfileloc "gengtype.cc" 1379) - (!options - (!option tag string "BSWAP") - (!option dot string "") - ) - ) - (!pair "" - (!type struct 139 nil gc_used "rtx_def_sqrt" - (!srcfileloc "rtl.h" 452) - (!fields 1 - (!pair ".fld[0].rt_rtx" - (!type already_seen 100) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - ) - nil 4095 nil nil ) - (!srcfileloc "gengtype.cc" 1379) - (!options - (!option tag string "SQRT") - (!option dot string "") - ) - ) - (!pair "" - (!type struct 140 nil gc_used "rtx_def_abs" - (!srcfileloc "rtl.h" 452) - (!fields 1 - (!pair ".fld[0].rt_rtx" - (!type already_seen 100) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - ) - nil 4095 nil nil ) - (!srcfileloc "gengtype.cc" 1379) - (!options - (!option tag string "ABS") - (!option dot string "") - ) - ) - (!pair "" - (!type struct 141 nil gc_used "rtx_def_unsigned_sat_fract" - (!srcfileloc "rtl.h" 452) - (!fields 1 - (!pair ".fld[0].rt_rtx" - (!type already_seen 100) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - ) - nil 4095 nil nil ) - (!srcfileloc "gengtype.cc" 1379) - (!options - (!option tag string "UNSIGNED_SAT_FRACT") - (!option dot string "") - ) - ) - (!pair "" - (!type struct 142 nil gc_used "rtx_def_sat_fract" - (!srcfileloc "rtl.h" 452) - (!fields 1 - (!pair ".fld[0].rt_rtx" - (!type already_seen 100) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - ) - nil 4095 nil nil ) - (!srcfileloc "gengtype.cc" 1379) - (!options - (!option tag string "SAT_FRACT") - (!option dot string "") - ) - ) - (!pair "" - (!type struct 143 nil gc_used "rtx_def_unsigned_fract_convert" - (!srcfileloc "rtl.h" 452) - (!fields 1 - (!pair ".fld[0].rt_rtx" - (!type already_seen 100) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - ) - nil 4095 nil nil ) - (!srcfileloc "gengtype.cc" 1379) - (!options - (!option tag string "UNSIGNED_FRACT_CONVERT") - (!option dot string "") - ) - ) - (!pair "" - (!type struct 144 nil gc_used "rtx_def_fract_convert" - (!srcfileloc "rtl.h" 452) - (!fields 1 - (!pair ".fld[0].rt_rtx" - (!type already_seen 100) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - ) - nil 4095 nil nil ) - (!srcfileloc "gengtype.cc" 1379) - (!options - (!option tag string "FRACT_CONVERT") - (!option dot string "") - ) - ) - (!pair "" - (!type struct 145 nil gc_used "rtx_def_unsigned_fix" - (!srcfileloc "rtl.h" 452) - (!fields 1 - (!pair ".fld[0].rt_rtx" - (!type already_seen 100) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - ) - nil 4095 nil nil ) - (!srcfileloc "gengtype.cc" 1379) - (!options - (!option tag string "UNSIGNED_FIX") - (!option dot string "") - ) - ) - (!pair "" - (!type struct 146 nil gc_used "rtx_def_unsigned_float" - (!srcfileloc "rtl.h" 452) - (!fields 1 - (!pair ".fld[0].rt_rtx" - (!type already_seen 100) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - ) - nil 4095 nil nil ) - (!srcfileloc "gengtype.cc" 1379) - (!options - (!option tag string "UNSIGNED_FLOAT") - (!option dot string "") - ) - ) - (!pair "" - (!type struct 147 nil gc_used "rtx_def_fix" - (!srcfileloc "rtl.h" 452) - (!fields 1 - (!pair ".fld[0].rt_rtx" - (!type already_seen 100) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - ) - nil 4095 nil nil ) - (!srcfileloc "gengtype.cc" 1379) - (!options - (!option tag string "FIX") - (!option dot string "") - ) - ) - (!pair "" - (!type struct 148 nil gc_used "rtx_def_float" - (!srcfileloc "rtl.h" 452) - (!fields 1 - (!pair ".fld[0].rt_rtx" - (!type already_seen 100) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - ) - nil 4095 nil nil ) - (!srcfileloc "gengtype.cc" 1379) - (!options - (!option tag string "FLOAT") - (!option dot string "") - ) - ) - (!pair "" - (!type struct 149 nil gc_used "rtx_def_float_truncate" - (!srcfileloc "rtl.h" 452) - (!fields 1 - (!pair ".fld[0].rt_rtx" - (!type already_seen 100) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - ) - nil 4095 nil nil ) - (!srcfileloc "gengtype.cc" 1379) - (!options - (!option tag string "FLOAT_TRUNCATE") - (!option dot string "") - ) - ) - (!pair "" - (!type struct 150 nil gc_used "rtx_def_float_extend" - (!srcfileloc "rtl.h" 452) - (!fields 1 - (!pair ".fld[0].rt_rtx" - (!type already_seen 100) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - ) - nil 4095 nil nil ) - (!srcfileloc "gengtype.cc" 1379) - (!options - (!option tag string "FLOAT_EXTEND") - (!option dot string "") - ) - ) - (!pair "" - (!type struct 151 nil gc_used "rtx_def_truncate" - (!srcfileloc "rtl.h" 452) - (!fields 1 - (!pair ".fld[0].rt_rtx" - (!type already_seen 100) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - ) - nil 4095 nil nil ) - (!srcfileloc "gengtype.cc" 1379) - (!options - (!option tag string "TRUNCATE") - (!option dot string "") - ) - ) - (!pair "" - (!type struct 152 nil gc_used "rtx_def_zero_extend" - (!srcfileloc "rtl.h" 452) - (!fields 1 - (!pair ".fld[0].rt_rtx" - (!type already_seen 100) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - ) - nil 4095 nil nil ) - (!srcfileloc "gengtype.cc" 1379) - (!options - (!option tag string "ZERO_EXTEND") - (!option dot string "") - ) - ) - (!pair "" - (!type struct 153 nil gc_used "rtx_def_sign_extend" - (!srcfileloc "rtl.h" 452) - (!fields 1 - (!pair ".fld[0].rt_rtx" - (!type already_seen 100) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - ) - nil 4095 nil nil ) - (!srcfileloc "gengtype.cc" 1379) - (!options - (!option tag string "SIGN_EXTEND") - (!option dot string "") - ) - ) - (!pair "" - (!type struct 154 nil gc_used "rtx_def_unlt" - (!srcfileloc "rtl.h" 452) - (!fields 2 - (!pair ".fld[1].rt_rtx" - (!type already_seen 100) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - (!pair ".fld[0].rt_rtx" - (!type already_seen 100) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - ) - nil 4095 nil nil ) - (!srcfileloc "gengtype.cc" 1379) - (!options - (!option tag string "UNLT") - (!option dot string "") - ) - ) - (!pair "" - (!type struct 155 nil gc_used "rtx_def_unle" - (!srcfileloc "rtl.h" 452) - (!fields 2 - (!pair ".fld[1].rt_rtx" - (!type already_seen 100) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - (!pair ".fld[0].rt_rtx" - (!type already_seen 100) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - ) - nil 4095 nil nil ) - (!srcfileloc "gengtype.cc" 1379) - (!options - (!option tag string "UNLE") - (!option dot string "") - ) - ) - (!pair "" - (!type struct 156 nil gc_used "rtx_def_ungt" - (!srcfileloc "rtl.h" 452) - (!fields 2 - (!pair ".fld[1].rt_rtx" - (!type already_seen 100) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - (!pair ".fld[0].rt_rtx" - (!type already_seen 100) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - ) - nil 4095 nil nil ) - (!srcfileloc "gengtype.cc" 1379) - (!options - (!option tag string "UNGT") - (!option dot string "") - ) - ) - (!pair "" - (!type struct 157 nil gc_used "rtx_def_unge" - (!srcfileloc "rtl.h" 452) - (!fields 2 - (!pair ".fld[1].rt_rtx" - (!type already_seen 100) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - (!pair ".fld[0].rt_rtx" - (!type already_seen 100) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - ) - nil 4095 nil nil ) - (!srcfileloc "gengtype.cc" 1379) - (!options - (!option tag string "UNGE") - (!option dot string "") - ) - ) - (!pair "" - (!type struct 158 nil gc_used "rtx_def_uneq" - (!srcfileloc "rtl.h" 452) - (!fields 2 - (!pair ".fld[1].rt_rtx" - (!type already_seen 100) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - (!pair ".fld[0].rt_rtx" - (!type already_seen 100) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - ) - nil 4095 nil nil ) - (!srcfileloc "gengtype.cc" 1379) - (!options - (!option tag string "UNEQ") - (!option dot string "") - ) - ) - (!pair "" - (!type struct 159 nil gc_used "rtx_def_ordered" - (!srcfileloc "rtl.h" 452) - (!fields 2 - (!pair ".fld[1].rt_rtx" - (!type already_seen 100) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - (!pair ".fld[0].rt_rtx" - (!type already_seen 100) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - ) - nil 4095 nil nil ) - (!srcfileloc "gengtype.cc" 1379) - (!options - (!option tag string "ORDERED") - (!option dot string "") - ) - ) - (!pair "" - (!type struct 160 nil gc_used "rtx_def_unordered" - (!srcfileloc "rtl.h" 452) - (!fields 2 - (!pair ".fld[1].rt_rtx" - (!type already_seen 100) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - (!pair ".fld[0].rt_rtx" - (!type already_seen 100) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - ) - nil 4095 nil nil ) - (!srcfileloc "gengtype.cc" 1379) - (!options - (!option tag string "UNORDERED") - (!option dot string "") - ) - ) - (!pair "" - (!type struct 161 nil gc_used "rtx_def_ltu" - (!srcfileloc "rtl.h" 452) - (!fields 2 - (!pair ".fld[1].rt_rtx" - (!type already_seen 100) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - (!pair ".fld[0].rt_rtx" - (!type already_seen 100) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - ) - nil 4095 nil nil ) - (!srcfileloc "gengtype.cc" 1379) - (!options - (!option tag string "LTU") - (!option dot string "") - ) - ) - (!pair "" - (!type struct 162 nil gc_used "rtx_def_leu" - (!srcfileloc "rtl.h" 452) - (!fields 2 - (!pair ".fld[1].rt_rtx" - (!type already_seen 100) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - (!pair ".fld[0].rt_rtx" - (!type already_seen 100) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - ) - nil 4095 nil nil ) - (!srcfileloc "gengtype.cc" 1379) - (!options - (!option tag string "LEU") - (!option dot string "") - ) - ) - (!pair "" - (!type struct 163 nil gc_used "rtx_def_gtu" - (!srcfileloc "rtl.h" 452) - (!fields 2 - (!pair ".fld[1].rt_rtx" - (!type already_seen 100) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - (!pair ".fld[0].rt_rtx" - (!type already_seen 100) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - ) - nil 4095 nil nil ) - (!srcfileloc "gengtype.cc" 1379) - (!options - (!option tag string "GTU") - (!option dot string "") - ) - ) - (!pair "" - (!type struct 164 nil gc_used "rtx_def_geu" - (!srcfileloc "rtl.h" 452) - (!fields 2 - (!pair ".fld[1].rt_rtx" - (!type already_seen 100) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - (!pair ".fld[0].rt_rtx" - (!type already_seen 100) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - ) - nil 4095 nil nil ) - (!srcfileloc "gengtype.cc" 1379) - (!options - (!option tag string "GEU") - (!option dot string "") - ) - ) - (!pair "" - (!type struct 165 nil gc_used "rtx_def_ltgt" - (!srcfileloc "rtl.h" 452) - (!fields 2 - (!pair ".fld[1].rt_rtx" - (!type already_seen 100) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - (!pair ".fld[0].rt_rtx" - (!type already_seen 100) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - ) - nil 4095 nil nil ) - (!srcfileloc "gengtype.cc" 1379) - (!options - (!option tag string "LTGT") - (!option dot string "") - ) - ) - (!pair "" - (!type struct 166 nil gc_used "rtx_def_lt" - (!srcfileloc "rtl.h" 452) - (!fields 2 - (!pair ".fld[1].rt_rtx" - (!type already_seen 100) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - (!pair ".fld[0].rt_rtx" - (!type already_seen 100) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - ) - nil 4095 nil nil ) - (!srcfileloc "gengtype.cc" 1379) - (!options - (!option tag string "LT") - (!option dot string "") - ) - ) - (!pair "" - (!type struct 167 nil gc_used "rtx_def_le" - (!srcfileloc "rtl.h" 452) - (!fields 2 - (!pair ".fld[1].rt_rtx" - (!type already_seen 100) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - (!pair ".fld[0].rt_rtx" - (!type already_seen 100) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - ) - nil 4095 nil nil ) - (!srcfileloc "gengtype.cc" 1379) - (!options - (!option tag string "LE") - (!option dot string "") - ) - ) - (!pair "" - (!type struct 168 nil gc_used "rtx_def_gt" - (!srcfileloc "rtl.h" 452) - (!fields 2 - (!pair ".fld[1].rt_rtx" - (!type already_seen 100) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - (!pair ".fld[0].rt_rtx" - (!type already_seen 100) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - ) - nil 4095 nil nil ) - (!srcfileloc "gengtype.cc" 1379) - (!options - (!option tag string "GT") - (!option dot string "") - ) - ) - (!pair "" - (!type struct 169 nil gc_used "rtx_def_ge" - (!srcfileloc "rtl.h" 452) - (!fields 2 - (!pair ".fld[1].rt_rtx" - (!type already_seen 100) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - (!pair ".fld[0].rt_rtx" - (!type already_seen 100) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - ) - nil 4095 nil nil ) - (!srcfileloc "gengtype.cc" 1379) - (!options - (!option tag string "GE") - (!option dot string "") - ) - ) - (!pair "" - (!type struct 170 nil gc_used "rtx_def_eq" - (!srcfileloc "rtl.h" 452) - (!fields 2 - (!pair ".fld[1].rt_rtx" - (!type already_seen 100) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - (!pair ".fld[0].rt_rtx" - (!type already_seen 100) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - ) - nil 4095 nil nil ) - (!srcfileloc "gengtype.cc" 1379) - (!options - (!option tag string "EQ") - (!option dot string "") - ) - ) - (!pair "" - (!type struct 171 nil gc_used "rtx_def_ne" - (!srcfileloc "rtl.h" 452) - (!fields 2 - (!pair ".fld[1].rt_rtx" - (!type already_seen 100) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - (!pair ".fld[0].rt_rtx" - (!type already_seen 100) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - ) - nil 4095 nil nil ) - (!srcfileloc "gengtype.cc" 1379) - (!options - (!option tag string "NE") - (!option dot string "") - ) - ) - (!pair "" - (!type struct 172 nil gc_used "rtx_def_post_modify" - (!srcfileloc "rtl.h" 452) - (!fields 2 - (!pair ".fld[1].rt_rtx" - (!type already_seen 100) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - (!pair ".fld[0].rt_rtx" - (!type already_seen 100) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - ) - nil 4095 nil nil ) - (!srcfileloc "gengtype.cc" 1379) - (!options - (!option tag string "POST_MODIFY") - (!option dot string "") - ) - ) - (!pair "" - (!type struct 173 nil gc_used "rtx_def_pre_modify" - (!srcfileloc "rtl.h" 452) - (!fields 2 - (!pair ".fld[1].rt_rtx" - (!type already_seen 100) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - (!pair ".fld[0].rt_rtx" - (!type already_seen 100) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - ) - nil 4095 nil nil ) - (!srcfileloc "gengtype.cc" 1379) - (!options - (!option tag string "PRE_MODIFY") - (!option dot string "") - ) - ) - (!pair "" - (!type struct 174 nil gc_used "rtx_def_post_inc" - (!srcfileloc "rtl.h" 452) - (!fields 1 - (!pair ".fld[0].rt_rtx" - (!type already_seen 100) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - ) - nil 4095 nil nil ) - (!srcfileloc "gengtype.cc" 1379) - (!options - (!option tag string "POST_INC") - (!option dot string "") - ) - ) - (!pair "" - (!type struct 175 nil gc_used "rtx_def_post_dec" - (!srcfileloc "rtl.h" 452) - (!fields 1 - (!pair ".fld[0].rt_rtx" - (!type already_seen 100) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - ) - nil 4095 nil nil ) - (!srcfileloc "gengtype.cc" 1379) - (!options - (!option tag string "POST_DEC") - (!option dot string "") - ) - ) - (!pair "" - (!type struct 176 nil gc_used "rtx_def_pre_inc" - (!srcfileloc "rtl.h" 452) - (!fields 1 - (!pair ".fld[0].rt_rtx" - (!type already_seen 100) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - ) - nil 4095 nil nil ) - (!srcfileloc "gengtype.cc" 1379) - (!options - (!option tag string "PRE_INC") - (!option dot string "") - ) - ) - (!pair "" - (!type struct 177 nil gc_used "rtx_def_pre_dec" - (!srcfileloc "rtl.h" 452) - (!fields 1 - (!pair ".fld[0].rt_rtx" - (!type already_seen 100) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - ) - nil 4095 nil nil ) - (!srcfileloc "gengtype.cc" 1379) - (!options - (!option tag string "PRE_DEC") - (!option dot string "") - ) - ) - (!pair "" - (!type struct 178 nil gc_used "rtx_def_umax" - (!srcfileloc "rtl.h" 452) - (!fields 2 - (!pair ".fld[1].rt_rtx" - (!type already_seen 100) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - (!pair ".fld[0].rt_rtx" - (!type already_seen 100) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - ) - nil 4095 nil nil ) - (!srcfileloc "gengtype.cc" 1379) - (!options - (!option tag string "UMAX") - (!option dot string "") - ) - ) - (!pair "" - (!type struct 179 nil gc_used "rtx_def_umin" - (!srcfileloc "rtl.h" 452) - (!fields 2 - (!pair ".fld[1].rt_rtx" - (!type already_seen 100) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - (!pair ".fld[0].rt_rtx" - (!type already_seen 100) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - ) - nil 4095 nil nil ) - (!srcfileloc "gengtype.cc" 1379) - (!options - (!option tag string "UMIN") - (!option dot string "") - ) - ) - (!pair "" - (!type struct 180 nil gc_used "rtx_def_smax" - (!srcfileloc "rtl.h" 452) - (!fields 2 - (!pair ".fld[1].rt_rtx" - (!type already_seen 100) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - (!pair ".fld[0].rt_rtx" - (!type already_seen 100) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - ) - nil 4095 nil nil ) - (!srcfileloc "gengtype.cc" 1379) - (!options - (!option tag string "SMAX") - (!option dot string "") - ) - ) - (!pair "" - (!type struct 181 nil gc_used "rtx_def_smin" - (!srcfileloc "rtl.h" 452) - (!fields 2 - (!pair ".fld[1].rt_rtx" - (!type already_seen 100) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - (!pair ".fld[0].rt_rtx" - (!type already_seen 100) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - ) - nil 4095 nil nil ) - (!srcfileloc "gengtype.cc" 1379) - (!options - (!option tag string "SMIN") - (!option dot string "") - ) - ) - (!pair "" - (!type struct 182 nil gc_used "rtx_def_rotatert" - (!srcfileloc "rtl.h" 452) - (!fields 2 - (!pair ".fld[1].rt_rtx" - (!type already_seen 100) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - (!pair ".fld[0].rt_rtx" - (!type already_seen 100) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - ) - nil 4095 nil nil ) - (!srcfileloc "gengtype.cc" 1379) - (!options - (!option tag string "ROTATERT") - (!option dot string "") - ) - ) - (!pair "" - (!type struct 183 nil gc_used "rtx_def_lshiftrt" - (!srcfileloc "rtl.h" 452) - (!fields 2 - (!pair ".fld[1].rt_rtx" - (!type already_seen 100) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - (!pair ".fld[0].rt_rtx" - (!type already_seen 100) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - ) - nil 4095 nil nil ) - (!srcfileloc "gengtype.cc" 1379) - (!options - (!option tag string "LSHIFTRT") - (!option dot string "") - ) - ) - (!pair "" - (!type struct 184 nil gc_used "rtx_def_ashiftrt" - (!srcfileloc "rtl.h" 452) - (!fields 2 - (!pair ".fld[1].rt_rtx" - (!type already_seen 100) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - (!pair ".fld[0].rt_rtx" - (!type already_seen 100) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - ) - nil 4095 nil nil ) - (!srcfileloc "gengtype.cc" 1379) - (!options - (!option tag string "ASHIFTRT") - (!option dot string "") - ) - ) - (!pair "" - (!type struct 185 nil gc_used "rtx_def_rotate" - (!srcfileloc "rtl.h" 452) - (!fields 2 - (!pair ".fld[1].rt_rtx" - (!type already_seen 100) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - (!pair ".fld[0].rt_rtx" - (!type already_seen 100) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - ) - nil 4095 nil nil ) - (!srcfileloc "gengtype.cc" 1379) - (!options - (!option tag string "ROTATE") - (!option dot string "") - ) - ) - (!pair "" - (!type struct 186 nil gc_used "rtx_def_ashift" - (!srcfileloc "rtl.h" 452) - (!fields 2 - (!pair ".fld[1].rt_rtx" - (!type already_seen 100) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - (!pair ".fld[0].rt_rtx" - (!type already_seen 100) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - ) - nil 4095 nil nil ) - (!srcfileloc "gengtype.cc" 1379) - (!options - (!option tag string "ASHIFT") - (!option dot string "") - ) - ) - (!pair "" - (!type struct 187 nil gc_used "rtx_def_not" - (!srcfileloc "rtl.h" 452) - (!fields 1 - (!pair ".fld[0].rt_rtx" - (!type already_seen 100) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - ) - nil 4095 nil nil ) - (!srcfileloc "gengtype.cc" 1379) - (!options - (!option tag string "NOT") - (!option dot string "") - ) - ) - (!pair "" - (!type struct 188 nil gc_used "rtx_def_xor" - (!srcfileloc "rtl.h" 452) - (!fields 2 - (!pair ".fld[1].rt_rtx" - (!type already_seen 100) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - (!pair ".fld[0].rt_rtx" - (!type already_seen 100) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - ) - nil 4095 nil nil ) - (!srcfileloc "gengtype.cc" 1379) - (!options - (!option tag string "XOR") - (!option dot string "") - ) - ) - (!pair "" - (!type struct 189 nil gc_used "rtx_def_ior" - (!srcfileloc "rtl.h" 452) - (!fields 2 - (!pair ".fld[1].rt_rtx" - (!type already_seen 100) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - (!pair ".fld[0].rt_rtx" - (!type already_seen 100) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - ) - nil 4095 nil nil ) - (!srcfileloc "gengtype.cc" 1379) - (!options - (!option tag string "IOR") - (!option dot string "") - ) - ) - (!pair "" - (!type struct 190 nil gc_used "rtx_def_and" - (!srcfileloc "rtl.h" 452) - (!fields 2 - (!pair ".fld[1].rt_rtx" - (!type already_seen 100) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - (!pair ".fld[0].rt_rtx" - (!type already_seen 100) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - ) - nil 4095 nil nil ) - (!srcfileloc "gengtype.cc" 1379) - (!options - (!option tag string "AND") - (!option dot string "") - ) - ) - (!pair "" - (!type struct 191 nil gc_used "rtx_def_umod" - (!srcfileloc "rtl.h" 452) - (!fields 2 - (!pair ".fld[1].rt_rtx" - (!type already_seen 100) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - (!pair ".fld[0].rt_rtx" - (!type already_seen 100) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - ) - nil 4095 nil nil ) - (!srcfileloc "gengtype.cc" 1379) - (!options - (!option tag string "UMOD") - (!option dot string "") - ) - ) - (!pair "" - (!type struct 192 nil gc_used "rtx_def_udiv" - (!srcfileloc "rtl.h" 452) - (!fields 2 - (!pair ".fld[1].rt_rtx" - (!type already_seen 100) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - (!pair ".fld[0].rt_rtx" - (!type already_seen 100) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - ) - nil 4095 nil nil ) - (!srcfileloc "gengtype.cc" 1379) - (!options - (!option tag string "UDIV") - (!option dot string "") - ) - ) - (!pair "" - (!type struct 193 nil gc_used "rtx_def_mod" - (!srcfileloc "rtl.h" 452) - (!fields 2 - (!pair ".fld[1].rt_rtx" - (!type already_seen 100) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - (!pair ".fld[0].rt_rtx" - (!type already_seen 100) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - ) - nil 4095 nil nil ) - (!srcfileloc "gengtype.cc" 1379) - (!options - (!option tag string "MOD") - (!option dot string "") - ) - ) - (!pair "" - (!type struct 194 nil gc_used "rtx_def_us_div" - (!srcfileloc "rtl.h" 452) - (!fields 2 - (!pair ".fld[1].rt_rtx" - (!type already_seen 100) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - (!pair ".fld[0].rt_rtx" - (!type already_seen 100) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - ) - nil 4095 nil nil ) - (!srcfileloc "gengtype.cc" 1379) - (!options - (!option tag string "US_DIV") - (!option dot string "") - ) - ) - (!pair "" - (!type struct 195 nil gc_used "rtx_def_ss_div" - (!srcfileloc "rtl.h" 452) - (!fields 2 - (!pair ".fld[1].rt_rtx" - (!type already_seen 100) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - (!pair ".fld[0].rt_rtx" - (!type already_seen 100) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - ) - nil 4095 nil nil ) - (!srcfileloc "gengtype.cc" 1379) - (!options - (!option tag string "SS_DIV") - (!option dot string "") - ) - ) - (!pair "" - (!type struct 196 nil gc_used "rtx_def_div" - (!srcfileloc "rtl.h" 452) - (!fields 2 - (!pair ".fld[1].rt_rtx" - (!type already_seen 100) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - (!pair ".fld[0].rt_rtx" - (!type already_seen 100) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - ) - nil 4095 nil nil ) - (!srcfileloc "gengtype.cc" 1379) - (!options - (!option tag string "DIV") - (!option dot string "") - ) - ) - (!pair "" - (!type struct 197 nil gc_used "rtx_def_umul_highpart" - (!srcfileloc "rtl.h" 452) - (!fields 2 - (!pair ".fld[1].rt_rtx" - (!type already_seen 100) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - (!pair ".fld[0].rt_rtx" - (!type already_seen 100) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - ) - nil 4095 nil nil ) - (!srcfileloc "gengtype.cc" 1379) - (!options - (!option tag string "UMUL_HIGHPART") - (!option dot string "") - ) - ) - (!pair "" - (!type struct 198 nil gc_used "rtx_def_smul_highpart" - (!srcfileloc "rtl.h" 452) - (!fields 2 - (!pair ".fld[1].rt_rtx" - (!type already_seen 100) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - (!pair ".fld[0].rt_rtx" - (!type already_seen 100) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - ) - nil 4095 nil nil ) - (!srcfileloc "gengtype.cc" 1379) - (!options - (!option tag string "SMUL_HIGHPART") - (!option dot string "") - ) - ) - (!pair "" - (!type struct 199 nil gc_used "rtx_def_us_mult" - (!srcfileloc "rtl.h" 452) - (!fields 2 - (!pair ".fld[1].rt_rtx" - (!type already_seen 100) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - (!pair ".fld[0].rt_rtx" - (!type already_seen 100) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - ) - nil 4095 nil nil ) - (!srcfileloc "gengtype.cc" 1379) - (!options - (!option tag string "US_MULT") - (!option dot string "") - ) - ) - (!pair "" - (!type struct 200 nil gc_used "rtx_def_ss_mult" - (!srcfileloc "rtl.h" 452) - (!fields 2 - (!pair ".fld[1].rt_rtx" - (!type already_seen 100) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - (!pair ".fld[0].rt_rtx" - (!type already_seen 100) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - ) - nil 4095 nil nil ) - (!srcfileloc "gengtype.cc" 1379) - (!options - (!option tag string "SS_MULT") - (!option dot string "") - ) - ) - (!pair "" - (!type struct 201 nil gc_used "rtx_def_mult" - (!srcfileloc "rtl.h" 452) - (!fields 2 - (!pair ".fld[1].rt_rtx" - (!type already_seen 100) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - (!pair ".fld[0].rt_rtx" - (!type already_seen 100) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - ) - nil 4095 nil nil ) - (!srcfileloc "gengtype.cc" 1379) - (!options - (!option tag string "MULT") - (!option dot string "") - ) - ) - (!pair "" - (!type struct 202 nil gc_used "rtx_def_neg" - (!srcfileloc "rtl.h" 452) - (!fields 1 - (!pair ".fld[0].rt_rtx" - (!type already_seen 100) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - ) - nil 4095 nil nil ) - (!srcfileloc "gengtype.cc" 1379) - (!options - (!option tag string "NEG") - (!option dot string "") - ) - ) - (!pair "" - (!type struct 203 nil gc_used "rtx_def_minus" - (!srcfileloc "rtl.h" 452) - (!fields 2 - (!pair ".fld[1].rt_rtx" - (!type already_seen 100) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - (!pair ".fld[0].rt_rtx" - (!type already_seen 100) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - ) - nil 4095 nil nil ) - (!srcfileloc "gengtype.cc" 1379) - (!options - (!option tag string "MINUS") - (!option dot string "") - ) - ) - (!pair "" - (!type struct 204 nil gc_used "rtx_def_plus" - (!srcfileloc "rtl.h" 452) - (!fields 2 - (!pair ".fld[1].rt_rtx" - (!type already_seen 100) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - (!pair ".fld[0].rt_rtx" - (!type already_seen 100) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - ) - nil 4095 nil nil ) - (!srcfileloc "gengtype.cc" 1379) - (!options - (!option tag string "PLUS") - (!option dot string "") - ) - ) - (!pair "" - (!type struct 205 nil gc_used "rtx_def_compare" - (!srcfileloc "rtl.h" 452) - (!fields 2 - (!pair ".fld[1].rt_rtx" - (!type already_seen 100) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - (!pair ".fld[0].rt_rtx" - (!type already_seen 100) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - ) - nil 4095 nil nil ) - (!srcfileloc "gengtype.cc" 1379) - (!options - (!option tag string "COMPARE") - (!option dot string "") - ) - ) - (!pair "" - (!type struct 206 nil gc_used "rtx_def_if_then_else" - (!srcfileloc "rtl.h" 452) - (!fields 3 - (!pair ".fld[2].rt_rtx" - (!type already_seen 100) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - (!pair ".fld[1].rt_rtx" - (!type already_seen 100) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - (!pair ".fld[0].rt_rtx" - (!type already_seen 100) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - ) - nil 4095 nil nil ) - (!srcfileloc "gengtype.cc" 1379) - (!options - (!option tag string "IF_THEN_ELSE") - (!option dot string "") - ) - ) - (!pair "" - (!type struct 207 nil gc_used "rtx_def_symbol_ref" - (!srcfileloc "rtl.h" 452) - (!fields 3 - (!pair "block_sym" - (!type union 208 nil gc_used "fake_union_1" - (!srcfileloc "rtl.h" 452) - (!fields 1 - (!pair "" - (!type struct 209 nil gc_used "block_symbol" - (!srcfileloc "rtl.h" 245) - (!fields 3 - (!pair "fld" - (!type array 210 nil gc_unused "2" - (!type undefined 211 nil gc_unused "rtunion" - (!srcfileloc "rtl.h" 237) - ) - ) - (!srcfileloc "rtl.h" 237) - (!options - (!option skip string "") - ) - ) - (!pair "block" - (!type pointer 212 nil gc_used - (!type struct 213 - (!type already_seen 212) - gc_pointed_to "object_block" - (!srcfileloc "rtl.h" 278) - (!fields 5 - (!pair "sect" - (!type pointer 214 nil gc_used - (!type union 215 - (!type already_seen 214) - gc_pointed_to "section" - (!srcfileloc "output.h" 511) - (!fields 4 - (!pair "common" - (!type struct 216 nil gc_used "section_common" - (!srcfileloc "output.h" 453) - (!fields 1 - (!pair "flags" - (!type already_seen 2) - (!srcfileloc "output.h" 452) - nil ) - ) - nil 4095 nil nil ) - (!srcfileloc "output.h" 507) - (!options - (!option skip string "") - ) - ) - (!pair "named" - (!type struct 217 nil gc_used "named_section" - (!srcfileloc "output.h" 465) - (!fields 3 - (!pair "common" - (!type already_seen 216) - (!srcfileloc "output.h" 457) - nil ) - (!pair "name" - (!type already_seen 11) - (!srcfileloc "output.h" 460) - nil ) - (!pair "decl" - (!type already_seen 23) - (!srcfileloc "output.h" 464) - nil ) - ) - nil 4095 nil nil ) - (!srcfileloc "output.h" 508) - (!options - (!option tag string "SECTION_NAMED") - ) - ) - (!pair "unnamed" - (!type struct 218 nil gc_used "unnamed_section" - (!srcfileloc "output.h" 482) - (!fields 4 - (!pair "common" - (!type already_seen 216) - (!srcfileloc "output.h" 473) - nil ) - (!pair "callback" - (!type callback 219 nil gc_used) - (!srcfileloc "output.h" 477) - (!options - (!option callback string "") - ) - ) - (!pair "data" - (!type already_seen 11) - (!srcfileloc "output.h" 478) - nil ) - (!pair "next" - (!type already_seen 214) - (!srcfileloc "output.h" 481) - nil ) - ) - nil 4095 nil nil ) - (!srcfileloc "output.h" 509) - (!options - (!option tag string "SECTION_UNNAMED") - ) - ) - (!pair "noswitch" - (!type struct 220 nil gc_used "noswitch_section" - (!srcfileloc "output.h" 503) - (!fields 2 - (!pair "common" - (!type already_seen 216) - (!srcfileloc "output.h" 499) - nil ) - (!pair "callback" - (!type already_seen 219) - (!srcfileloc "output.h" 502) - (!options - (!option callback string "") - ) - ) - ) - nil 4095 nil nil ) - (!srcfileloc "output.h" 510) - (!options - (!option tag string "SECTION_NOSWITCH") - ) - ) - ) - (!options - (!option for_user string "") - (!option desc string "SECTION_STYLE (&(%h))") - ) - 4095 nil ) - ) - (!srcfileloc "rtl.h" 251) - nil ) - (!pair "alignment" - (!type already_seen 2) - (!srcfileloc "rtl.h" 254) - nil ) - (!pair "size" - (!type already_seen 2) - (!srcfileloc "rtl.h" 257) - nil ) - (!pair "objects" - (!type pointer 221 nil gc_used - (!type user_struct 222 - (!type already_seen 221) - gc_pointed_to "vec" - (!srcfileloc "rtl.h" 267) - (!fields 2 - (!pair "va_gc" - (!type already_seen 80) - (!srcfileloc "rtl.h" 267) - nil ) - (!pair "rtx" - (!type already_seen 100) - (!srcfileloc "rtl.h" 267) - nil ) - ) - ) - ) - (!srcfileloc "rtl.h" 267) - nil ) - (!pair "anchors" - (!type already_seen 221) - (!srcfileloc "rtl.h" 277) - nil ) - ) - (!options - (!option for_user string "") - ) - 4095 nil nil ) - ) - (!srcfileloc "rtl.h" 240) - nil ) - (!pair "offset" - (!type already_seen 2) - (!srcfileloc "rtl.h" 244) - nil ) - ) - nil 4095 nil nil ) - (!srcfileloc "gengtype.cc" 1024) - (!options - (!option tag string "1") - (!option dot string "") - ) - ) - ) - nil 4095 nil ) - (!srcfileloc "gengtype.cc" 1369) - (!options - (!option desc string "SYMBOL_REF_HAS_BLOCK_INFO_P (&%0)") - ) - ) - (!pair ".fld[1]." - (!type union 223 nil gc_used "rtx_def_symbol_subunion" - (!srcfileloc "rtl.h" 452) - (!fields 2 - (!pair "rt_constant" - (!type pointer 224 nil gc_used - (!type struct 225 - (!type already_seen 224) - gc_pointed_to "constant_descriptor_rtx" - (!srcfileloc "varasm.cc" 3719) - (!fields 10 - (!pair "next" - (!type already_seen 224) - (!srcfileloc "varasm.cc" 3709) - nil ) - (!pair "mem" - (!type already_seen 100) - (!srcfileloc "varasm.cc" 3710) - nil ) - (!pair "sym" - (!type already_seen 100) - (!srcfileloc "varasm.cc" 3711) - nil ) - (!pair "constant" - (!type already_seen 100) - (!srcfileloc "varasm.cc" 3712) - nil ) - (!pair "offset" - (!type already_seen 2) - (!srcfileloc "varasm.cc" 3713) - nil ) - (!pair "hash" - (!type already_seen 2) - (!srcfileloc "varasm.cc" 3714) - nil ) - (!pair "mode" - (!type already_seen 2) - (!srcfileloc "varasm.cc" 3715) - nil ) - (!pair "align" - (!type already_seen 2) - (!srcfileloc "varasm.cc" 3716) - nil ) - (!pair "labelno" - (!type already_seen 2) - (!srcfileloc "varasm.cc" 3717) - nil ) - (!pair "mark" - (!type already_seen 2) - (!srcfileloc "varasm.cc" 3718) - nil ) - ) - (!options - (!option for_user string "") - (!option chain_next string "%h.next") - ) - 4095 nil nil ) - ) - (!srcfileloc "gengtype.cc" 1228) - (!options - (!option tag string "1") - (!option dot string "") - ) - ) - (!pair "rt_tree" - (!type already_seen 23) - (!srcfileloc "gengtype.cc" 1226) - (!options - (!option default string "") - (!option dot string "") - ) - ) - ) - nil 4095 nil ) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option desc string "CONSTANT_POOL_ADDRESS_P (&%0)") - (!option dot string "") - ) - ) - (!pair ".fld[0].rt_str" - (!type already_seen 11) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - ) - nil 4095 nil nil ) - (!srcfileloc "gengtype.cc" 1379) - (!options - (!option tag string "SYMBOL_REF") - (!option dot string "") - ) - ) - (!pair "" - (!type struct 226 nil gc_used "rtx_def_label_ref" - (!srcfileloc "rtl.h" 452) - (!fields 1 - (!pair ".fld[0].rt_rtx" - (!type already_seen 100) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - ) - nil 4095 nil nil ) - (!srcfileloc "gengtype.cc" 1379) - (!options - (!option tag string "LABEL_REF") - (!option dot string "") - ) - ) - (!pair "" - (!type struct 227 nil gc_used "rtx_def_mem" - (!srcfileloc "rtl.h" 452) - (!fields 2 - (!pair ".fld[1].rt_mem" - (!type pointer 228 nil gc_used - (!type struct 229 - (!type already_seen 228) - gc_pointed_to "mem_attrs" - (!srcfileloc "rtl.h" 184) - (!fields 8 - (!pair "expr" - (!type already_seen 23) - (!srcfileloc "rtl.h" 158) - nil ) - (!pair "offset" - (!type already_seen 2) - (!srcfileloc "rtl.h" 162) - nil ) - (!pair "size" - (!type already_seen 2) - (!srcfileloc "rtl.h" 166) - nil ) - (!pair "alias" - (!type already_seen 2) - (!srcfileloc "rtl.h" 169) - nil ) - (!pair "align" - (!type already_seen 2) - (!srcfileloc "rtl.h" 174) - nil ) - (!pair "addrspace" - (!type already_seen 8) - (!srcfileloc "rtl.h" 177) - nil ) - (!pair "offset_known_p" - (!type already_seen 2) - (!srcfileloc "rtl.h" 180) - nil ) - (!pair "size_known_p" - (!type already_seen 2) - (!srcfileloc "rtl.h" 183) - nil ) - ) - nil 4095 nil nil ) - ) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - (!pair ".fld[0].rt_rtx" - (!type already_seen 100) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - ) - nil 4095 nil nil ) - (!srcfileloc "gengtype.cc" 1379) - (!options - (!option tag string "MEM") - (!option dot string "") - ) - ) - (!pair "" - (!type struct 230 nil gc_used "rtx_def_concatn" - (!srcfileloc "rtl.h" 452) - (!fields 1 - (!pair ".fld[0].rt_rtvec" - (!type pointer 231 nil gc_used - (!type struct 232 - (!type already_seen 231) - gc_pointed_to "rtvec_def" - (!srcfileloc "rtl.h" 738) - (!fields 2 - (!pair "num_elem" - (!type already_seen 2) - (!srcfileloc "rtl.h" 736) - nil ) - (!pair "elem" - (!type array 233 nil gc_used "1" - (!type already_seen 100) - ) - (!srcfileloc "rtl.h" 737) - (!options - (!option length string "%h.num_elem") - ) - ) - ) - nil 4095 nil nil ) - ) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - ) - nil 4095 nil nil ) - (!srcfileloc "gengtype.cc" 1379) - (!options - (!option tag string "CONCATN") - (!option dot string "") - ) - ) - (!pair "" - (!type struct 234 nil gc_used "rtx_def_concat" - (!srcfileloc "rtl.h" 452) - (!fields 2 - (!pair ".fld[1].rt_rtx" - (!type already_seen 100) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - (!pair ".fld[0].rt_rtx" - (!type already_seen 100) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - ) - nil 4095 nil nil ) - (!srcfileloc "gengtype.cc" 1379) - (!options - (!option tag string "CONCAT") - (!option dot string "") - ) - ) - (!pair "" - (!type struct 235 nil gc_used "rtx_def_strict_low_part" - (!srcfileloc "rtl.h" 452) - (!fields 1 - (!pair ".fld[0].rt_rtx" - (!type already_seen 100) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - ) - nil 4095 nil nil ) - (!srcfileloc "gengtype.cc" 1379) - (!options - (!option tag string "STRICT_LOW_PART") - (!option dot string "") - ) - ) - (!pair "" - (!type struct 236 nil gc_used "rtx_def_subreg" - (!srcfileloc "rtl.h" 452) - (!fields 2 - (!pair ".fld[1].rt_subreg" - (!type already_seen 2) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - (!pair ".fld[0].rt_rtx" - (!type already_seen 100) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - ) - nil 4095 nil nil ) - (!srcfileloc "gengtype.cc" 1379) - (!options - (!option tag string "SUBREG") - (!option dot string "") - ) - ) - (!pair "" - (!type struct 237 nil gc_used "rtx_def_scratch" - (!srcfileloc "rtl.h" 452) - (!fields 0 ) - nil 4095 nil nil ) - (!srcfileloc "gengtype.cc" 1379) - (!options - (!option tag string "SCRATCH") - (!option dot string "") - ) - ) - (!pair "" - (!type struct 238 nil gc_used "rtx_def_reg" - (!srcfileloc "rtl.h" 452) - (!fields 2 - (!pair "reg.attrs" - (!type pointer 239 nil gc_used - (!type struct 240 - (!type already_seen 239) - gc_pointed_to "reg_attrs" - (!srcfileloc "rtl.h" 229) - (!fields 2 - (!pair "decl" - (!type already_seen 23) - (!srcfileloc "rtl.h" 195) - nil ) - (!pair "offset" - (!type already_seen 2) - (!srcfileloc "rtl.h" 196) - nil ) - ) - (!options - (!option for_user string "") - ) - 4095 nil nil ) - ) - (!srcfileloc "gengtype.cc" 1360) - nil ) - (!pair ".fld[0].rt_int" - (!type already_seen 2) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - ) - nil 4095 nil nil ) - (!srcfileloc "gengtype.cc" 1379) - (!options - (!option tag string "REG") - (!option dot string "") - ) - ) - (!pair "" - (!type struct 241 nil gc_used "rtx_def_pc" - (!srcfileloc "rtl.h" 452) - (!fields 0 ) - nil 4095 nil nil ) - (!srcfileloc "gengtype.cc" 1379) - (!options - (!option tag string "PC") - (!option dot string "") - ) - ) - (!pair "" - (!type struct 242 nil gc_used "rtx_def_const" - (!srcfileloc "rtl.h" 452) - (!fields 1 - (!pair ".fld[0].rt_rtx" - (!type already_seen 100) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - ) - nil 4095 nil nil ) - (!srcfileloc "gengtype.cc" 1379) - (!options - (!option tag string "CONST") - (!option dot string "") - ) - ) - (!pair "" - (!type struct 243 nil gc_used "rtx_def_const_string" - (!srcfileloc "rtl.h" 452) - (!fields 1 - (!pair ".fld[0].rt_str" - (!type already_seen 11) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - ) - nil 4095 nil nil ) - (!srcfileloc "gengtype.cc" 1379) - (!options - (!option tag string "CONST_STRING") - (!option dot string "") - ) - ) - (!pair "" - (!type struct 244 nil gc_used "rtx_def_const_vector" - (!srcfileloc "rtl.h" 452) - (!fields 1 - (!pair ".fld[0].rt_rtvec" - (!type already_seen 231) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - ) - nil 4095 nil nil ) - (!srcfileloc "gengtype.cc" 1379) - (!options - (!option tag string "CONST_VECTOR") - (!option dot string "") - ) - ) - (!pair "" - (!type struct 245 nil gc_used "rtx_def_const_double" - (!srcfileloc "rtl.h" 452) - (!fields 2 - (!pair ".fld[1].rt_int" - (!type already_seen 2) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - (!pair ".fld[0].rt_int" - (!type already_seen 2) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - ) - nil 4095 nil nil ) - (!srcfileloc "gengtype.cc" 1379) - (!options - (!option tag string "CONST_DOUBLE") - (!option dot string "") - ) - ) - (!pair "" - (!type struct 246 nil gc_used "rtx_def_const_fixed" - (!srcfileloc "rtl.h" 452) - (!fields 3 - (!pair ".fld[2].rt_int" - (!type already_seen 2) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - (!pair ".fld[1].rt_int" - (!type already_seen 2) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - (!pair ".fld[0].rt_int" - (!type already_seen 2) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - ) - nil 4095 nil nil ) - (!srcfileloc "gengtype.cc" 1379) - (!options - (!option tag string "CONST_FIXED") - (!option dot string "") - ) - ) - (!pair "" - (!type struct 247 nil gc_used "rtx_def_const_poly_int" - (!srcfileloc "rtl.h" 452) - (!fields 0 ) - nil 4095 nil nil ) - (!srcfileloc "gengtype.cc" 1379) - (!options - (!option tag string "CONST_POLY_INT") - (!option dot string "") - ) - ) - (!pair "" - (!type struct 248 nil gc_used "rtx_def_const_wide_int" - (!srcfileloc "rtl.h" 452) - (!fields 0 ) - nil 4095 nil nil ) - (!srcfileloc "gengtype.cc" 1379) - (!options - (!option tag string "CONST_WIDE_INT") - (!option dot string "") - ) - ) - (!pair "" - (!type struct 249 nil gc_used "rtx_def_const_int" - (!srcfileloc "rtl.h" 452) - (!fields 1 - (!pair ".fld[0].rt_int" - (!type already_seen 2) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - ) - nil 4095 nil nil ) - (!srcfileloc "gengtype.cc" 1379) - (!options - (!option tag string "CONST_INT") - (!option dot string "") - ) - ) - (!pair "" - (!type struct 250 nil gc_used "rtx_def_trap_if" - (!srcfileloc "rtl.h" 452) - (!fields 2 - (!pair ".fld[1].rt_rtx" - (!type already_seen 100) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - (!pair ".fld[0].rt_rtx" - (!type already_seen 100) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - ) - nil 4095 nil nil ) - (!srcfileloc "gengtype.cc" 1379) - (!options - (!option tag string "TRAP_IF") - (!option dot string "") - ) - ) - (!pair "" - (!type struct 251 nil gc_used "rtx_def_eh_return" - (!srcfileloc "rtl.h" 452) - (!fields 0 ) - nil 4095 nil nil ) - (!srcfileloc "gengtype.cc" 1379) - (!options - (!option tag string "EH_RETURN") - (!option dot string "") - ) - ) - (!pair "" - (!type struct 252 nil gc_used "rtx_def_simple_return" - (!srcfileloc "rtl.h" 452) - (!fields 0 ) - nil 4095 nil nil ) - (!srcfileloc "gengtype.cc" 1379) - (!options - (!option tag string "SIMPLE_RETURN") - (!option dot string "") - ) - ) - (!pair "" - (!type struct 253 nil gc_used "rtx_def_return" - (!srcfileloc "rtl.h" 452) - (!fields 0 ) - nil 4095 nil nil ) - (!srcfileloc "gengtype.cc" 1379) - (!options - (!option tag string "RETURN") - (!option dot string "") - ) - ) - (!pair "" - (!type struct 254 nil gc_used "rtx_def_call" - (!srcfileloc "rtl.h" 452) - (!fields 2 - (!pair ".fld[1].rt_rtx" - (!type already_seen 100) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - (!pair ".fld[0].rt_rtx" - (!type already_seen 100) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - ) - nil 4095 nil nil ) - (!srcfileloc "gengtype.cc" 1379) - (!options - (!option tag string "CALL") - (!option dot string "") - ) - ) - (!pair "" - (!type struct 255 nil gc_used "rtx_def_clobber" - (!srcfileloc "rtl.h" 452) - (!fields 1 - (!pair ".fld[0].rt_rtx" - (!type already_seen 100) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - ) - nil 4095 nil nil ) - (!srcfileloc "gengtype.cc" 1379) - (!options - (!option tag string "CLOBBER") - (!option dot string "") - ) - ) - (!pair "" - (!type struct 256 nil gc_used "rtx_def_use" - (!srcfileloc "rtl.h" 452) - (!fields 1 - (!pair ".fld[0].rt_rtx" - (!type already_seen 100) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - ) - nil 4095 nil nil ) - (!srcfileloc "gengtype.cc" 1379) - (!options - (!option tag string "USE") - (!option dot string "") - ) - ) - (!pair "" - (!type struct 257 nil gc_used "rtx_def_set" - (!srcfileloc "rtl.h" 452) - (!fields 2 - (!pair ".fld[1].rt_rtx" - (!type already_seen 100) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - (!pair ".fld[0].rt_rtx" - (!type already_seen 100) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - ) - nil 4095 nil nil ) - (!srcfileloc "gengtype.cc" 1379) - (!options - (!option tag string "SET") - (!option dot string "") - ) - ) - (!pair "" - (!type struct 258 nil gc_used "rtx_def_prefetch" - (!srcfileloc "rtl.h" 452) - (!fields 3 - (!pair ".fld[2].rt_rtx" - (!type already_seen 100) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - (!pair ".fld[1].rt_rtx" - (!type already_seen 100) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - (!pair ".fld[0].rt_rtx" - (!type already_seen 100) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - ) - nil 4095 nil nil ) - (!srcfileloc "gengtype.cc" 1379) - (!options - (!option tag string "PREFETCH") - (!option dot string "") - ) - ) - (!pair "" - (!type struct 259 nil gc_used "rtx_def_addr_diff_vec" - (!srcfileloc "rtl.h" 452) - (!fields 5 - (!pair ".fld[4].rt_int" - (!type already_seen 2) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - (!pair ".fld[3].rt_rtx" - (!type already_seen 100) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - (!pair ".fld[2].rt_rtx" - (!type already_seen 100) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - (!pair ".fld[1].rt_rtvec" - (!type already_seen 231) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - (!pair ".fld[0].rt_rtx" - (!type already_seen 100) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - ) - nil 4095 nil nil ) - (!srcfileloc "gengtype.cc" 1379) - (!options - (!option tag string "ADDR_DIFF_VEC") - (!option dot string "") - ) - ) - (!pair "" - (!type struct 260 nil gc_used "rtx_def_addr_vec" - (!srcfileloc "rtl.h" 452) - (!fields 1 - (!pair ".fld[0].rt_rtvec" - (!type already_seen 231) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - ) - nil 4095 nil nil ) - (!srcfileloc "gengtype.cc" 1379) - (!options - (!option tag string "ADDR_VEC") - (!option dot string "") - ) - ) - (!pair "" - (!type struct 261 nil gc_used "rtx_def_unspec_volatile" - (!srcfileloc "rtl.h" 452) - (!fields 2 - (!pair ".fld[1].rt_int" - (!type already_seen 2) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - (!pair ".fld[0].rt_rtvec" - (!type already_seen 231) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - ) - nil 4095 nil nil ) - (!srcfileloc "gengtype.cc" 1379) - (!options - (!option tag string "UNSPEC_VOLATILE") - (!option dot string "") - ) - ) - (!pair "" - (!type struct 262 nil gc_used "rtx_def_unspec" - (!srcfileloc "rtl.h" 452) - (!fields 2 - (!pair ".fld[1].rt_int" - (!type already_seen 2) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - (!pair ".fld[0].rt_rtvec" - (!type already_seen 231) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - ) - nil 4095 nil nil ) - (!srcfileloc "gengtype.cc" 1379) - (!options - (!option tag string "UNSPEC") - (!option dot string "") - ) - ) - (!pair "" - (!type struct 263 nil gc_used "rtx_def_asm_operands" - (!srcfileloc "rtl.h" 452) - (!fields 7 - (!pair ".fld[6].rt_int" - (!type already_seen 2) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - (!pair ".fld[5].rt_rtvec" - (!type already_seen 231) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - (!pair ".fld[4].rt_rtvec" - (!type already_seen 231) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - (!pair ".fld[3].rt_rtvec" - (!type already_seen 231) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - (!pair ".fld[2].rt_int" - (!type already_seen 2) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - (!pair ".fld[1].rt_str" - (!type already_seen 11) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - (!pair ".fld[0].rt_str" - (!type already_seen 11) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - ) - nil 4095 nil nil ) - (!srcfileloc "gengtype.cc" 1379) - (!options - (!option tag string "ASM_OPERANDS") - (!option dot string "") - ) - ) - (!pair "" - (!type struct 264 nil gc_used "rtx_def_asm_input" - (!srcfileloc "rtl.h" 452) - (!fields 2 - (!pair ".fld[1].rt_int" - (!type already_seen 2) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - (!pair ".fld[0].rt_str" - (!type already_seen 11) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - ) - nil 4095 nil nil ) - (!srcfileloc "gengtype.cc" 1379) - (!options - (!option tag string "ASM_INPUT") - (!option dot string "") - ) - ) - (!pair "" - (!type struct 265 nil gc_used "rtx_def_parallel" - (!srcfileloc "rtl.h" 452) - (!fields 1 - (!pair ".fld[0].rt_rtvec" - (!type already_seen 231) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - ) - nil 4095 nil nil ) - (!srcfileloc "gengtype.cc" 1379) - (!options - (!option tag string "PARALLEL") - (!option dot string "") - ) - ) - (!pair "" - (!type struct 266 nil gc_used "rtx_def_cond_exec" - (!srcfileloc "rtl.h" 452) - (!fields 2 - (!pair ".fld[1].rt_rtx" - (!type already_seen 100) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - (!pair ".fld[0].rt_rtx" - (!type already_seen 100) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - ) - nil 4095 nil nil ) - (!srcfileloc "gengtype.cc" 1379) - (!options - (!option tag string "COND_EXEC") - (!option dot string "") - ) - ) - (!pair "" - (!type struct 267 nil gc_used "rtx_def_note" - (!srcfileloc "rtl.h" 452) - (!fields 6 - (!pair ".fld[5].rt_int" - (!type already_seen 2) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - (!pair ".fld[4].rt_int" - (!type already_seen 2) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - (!pair ".fld[3]." - (!type union 268 nil gc_used "rtx_def_note_subunion" - (!srcfileloc "rtl.h" 452) - (!fields 19 - (!pair "rt_str" - (!type already_seen 11) - (!srcfileloc "gengtype.cc" 1195) - (!options - (!option default string "") - (!option dot string "") - ) - ) - (!pair "rt_int" - (!type already_seen 2) - (!srcfileloc "gengtype.cc" 1208) - (!options - (!option tag string "NOTE_INSN_UPDATE_SJLJ_CONTEXT") - (!option dot string "") - ) - ) - (!pair "rt_int" - (!type already_seen 2) - (!srcfileloc "gengtype.cc" 1208) - (!options - (!option tag string "NOTE_INSN_CFI_LABEL") - (!option dot string "") - ) - ) - (!pair "rt_int" - (!type already_seen 2) - (!srcfileloc "gengtype.cc" 1208) - (!options - (!option tag string "NOTE_INSN_CFI") - (!option dot string "") - ) - ) - (!pair "rt_int" - (!type already_seen 2) - (!srcfileloc "gengtype.cc" 1208) - (!options - (!option tag string "NOTE_INSN_SWITCH_TEXT_SECTIONS") - (!option dot string "") - ) - ) - (!pair "rt_int" - (!type already_seen 2) - (!srcfileloc "gengtype.cc" 1208) - (!options - (!option tag string "NOTE_INSN_BASIC_BLOCK") - (!option dot string "") - ) - ) - (!pair "rt_int" - (!type already_seen 2) - (!srcfileloc "gengtype.cc" 1208) - (!options - (!option tag string "NOTE_INSN_INLINE_ENTRY") - (!option dot string "") - ) - ) - (!pair "rt_int" - (!type already_seen 2) - (!srcfileloc "gengtype.cc" 1208) - (!options - (!option tag string "NOTE_INSN_BEGIN_STMT") - (!option dot string "") - ) - ) - (!pair "rt_rtx" - (!type already_seen 100) - (!srcfileloc "gengtype.cc" 1204) - (!options - (!option tag string "NOTE_INSN_VAR_LOCATION") - (!option dot string "") - ) - ) - (!pair "rt_int" - (!type already_seen 2) - (!srcfileloc "gengtype.cc" 1208) - (!options - (!option tag string "NOTE_INSN_EH_REGION_END") - (!option dot string "") - ) - ) - (!pair "rt_int" - (!type already_seen 2) - (!srcfileloc "gengtype.cc" 1208) - (!options - (!option tag string "NOTE_INSN_EH_REGION_BEG") - (!option dot string "") - ) - ) - (!pair "rt_int" - (!type already_seen 2) - (!srcfileloc "gengtype.cc" 1208) - (!options - (!option tag string "NOTE_INSN_EPILOGUE_BEG") - (!option dot string "") - ) - ) - (!pair "rt_int" - (!type already_seen 2) - (!srcfileloc "gengtype.cc" 1208) - (!options - (!option tag string "NOTE_INSN_PROLOGUE_END") - (!option dot string "") - ) - ) - (!pair "rt_int" - (!type already_seen 2) - (!srcfileloc "gengtype.cc" 1208) - (!options - (!option tag string "NOTE_INSN_FUNCTION_BEG") - (!option dot string "") - ) - ) - (!pair "rt_tree" - (!type already_seen 23) - (!srcfileloc "gengtype.cc" 1200) - (!options - (!option tag string "NOTE_INSN_BLOCK_END") - (!option dot string "") - ) - ) - (!pair "rt_tree" - (!type already_seen 23) - (!srcfileloc "gengtype.cc" 1200) - (!options - (!option tag string "NOTE_INSN_BLOCK_BEG") - (!option dot string "") - ) - ) - (!pair "rt_str" - (!type already_seen 11) - (!srcfileloc "gengtype.cc" 1195) - (!options - (!option tag string "NOTE_INSN_DELETED_DEBUG_LABEL") - (!option dot string "") - ) - ) - (!pair "rt_str" - (!type already_seen 11) - (!srcfileloc "gengtype.cc" 1195) - (!options - (!option tag string "NOTE_INSN_DELETED_LABEL") - (!option dot string "") - ) - ) - (!pair "rt_int" - (!type already_seen 2) - (!srcfileloc "gengtype.cc" 1208) - (!options - (!option tag string "NOTE_INSN_DELETED") - (!option dot string "") - ) - ) - ) - nil 4095 nil ) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option desc string "NOTE_KIND (&%0)") - (!option dot string "") - ) - ) - (!pair ".fld[2].rt_bb" - (!type pointer 269 nil gc_used - (!type struct 270 - (!type already_seen 269) - gc_pointed_to "basic_block_def" - (!srcfileloc "basic-block.h" 151) - (!fields 11 - (!pair "preds" - (!type pointer 271 nil gc_used - (!type user_struct 272 - (!type already_seen 271) - gc_pointed_to "vec" - (!srcfileloc "basic-block.h" 119) - (!fields 2 - (!pair "va_gc" - (!type already_seen 80) - (!srcfileloc "basic-block.h" 119) - nil ) - (!pair "edge" - (!type pointer 273 nil gc_used - (!type user_struct 274 - (!type already_seen 273) - gc_pointed_to "edge_def" - (!srcfileloc "basic-block.h" 53) - (!fields 0 ) - ) - ) - (!srcfileloc "basic-block.h" 119) - nil ) - ) - ) - ) - (!srcfileloc "basic-block.h" 119) - nil ) - (!pair "succs" - (!type already_seen 271) - (!srcfileloc "basic-block.h" 120) - nil ) - (!pair "aux" - (!type already_seen 3) - (!srcfileloc "basic-block.h" 123) - (!options - (!option skip string "") - ) - ) - (!pair "loop_father" - (!type pointer 275 nil gc_used - (!type struct 276 - (!type already_seen 275) - gc_pointed_to "loop" - (!srcfileloc "cfgloop.h" 275) - (!fields 37 - (!pair "num" - (!type already_seen 2) - (!srcfileloc "cfgloop.h" 121) - nil ) - (!pair "ninsns" - (!type already_seen 2) - (!srcfileloc "cfgloop.h" 124) - nil ) - (!pair "header" - (!type already_seen 269) - (!srcfileloc "cfgloop.h" 127) - nil ) - (!pair "latch" - (!type already_seen 269) - (!srcfileloc "cfgloop.h" 130) - nil ) - (!pair "lpt_decision" - (!type struct 277 nil gc_used "lpt_decision" - (!srcfileloc "cfgloop.h" 37) - (!fields 2 - (!pair "decision" - (!type already_seen 2) - (!srcfileloc "cfgloop.h" 35) - nil ) - (!pair "times" - (!type already_seen 2) - (!srcfileloc "cfgloop.h" 36) - nil ) - ) - nil 4095 nil nil ) - (!srcfileloc "cfgloop.h" 133) - nil ) - (!pair "av_ninsns" - (!type already_seen 2) - (!srcfileloc "cfgloop.h" 136) - nil ) - (!pair "num_nodes" - (!type already_seen 2) - (!srcfileloc "cfgloop.h" 139) - nil ) - (!pair "superloops" - (!type pointer 278 nil gc_used - (!type user_struct 279 - (!type already_seen 278) - gc_pointed_to "vec" - (!srcfileloc "cfgloop.h" 142) - (!fields 2 - (!pair "va_gc" - (!type already_seen 80) - (!srcfileloc "cfgloop.h" 142) - nil ) - (!pair "loop_p" - (!type already_seen 275) - (!srcfileloc "cfgloop.h" 142) - nil ) - ) - ) - ) - (!srcfileloc "cfgloop.h" 142) - nil ) - (!pair "inner" - (!type already_seen 275) - (!srcfileloc "cfgloop.h" 145) - nil ) - (!pair "next" - (!type already_seen 275) - (!srcfileloc "cfgloop.h" 148) - nil ) - (!pair "aux" - (!type already_seen 3) - (!srcfileloc "cfgloop.h" 151) - (!options - (!option skip string "") - ) - ) - (!pair "nb_iterations" - (!type already_seen 23) - (!srcfileloc "cfgloop.h" 160) - nil ) - (!pair "nb_iterations_upper_bound" - (!type already_seen 2) - (!srcfileloc "cfgloop.h" 164) - nil ) - (!pair "nb_iterations_likely_upper_bound" - (!type already_seen 2) - (!srcfileloc "cfgloop.h" 166) - nil ) - (!pair "nb_iterations_estimate" - (!type already_seen 2) - (!srcfileloc "cfgloop.h" 171) - nil ) - (!pair "safelen" - (!type already_seen 2) - (!srcfileloc "cfgloop.h" 177) - nil ) - (!pair "simdlen" - (!type already_seen 2) - (!srcfileloc "cfgloop.h" 180) - nil ) - (!pair "constraints" - (!type already_seen 2) - (!srcfileloc "cfgloop.h" 203) - nil ) - (!pair "estimate_state" - (!type already_seen 2) - (!srcfileloc "cfgloop.h" 207) - nil ) - (!pair "any_upper_bound" - (!type already_seen 2) - (!srcfileloc "cfgloop.h" 209) - nil ) - (!pair "any_estimate" - (!type already_seen 2) - (!srcfileloc "cfgloop.h" 210) - nil ) - (!pair "any_likely_upper_bound" - (!type already_seen 2) - (!srcfileloc "cfgloop.h" 211) - nil ) - (!pair "can_be_parallel" - (!type already_seen 2) - (!srcfileloc "cfgloop.h" 214) - nil ) - (!pair "warned_aggressive_loop_optimizations" - (!type already_seen 2) - (!srcfileloc "cfgloop.h" 218) - nil ) - (!pair "dont_vectorize" - (!type already_seen 2) - (!srcfileloc "cfgloop.h" 221) - nil ) - (!pair "force_vectorize" - (!type already_seen 2) - (!srcfileloc "cfgloop.h" 224) - nil ) - (!pair "in_oacc_kernels_region" - (!type already_seen 2) - (!srcfileloc "cfgloop.h" 227) - nil ) - (!pair "finite_p" - (!type already_seen 2) - (!srcfileloc "cfgloop.h" 231) - nil ) - (!pair "unroll" - (!type already_seen 2) - (!srcfileloc "cfgloop.h" 237) - nil ) - (!pair "owned_clique" - (!type already_seen 2) - (!srcfileloc "cfgloop.h" 241) - nil ) - (!pair "simduid" - (!type already_seen 23) - (!srcfileloc "cfgloop.h" 246) - nil ) - (!pair "orig_loop_num" - (!type already_seen 2) - (!srcfileloc "cfgloop.h" 256) - nil ) - (!pair "bounds" - (!type pointer 280 nil gc_used - (!type struct 281 - (!type already_seen 280) - gc_pointed_to "nb_iter_bound" - (!srcfileloc "cfgloop.h" 70) - (!fields 4 - (!pair "stmt" - (!type pointer 282 nil gc_used - (!type struct 283 - (!type already_seen 282) - gc_pointed_to "gimple" - (!srcfileloc "gimple.h" 288) - (!fields 15 - (!pair "code" - (!type already_seen 2) - (!srcfileloc "gimple.h" 229) - nil ) - (!pair "no_warning" - (!type already_seen 2) - (!srcfileloc "gimple.h" 232) - nil ) - (!pair "visited" - (!type already_seen 2) - (!srcfileloc "gimple.h" 236) - nil ) - (!pair "nontemporal_move" - (!type already_seen 2) - (!srcfileloc "gimple.h" 239) - nil ) - (!pair "plf" - (!type already_seen 2) - (!srcfileloc "gimple.h" 246) - nil ) - (!pair "modified" - (!type already_seen 2) - (!srcfileloc "gimple.h" 250) - nil ) - (!pair "has_volatile_ops" - (!type already_seen 2) - (!srcfileloc "gimple.h" 253) - nil ) - (!pair "pad" - (!type already_seen 2) - (!srcfileloc "gimple.h" 256) - nil ) - (!pair "subcode" - (!type already_seen 2) - (!srcfileloc "gimple.h" 262) - nil ) - (!pair "uid" - (!type already_seen 2) - (!srcfileloc "gimple.h" 267) - nil ) - (!pair "location" - (!type already_seen 2) - (!srcfileloc "gimple.h" 271) - nil ) - (!pair "num_ops" - (!type already_seen 2) - (!srcfileloc "gimple.h" 274) - nil ) - (!pair "bb" - (!type already_seen 269) - (!srcfileloc "gimple.h" 278) - nil ) - (!pair "next" - (!type already_seen 282) - (!srcfileloc "gimple.h" 286) - nil ) - (!pair "prev" - (!type already_seen 282) - (!srcfileloc "gimple.h" 287) - (!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)") - ) - 4095 nil nil ) - ) - (!srcfileloc "cfgloop.h" 52) - nil ) - (!pair "bound" - (!type already_seen 2) - (!srcfileloc "cfgloop.h" 61) - nil ) - (!pair "is_exit" - (!type already_seen 2) - (!srcfileloc "cfgloop.h" 66) - nil ) - (!pair "next" - (!type already_seen 280) - (!srcfileloc "cfgloop.h" 69) - nil ) - ) - (!options - (!option chain_next string "%h.next") - ) - 4095 nil nil ) - ) - (!srcfileloc "cfgloop.h" 259) - nil ) - (!pair "control_ivs" - (!type pointer 284 nil gc_used - (!type struct 285 - (!type already_seen 284) - gc_pointed_to "control_iv" - (!srcfileloc "cfgloop.h" 114) - (!fields 3 - (!pair "base" - (!type already_seen 23) - (!srcfileloc "cfgloop.h" 111) - nil ) - (!pair "step" - (!type already_seen 23) - (!srcfileloc "cfgloop.h" 112) - nil ) - (!pair "next" - (!type already_seen 284) - (!srcfileloc "cfgloop.h" 113) - nil ) - ) - (!options - (!option chain_next string "%h.next") - ) - 4095 nil nil ) - ) - (!srcfileloc "cfgloop.h" 262) - nil ) - (!pair "exits" - (!type pointer 286 nil gc_used - (!type struct 287 - (!type already_seen 286) - gc_pointed_to "loop_exit" - (!srcfileloc "cfgloop.h" 84) - (!fields 4 - (!pair "e" - (!type already_seen 273) - (!srcfileloc "cfgloop.h" 76) - nil ) - (!pair "prev" - (!type already_seen 286) - (!srcfileloc "cfgloop.h" 79) - nil ) - (!pair "next" - (!type already_seen 286) - (!srcfileloc "cfgloop.h" 80) - nil ) - (!pair "next_e" - (!type already_seen 286) - (!srcfileloc "cfgloop.h" 83) - nil ) - ) - (!options - (!option for_user string "") - ) - 4095 nil nil ) - ) - (!srcfileloc "cfgloop.h" 265) - nil ) - (!pair "simple_loop_desc" - (!type pointer 288 nil gc_used - (!type struct 289 - (!type already_seen 288) - gc_pointed_to "niter_desc" - (!srcfileloc "cfgloop.h" 497) - (!fields 11 - (!pair "out_edge" - (!type already_seen 273) - (!srcfileloc "cfgloop.h" 464) - nil ) - (!pair "in_edge" - (!type already_seen 273) - (!srcfileloc "cfgloop.h" 467) - nil ) - (!pair "simple_p" - (!type already_seen 2) - (!srcfileloc "cfgloop.h" 471) - nil ) - (!pair "const_iter" - (!type already_seen 2) - (!srcfileloc "cfgloop.h" 474) - nil ) - (!pair "niter" - (!type already_seen 2) - (!srcfileloc "cfgloop.h" 477) - nil ) - (!pair "assumptions" - (!type already_seen 100) - (!srcfileloc "cfgloop.h" 480) - nil ) - (!pair "noloop_assumptions" - (!type already_seen 100) - (!srcfileloc "cfgloop.h" 484) - nil ) - (!pair "infinite" - (!type already_seen 100) - (!srcfileloc "cfgloop.h" 487) - nil ) - (!pair "signed_p" - (!type already_seen 2) - (!srcfileloc "cfgloop.h" 490) - nil ) - (!pair "mode" - (!type struct 290 nil gc_used "scalar_int_mode" - (!srcfileloc "coretypes.h" 66) - (!fields 0 ) - nil 4095 nil nil ) - (!srcfileloc "cfgloop.h" 493) - nil ) - (!pair "niter_expr" - (!type already_seen 100) - (!srcfileloc "cfgloop.h" 496) - nil ) - ) - nil 4095 nil nil ) - ) - (!srcfileloc "cfgloop.h" 268) - nil ) - (!pair "former_header" - (!type already_seen 269) - (!srcfileloc "cfgloop.h" 274) - nil ) - ) - (!options - (!option chain_next string "%h.next") - ) - 4095 nil nil ) - ) - (!srcfileloc "basic-block.h" 126) - nil ) - (!pair "dom" - (!type array 291 nil gc_unused "2" - (!type pointer 292 nil gc_unused - (!type struct 293 - (!type already_seen 292) - gc_unused "et_node"nil - (!fields 0 ) - nil 0 nil nil ) - ) - ) - (!srcfileloc "basic-block.h" 129) - (!options - (!option skip string "") - ) - ) - (!pair "prev_bb" - (!type already_seen 269) - (!srcfileloc "basic-block.h" 132) - nil ) - (!pair "next_bb" - (!type already_seen 269) - (!srcfileloc "basic-block.h" 133) - nil ) - (!pair "il" - (!type union 294 nil gc_used "basic_block_il_dependent" - (!srcfileloc "basic-block.h" 141) - (!fields 2 - (!pair "gimple" - (!type struct 295 nil gc_used "gimple_bb_info" - (!srcfileloc "basic-block.h" 89) - (!fields 2 - (!pair "seq" - (!type already_seen 282) - (!srcfileloc "basic-block.h" 85) - nil ) - (!pair "phi_nodes" - (!type already_seen 282) - (!srcfileloc "basic-block.h" 88) - nil ) - ) - nil 4095 nil nil ) - (!srcfileloc "basic-block.h" 136) - (!options - (!option tag string "0") - ) - ) - (!pair "x" - (!type struct 296 nil gc_used "anonymous:../../gcc/gcc/basic-block.h:137" - (!srcfileloc "basic-block.h" 140) - (!fields 2 - (!pair "head_" - (!type pointer 297 nil gc_used - (!type struct 298 - (!type already_seen 297) - gc_pointed_to "rtx_insn" - (!srcfileloc "rtl.h" 574) - (!fields 0 ) - nil 4095 nil - (!type already_seen 102) - ) - ) - (!srcfileloc "basic-block.h" 138) - nil ) - (!pair "rtl" - (!type pointer 299 nil gc_used - (!type struct 300 - (!type already_seen 299) - gc_pointed_to "rtl_bb_info" - (!srcfileloc "basic-block.h" 81) - (!fields 3 - (!pair "end_" - (!type already_seen 297) - (!srcfileloc "basic-block.h" 75) - nil ) - (!pair "header_" - (!type already_seen 297) - (!srcfileloc "basic-block.h" 79) - nil ) - (!pair "footer_" - (!type already_seen 297) - (!srcfileloc "basic-block.h" 80) - nil ) - ) - nil 4095 nil nil ) - ) - (!srcfileloc "basic-block.h" 139) - nil ) - ) - nil 4095 nil nil ) - (!srcfileloc "basic-block.h" 140) - (!options - (!option tag string "1") - ) - ) - ) - nil 4095 nil ) - (!srcfileloc "basic-block.h" 141) - (!options - (!option desc string "((%1.flags & BB_RTL) != 0)") - ) - ) - (!pair "flags" - (!type already_seen 2) - (!srcfileloc "basic-block.h" 144) - nil ) - (!pair "index" - (!type already_seen 2) - (!srcfileloc "basic-block.h" 147) - nil ) - (!pair "count" - (!type struct 301 nil gc_used "profile_count" - (!srcfileloc "profile-count.h" 1293) - (!fields 2 - (!pair "UINT64_BIT_FIELD_ALIGN" - (!type already_seen 2) - (!srcfileloc "profile-count.h" 736) - nil ) - (!pair "m_quality" - (!type already_seen 2) - (!srcfileloc "profile-count.h" 738) - nil ) - ) - nil 4095 nil nil ) - (!srcfileloc "basic-block.h" 150) - nil ) - ) - (!options - (!option chain_prev string "%h.prev_bb") - (!option chain_next string "%h.next_bb") - ) - 4095 nil nil ) - ) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - (!pair ".fld[1].rt_rtx" - (!type already_seen 100) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - (!pair ".fld[0].rt_rtx" - (!type already_seen 100) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - ) - nil 4095 nil nil ) - (!srcfileloc "gengtype.cc" 1379) - (!options - (!option tag string "NOTE") - (!option dot string "") - ) - ) - (!pair "" - (!type struct 302 nil gc_used "rtx_def_code_label" - (!srcfileloc "rtl.h" 452) - (!fields 7 - (!pair ".fld[6].rt_str" - (!type already_seen 11) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - (!pair ".fld[5].rt_int" - (!type already_seen 2) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - (!pair ".fld[4].rt_int" - (!type already_seen 2) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - (!pair ".fld[3].rt_rtx" - (!type already_seen 100) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - (!pair ".fld[2].rt_bb" - (!type already_seen 269) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - (!pair ".fld[1].rt_rtx" - (!type already_seen 100) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - (!pair ".fld[0].rt_rtx" - (!type already_seen 100) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - ) - nil 4095 nil nil ) - (!srcfileloc "gengtype.cc" 1379) - (!options - (!option tag string "CODE_LABEL") - (!option dot string "") - ) - ) - (!pair "" - (!type struct 303 nil gc_used "rtx_def_barrier" - (!srcfileloc "rtl.h" 452) - (!fields 7 - (!pair ".fld[6].rt_int" - (!type already_seen 2) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - (!pair ".fld[5].rt_int" - (!type already_seen 2) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - (!pair ".fld[4].rt_int" - (!type already_seen 2) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - (!pair ".fld[3].rt_int" - (!type already_seen 2) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - (!pair ".fld[2].rt_int" - (!type already_seen 2) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - (!pair ".fld[1].rt_rtx" - (!type already_seen 100) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - (!pair ".fld[0].rt_rtx" - (!type already_seen 100) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - ) - nil 4095 nil nil ) - (!srcfileloc "gengtype.cc" 1379) - (!options - (!option tag string "BARRIER") - (!option dot string "") - ) - ) - (!pair "" - (!type struct 304 nil gc_used "rtx_def_jump_table_data" - (!srcfileloc "rtl.h" 452) - (!fields 8 - (!pair ".fld[7].rt_int" - (!type already_seen 2) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - (!pair ".fld[6].rt_int" - (!type already_seen 2) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - (!pair ".fld[5].rt_int" - (!type already_seen 2) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - (!pair ".fld[4].rt_int" - (!type already_seen 2) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - (!pair ".fld[3].rt_rtx" - (!type already_seen 100) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - (!pair ".fld[2].rt_bb" - (!type already_seen 269) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - (!pair ".fld[1].rt_rtx" - (!type already_seen 100) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - (!pair ".fld[0].rt_rtx" - (!type already_seen 100) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - ) - nil 4095 nil nil ) - (!srcfileloc "gengtype.cc" 1379) - (!options - (!option tag string "JUMP_TABLE_DATA") - (!option dot string "") - ) - ) - (!pair "" - (!type struct 305 nil gc_used "rtx_def_call_insn" - (!srcfileloc "rtl.h" 452) - (!fields 8 - (!pair ".fld[7].rt_rtx" - (!type already_seen 100) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - (!pair ".fld[6].rt_rtx" - (!type already_seen 100) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - (!pair ".fld[5].rt_int" - (!type already_seen 2) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - (!pair ".fld[4].rt_int" - (!type already_seen 2) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - (!pair ".fld[3].rt_rtx" - (!type already_seen 100) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - (!pair ".fld[2].rt_bb" - (!type already_seen 269) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - (!pair ".fld[1].rt_rtx" - (!type already_seen 100) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - (!pair ".fld[0].rt_rtx" - (!type already_seen 100) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - ) - nil 4095 nil nil ) - (!srcfileloc "gengtype.cc" 1379) - (!options - (!option tag string "CALL_INSN") - (!option dot string "") - ) - ) - (!pair "" - (!type struct 306 nil gc_used "rtx_def_jump_insn" - (!srcfileloc "rtl.h" 452) - (!fields 8 - (!pair ".fld[7].rt_rtx" - (!type already_seen 100) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - (!pair ".fld[6].rt_rtx" - (!type already_seen 100) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - (!pair ".fld[5].rt_int" - (!type already_seen 2) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - (!pair ".fld[4].rt_int" - (!type already_seen 2) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - (!pair ".fld[3].rt_rtx" - (!type already_seen 100) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - (!pair ".fld[2].rt_bb" - (!type already_seen 269) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - (!pair ".fld[1].rt_rtx" - (!type already_seen 100) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - (!pair ".fld[0].rt_rtx" - (!type already_seen 100) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - ) - nil 4095 nil nil ) - (!srcfileloc "gengtype.cc" 1379) - (!options - (!option tag string "JUMP_INSN") - (!option dot string "") - ) - ) - (!pair "" - (!type struct 307 nil gc_used "rtx_def_insn" - (!srcfileloc "rtl.h" 452) - (!fields 7 - (!pair ".fld[6].rt_rtx" - (!type already_seen 100) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - (!pair ".fld[5].rt_int" - (!type already_seen 2) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - (!pair ".fld[4].rt_int" - (!type already_seen 2) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - (!pair ".fld[3].rt_rtx" - (!type already_seen 100) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - (!pair ".fld[2].rt_bb" - (!type already_seen 269) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - (!pair ".fld[1].rt_rtx" - (!type already_seen 100) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - (!pair ".fld[0].rt_rtx" - (!type already_seen 100) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - ) - nil 4095 nil nil ) - (!srcfileloc "gengtype.cc" 1379) - (!options - (!option tag string "INSN") - (!option dot string "") - ) - ) - (!pair "" - (!type struct 308 nil gc_used "rtx_def_debug_insn" - (!srcfileloc "rtl.h" 452) - (!fields 7 - (!pair ".fld[6].rt_rtx" - (!type already_seen 100) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - (!pair ".fld[5].rt_int" - (!type already_seen 2) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - (!pair ".fld[4].rt_int" - (!type already_seen 2) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - (!pair ".fld[3].rt_rtx" - (!type already_seen 100) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - (!pair ".fld[2].rt_bb" - (!type already_seen 269) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - (!pair ".fld[1].rt_rtx" - (!type already_seen 100) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - (!pair ".fld[0].rt_rtx" - (!type already_seen 100) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - ) - nil 4095 nil nil ) - (!srcfileloc "gengtype.cc" 1379) - (!options - (!option tag string "DEBUG_INSN") - (!option dot string "") - ) - ) - (!pair "" - (!type struct 309 nil gc_used "rtx_def_address" - (!srcfileloc "rtl.h" 452) - (!fields 1 - (!pair ".fld[0].rt_int" - (!type already_seen 2) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - ) - nil 4095 nil nil ) - (!srcfileloc "gengtype.cc" 1379) - (!options - (!option tag string "ADDRESS") - (!option dot string "") - ) - ) - (!pair "" - (!type struct 310 nil gc_used "rtx_def_sequence" - (!srcfileloc "rtl.h" 452) - (!fields 1 - (!pair ".fld[0].rt_rtvec" - (!type already_seen 231) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - ) - nil 4095 nil nil ) - (!srcfileloc "gengtype.cc" 1379) - (!options - (!option tag string "SEQUENCE") - (!option dot string "") - ) - ) - (!pair "" - (!type struct 311 nil gc_used "rtx_def_int_list" - (!srcfileloc "rtl.h" 452) - (!fields 2 - (!pair ".fld[1].rt_rtx" - (!type already_seen 100) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - (!pair ".fld[0].rt_int" - (!type already_seen 2) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - ) - nil 4095 nil nil ) - (!srcfileloc "gengtype.cc" 1379) - (!options - (!option tag string "INT_LIST") - (!option dot string "") - ) - ) - (!pair "" - (!type struct 312 nil gc_used "rtx_def_insn_list" - (!srcfileloc "rtl.h" 452) - (!fields 2 - (!pair ".fld[1].rt_rtx" - (!type already_seen 100) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - (!pair ".fld[0].rt_rtx" - (!type already_seen 100) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - ) - nil 4095 nil nil ) - (!srcfileloc "gengtype.cc" 1379) - (!options - (!option tag string "INSN_LIST") - (!option dot string "") - ) - ) - (!pair "" - (!type struct 313 nil gc_used "rtx_def_expr_list" - (!srcfileloc "rtl.h" 452) - (!fields 2 - (!pair ".fld[1].rt_rtx" - (!type already_seen 100) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - (!pair ".fld[0].rt_rtx" - (!type already_seen 100) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - ) - nil 4095 nil nil ) - (!srcfileloc "gengtype.cc" 1379) - (!options - (!option tag string "EXPR_LIST") - (!option dot string "") - ) - ) - (!pair "" - (!type struct 314 nil gc_used "rtx_def_debug_expr" - (!srcfileloc "rtl.h" 452) - (!fields 1 - (!pair ".fld[0].rt_tree" - (!type already_seen 23) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - ) - nil 4095 nil nil ) - (!srcfileloc "gengtype.cc" 1379) - (!options - (!option tag string "DEBUG_EXPR") - (!option dot string "") - ) - ) - (!pair "" - (!type struct 315 nil gc_used "rtx_def_value" - (!srcfileloc "rtl.h" 452) - (!fields 1 - (!pair ".fld[0].rt_int" - (!type already_seen 2) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - ) - nil 4095 nil nil ) - (!srcfileloc "gengtype.cc" 1379) - (!options - (!option tag string "VALUE") - (!option dot string "") - ) - ) - (!pair "" - (!type struct 316 nil gc_used "rtx_def_UnKnown" - (!srcfileloc "rtl.h" 452) - (!fields 1 - (!pair ".fld[0].rt_int" - (!type already_seen 2) - (!srcfileloc "gengtype.cc" 1347) - (!options - (!option dot string "") - ) - ) - ) - nil 4095 nil nil ) - (!srcfileloc "gengtype.cc" 1379) - (!options - (!option tag string "UNKNOWN") - (!option dot string "") - ) - ) - ) - (!options - (!option dot string "") - ) - 4095 nil ) - (!srcfileloc "rtl.h" 452) - (!options - (!option desc string "GET_CODE (&%0)") - (!option special string "rtx_def") - ) - ) - ) - (!options - (!option chain_prev string "RTX_PREV (&%h)") - (!option chain_next string "RTX_NEXT (&%h)") - (!option tag string "0") - (!option desc string "0") - ) - 4095 nil nil ) - ) - (!srcfileloc "tree-core.h" 1853) - nil ) - ) - nil 4095 nil nil ) - (!srcfileloc "tree-core.h" 2077) - (!options - (!option tag string "TS_DECL_WRTL") - ) - ) - (!pair "decl_non_common" - (!type struct 317 nil gc_used "tree_decl_non_common" - (!srcfileloc "tree-core.h" 1930) - (!fields 2 - (!pair "common" - (!type struct 318 nil gc_used "tree_decl_with_vis" - (!srcfileloc "tree-core.h" 1920) - (!fields 20 - (!pair "common" - (!type already_seen 99) - (!srcfileloc "tree-core.h" 1886) - nil ) - (!pair "assembler_name" - (!type already_seen 23) - (!srcfileloc "tree-core.h" 1887) - nil ) - (!pair "symtab_node" - (!type pointer 319 nil gc_used - (!type struct 320 - (!type already_seen 319) - gc_pointed_to "symtab_node" - (!srcfileloc "cgraph.h" 680) - (!fields 42 - (!pair "DEBUG_FUNCTION" - (!type already_seen 2) - (!srcfileloc "cgraph.h" 165) - nil ) - (!pair "DEBUG_FUNCTION" - (!type already_seen 2) - (!srcfileloc "cgraph.h" 168) - nil ) - (!pair "type" - (!type already_seen 2) - (!srcfileloc "cgraph.h" 489) - nil ) - (!pair "resolution" - (!type already_seen 2) - (!srcfileloc "cgraph.h" 492) - nil ) - (!pair "definition" - (!type already_seen 2) - (!srcfileloc "cgraph.h" 498) - nil ) - (!pair "alias" - (!type already_seen 2) - (!srcfileloc "cgraph.h" 501) - nil ) - (!pair "transparent_alias" - (!type already_seen 2) - (!srcfileloc "cgraph.h" 523) - nil ) - (!pair "weakref" - (!type already_seen 2) - (!srcfileloc "cgraph.h" 525) - nil ) - (!pair "cpp_implicit_alias" - (!type already_seen 2) - (!srcfileloc "cgraph.h" 532) - nil ) - (!pair "symver" - (!type already_seen 2) - (!srcfileloc "cgraph.h" 534) - nil ) - (!pair "analyzed" - (!type already_seen 2) - (!srcfileloc "cgraph.h" 537) - nil ) - (!pair "writeonly" - (!type already_seen 2) - (!srcfileloc "cgraph.h" 539) - nil ) - (!pair "refuse_visibility_changes" - (!type already_seen 2) - (!srcfileloc "cgraph.h" 542) - nil ) - (!pair "externally_visible" - (!type already_seen 2) - (!srcfileloc "cgraph.h" 547) - nil ) - (!pair "no_reorder" - (!type already_seen 2) - (!srcfileloc "cgraph.h" 549) - nil ) - (!pair "force_output" - (!type already_seen 2) - (!srcfileloc "cgraph.h" 552) - nil ) - (!pair "forced_by_abi" - (!type already_seen 2) - (!srcfileloc "cgraph.h" 556) - nil ) - (!pair "unique_name" - (!type already_seen 2) - (!srcfileloc "cgraph.h" 558) - nil ) - (!pair "implicit_section" - (!type already_seen 2) - (!srcfileloc "cgraph.h" 561) - nil ) - (!pair "body_removed" - (!type already_seen 2) - (!srcfileloc "cgraph.h" 564) - nil ) - (!pair "semantic_interposition" - (!type already_seen 2) - (!srcfileloc "cgraph.h" 566) - nil ) - (!pair "used_from_other_partition" - (!type already_seen 2) - (!srcfileloc "cgraph.h" 573) - nil ) - (!pair "in_other_partition" - (!type already_seen 2) - (!srcfileloc "cgraph.h" 577) - nil ) - (!pair "address_taken" - (!type already_seen 2) - (!srcfileloc "cgraph.h" 584) - nil ) - (!pair "in_init_priority_hash" - (!type already_seen 2) - (!srcfileloc "cgraph.h" 586) - nil ) - (!pair "need_lto_streaming" - (!type already_seen 2) - (!srcfileloc "cgraph.h" 590) - nil ) - (!pair "offloadable" - (!type already_seen 2) - (!srcfileloc "cgraph.h" 593) - nil ) - (!pair "ifunc_resolver" - (!type already_seen 2) - (!srcfileloc "cgraph.h" 596) - nil ) - (!pair "order" - (!type already_seen 2) - (!srcfileloc "cgraph.h" 600) - nil ) - (!pair "decl" - (!type already_seen 23) - (!srcfileloc "cgraph.h" 603) - nil ) - (!pair "next" - (!type already_seen 319) - (!srcfileloc "cgraph.h" 606) - nil ) - (!pair "previous" - (!type already_seen 319) - (!srcfileloc "cgraph.h" 607) - nil ) - (!pair "next_sharing_asm_name" - (!type already_seen 319) - (!srcfileloc "cgraph.h" 618) - nil ) - (!pair "previous_sharing_asm_name" - (!type already_seen 319) - (!srcfileloc "cgraph.h" 619) - nil ) - (!pair "same_comdat_group" - (!type already_seen 319) - (!srcfileloc "cgraph.h" 622) - nil ) - (!pair "ref_list" - (!type struct 321 nil gc_unused "ipa_ref_list" - (!srcfileloc "cgraph.h" 625) - (!fields 0 ) - nil 4095 nil nil ) - (!srcfileloc "cgraph.h" 625) - (!options - (!option skip string "") - ) - ) - (!pair "alias_target" - (!type already_seen 23) - (!srcfileloc "cgraph.h" 630) - nil ) - (!pair "lto_file_data" - (!type pointer 322 - (!type pointer 323 nil gc_used - (!type already_seen 322) - ) - gc_pointed_to - (!type struct 324 - (!type already_seen 322) - gc_pointed_to "lto_file_decl_data" - (!srcfileloc "lto-streamer.h" 607) - (!fields 18 - (!pair "current_decl_state" - (!type pointer 325 nil gc_used - (!type struct 326 - (!type already_seen 325) - gc_pointed_to "lto_in_decl_state" - (!srcfileloc "lto-streamer.h" 502) - (!fields 3 - (!pair "streams" - (!type array 327 nil gc_used "LTO_N_DECL_STREAMS" - (!type already_seen 85) - ) - (!srcfileloc "lto-streamer.h" 494) - nil ) - (!pair "fn_decl" - (!type already_seen 23) - (!srcfileloc "lto-streamer.h" 498) - nil ) - (!pair "compressed" - (!type already_seen 2) - (!srcfileloc "lto-streamer.h" 501) - nil ) - ) - (!options - (!option for_user string "") - ) - 4095 nil nil ) - ) - (!srcfileloc "lto-streamer.h" 559) - nil ) - (!pair "global_decl_state" - (!type already_seen 325) - (!srcfileloc "lto-streamer.h" 563) - nil ) - (!pair "symtab_node_encoder" - (!type pointer 328 nil gc_unused - (!type struct 329 - (!type already_seen 328) - gc_unused "lto_symtab_encoder_d"nil - (!fields 0 ) - nil 0 nil nil ) - ) - (!srcfileloc "lto-streamer.h" 566) - (!options - (!option skip string "") - ) - ) - (!pair "function_decl_states" - (!type pointer 330 nil gc_used - (!type user_struct 331 - (!type already_seen 330) - gc_pointed_to "hash_table" - (!srcfileloc "lto-streamer.h" 569) - (!fields 1 - (!pair "decl_state_hasher" - (!type struct 332 nil gc_used "decl_state_hasher" - (!srcfileloc "lto-streamer.h" 569) - (!fields 0 ) - nil 4095 nil nil ) - (!srcfileloc "lto-streamer.h" 569) - nil ) - ) - ) - ) - (!srcfileloc "lto-streamer.h" 569) - nil ) - (!pair "file_name" - (!type already_seen 11) - (!srcfileloc "lto-streamer.h" 572) - (!options - (!option skip string "") - ) - ) - (!pair "section_hash_table" - (!type pointer 333 nil gc_unused - (!type struct 334 - (!type already_seen 333) - gc_unused "htab"nil - (!fields 0 ) - nil 0 nil nil ) - ) - (!srcfileloc "lto-streamer.h" 575) - (!options - (!option skip string "") - ) - ) - (!pair "renaming_hash_table" - (!type already_seen 333) - (!srcfileloc "lto-streamer.h" 578) - (!options - (!option skip string "") - ) - ) - (!pair "next" - (!type already_seen 322) - (!srcfileloc "lto-streamer.h" 581) - nil ) - (!pair "order" - (!type already_seen 2) - (!srcfileloc "lto-streamer.h" 584) - nil ) - (!pair "id" - (!type already_seen 2) - (!srcfileloc "lto-streamer.h" 587) - nil ) - (!pair "respairs" - (!type user_struct 335 nil gc_unused "vec" - (!srcfileloc "lto-streamer.h" 590) - (!fields 1 - (!pair "res_pair" - (!type struct 336 nil gc_unused "res_pair" - (!srcfileloc "lto-streamer.h" 590) - (!fields 0 ) - nil 4095 nil nil ) - (!srcfileloc "lto-streamer.h" 590) - nil ) - ) - ) - (!srcfileloc "lto-streamer.h" 590) - (!options - (!option skip string "") - ) - ) - (!pair "max_index" - (!type already_seen 2) - (!srcfileloc "lto-streamer.h" 591) - nil ) - (!pair "profile_info" - (!type undefined 337 nil gc_unused "gcov_summary" - (!srcfileloc "lto-streamer.h" 593) - ) - (!srcfileloc "lto-streamer.h" 593) - (!options - (!option skip string "") - ) - ) - (!pair "resolution_map" - (!type pointer 338 nil gc_unused - (!type user_struct 339 - (!type already_seen 338) - gc_unused "hash_map" - (!srcfileloc "lto-streamer.h" 596) - (!fields 2 - (!pair "ld_plugin_symbol_resolution" - (!type undefined 340 nil gc_unused "ld_plugin_symbol_resolution" - (!srcfileloc "lto-streamer.h" 596) - ) - (!srcfileloc "lto-streamer.h" 596) - nil ) - (!pair "tree" - (!type already_seen 23) - (!srcfileloc "lto-streamer.h" 596) - nil ) - ) - ) - ) - (!srcfileloc "lto-streamer.h" 596) - (!options - (!option skip string "") - ) - ) - (!pair "mode_table" - (!type already_seen 11) - (!srcfileloc "lto-streamer.h" 599) - nil ) - (!pair "lto_section_header" - (!type struct 341 nil gc_used "lto_section" - (!srcfileloc "lto-streamer.h" 602) - (!fields 0 ) - nil 4095 nil nil ) - (!srcfileloc "lto-streamer.h" 602) - nil ) - (!pair "order_base" - (!type already_seen 2) - (!srcfileloc "lto-streamer.h" 604) - nil ) - (!pair "unit_base" - (!type already_seen 2) - (!srcfileloc "lto-streamer.h" 606) - nil ) - ) - nil 4095 nil nil ) - ) - (!srcfileloc "cgraph.h" 633) - nil ) - (!pair "aux" - (!type already_seen 3) - (!srcfileloc "cgraph.h" 635) - (!options - (!option skip string "") - ) - ) - (!pair "x_comdat_group" - (!type already_seen 23) - (!srcfileloc "cgraph.h" 638) - nil ) - (!pair "x_section" - (!type pointer 342 nil gc_used - (!type struct 343 - (!type already_seen 342) - gc_pointed_to "section_hash_entry" - (!srcfileloc "cgraph.h" 641) - (!fields 2 - (!pair "ref_count" - (!type already_seen 2) - (!srcfileloc "cgraph.h" 54) - nil ) - (!pair "name" - (!type already_seen 11) - (!srcfileloc "cgraph.h" 55) - nil ) - ) - (!options - (!option for_user string "") - ) - 4095 nil nil ) - ) - (!srcfileloc "cgraph.h" 641) - nil ) - (!pair "DEBUG_FUNCTION" - (!type already_seen 2) - (!srcfileloc "cgraph.h" 648) - nil ) - ) - (!options - (!option chain_prev string "%h.previous") - (!option chain_next string "%h.next") - (!option tag string "SYMTAB_SYMBOL") - (!option desc string "%h.type") - ) - 4095 nil nil ) - ) - (!srcfileloc "tree-core.h" 1888) - nil ) - (!pair "defer_output" - (!type already_seen 2) - (!srcfileloc "tree-core.h" 1891) - nil ) - (!pair "hard_register" - (!type already_seen 2) - (!srcfileloc "tree-core.h" 1892) - nil ) - (!pair "common_flag" - (!type already_seen 2) - (!srcfileloc "tree-core.h" 1893) - nil ) - (!pair "in_text_section" - (!type already_seen 2) - (!srcfileloc "tree-core.h" 1894) - nil ) - (!pair "in_constant_pool" - (!type already_seen 2) - (!srcfileloc "tree-core.h" 1895) - nil ) - (!pair "dllimport_flag" - (!type already_seen 2) - (!srcfileloc "tree-core.h" 1896) - nil ) - (!pair "weak_flag" - (!type already_seen 2) - (!srcfileloc "tree-core.h" 1898) - nil ) - (!pair "seen_in_bind_expr" - (!type already_seen 2) - (!srcfileloc "tree-core.h" 1900) - nil ) - (!pair "comdat_flag" - (!type already_seen 2) - (!srcfileloc "tree-core.h" 1901) - nil ) - (!pair "visibility" - (!type already_seen 2) - (!srcfileloc "tree-core.h" 1903) - nil ) - (!pair "visibility_specified" - (!type already_seen 2) - (!srcfileloc "tree-core.h" 1904) - nil ) - (!pair "init_priority_p" - (!type already_seen 2) - (!srcfileloc "tree-core.h" 1907) - nil ) - (!pair "shadowed_for_var_p" - (!type already_seen 2) - (!srcfileloc "tree-core.h" 1909) - nil ) - (!pair "cxx_constructor" - (!type already_seen 2) - (!srcfileloc "tree-core.h" 1911) - nil ) - (!pair "cxx_destructor" - (!type already_seen 2) - (!srcfileloc "tree-core.h" 1913) - nil ) - (!pair "final" - (!type already_seen 2) - (!srcfileloc "tree-core.h" 1915) - nil ) - (!pair "regdecl_flag" - (!type already_seen 2) - (!srcfileloc "tree-core.h" 1917) - nil ) - ) - nil 4095 nil nil ) - (!srcfileloc "tree-core.h" 1927) - nil ) - (!pair "result" - (!type already_seen 23) - (!srcfileloc "tree-core.h" 1929) - nil ) - ) - nil 4095 nil nil ) - (!srcfileloc "tree-core.h" 2079) - (!options - (!option tag string "TS_DECL_NON_COMMON") - ) - ) - (!pair "parm_decl" - (!type struct 344 nil gc_used "tree_parm_decl" - (!srcfileloc "tree-core.h" 1883) - (!fields 2 - (!pair "common" - (!type already_seen 99) - (!srcfileloc "tree-core.h" 1881) - nil ) - (!pair "incoming_rtl" - (!type already_seen 100) - (!srcfileloc "tree-core.h" 1882) - nil ) - ) - nil 4095 nil nil ) - (!srcfileloc "tree-core.h" 2080) - (!options - (!option tag string "TS_PARM_DECL") - ) - ) - (!pair "decl_with_vis" - (!type already_seen 318) - (!srcfileloc "tree-core.h" 2081) - (!options - (!option tag string "TS_DECL_WITH_VIS") - ) - ) - (!pair "var_decl" - (!type struct 345 nil gc_used "tree_var_decl" - (!srcfileloc "tree-core.h" 1924) - (!fields 1 - (!pair "common" - (!type already_seen 318) - (!srcfileloc "tree-core.h" 1923) - nil ) - ) - nil 4095 nil nil ) - (!srcfileloc "tree-core.h" 2082) - (!options - (!option tag string "TS_VAR_DECL") - ) - ) - (!pair "field_decl" - (!type struct 346 nil gc_used "tree_field_decl" - (!srcfileloc "tree-core.h" 1864) - (!fields 6 - (!pair "common" - (!type already_seen 52) - (!srcfileloc "tree-core.h" 1857) - nil ) - (!pair "offset" - (!type already_seen 23) - (!srcfileloc "tree-core.h" 1859) - nil ) - (!pair "bit_field_type" - (!type already_seen 23) - (!srcfileloc "tree-core.h" 1860) - nil ) - (!pair "qualifier" - (!type already_seen 23) - (!srcfileloc "tree-core.h" 1861) - nil ) - (!pair "bit_offset" - (!type already_seen 23) - (!srcfileloc "tree-core.h" 1862) - nil ) - (!pair "fcontext" - (!type already_seen 23) - (!srcfileloc "tree-core.h" 1863) - nil ) - ) - nil 4095 nil nil ) - (!srcfileloc "tree-core.h" 2083) - (!options - (!option tag string "TS_FIELD_DECL") - ) - ) - (!pair "label_decl" - (!type struct 347 nil gc_used "tree_label_decl" - (!srcfileloc "tree-core.h" 1870) - (!fields 3 - (!pair "common" - (!type already_seen 99) - (!srcfileloc "tree-core.h" 1867) - nil ) - (!pair "label_decl_uid" - (!type already_seen 2) - (!srcfileloc "tree-core.h" 1868) - nil ) - (!pair "eh_landing_pad_nr" - (!type already_seen 2) - (!srcfileloc "tree-core.h" 1869) - nil ) - ) - nil 4095 nil nil ) - (!srcfileloc "tree-core.h" 2084) - (!options - (!option tag string "TS_LABEL_DECL") - ) - ) - (!pair "result_decl" - (!type struct 348 nil gc_used "tree_result_decl" - (!srcfileloc "tree-core.h" 1874) - (!fields 1 - (!pair "common" - (!type already_seen 99) - (!srcfileloc "tree-core.h" 1873) - nil ) - ) - nil 4095 nil nil ) - (!srcfileloc "tree-core.h" 2085) - (!options - (!option tag string "TS_RESULT_DECL") - ) - ) - (!pair "const_decl" - (!type struct 349 nil gc_used "tree_const_decl" - (!srcfileloc "tree-core.h" 1878) - (!fields 1 - (!pair "common" - (!type already_seen 52) - (!srcfileloc "tree-core.h" 1877) - nil ) - ) - nil 4095 nil nil ) - (!srcfileloc "tree-core.h" 2086) - (!options - (!option tag string "TS_CONST_DECL") - ) - ) - (!pair "type_decl" - (!type struct 350 nil gc_used "tree_type_decl" - (!srcfileloc "tree-core.h" 2009) - (!fields 1 - (!pair "common" - (!type already_seen 317) - (!srcfileloc "tree-core.h" 2007) - nil ) - ) - nil 4095 nil nil ) - (!srcfileloc "tree-core.h" 2087) - (!options - (!option tag string "TS_TYPE_DECL") - ) - ) - (!pair "function_decl" - (!type struct 351 nil gc_used "tree_function_decl" - (!srcfileloc "tree-core.h" 1996) - (!fields 28 - (!pair "common" - (!type already_seen 317) - (!srcfileloc "tree-core.h" 1950) - nil ) - (!pair "f" - (!type pointer 352 nil gc_used - (!type struct 353 - (!type already_seen 352) - gc_pointed_to "function" - (!srcfileloc "function.h" 445) - (!fields 52 - (!pair "eh" - (!type pointer 354 nil gc_used - (!type struct 355 - (!type already_seen 354) - gc_pointed_to "eh_status" - (!srcfileloc "except.h" 218) - (!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" 180) - (!fields 10 - (!pair "outer" - (!type already_seen 356) - (!srcfileloc "except.h" 121) - nil ) - (!pair "inner" - (!type already_seen 356) - (!srcfileloc "except.h" 124) - nil ) - (!pair "next_peer" - (!type already_seen 356) - (!srcfileloc "except.h" 125) - nil ) - (!pair "index" - (!type already_seen 2) - (!srcfileloc "except.h" 128) - nil ) - (!pair "type" - (!type already_seen 2) - (!srcfileloc "except.h" 131) - nil ) - (!pair "u" - (!type union 358 nil gc_used "eh_region_u" - (!srcfileloc "except.h" 167) - (!fields 3 - (!pair "eh_try" - (!type struct 359 nil gc_used "eh_region_u_try" - (!srcfileloc "except.h" 139) - (!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" 114) - (!fields 5 - (!pair "next_catch" - (!type already_seen 360) - (!srcfileloc "except.h" 98) - nil ) - (!pair "prev_catch" - (!type already_seen 360) - (!srcfileloc "except.h" 99) - nil ) - (!pair "type_list" - (!type already_seen 23) - (!srcfileloc "except.h" 103) - nil ) - (!pair "filter_list" - (!type already_seen 23) - (!srcfileloc "except.h" 108) - nil ) - (!pair "label" - (!type already_seen 23) - (!srcfileloc "except.h" 113) - nil ) - ) - nil 4095 nil nil ) - ) - (!srcfileloc "except.h" 137) - nil ) - (!pair "last_catch" - (!type already_seen 360) - (!srcfileloc "except.h" 138) - nil ) - ) - nil 4095 nil nil ) - (!srcfileloc "except.h" 139) - (!options - (!option tag string "ERT_TRY") - ) - ) - (!pair "allowed" - (!type struct 362 nil gc_used "eh_region_u_allowed" - (!srcfileloc "except.h" 153) - (!fields 3 - (!pair "type_list" - (!type already_seen 23) - (!srcfileloc "except.h" 143) - nil ) - (!pair "label" - (!type already_seen 23) - (!srcfileloc "except.h" 147) - nil ) - (!pair "filter" - (!type already_seen 2) - (!srcfileloc "except.h" 152) - nil ) - ) - nil 4095 nil nil ) - (!srcfileloc "except.h" 153) - (!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" 166) - (!fields 2 - (!pair "failure_decl" - (!type already_seen 23) - (!srcfileloc "except.h" 163) - nil ) - (!pair "failure_loc" - (!type already_seen 2) - (!srcfileloc "except.h" 165) - nil ) - ) - nil 4095 nil nil ) - (!srcfileloc "except.h" 166) - (!options - (!option tag string "ERT_MUST_NOT_THROW") - ) - ) - ) - nil 4095 nil ) - (!srcfileloc "except.h" 167) - (!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" 91) - (!fields 5 - (!pair "next_lp" - (!type already_seen 364) - (!srcfileloc "except.h" 72) - nil ) - (!pair "region" - (!type already_seen 356) - (!srcfileloc "except.h" 75) - nil ) - (!pair "post_landing_pad" - (!type already_seen 23) - (!srcfileloc "except.h" 80) - nil ) - (!pair "landing_pad" - (!type pointer 366 nil gc_used - (!type struct 367 - (!type already_seen 366) - gc_pointed_to "rtx_code_label" - (!srcfileloc "function.h" 140) - (!fields 0 ) - nil 4095 nil - (!type already_seen 298) - ) - ) - (!srcfileloc "except.h" 87) - nil ) - (!pair "index" - (!type already_seen 2) - (!srcfileloc "except.h" 90) - nil ) - ) - nil 4095 nil nil ) - ) - (!srcfileloc "except.h" 170) - nil ) - (!pair "exc_ptr_reg" - (!type already_seen 100) - (!srcfileloc "except.h" 175) - nil ) - (!pair "filter_reg" - (!type already_seen 100) - (!srcfileloc "except.h" 175) - nil ) - (!pair "use_cxa_end_cleanup" - (!type already_seen 2) - (!srcfileloc "except.h" 179) - nil ) - ) - nil 4095 nil nil ) - ) - (!srcfileloc "except.h" 194) - nil ) - (!pair "region_array" - (!type pointer 368 nil gc_used - (!type user_struct 369 - (!type already_seen 368) - gc_pointed_to "vec" - (!srcfileloc "except.h" 197) - (!fields 2 - (!pair "va_gc" - (!type already_seen 80) - (!srcfileloc "except.h" 197) - nil ) - (!pair "eh_region" - (!type already_seen 356) - (!srcfileloc "except.h" 197) - nil ) - ) - ) - ) - (!srcfileloc "except.h" 197) - nil ) - (!pair "lp_array" - (!type pointer 370 nil gc_used - (!type user_struct 371 - (!type already_seen 370) - gc_pointed_to "vec" - (!srcfileloc "except.h" 200) - (!fields 2 - (!pair "va_gc" - (!type already_seen 80) - (!srcfileloc "except.h" 200) - nil ) - (!pair "eh_landing_pad" - (!type already_seen 364) - (!srcfileloc "except.h" 200) - nil ) - ) - ) - ) - (!srcfileloc "except.h" 200) - nil ) - (!pair "throw_stmt_table" - (!type pointer 372 nil gc_used - (!type user_struct 373 - (!type already_seen 372) - gc_pointed_to "hash_map" - (!srcfileloc "except.h" 204) - (!fields 2 - (!pair "int" - (!type undefined 374 nil gc_unused "int" - (!srcfileloc "coretypes.h" 363) - ) - (!srcfileloc "except.h" 204) - nil ) - (!pair "gimple" - (!type already_seen 282) - (!srcfileloc "except.h" 204) - nil ) - ) - ) - ) - (!srcfileloc "except.h" 204) - nil ) - (!pair "ttype_data" - (!type already_seen 85) - (!srcfileloc "except.h" 208) - nil ) - (!pair "ehspec_data" - (!type union 375 nil gc_used "eh_status_u" - (!srcfileloc "except.h" 217) - (!fields 2 - (!pair "arm_eabi" - (!type already_seen 85) - (!srcfileloc "except.h" 215) - (!options - (!option tag string "1") - ) - ) - (!pair "other" - (!type pointer 376 nil gc_used - (!type user_struct 377 - (!type already_seen 376) - gc_pointed_to "vec" - (!srcfileloc "function.h" 145) - (!fields 2 - (!pair "va_gc" - (!type already_seen 80) - (!srcfileloc "function.h" 145) - nil ) - (!pair "uchar" - (!type already_seen 8) - (!srcfileloc "function.h" 145) - nil ) - ) - ) - ) - (!srcfileloc "except.h" 216) - (!options - (!option tag string "0") - ) - ) - ) - nil 4095 nil ) - (!srcfileloc "except.h" 217) - (!options - (!option desc string "targetm.arm_eabi_unwinder") - ) - ) - ) - nil 4095 nil nil ) - ) - (!srcfileloc "function.h" 250) - nil ) - (!pair "cfg" - (!type pointer 378 nil gc_used - (!type struct 379 - (!type already_seen 378) - gc_pointed_to "control_flow_graph" - (!srcfileloc "cfg.h" 81) - (!fields 15 - (!pair "x_entry_block_ptr" - (!type already_seen 269) - (!srcfileloc "cfg.h" 41) - nil ) - (!pair "x_exit_block_ptr" - (!type already_seen 269) - (!srcfileloc "cfg.h" 42) - nil ) - (!pair "x_basic_block_info" - (!type pointer 380 nil gc_used - (!type user_struct 381 - (!type already_seen 380) - gc_pointed_to "vec" - (!srcfileloc "cfg.h" 45) - (!fields 2 - (!pair "va_gc" - (!type already_seen 80) - (!srcfileloc "cfg.h" 45) - nil ) - (!pair "basic_block" - (!type already_seen 269) - (!srcfileloc "cfg.h" 45) - nil ) - ) - ) - ) - (!srcfileloc "cfg.h" 45) - nil ) - (!pair "x_n_basic_blocks" - (!type already_seen 2) - (!srcfileloc "cfg.h" 48) - nil ) - (!pair "x_n_edges" - (!type already_seen 2) - (!srcfileloc "cfg.h" 51) - nil ) - (!pair "x_last_basic_block" - (!type already_seen 2) - (!srcfileloc "cfg.h" 54) - nil ) - (!pair "last_label_uid" - (!type already_seen 2) - (!srcfileloc "cfg.h" 57) - nil ) - (!pair "x_label_to_block_map" - (!type already_seen 380) - (!srcfileloc "cfg.h" 61) - nil ) - (!pair "x_profile_status" - (!type already_seen 2) - (!srcfileloc "cfg.h" 63) - nil ) - (!pair "x_dom_computed" - (!type array 382 nil gc_used "2" - (!type already_seen 2) - ) - (!srcfileloc "cfg.h" 66) - nil ) - (!pair "x_n_bbs_in_dom_tree" - (!type array 383 nil gc_used "2" - (!type already_seen 2) - ) - (!srcfileloc "cfg.h" 69) - nil ) - (!pair "max_jumptable_ents" - (!type already_seen 2) - (!srcfileloc "cfg.h" 73) - nil ) - (!pair "count_max" - (!type already_seen 301) - (!srcfileloc "cfg.h" 76) - nil ) - (!pair "edge_flags_allocated" - (!type already_seen 2) - (!srcfileloc "cfg.h" 79) - nil ) - (!pair "bb_flags_allocated" - (!type already_seen 2) - (!srcfileloc "cfg.h" 80) - nil ) - ) - nil 4095 nil nil ) - ) - (!srcfileloc "function.h" 253) - nil ) - (!pair "gimple_body" - (!type already_seen 282) - (!srcfileloc "function.h" 256) - nil ) - (!pair "gimple_df" - (!type pointer 384 nil gc_used - (!type struct 385 - (!type already_seen 384) - gc_pointed_to "gimple_df" - (!srcfileloc "gimple-ssa.h" 115) - (!fields 13 - (!pair "ssa_names" - (!type already_seen 85) - (!srcfileloc "gimple-ssa.h" 74) - nil ) - (!pair "vop" - (!type already_seen 23) - (!srcfileloc "gimple-ssa.h" 77) - nil ) - (!pair "escaped" - (!type struct 386 nil gc_used "pt_solution" - (!srcfileloc "tree-ssa-alias.h" 65) - (!fields 11 - (!pair "anything" - (!type already_seen 2) - (!srcfileloc "tree-ssa-alias.h" 32) - nil ) - (!pair "nonlocal" - (!type already_seen 2) - (!srcfileloc "tree-ssa-alias.h" 36) - nil ) - (!pair "escaped" - (!type already_seen 2) - (!srcfileloc "tree-ssa-alias.h" 40) - nil ) - (!pair "ipa_escaped" - (!type already_seen 2) - (!srcfileloc "tree-ssa-alias.h" 44) - nil ) - (!pair "null" - (!type already_seen 2) - (!srcfileloc "tree-ssa-alias.h" 48) - nil ) - (!pair "vars_contains_nonlocal" - (!type already_seen 2) - (!srcfileloc "tree-ssa-alias.h" 51) - nil ) - (!pair "vars_contains_escaped" - (!type already_seen 2) - (!srcfileloc "tree-ssa-alias.h" 53) - nil ) - (!pair "vars_contains_escaped_heap" - (!type already_seen 2) - (!srcfileloc "tree-ssa-alias.h" 56) - nil ) - (!pair "vars_contains_restrict" - (!type already_seen 2) - (!srcfileloc "tree-ssa-alias.h" 59) - nil ) - (!pair "vars_contains_interposable" - (!type already_seen 2) - (!srcfileloc "tree-ssa-alias.h" 61) - nil ) - (!pair "vars" - (!type pointer 387 nil gc_used - (!type struct 388 - (!type already_seen 387) - gc_pointed_to "bitmap_head" - (!srcfileloc "bitmap.h" 361) - (!fields 7 - (!pair "indx" - (!type already_seen 2) - (!srcfileloc "bitmap.h" 335) - nil ) - (!pair "tree_form" - (!type already_seen 2) - (!srcfileloc "bitmap.h" 338) - nil ) - (!pair "padding" - (!type already_seen 2) - (!srcfileloc "bitmap.h" 340) - nil ) - (!pair "alloc_descriptor" - (!type already_seen 2) - (!srcfileloc "bitmap.h" 342) - nil ) - (!pair "first" - (!type pointer 389 nil gc_used - (!type struct 390 - (!type already_seen 389) - gc_pointed_to "bitmap_element" - (!srcfileloc "bitmap.h" 345) - (!fields 4 - (!pair "next" - (!type already_seen 389) - (!srcfileloc "bitmap.h" 313) - nil ) - (!pair "prev" - (!type already_seen 389) - (!srcfileloc "bitmap.h" 316) - nil ) - (!pair "indx" - (!type already_seen 2) - (!srcfileloc "bitmap.h" 318) - nil ) - (!pair "bits" - (!type array 391 nil gc_used "BITMAP_ELEMENT_WORDS" - (!type already_seen 2) - ) - (!srcfileloc "bitmap.h" 320) - nil ) - ) - (!options - (!option chain_next string "%h.next") - ) - 4095 nil nil ) - ) - (!srcfileloc "bitmap.h" 345) - nil ) - (!pair "current" - (!type already_seen 389) - (!srcfileloc "bitmap.h" 347) - (!options - (!option skip string "") - ) - ) - (!pair "obstack" - (!type pointer 392 nil gc_unused - (!type struct 393 - (!type already_seen 392) - gc_unused "bitmap_obstack" - (!srcfileloc "bitmap.h" 349) - (!fields 0 ) - nil 4095 nil nil ) - ) - (!srcfileloc "bitmap.h" 349) - (!options - (!option skip string "") - ) - ) - ) - nil 4095 nil nil ) - ) - (!srcfileloc "tree-ssa-alias.h" 64) - nil ) - ) - nil 4095 nil nil ) - (!srcfileloc "gimple-ssa.h" 80) - nil ) - (!pair "decls_to_pointers" - (!type pointer 394 nil gc_used - (!type user_struct 395 - (!type already_seen 394) - gc_pointed_to "hash_map" - (!srcfileloc "gimple-ssa.h" 84) - (!fields 2 - (!pair "tree" - (!type already_seen 23) - (!srcfileloc "gimple-ssa.h" 84) - nil ) - (!pair "tree" - (!type already_seen 23) - (!srcfileloc "gimple-ssa.h" 84) - nil ) - ) - ) - ) - (!srcfileloc "gimple-ssa.h" 84) - (!options - (!option skip string "") - ) - ) - (!pair "free_ssanames" - (!type already_seen 85) - (!srcfileloc "gimple-ssa.h" 87) - nil ) - (!pair "free_ssanames_queue" - (!type already_seen 85) - (!srcfileloc "gimple-ssa.h" 90) - nil ) - (!pair "default_defs" - (!type pointer 396 nil gc_used - (!type user_struct 397 - (!type already_seen 396) - gc_pointed_to "hash_table" - (!srcfileloc "gimple-ssa.h" 96) - (!fields 1 - (!pair "ssa_name_hasher" - (!type struct 398 nil gc_used "ssa_name_hasher" - (!srcfileloc "gimple-ssa.h" 96) - (!fields 0 ) - nil 4095 nil nil ) - (!srcfileloc "gimple-ssa.h" 96) - nil ) - ) - ) - ) - (!srcfileloc "gimple-ssa.h" 96) - nil ) - (!pair "ssa_renaming_needed" - (!type already_seen 2) - (!srcfileloc "gimple-ssa.h" 99) - nil ) - (!pair "rename_vops" - (!type already_seen 2) - (!srcfileloc "gimple-ssa.h" 102) - nil ) - (!pair "in_ssa_p" - (!type already_seen 2) - (!srcfileloc "gimple-ssa.h" 105) - nil ) - (!pair "ipa_pta" - (!type already_seen 2) - (!srcfileloc "gimple-ssa.h" 108) - nil ) - (!pair "ssa_operands" - (!type struct 399 nil gc_used "ssa_operands" - (!srcfileloc "tree-ssa-operands.h" 63) - (!fields 5 - (!pair "operand_memory" - (!type pointer 400 nil gc_used - (!type struct 401 - (!type already_seen 400) - gc_pointed_to "ssa_operand_memory_d" - (!srcfileloc "tree-ssa-operands.h" 51) - (!fields 2 - (!pair "next" - (!type already_seen 400) - (!srcfileloc "tree-ssa-operands.h" 49) - nil ) - (!pair "mem" - (!type array 402 nil gc_used "1" - (!type already_seen 8) - ) - (!srcfileloc "tree-ssa-operands.h" 50) - nil ) - ) - (!options - (!option chain_next string "%h.next") - ) - 4095 nil nil ) - ) - (!srcfileloc "tree-ssa-operands.h" 55) - nil ) - (!pair "operand_memory_index" - (!type already_seen 2) - (!srcfileloc "tree-ssa-operands.h" 56) - nil ) - (!pair "ssa_operand_mem_size" - (!type already_seen 2) - (!srcfileloc "tree-ssa-operands.h" 58) - nil ) - (!pair "ops_active" - (!type already_seen 2) - (!srcfileloc "tree-ssa-operands.h" 60) - nil ) - (!pair "free_uses" - (!type pointer 403 nil gc_unused - (!type struct 404 - (!type already_seen 403) - gc_unused "use_optype_d"nil - (!fields 0 ) - nil 0 nil nil ) - ) - (!srcfileloc "tree-ssa-operands.h" 62) - (!options - (!option skip string "") - ) - ) - ) - nil 4095 nil nil ) - (!srcfileloc "gimple-ssa.h" 110) - nil ) - (!pair "tm_restart" - (!type pointer 405 nil gc_used - (!type user_struct 406 - (!type already_seen 405) - gc_pointed_to "hash_table" - (!srcfileloc "gimple-ssa.h" 114) - (!fields 1 - (!pair "tm_restart_hasher" - (!type struct 407 nil gc_used "tm_restart_hasher" - (!srcfileloc "gimple-ssa.h" 114) - (!fields 0 ) - nil 4095 nil nil ) - (!srcfileloc "gimple-ssa.h" 114) - nil ) - ) - ) - ) - (!srcfileloc "gimple-ssa.h" 114) - nil ) - ) - nil 4095 nil nil ) - ) - (!srcfileloc "function.h" 259) - nil ) - (!pair "x_current_loops" - (!type pointer 408 nil gc_used - (!type struct 409 - (!type already_seen 408) - gc_pointed_to "loops" - (!srcfileloc "cfgloop.h" 335) - (!fields 4 - (!pair "state" - (!type already_seen 2) - (!srcfileloc "cfgloop.h" 323) - nil ) - (!pair "larray" - (!type already_seen 278) - (!srcfileloc "cfgloop.h" 326) - nil ) - (!pair "exits" - (!type pointer 410 nil gc_used - (!type user_struct 411 - (!type already_seen 410) - gc_pointed_to "hash_table" - (!srcfileloc "cfgloop.h" 331) - (!fields 1 - (!pair "loop_exit_hasher" - (!type struct 412 nil gc_used "loop_exit_hasher" - (!srcfileloc "cfgloop.h" 331) - (!fields 0 ) - nil 4095 nil nil ) - (!srcfileloc "cfgloop.h" 331) - nil ) - ) - ) - ) - (!srcfileloc "cfgloop.h" 331) - nil ) - (!pair "tree_root" - (!type already_seen 275) - (!srcfileloc "cfgloop.h" 334) - nil ) - ) - nil 4095 nil nil ) - ) - (!srcfileloc "function.h" 262) - nil ) - (!pair "pass_startwith" - (!type already_seen 11) - (!srcfileloc "function.h" 265) - nil ) - (!pair "su" - (!type pointer 413 nil gc_used - (!type struct 414 - (!type already_seen 413) - gc_pointed_to "stack_usage" - (!srcfileloc "function.h" 235) - (!fields 6 - (!pair "static_stack_size" - (!type already_seen 2) - (!srcfileloc "function.h" 214) - nil ) - (!pair "dynamic_stack_size" - (!type already_seen 2) - (!srcfileloc "function.h" 218) - nil ) - (!pair "pushed_stack_size" - (!type already_seen 2) - (!srcfileloc "function.h" 223) - nil ) - (!pair "has_unbounded_dynamic_stack_size" - (!type already_seen 2) - (!srcfileloc "function.h" 227) - nil ) - (!pair "callees" - (!type pointer 415 nil gc_used - (!type user_struct 416 - (!type already_seen 415) - gc_pointed_to "vec" - (!srcfileloc "function.h" 230) - (!fields 2 - (!pair "va_gc" - (!type already_seen 80) - (!srcfileloc "function.h" 230) - nil ) - (!pair "callinfo_callee" - (!type struct 417 nil gc_used "callinfo_callee" - (!srcfileloc "function.h" 230) - (!fields 2 - (!pair "location" - (!type already_seen 2) - (!srcfileloc "function.h" 199) - nil ) - (!pair "decl" - (!type already_seen 23) - (!srcfileloc "function.h" 200) - nil ) - ) - nil 4095 nil nil ) - (!srcfileloc "function.h" 230) - nil ) - ) - ) - ) - (!srcfileloc "function.h" 230) - nil ) - (!pair "dallocs" - (!type pointer 418 nil gc_used - (!type user_struct 419 - (!type already_seen 418) - gc_pointed_to "vec" - (!srcfileloc "function.h" 234) - (!fields 2 - (!pair "va_gc" - (!type already_seen 80) - (!srcfileloc "function.h" 234) - nil ) - (!pair "callinfo_dalloc" - (!type struct 420 nil gc_used "callinfo_dalloc" - (!srcfileloc "function.h" 234) - (!fields 2 - (!pair "location" - (!type already_seen 2) - (!srcfileloc "function.h" 206) - nil ) - (!pair "name" - (!type already_seen 11) - (!srcfileloc "function.h" 207) - nil ) - ) - nil 4095 nil nil ) - (!srcfileloc "function.h" 234) - nil ) - ) - ) - ) - (!srcfileloc "function.h" 234) - nil ) - ) - nil 4095 nil nil ) - ) - (!srcfileloc "function.h" 268) - nil ) - (!pair "value_histograms" - (!type already_seen 333) - (!srcfileloc "function.h" 271) - (!options - (!option skip string "") - ) - ) - (!pair "decl" - (!type already_seen 23) - (!srcfileloc "function.h" 276) - nil ) - (!pair "static_chain_decl" - (!type already_seen 23) - (!srcfileloc "function.h" 280) - nil ) - (!pair "nonlocal_goto_save_area" - (!type already_seen 23) - (!srcfileloc "function.h" 285) - nil ) - (!pair "local_decls" - (!type already_seen 85) - (!srcfileloc "function.h" 288) - nil ) - (!pair "machine" - (!type pointer 421 nil gc_unused - (!type struct 422 - (!type already_seen 421) - gc_maybe_pointed_to "machine_function"nil - (!fields 0 ) - nil 0 nil nil ) - ) - (!srcfileloc "function.h" 293) - (!options - (!option maybe_undef string "") - ) - ) - (!pair "language" - (!type pointer 423 nil gc_used - (!type lang_struct 424 - (!type already_seen 423) - gc_pointed_to "language_function" - (!srcfileloc "ada/gcc-interface/trans.cc" 121) - (!fields 0 ) - nil 4095 - (!homotypes 10 - (!type struct 425 nil gc_pointed_to "language_function" - (!srcfileloc "rust/rust-lang.cc" 98) - (!fields 0 ) - nil 2048 - (!type already_seen 424) - nil ) - - (!type struct 426 nil gc_pointed_to "language_function" - (!srcfileloc "m2/gm2-lang.cc" 112) - (!fields 1 - (!pair "stmt_tree" - (!type already_seen 23) - (!srcfileloc "m2/gm2-lang.cc" 111) - nil ) - ) - nil 256 - (!type already_seen 424) - nil ) - - (!type struct 427 nil gc_pointed_to "language_function" - (!srcfileloc "lto/lto-tree.h" 42) - (!fields 1 - (!pair "dummy" - (!type already_seen 2) - (!srcfileloc "lto/lto-tree.h" 41) - nil ) - ) - nil 128 - (!type already_seen 424) - nil ) - - (!type struct 428 nil gc_pointed_to "language_function" - (!srcfileloc "jit/dummy-frontend.cc" 523) - (!fields 1 - (!pair "dummy" - (!type already_seen 2) - (!srcfileloc "jit/dummy-frontend.cc" 522) - nil ) - ) - nil 64 - (!type already_seen 424) - nil ) - - (!type struct 429 nil gc_pointed_to "language_function" - (!srcfileloc "go/go-lang.cc" 84) - (!fields 1 - (!pair "dummy" - (!type already_seen 2) - (!srcfileloc "go/go-lang.cc" 83) - nil ) - ) - nil 32 - (!type already_seen 424) - nil ) - - (!type struct 430 nil gc_pointed_to "language_function" - (!srcfileloc "fortran/f95-lang.cc" 68) - (!fields 1 - (!pair "binding_level" - (!type pointer 431 nil gc_used - (!type lang_struct 432 - (!type already_seen 431) - gc_pointed_to "binding_level" - (!srcfileloc "d/d-tree.h" 131) - (!fields 0 ) - (!options - (!option chain_next string "%h.level_chain") - ) - 280 - (!homotypes 3 - (!type struct 433 nil gc_pointed_to "binding_level" - (!srcfileloc "m2/gm2-gcc/m2block.cc" 93) - (!fields 13 - (!pair "fndecl" - (!type already_seen 23) - (!srcfileloc "m2/gm2-gcc/m2block.cc" 44) - nil ) - (!pair "names" - (!type already_seen 23) - (!srcfileloc "m2/gm2-gcc/m2block.cc" 48) - nil ) - (!pair "is_global" - (!type already_seen 2) - (!srcfileloc "m2/gm2-gcc/m2block.cc" 52) - nil ) - (!pair "context" - (!type already_seen 23) - (!srcfileloc "m2/gm2-gcc/m2block.cc" 57) - nil ) - (!pair "next" - (!type already_seen 431) - (!srcfileloc "m2/gm2-gcc/m2block.cc" 61) - nil ) - (!pair "list" - (!type already_seen 431) - (!srcfileloc "m2/gm2-gcc/m2block.cc" 64) - nil ) - (!pair "m2_statements" - (!type already_seen 85) - (!srcfileloc "m2/gm2-gcc/m2block.cc" 68) - nil ) - (!pair "constants" - (!type already_seen 23) - (!srcfileloc "m2/gm2-gcc/m2block.cc" 73) - nil ) - (!pair "init_functions" - (!type already_seen 23) - (!srcfileloc "m2/gm2-gcc/m2block.cc" 76) - nil ) - (!pair "types" - (!type already_seen 23) - (!srcfileloc "m2/gm2-gcc/m2block.cc" 81) - nil ) - (!pair "decl" - (!type already_seen 23) - (!srcfileloc "m2/gm2-gcc/m2block.cc" 86) - nil ) - (!pair "labels" - (!type already_seen 23) - (!srcfileloc "m2/gm2-gcc/m2block.cc" 89) - nil ) - (!pair "count" - (!type already_seen 2) - (!srcfileloc "m2/gm2-gcc/m2block.cc" 92) - nil ) - ) - nil 256 - (!type already_seen 432) - nil ) - - (!type struct 434 nil gc_pointed_to "binding_level" - (!srcfileloc "fortran/f95-lang.cc" 323) - (!fields 4 - (!pair "names" - (!type already_seen 23) - (!srcfileloc "fortran/f95-lang.cc" 314) - nil ) - (!pair "blocks" - (!type already_seen 23) - (!srcfileloc "fortran/f95-lang.cc" 317) - nil ) - (!pair "level_chain" - (!type already_seen 431) - (!srcfileloc "fortran/f95-lang.cc" 319) - nil ) - (!pair "reversed" - (!type already_seen 2) - (!srcfileloc "fortran/f95-lang.cc" 322) - nil ) - ) - nil 16 - (!type already_seen 432) - nil ) - - (!type struct 435 nil gc_pointed_to "binding_level" - (!srcfileloc "d/d-tree.h" 131) - (!fields 4 - (!pair "names" - (!type already_seen 23) - (!srcfileloc "d/d-tree.h" 120) - nil ) - (!pair "blocks" - (!type already_seen 23) - (!srcfileloc "d/d-tree.h" 124) - nil ) - (!pair "level_chain" - (!type already_seen 431) - (!srcfileloc "d/d-tree.h" 127) - nil ) - (!pair "kind" - (!type already_seen 2) - (!srcfileloc "d/d-tree.h" 130) - nil ) - ) - (!options - (!option chain_next string "%h.level_chain") - ) - 8 - (!type already_seen 432) - nil ) - ) - ) - ) - (!srcfileloc "fortran/f95-lang.cc" 67) - nil ) - ) - nil 16 - (!type already_seen 424) - nil ) - - (!type struct 436 nil gc_pointed_to "language_function" - (!srcfileloc "d/d-tree.h" 258) - (!fields 6 - (!pair "function" - (!type pointer 437 nil gc_unused - (!type struct 438 - (!type already_seen 437) - gc_unused "FuncDeclaration" - (!srcfileloc "d/d-tree.h" 243) - (!fields 0 ) - nil 8 nil nil ) - ) - (!srcfileloc "d/d-tree.h" 243) - (!options - (!option skip string "") - ) - ) - (!pair "module" - (!type pointer 439 nil gc_unused - (!type struct 440 - (!type already_seen 439) - gc_unused "Module" - (!srcfileloc "d/d-tree.h" 244) - (!fields 0 ) - nil 8 nil nil ) - ) - (!srcfileloc "d/d-tree.h" 244) - (!options - (!option skip string "") - ) - ) - (!pair "static_chain" - (!type already_seen 23) - (!srcfileloc "d/d-tree.h" 247) - nil ) - (!pair "stmt_list" - (!type already_seen 85) - (!srcfileloc "d/d-tree.h" 251) - nil ) - (!pair "vars_in_scope" - (!type already_seen 85) - (!srcfileloc "d/d-tree.h" 254) - nil ) - (!pair "labels" - (!type pointer 441 nil gc_used - (!type user_struct 442 - (!type already_seen 441) - gc_pointed_to "hash_map" - (!srcfileloc "d/d-tree.h" 257) - (!fields 2 - (!pair "d_label_entry" - (!type struct 443 nil gc_used "d_label_entry" - (!srcfileloc "d/d-tree.h" 257) - (!fields 7 - (!pair "label" - (!type already_seen 23) - (!srcfileloc "d/d-tree.h" 160) - nil ) - (!pair "statement" - (!type pointer 444 nil gc_used - (!type struct 445 - (!type already_seen 444) - gc_pointed_to "Statement" - (!srcfileloc "d/d-tree.h" 145) - (!fields 0 ) - nil 8 nil nil ) - ) - (!srcfileloc "d/d-tree.h" 163) - (!options - (!option skip string "") - ) - ) - (!pair "level" - (!type already_seen 431) - (!srcfileloc "d/d-tree.h" 168) - nil ) - (!pair "fwdrefs" - (!type pointer 446 nil gc_used - (!type struct 447 - (!type already_seen 446) - gc_pointed_to "d_label_use_entry" - (!srcfileloc "d/d-tree.h" 151) - (!fields 3 - (!pair "next" - (!type already_seen 446) - (!srcfileloc "d/d-tree.h" 142) - nil ) - (!pair "statement" - (!type already_seen 444) - (!srcfileloc "d/d-tree.h" 145) - (!options - (!option skip string "") - ) - ) - (!pair "level" - (!type already_seen 431) - (!srcfileloc "d/d-tree.h" 150) - nil ) - ) - (!options - (!option chain_next string "%h.next") - ) - 8 nil nil ) - ) - (!srcfileloc "d/d-tree.h" 171) - nil ) - (!pair "in_try_scope" - (!type already_seen 2) - (!srcfileloc "d/d-tree.h" 176) - nil ) - (!pair "in_catch_scope" - (!type already_seen 2) - (!srcfileloc "d/d-tree.h" 177) - nil ) - (!pair "bc_label" - (!type already_seen 2) - (!srcfileloc "d/d-tree.h" 180) - nil ) - ) - nil 8 nil nil ) - (!srcfileloc "d/d-tree.h" 257) - nil ) - (!pair "Statement" - (!type already_seen 444) - (!srcfileloc "d/d-tree.h" 257) - nil ) - ) - ) - ) - (!srcfileloc "d/d-tree.h" 257) - nil ) - ) - nil 8 - (!type already_seen 424) - nil ) - - (!type struct 448 nil gc_pointed_to "language_function" - (!srcfileloc "cp/cp-tree.h" 2122) - (!fields 19 - (!pair "base" - (!type struct 449 nil gc_used "c_language_function" - (!srcfileloc "c-family/c-common.h" 599) - (!fields 2 - (!pair "x_stmt_tree" - (!type struct 450 - (!type pointer 451 nil gc_unused - (!type already_seen 450) - ) - gc_used "stmt_tree_s" - (!srcfileloc "c-family/c-common.h" 584) - (!fields 2 - (!pair "x_cur_stmt_list" - (!type already_seen 85) - (!srcfileloc "c-family/c-common.h" 572) - nil ) - (!pair "stmts_are_full_exprs_p" - (!type already_seen 2) - (!srcfileloc "c-family/c-common.h" 583) - nil ) - ) - nil 1542 nil nil ) - (!srcfileloc "c-family/c-common.h" 594) - nil ) - (!pair "local_typedefs" - (!type already_seen 85) - (!srcfileloc "c-family/c-common.h" 598) - nil ) - ) - nil 1542 nil nil ) - (!srcfileloc "cp/cp-tree.h" 2093) - nil ) - (!pair "x_current_class_ptr" - (!type already_seen 23) - (!srcfileloc "cp/cp-tree.h" 2095) - nil ) - (!pair "x_current_class_ref" - (!type already_seen 23) - (!srcfileloc "cp/cp-tree.h" 2096) - nil ) - (!pair "x_eh_spec_block" - (!type already_seen 23) - (!srcfileloc "cp/cp-tree.h" 2097) - nil ) - (!pair "x_in_charge_parm" - (!type already_seen 23) - (!srcfileloc "cp/cp-tree.h" 2098) - nil ) - (!pair "x_vtt_parm" - (!type already_seen 23) - (!srcfileloc "cp/cp-tree.h" 2099) - nil ) - (!pair "x_return_value" - (!type already_seen 23) - (!srcfileloc "cp/cp-tree.h" 2100) - nil ) - (!pair "returns_value" - (!type already_seen 2) - (!srcfileloc "cp/cp-tree.h" 2102) - nil ) - (!pair "returns_null" - (!type already_seen 2) - (!srcfileloc "cp/cp-tree.h" 2103) - nil ) - (!pair "returns_abnormally" - (!type already_seen 2) - (!srcfileloc "cp/cp-tree.h" 2104) - nil ) - (!pair "infinite_loop" - (!type already_seen 2) - (!srcfileloc "cp/cp-tree.h" 2105) - nil ) - (!pair "x_in_function_try_handler" - (!type already_seen 2) - (!srcfileloc "cp/cp-tree.h" 2106) - nil ) - (!pair "x_in_base_initializer" - (!type already_seen 2) - (!srcfileloc "cp/cp-tree.h" 2107) - nil ) - (!pair "can_throw" - (!type already_seen 2) - (!srcfileloc "cp/cp-tree.h" 2110) - nil ) - (!pair "invalid_constexpr" - (!type already_seen 2) - (!srcfileloc "cp/cp-tree.h" 2112) - nil ) - (!pair "throwing_cleanup" - (!type already_seen 2) - (!srcfileloc "cp/cp-tree.h" 2113) - nil ) - (!pair "x_named_labels" - (!type pointer 452 nil gc_used - (!type user_struct 453 - (!type already_seen 452) - gc_pointed_to "hash_table" - (!srcfileloc "cp/cp-tree.h" 2115) - (!fields 1 - (!pair "named_label_hash" - (!type struct 454 nil gc_used "named_label_hash" - (!srcfileloc "cp/cp-tree.h" 2115) - (!fields 0 ) - nil 1028 nil nil ) - (!srcfileloc "cp/cp-tree.h" 2115) - nil ) - ) - ) - ) - (!srcfileloc "cp/cp-tree.h" 2115) - nil ) - (!pair "bindings" - (!type already_seen 83) - (!srcfileloc "cp/cp-tree.h" 2117) - nil ) - (!pair "infinite_loops" - (!type already_seen 85) - (!srcfileloc "cp/cp-tree.h" 2121) - nil ) - ) - nil 1028 - (!type already_seen 424) - nil ) - - (!type struct 455 nil gc_pointed_to "language_function" - (!srcfileloc "c/c-lang.h" 61) - (!fields 8 - (!pair "base" - (!type already_seen 449) - (!srcfileloc "c/c-lang.h" 53) - nil ) - (!pair "x_in_statement" - (!type already_seen 8) - (!srcfileloc "c/c-lang.h" 54) - nil ) - (!pair "x_switch_stack" - (!type pointer 456 nil gc_unused - (!type struct 457 - (!type already_seen 456) - gc_unused "c_switch"nil - (!fields 0 ) - nil 0 nil nil ) - ) - (!srcfileloc "c/c-lang.h" 55) - (!options - (!option skip string "") - ) - ) - (!pair "arg_info" - (!type pointer 458 nil gc_unused - (!type struct 459 - (!type already_seen 458) - gc_unused "c_arg_info"nil - (!fields 0 ) - nil 0 nil nil ) - ) - (!srcfileloc "c/c-lang.h" 56) - (!options - (!option skip string "") - ) - ) - (!pair "returns_value" - (!type already_seen 2) - (!srcfileloc "c/c-lang.h" 57) - nil ) - (!pair "returns_null" - (!type already_seen 2) - (!srcfileloc "c/c-lang.h" 58) - nil ) - (!pair "returns_abnormally" - (!type already_seen 2) - (!srcfileloc "c/c-lang.h" 59) - nil ) - (!pair "warn_about_return_type" - (!type already_seen 2) - (!srcfileloc "c/c-lang.h" 60) - nil ) - ) - nil 514 - (!type already_seen 424) - nil ) - - (!type struct 460 nil gc_pointed_to "language_function" - (!srcfileloc "ada/gcc-interface/trans.cc" 121) - (!fields 4 - (!pair "parm_attr_cache" - (!type pointer 461 nil gc_used - (!type user_struct 462 - (!type already_seen 461) - gc_pointed_to "vec" - (!srcfileloc "ada/gcc-interface/trans.cc" 117) - (!fields 2 - (!pair "va_gc" - (!type already_seen 80) - (!srcfileloc "ada/gcc-interface/trans.cc" 117) - nil ) - (!pair "parm_attr" - (!type pointer 463 nil gc_used - (!type struct 464 - (!type already_seen 463) - gc_pointed_to "parm_attr_d" - (!srcfileloc "ada/gcc-interface/trans.cc" 111) - (!fields 5 - (!pair "id" - (!type already_seen 2) - (!srcfileloc "ada/gcc-interface/trans.cc" 106) - nil ) - (!pair "dim" - (!type already_seen 2) - (!srcfileloc "ada/gcc-interface/trans.cc" 107) - nil ) - (!pair "first" - (!type already_seen 23) - (!srcfileloc "ada/gcc-interface/trans.cc" 108) - nil ) - (!pair "last" - (!type already_seen 23) - (!srcfileloc "ada/gcc-interface/trans.cc" 109) - nil ) - (!pair "length" - (!type already_seen 23) - (!srcfileloc "ada/gcc-interface/trans.cc" 110) - nil ) - ) - nil 1 nil nil ) - ) - (!srcfileloc "ada/gcc-interface/trans.cc" 117) - nil ) - ) - ) - ) - (!srcfileloc "ada/gcc-interface/trans.cc" 117) - nil ) - (!pair "named_ret_val" - (!type already_seen 387) - (!srcfileloc "ada/gcc-interface/trans.cc" 118) - nil ) - (!pair "other_ret_val" - (!type already_seen 85) - (!srcfileloc "ada/gcc-interface/trans.cc" 119) - nil ) - (!pair "gnat_ret" - (!type already_seen 2) - (!srcfileloc "ada/gcc-interface/trans.cc" 120) - nil ) - ) - nil 1 - (!type already_seen 424) - nil ) - ) - ) - ) - (!srcfileloc "function.h" 296) - nil ) - (!pair "used_types_hash" - (!type pointer 465 nil gc_used - (!type user_struct 466 - (!type already_seen 465) - gc_pointed_to "hash_set" - (!srcfileloc "function.h" 299) - (!fields 1 - (!pair "tree" - (!type already_seen 23) - (!srcfileloc "function.h" 299) - nil ) - ) - ) - ) - (!srcfileloc "function.h" 299) - nil ) - (!pair "fde" - (!type pointer 467 nil gc_used - (!type struct 468 - (!type already_seen 467) - gc_pointed_to "dw_fde_node" - (!srcfileloc "dwarf2out.h" 119) - (!fields 24 - (!pair "decl" - (!type already_seen 23) - (!srcfileloc "dwarf2out.h" 79) - nil ) - (!pair "dw_fde_begin" - (!type already_seen 11) - (!srcfileloc "dwarf2out.h" 80) - nil ) - (!pair "dw_fde_current_label" - (!type already_seen 11) - (!srcfileloc "dwarf2out.h" 81) - nil ) - (!pair "dw_fde_end" - (!type already_seen 11) - (!srcfileloc "dwarf2out.h" 82) - nil ) - (!pair "dw_fde_vms_end_prologue" - (!type already_seen 11) - (!srcfileloc "dwarf2out.h" 83) - nil ) - (!pair "dw_fde_vms_begin_epilogue" - (!type already_seen 11) - (!srcfileloc "dwarf2out.h" 84) - nil ) - (!pair "dw_fde_second_begin" - (!type already_seen 11) - (!srcfileloc "dwarf2out.h" 85) - nil ) - (!pair "dw_fde_second_end" - (!type already_seen 11) - (!srcfileloc "dwarf2out.h" 86) - nil ) - (!pair "dw_fde_cfi" - (!type pointer 469 nil gc_used - (!type user_struct 470 - (!type already_seen 469) - gc_pointed_to "vec" - (!srcfileloc "dwarf2out.h" 68) - (!fields 2 - (!pair "va_gc" - (!type already_seen 80) - (!srcfileloc "dwarf2out.h" 68) - nil ) - (!pair "dw_cfi_ref" - (!type pointer 471 nil gc_used - (!type struct 472 - (!type already_seen 471) - gc_pointed_to "dw_cfi_node" - (!srcfileloc "dwarf2out.h" 65) - (!fields 3 - (!pair "dw_cfi_opc" - (!type already_seen 2) - (!srcfileloc "dwarf2out.h" 60) - nil ) - (!pair "dw_cfi_oprnd1" - (!type union 473 nil gc_used "anonymous:../../gcc/gcc/dwarf2out.h:50" - (!srcfileloc "dwarf2out.h" 57) - (!fields 5 - (!pair "dw_cfi_reg_num" - (!type already_seen 2) - (!srcfileloc "dwarf2out.h" 51) - (!options - (!option tag string "dw_cfi_oprnd_reg_num") - ) - ) - (!pair "dw_cfi_offset" - (!type already_seen 2) - (!srcfileloc "dwarf2out.h" 52) - (!options - (!option tag string "dw_cfi_oprnd_offset") - ) - ) - (!pair "dw_cfi_addr" - (!type already_seen 11) - (!srcfileloc "dwarf2out.h" 53) - (!options - (!option tag string "dw_cfi_oprnd_addr") - ) - ) - (!pair "dw_cfi_loc" - (!type pointer 474 nil gc_used - (!type struct 475 - (!type already_seen 474) - gc_pointed_to "dw_loc_descr_node" - (!srcfileloc "dwarf2out.h" 299) - (!fields 7 - (!pair "dw_loc_next" - (!type already_seen 474) - (!srcfileloc "dwarf2out.h" 287) - nil ) - (!pair "dw_loc_opc" - (!type already_seen 2) - (!srcfileloc "dwarf2out.h" 288) - nil ) - (!pair "dtprel" - (!type already_seen 2) - (!srcfileloc "dwarf2out.h" 291) - nil ) - (!pair "frame_offset_rel" - (!type already_seen 2) - (!srcfileloc "dwarf2out.h" 295) - nil ) - (!pair "dw_loc_addr" - (!type already_seen 2) - (!srcfileloc "dwarf2out.h" 296) - nil ) - (!pair "dw_loc_oprnd1" - (!type struct 476 - (!type pointer 477 nil gc_unused - (!type already_seen 476) - ) - gc_used "dw_val_node" - (!srcfileloc "dwarf2out.h" 297) - (!fields 3 - (!pair "val_class" - (!type already_seen 2) - (!srcfileloc "dwarf2out.h" 242) - nil ) - (!pair "val_entry" - (!type pointer 478 nil gc_used - (!type struct 479 - (!type already_seen 478) - gc_pointed_to "addr_table_entry" - (!srcfileloc "dwarf2out.cc" 1364) - (!fields 4 - (!pair "kind" - (!type already_seen 2) - (!srcfileloc "dwarf2out.cc" 1345) - nil ) - (!pair "refcount" - (!type already_seen 2) - (!srcfileloc "dwarf2out.cc" 1346) - nil ) - (!pair "index" - (!type already_seen 2) - (!srcfileloc "dwarf2out.cc" 1347) - nil ) - (!pair "addr" - (!type union 480 nil gc_used "addr_table_entry_struct_union" - (!srcfileloc "dwarf2out.cc" 1352) - (!fields 2 - (!pair "rtl" - (!type already_seen 100) - (!srcfileloc "dwarf2out.cc" 1350) - (!options - (!option tag string "0") - ) - ) - (!pair "label" - (!type already_seen 11) - (!srcfileloc "dwarf2out.cc" 1351) - (!options - (!option tag string "1") - ) - ) - ) - nil 4095 nil ) - (!srcfileloc "dwarf2out.cc" 1353) - (!options - (!option desc string "%1.kind") - ) - ) - ) - (!options - (!option for_user string "") - ) - 4095 nil nil ) - ) - (!srcfileloc "dwarf2out.h" 243) - nil ) - (!pair "v" - (!type union 481 nil gc_used "dw_val_struct_union" - (!srcfileloc "dwarf2out.h" 279) - (!fields 23 - (!pair "val_addr" - (!type already_seen 100) - (!srcfileloc "dwarf2out.h" 246) - (!options - (!option tag string "dw_val_class_addr") - ) - ) - (!pair "val_offset" - (!type already_seen 2) - (!srcfileloc "dwarf2out.h" 247) - (!options - (!option tag string "dw_val_class_offset") - ) - ) - (!pair "val_loc_list" - (!type pointer 482 nil gc_used - (!type struct 483 - (!type already_seen 482) - gc_pointed_to "dw_loc_list_struct" - (!srcfileloc "dwarf2out.cc" 1391) - (!fields 19 - (!pair "dw_loc_next" - (!type already_seen 482) - (!srcfileloc "dwarf2out.cc" 1362) - nil ) - (!pair "begin" - (!type already_seen 11) - (!srcfileloc "dwarf2out.cc" 1363) - nil ) - (!pair "begin_entry" - (!type already_seen 478) - (!srcfileloc "dwarf2out.cc" 1364) - nil ) - (!pair "end" - (!type already_seen 11) - (!srcfileloc "dwarf2out.cc" 1365) - nil ) - (!pair "end_entry" - (!type already_seen 478) - (!srcfileloc "dwarf2out.cc" 1366) - nil ) - (!pair "ll_symbol" - (!type already_seen 11) - (!srcfileloc "dwarf2out.cc" 1367) - nil ) - (!pair "vl_symbol" - (!type already_seen 11) - (!srcfileloc "dwarf2out.cc" 1369) - nil ) - (!pair "section" - (!type already_seen 11) - (!srcfileloc "dwarf2out.cc" 1370) - nil ) - (!pair "expr" - (!type already_seen 474) - (!srcfileloc "dwarf2out.cc" 1371) - nil ) - (!pair "vbegin" - (!type already_seen 2) - (!srcfileloc "dwarf2out.cc" 1372) - nil ) - (!pair "vend" - (!type already_seen 2) - (!srcfileloc "dwarf2out.cc" 1372) - nil ) - (!pair "hash" - (!type already_seen 2) - (!srcfileloc "dwarf2out.cc" 1373) - nil ) - (!pair "resolved_addr" - (!type already_seen 2) - (!srcfileloc "dwarf2out.cc" 1376) - nil ) - (!pair "replaced" - (!type already_seen 2) - (!srcfileloc "dwarf2out.cc" 1378) - nil ) - (!pair "emitted" - (!type already_seen 8) - (!srcfileloc "dwarf2out.cc" 1381) - nil ) - (!pair "num_assigned" - (!type already_seen 8) - (!srcfileloc "dwarf2out.cc" 1383) - nil ) - (!pair "offset_emitted" - (!type already_seen 8) - (!srcfileloc "dwarf2out.cc" 1385) - nil ) - (!pair "noted_variable_value" - (!type already_seen 8) - (!srcfileloc "dwarf2out.cc" 1387) - nil ) - (!pair "force" - (!type already_seen 2) - (!srcfileloc "dwarf2out.cc" 1390) - nil ) - ) - nil 4095 nil nil ) - ) - (!srcfileloc "dwarf2out.h" 248) - (!options - (!option tag string "dw_val_class_loc_list") - ) - ) - (!pair "val_view_list" - (!type pointer 484 nil gc_used - (!type struct 485 - (!type already_seen 484) - gc_pointed_to "die_struct" - (!srcfileloc "dwarf2out.cc" 3197) - (!fields 15 - (!pair "die_id" - (!type union 486 nil gc_used "die_symbol_or_type_node" - (!srcfileloc "dwarf2out.cc" 3174) - (!fields 2 - (!pair "die_symbol" - (!type already_seen 11) - (!srcfileloc "dwarf2out.cc" 3172) - (!options - (!option tag string "0") - ) - ) - (!pair "die_type_node" - (!type pointer 487 nil gc_used - (!type struct 488 - (!type already_seen 487) - gc_pointed_to "comdat_type_node" - (!srcfileloc "dwarf2out.cc" 3273) - (!fields 5 - (!pair "root_die" - (!type already_seen 484) - (!srcfileloc "dwarf2out.cc" 3268) - nil ) - (!pair "type_die" - (!type already_seen 484) - (!srcfileloc "dwarf2out.cc" 3269) - nil ) - (!pair "skeleton_die" - (!type already_seen 484) - (!srcfileloc "dwarf2out.cc" 3270) - nil ) - (!pair "signature" - (!type array 489 nil gc_used "DWARF_TYPE_SIGNATURE_SIZE" - (!type already_seen 8) - ) - (!srcfileloc "dwarf2out.cc" 3271) - nil ) - (!pair "next" - (!type already_seen 487) - (!srcfileloc "dwarf2out.cc" 3272) - nil ) - ) - nil 4095 nil nil ) - ) - (!srcfileloc "dwarf2out.cc" 3173) - (!options - (!option tag string "1") - ) - ) - ) - nil 4095 nil ) - (!srcfileloc "dwarf2out.cc" 3175) - (!options - (!option desc string "%0.comdat_type_p") - ) - ) - (!pair "die_attr" - (!type pointer 490 nil gc_used - (!type user_struct 491 - (!type already_seen 490) - gc_pointed_to "vec" - (!srcfileloc "dwarf2out.cc" 3176) - (!fields 2 - (!pair "va_gc" - (!type already_seen 80) - (!srcfileloc "dwarf2out.cc" 3176) - nil ) - (!pair "dw_attr_node" - (!type struct 492 nil gc_used "dw_attr_struct" - (!srcfileloc "dwarf2out.h" 434) - (!fields 2 - (!pair "dw_attr" - (!type already_seen 2) - (!srcfileloc "dwarf2out.h" 432) - nil ) - (!pair "dw_attr_val" - (!type already_seen 476) - (!srcfileloc "dwarf2out.h" 433) - nil ) - ) - nil 4095 nil nil ) - (!srcfileloc "dwarf2out.cc" 3176) - nil ) - ) - ) - ) - (!srcfileloc "dwarf2out.cc" 3176) - nil ) - (!pair "die_parent" - (!type already_seen 484) - (!srcfileloc "dwarf2out.cc" 3177) - nil ) - (!pair "die_child" - (!type already_seen 484) - (!srcfileloc "dwarf2out.cc" 3178) - nil ) - (!pair "die_sib" - (!type already_seen 484) - (!srcfileloc "dwarf2out.cc" 3179) - nil ) - (!pair "die_definition" - (!type already_seen 484) - (!srcfileloc "dwarf2out.cc" 3180) - nil ) - (!pair "die_offset" - (!type already_seen 2) - (!srcfileloc "dwarf2out.cc" 3181) - nil ) - (!pair "die_abbrev" - (!type already_seen 2) - (!srcfileloc "dwarf2out.cc" 3182) - nil ) - (!pair "die_mark" - (!type already_seen 2) - (!srcfileloc "dwarf2out.cc" 3183) - nil ) - (!pair "decl_id" - (!type already_seen 2) - (!srcfileloc "dwarf2out.cc" 3184) - nil ) - (!pair "die_tag" - (!type already_seen 2) - (!srcfileloc "dwarf2out.cc" 3185) - nil ) - (!pair "die_perennial_p" - (!type already_seen 2) - (!srcfileloc "dwarf2out.cc" 3187) - nil ) - (!pair "comdat_type_p" - (!type already_seen 2) - (!srcfileloc "dwarf2out.cc" 3188) - nil ) - (!pair "with_offset" - (!type already_seen 2) - (!srcfileloc "dwarf2out.cc" 3191) - nil ) - (!pair "removed" - (!type already_seen 2) - (!srcfileloc "dwarf2out.cc" 3195) - nil ) - ) - (!options - (!option for_user string "") - (!option chain_circular string "%h.die_sib") - ) - 4095 nil nil ) - ) - (!srcfileloc "dwarf2out.h" 249) - (!options - (!option tag string "dw_val_class_view_list") - ) - ) - (!pair "val_loc" - (!type already_seen 474) - (!srcfileloc "dwarf2out.h" 250) - (!options - (!option tag string "dw_val_class_loc") - ) - ) - (!pair "val_int" - (!type already_seen 2) - (!srcfileloc "dwarf2out.h" 251) - (!options - (!option default string "") - ) - ) - (!pair "val_unsigned" - (!type already_seen 2) - (!srcfileloc "dwarf2out.h" 253) - (!options - (!option tag string "dw_val_class_unsigned_const") - ) - ) - (!pair "val_double" - (!type already_seen 2) - (!srcfileloc "dwarf2out.h" 254) - (!options - (!option tag string "dw_val_class_const_double") - ) - ) - (!pair "val_wide" - (!type pointer 493 nil gc_used - (!type user_struct 494 - (!type already_seen 493) - gc_pointed_to "generic_wide_int" - (!srcfileloc "wide-int.h" 322) - (!fields 1 - (!pair "wide_int_storage" - (!type struct 495 nil gc_used "wide_int_storage" - (!srcfileloc "wide-int.h" 1088) - (!fields 3 - (!pair "val" - (!type array 496 nil gc_used "WIDE_INT_MAX_ELTS" - (!type already_seen 2) - ) - (!srcfileloc "wide-int.h" 1062) - nil ) - (!pair "len" - (!type already_seen 2) - (!srcfileloc "wide-int.h" 1063) - nil ) - (!pair "precision" - (!type already_seen 2) - (!srcfileloc "wide-int.h" 1064) - nil ) - ) - nil 4095 nil nil ) - (!srcfileloc "wide-int.h" 322) - nil ) - ) - ) - ) - (!srcfileloc "dwarf2out.h" 255) - (!options - (!option tag string "dw_val_class_wide_int") - ) - ) - (!pair "val_vec" - (!type struct 497 nil gc_used "dw_vec_const" - (!srcfileloc "dwarf2out.h" 256) - (!fields 3 - (!pair "array" - (!type already_seen 3) - (!srcfileloc "dwarf2out.h" 212) - (!options - (!option atomic string "") - ) - ) - (!pair "length" - (!type already_seen 2) - (!srcfileloc "dwarf2out.h" 213) - nil ) - (!pair "elt_size" - (!type already_seen 2) - (!srcfileloc "dwarf2out.h" 214) - nil ) - ) - nil 4095 nil nil ) - (!srcfileloc "dwarf2out.h" 256) - (!options - (!option tag string "dw_val_class_vec") - ) - ) - (!pair "val_die_ref" - (!type struct 498 nil gc_used "dw_val_die_union" - (!srcfileloc "dwarf2out.h" 261) - (!fields 2 - (!pair "die" - (!type already_seen 484) - (!srcfileloc "dwarf2out.h" 259) - nil ) - (!pair "external" - (!type already_seen 2) - (!srcfileloc "dwarf2out.h" 260) - nil ) - ) - nil 4095 nil nil ) - (!srcfileloc "dwarf2out.h" 261) - (!options - (!option tag string "dw_val_class_die_ref") - ) - ) - (!pair "val_fde_index" - (!type already_seen 2) - (!srcfileloc "dwarf2out.h" 262) - (!options - (!option tag string "dw_val_class_fde_ref") - ) - ) - (!pair "val_str" - (!type pointer 499 nil gc_used - (!type struct 500 - (!type already_seen 499) - gc_pointed_to "indirect_string_node" - (!srcfileloc "dwarf2out.cc" 223) - (!fields 5 - (!pair "str" - (!type already_seen 11) - (!srcfileloc "dwarf2out.cc" 218) - nil ) - (!pair "refcount" - (!type already_seen 2) - (!srcfileloc "dwarf2out.cc" 219) - nil ) - (!pair "form" - (!type already_seen 2) - (!srcfileloc "dwarf2out.cc" 220) - nil ) - (!pair "label" - (!type already_seen 11) - (!srcfileloc "dwarf2out.cc" 221) - nil ) - (!pair "index" - (!type already_seen 2) - (!srcfileloc "dwarf2out.cc" 222) - nil ) - ) - (!options - (!option for_user string "") - ) - 4095 nil nil ) - ) - (!srcfileloc "dwarf2out.h" 263) - (!options - (!option tag string "dw_val_class_str") - ) - ) - (!pair "val_lbl_id" - (!type already_seen 11) - (!srcfileloc "dwarf2out.h" 264) - (!options - (!option tag string "dw_val_class_lbl_id") - ) - ) - (!pair "val_flag" - (!type already_seen 8) - (!srcfileloc "dwarf2out.h" 265) - (!options - (!option tag string "dw_val_class_flag") - ) - ) - (!pair "val_file" - (!type pointer 501 nil gc_used - (!type struct 502 - (!type already_seen 501) - gc_pointed_to "dwarf_file_data" - (!srcfileloc "dwarf2out.h" 465) - (!fields 3 - (!pair "key" - (!type already_seen 11) - (!srcfileloc "dwarf2out.h" 462) - nil ) - (!pair "filename" - (!type already_seen 11) - (!srcfileloc "dwarf2out.h" 463) - nil ) - (!pair "emitted_number" - (!type already_seen 2) - (!srcfileloc "dwarf2out.h" 464) - nil ) - ) - (!options - (!option for_user string "") - ) - 4095 nil nil ) - ) - (!srcfileloc "dwarf2out.h" 266) - (!options - (!option tag string "dw_val_class_file") - ) - ) - (!pair "val_file_implicit" - (!type already_seen 501) - (!srcfileloc "dwarf2out.h" 268) - (!options - (!option tag string "dw_val_class_file_implicit") - ) - ) - (!pair "val_data8" - (!type array 503 nil gc_used "8" - (!type already_seen 8) - ) - (!srcfileloc "dwarf2out.h" 269) - (!options - (!option tag string "dw_val_class_data8") - ) - ) - (!pair "val_decl_ref" - (!type already_seen 23) - (!srcfileloc "dwarf2out.h" 270) - (!options - (!option tag string "dw_val_class_decl_ref") - ) - ) - (!pair "val_vms_delta" - (!type struct 504 nil gc_used "dw_val_vms_delta_union" - (!srcfileloc "dwarf2out.h" 275) - (!fields 2 - (!pair "lbl1" - (!type already_seen 11) - (!srcfileloc "dwarf2out.h" 273) - nil ) - (!pair "lbl2" - (!type already_seen 11) - (!srcfileloc "dwarf2out.h" 274) - nil ) - ) - nil 4095 nil nil ) - (!srcfileloc "dwarf2out.h" 275) - (!options - (!option tag string "dw_val_class_vms_delta") - ) - ) - (!pair "val_discr_value" - (!type struct 505 nil gc_used "dw_discr_value" - (!srcfileloc "dwarf2out.h" 276) - (!fields 2 - (!pair "pos" - (!type already_seen 2) - (!srcfileloc "dwarf2out.h" 227) - nil ) - (!pair "v" - (!type union 506 nil gc_used "anonymous:../../gcc/gcc/dwarf2out.h:229" - (!srcfileloc "dwarf2out.h" 232) - (!fields 2 - (!pair "sval" - (!type already_seen 2) - (!srcfileloc "dwarf2out.h" 230) - (!options - (!option tag string "0") - ) - ) - (!pair "uval" - (!type already_seen 2) - (!srcfileloc "dwarf2out.h" 231) - (!options - (!option tag string "1") - ) - ) - ) - nil 4095 nil ) - (!srcfileloc "dwarf2out.h" 233) - (!options - (!option desc string "%1.pos") - ) - ) - ) - nil 4095 nil nil ) - (!srcfileloc "dwarf2out.h" 276) - (!options - (!option tag string "dw_val_class_discr_value") - ) - ) - (!pair "val_discr_list" - (!type pointer 507 nil gc_used - (!type struct 508 - (!type already_seen 507) - gc_pointed_to "dw_discr_list_node" - (!srcfileloc "dwarf2out.h" 314) - (!fields 4 - (!pair "dw_discr_next" - (!type already_seen 507) - (!srcfileloc "dwarf2out.h" 306) - nil ) - (!pair "dw_discr_lower_bound" - (!type already_seen 505) - (!srcfileloc "dwarf2out.h" 308) - nil ) - (!pair "dw_discr_upper_bound" - (!type already_seen 505) - (!srcfileloc "dwarf2out.h" 309) - nil ) - (!pair "dw_discr_range" - (!type already_seen 2) - (!srcfileloc "dwarf2out.h" 313) - nil ) - ) - nil 4095 nil nil ) - ) - (!srcfileloc "dwarf2out.h" 277) - (!options - (!option tag string "dw_val_class_discr_list") - ) - ) - (!pair "val_symbolic_view" - (!type already_seen 11) - (!srcfileloc "dwarf2out.h" 278) - (!options - (!option tag string "dw_val_class_symview") - ) - ) - ) - nil 4095 nil ) - (!srcfileloc "dwarf2out.h" 280) - (!options - (!option desc string "%1.val_class") - ) - ) - ) - nil 4095 nil nil ) - (!srcfileloc "dwarf2out.h" 297) - nil ) - (!pair "dw_loc_oprnd2" - (!type already_seen 476) - (!srcfileloc "dwarf2out.h" 298) - nil ) - ) - (!options - (!option chain_next string "%h.dw_loc_next") - ) - 4095 nil nil ) - ) - (!srcfileloc "dwarf2out.h" 54) - (!options - (!option tag string "dw_cfi_oprnd_loc") - ) - ) - (!pair "dw_cfi_cfa_loc" - (!type pointer 509 nil gc_used - (!type struct 510 - (!type already_seen 509) - gc_pointed_to "dw_cfa_location" - (!srcfileloc "dwarf2cfi.cc" 66) - (!fields 5 - (!pair "offset" - (!type already_seen 2) - (!srcfileloc "dwarf2out.h" 161) - nil ) - (!pair "base_offset" - (!type already_seen 2) - (!srcfileloc "dwarf2out.h" 162) - nil ) - (!pair "reg" - (!type struct 511 nil gc_used "cfa_reg" - (!srcfileloc "dwarf2out.h" 153) - (!fields 3 - (!pair "reg" - (!type already_seen 2) - (!srcfileloc "dwarf2out.h" 129) - nil ) - (!pair "span" - (!type already_seen 2) - (!srcfileloc "dwarf2out.h" 130) - nil ) - (!pair "span_width" - (!type already_seen 2) - (!srcfileloc "dwarf2out.h" 131) - nil ) - ) - nil 4095 nil nil ) - (!srcfileloc "dwarf2out.h" 164) - nil ) - (!pair "indirect" - (!type already_seen 2) - (!srcfileloc "dwarf2out.h" 165) - nil ) - (!pair "in_use" - (!type already_seen 2) - (!srcfileloc "dwarf2out.h" 166) - nil ) - ) - nil 4095 nil nil ) - ) - (!srcfileloc "dwarf2out.h" 56) - (!options - (!option tag string "dw_cfi_oprnd_cfa_loc") - ) - ) - ) - nil 4095 nil ) - (!srcfileloc "dwarf2out.h" 62) - (!options - (!option desc string "dw_cfi_oprnd1_desc (%1.dw_cfi_opc)") - ) - ) - (!pair "dw_cfi_oprnd2" - (!type already_seen 473) - (!srcfileloc "dwarf2out.h" 64) - (!options - (!option desc string "dw_cfi_oprnd2_desc (%1.dw_cfi_opc)") - ) - ) - ) - nil 4095 nil nil ) - ) - (!srcfileloc "dwarf2out.h" 68) - nil ) - ) - ) - ) - (!srcfileloc "dwarf2out.h" 87) - nil ) - (!pair "dw_fde_switch_cfi_index" - (!type already_seen 2) - (!srcfileloc "dwarf2out.h" 88) - nil ) - (!pair "stack_realignment" - (!type already_seen 2) - (!srcfileloc "dwarf2out.h" 89) - nil ) - (!pair "funcdef_number" - (!type already_seen 2) - (!srcfileloc "dwarf2out.h" 91) - nil ) - (!pair "fde_index" - (!type already_seen 2) - (!srcfileloc "dwarf2out.h" 92) - nil ) - (!pair "drap_reg" - (!type already_seen 2) - (!srcfileloc "dwarf2out.h" 95) - nil ) - (!pair "vdrap_reg" - (!type already_seen 2) - (!srcfileloc "dwarf2out.h" 97) - nil ) - (!pair "all_throwers_are_sibcalls" - (!type already_seen 2) - (!srcfileloc "dwarf2out.h" 99) - nil ) - (!pair "uses_eh_lsda" - (!type already_seen 2) - (!srcfileloc "dwarf2out.h" 100) - nil ) - (!pair "nothrow" - (!type already_seen 2) - (!srcfileloc "dwarf2out.h" 101) - nil ) - (!pair "stack_realign" - (!type already_seen 2) - (!srcfileloc "dwarf2out.h" 103) - nil ) - (!pair "drap_reg_saved" - (!type already_seen 2) - (!srcfileloc "dwarf2out.h" 105) - nil ) - (!pair "in_std_section" - (!type already_seen 2) - (!srcfileloc "dwarf2out.h" 107) - nil ) - (!pair "second_in_std_section" - (!type already_seen 2) - (!srcfileloc "dwarf2out.h" 110) - nil ) - (!pair "rule18" - (!type already_seen 2) - (!srcfileloc "dwarf2out.h" 116) - nil ) - (!pair "ignored_debug" - (!type already_seen 2) - (!srcfileloc "dwarf2out.h" 118) - nil ) - ) - nil 4095 nil nil ) - ) - (!srcfileloc "function.h" 304) - nil ) - (!pair "x_range_query" - (!type pointer 512 nil gc_unused - (!type struct 513 - (!type already_seen 512) - gc_unused "range_query" - (!srcfileloc "function.h" 310) - (!fields 0 ) - nil 4095 nil nil ) - ) - (!srcfileloc "function.h" 310) - (!options - (!option skip string "") - ) - ) - (!pair "last_stmt_uid" - (!type already_seen 2) - (!srcfileloc "function.h" 313) - nil ) - (!pair "debug_marker_count" - (!type already_seen 2) - (!srcfileloc "function.h" 319) - nil ) - (!pair "funcdef_no" - (!type already_seen 2) - (!srcfileloc "function.h" 322) - nil ) - (!pair "function_start_locus" - (!type already_seen 2) - (!srcfileloc "function.h" 325) - nil ) - (!pair "function_end_locus" - (!type already_seen 2) - (!srcfileloc "function.h" 328) - nil ) - (!pair "curr_properties" - (!type already_seen 2) - (!srcfileloc "function.h" 331) - nil ) - (!pair "last_verified" - (!type already_seen 2) - (!srcfileloc "function.h" 332) - nil ) - (!pair "pending_TODOs" - (!type already_seen 2) - (!srcfileloc "function.h" 339) - nil ) - (!pair "cannot_be_copied_reason" - (!type already_seen 11) - (!srcfileloc "function.h" 344) - (!options - (!option skip string "") - ) - ) - (!pair "last_clique" - (!type already_seen 2) - (!srcfileloc "function.h" 347) - nil ) - (!pair "va_list_gpr_size" - (!type already_seen 2) - (!srcfileloc "function.h" 354) - nil ) - (!pair "va_list_fpr_size" - (!type already_seen 2) - (!srcfileloc "function.h" 358) - nil ) - (!pair "calls_setjmp" - (!type already_seen 2) - (!srcfileloc "function.h" 361) - nil ) - (!pair "calls_alloca" - (!type already_seen 2) - (!srcfileloc "function.h" 365) - nil ) - (!pair "calls_eh_return" - (!type already_seen 2) - (!srcfileloc "function.h" 368) - nil ) - (!pair "has_nonlocal_label" - (!type already_seen 2) - (!srcfileloc "function.h" 372) - nil ) - (!pair "has_forced_label_in_static" - (!type already_seen 2) - (!srcfileloc "function.h" 376) - nil ) - (!pair "cannot_be_copied_set" - (!type already_seen 2) - (!srcfileloc "function.h" 381) - nil ) - (!pair "stdarg" - (!type already_seen 2) - (!srcfileloc "function.h" 384) - nil ) - (!pair "after_inlining" - (!type already_seen 2) - (!srcfileloc "function.h" 386) - nil ) - (!pair "always_inline_functions_inlined" - (!type already_seen 2) - (!srcfileloc "function.h" 387) - nil ) - (!pair "can_throw_non_call_exceptions" - (!type already_seen 2) - (!srcfileloc "function.h" 391) - nil ) - (!pair "can_delete_dead_exceptions" - (!type already_seen 2) - (!srcfileloc "function.h" 395) - nil ) - (!pair "returns_struct" - (!type already_seen 2) - (!srcfileloc "function.h" 402) - nil ) - (!pair "returns_pcc_struct" - (!type already_seen 2) - (!srcfileloc "function.h" 406) - nil ) - (!pair "has_local_explicit_reg_vars" - (!type already_seen 2) - (!srcfileloc "function.h" 410) - nil ) - (!pair "is_thunk" - (!type already_seen 2) - (!srcfileloc "function.h" 416) - nil ) - (!pair "has_force_vectorize_loops" - (!type already_seen 2) - (!srcfileloc "function.h" 420) - nil ) - (!pair "has_simduid_loops" - (!type already_seen 2) - (!srcfileloc "function.h" 424) - nil ) - (!pair "tail_call_marked" - (!type already_seen 2) - (!srcfileloc "function.h" 427) - nil ) - (!pair "has_unroll" - (!type already_seen 2) - (!srcfileloc "function.h" 430) - nil ) - (!pair "debug_nonbind_markers" - (!type already_seen 2) - (!srcfileloc "function.h" 434) - nil ) - (!pair "coroutine_component" - (!type already_seen 2) - (!srcfileloc "function.h" 437) - nil ) - (!pair "has_omp_target" - (!type already_seen 2) - (!srcfileloc "function.h" 440) - nil ) - (!pair "assume_function" - (!type already_seen 2) - (!srcfileloc "function.h" 444) - nil ) - ) - nil 4095 nil nil ) - ) - (!srcfileloc "tree-core.h" 1952) - nil ) - (!pair "arguments" - (!type already_seen 23) - (!srcfileloc "tree-core.h" 1955) - nil ) - (!pair "personality" - (!type already_seen 23) - (!srcfileloc "tree-core.h" 1957) - nil ) - (!pair "function_specific_target" - (!type already_seen 23) - (!srcfileloc "tree-core.h" 1960) - nil ) - (!pair "function_specific_optimization" - (!type already_seen 23) - (!srcfileloc "tree-core.h" 1961) - nil ) - (!pair "saved_tree" - (!type already_seen 23) - (!srcfileloc "tree-core.h" 1964) - nil ) - (!pair "vindex" - (!type already_seen 23) - (!srcfileloc "tree-core.h" 1966) - nil ) - (!pair "function_code" - (!type already_seen 2) - (!srcfileloc "tree-core.h" 1969) - nil ) - (!pair "built_in_class" - (!type already_seen 2) - (!srcfileloc "tree-core.h" 1971) - nil ) - (!pair "static_ctor_flag" - (!type already_seen 2) - (!srcfileloc "tree-core.h" 1972) - nil ) - (!pair "static_dtor_flag" - (!type already_seen 2) - (!srcfileloc "tree-core.h" 1973) - nil ) - (!pair "uninlinable" - (!type already_seen 2) - (!srcfileloc "tree-core.h" 1974) - nil ) - (!pair "possibly_inlined" - (!type already_seen 2) - (!srcfileloc "tree-core.h" 1975) - nil ) - (!pair "novops_flag" - (!type already_seen 2) - (!srcfileloc "tree-core.h" 1976) - nil ) - (!pair "returns_twice_flag" - (!type already_seen 2) - (!srcfileloc "tree-core.h" 1977) - nil ) - (!pair "malloc_flag" - (!type already_seen 2) - (!srcfileloc "tree-core.h" 1979) - nil ) - (!pair "declared_inline_flag" - (!type already_seen 2) - (!srcfileloc "tree-core.h" 1980) - nil ) - (!pair "no_inline_warning_flag" - (!type already_seen 2) - (!srcfileloc "tree-core.h" 1981) - nil ) - (!pair "no_instrument_function_entry_exit" - (!type already_seen 2) - (!srcfileloc "tree-core.h" 1982) - nil ) - (!pair "no_limit_stack" - (!type already_seen 2) - (!srcfileloc "tree-core.h" 1983) - nil ) - (!pair "disregard_inline_limits" - (!type already_seen 2) - (!srcfileloc "tree-core.h" 1984) - nil ) - (!pair "pure_flag" - (!type already_seen 2) - (!srcfileloc "tree-core.h" 1985) - nil ) - (!pair "looping_const_or_pure_flag" - (!type already_seen 2) - (!srcfileloc "tree-core.h" 1986) - nil ) - (!pair "decl_type" - (!type already_seen 2) - (!srcfileloc "tree-core.h" 1989) - nil ) - (!pair "has_debug_args_flag" - (!type already_seen 2) - (!srcfileloc "tree-core.h" 1990) - nil ) - (!pair "versioned_function" - (!type already_seen 2) - (!srcfileloc "tree-core.h" 1991) - nil ) - (!pair "replaceable_operator" - (!type already_seen 2) - (!srcfileloc "tree-core.h" 1992) - nil ) - ) - nil 4095 nil nil ) - (!srcfileloc "tree-core.h" 2088) - (!options - (!option tag string "TS_FUNCTION_DECL") - ) - ) - (!pair "translation_unit_decl" - (!type struct 514 nil gc_used "tree_translation_unit_decl" - (!srcfileloc "tree-core.h" 2004) - (!fields 2 - (!pair "common" - (!type already_seen 52) - (!srcfileloc "tree-core.h" 1999) - nil ) - (!pair "language" - (!type already_seen 11) - (!srcfileloc "tree-core.h" 2001) - nil ) - ) - nil 4095 nil nil ) - (!srcfileloc "tree-core.h" 2090) - (!options - (!option tag string "TS_TRANSLATION_UNIT_DECL") - ) - ) - (!pair "type_common" - (!type struct 515 nil gc_used "tree_type_common" - (!srcfileloc "tree-core.h" 1735) - (!fields 37 - (!pair "common" - (!type already_seen 32) - (!srcfileloc "tree-core.h" 1683) - nil ) - (!pair "size" - (!type already_seen 23) - (!srcfileloc "tree-core.h" 1684) - nil ) - (!pair "size_unit" - (!type already_seen 23) - (!srcfileloc "tree-core.h" 1685) - nil ) - (!pair "attributes" - (!type already_seen 23) - (!srcfileloc "tree-core.h" 1686) - nil ) - (!pair "uid" - (!type already_seen 2) - (!srcfileloc "tree-core.h" 1687) - nil ) - (!pair "precision" - (!type already_seen 2) - (!srcfileloc "tree-core.h" 1689) - nil ) - (!pair "no_force_blk_flag" - (!type already_seen 2) - (!srcfileloc "tree-core.h" 1690) - nil ) - (!pair "needs_constructing_flag" - (!type already_seen 2) - (!srcfileloc "tree-core.h" 1691) - nil ) - (!pair "transparent_aggr_flag" - (!type already_seen 2) - (!srcfileloc "tree-core.h" 1692) - nil ) - (!pair "restrict_flag" - (!type already_seen 2) - (!srcfileloc "tree-core.h" 1693) - nil ) - (!pair "contains_placeholder_bits" - (!type already_seen 2) - (!srcfileloc "tree-core.h" 1694) - nil ) - (!pair "mode" - (!type already_seen 2) - (!srcfileloc "tree-core.h" 1696) - nil ) - (!pair "string_flag" - (!type already_seen 2) - (!srcfileloc "tree-core.h" 1700) - nil ) - (!pair "lang_flag_0" - (!type already_seen 2) - (!srcfileloc "tree-core.h" 1701) - nil ) - (!pair "lang_flag_1" - (!type already_seen 2) - (!srcfileloc "tree-core.h" 1702) - nil ) - (!pair "lang_flag_2" - (!type already_seen 2) - (!srcfileloc "tree-core.h" 1703) - nil ) - (!pair "lang_flag_3" - (!type already_seen 2) - (!srcfileloc "tree-core.h" 1704) - nil ) - (!pair "lang_flag_4" - (!type already_seen 2) - (!srcfileloc "tree-core.h" 1705) - nil ) - (!pair "lang_flag_5" - (!type already_seen 2) - (!srcfileloc "tree-core.h" 1706) - nil ) - (!pair "lang_flag_6" - (!type already_seen 2) - (!srcfileloc "tree-core.h" 1707) - nil ) - (!pair "lang_flag_7" - (!type already_seen 2) - (!srcfileloc "tree-core.h" 1708) - nil ) - (!pair "align" - (!type already_seen 2) - (!srcfileloc "tree-core.h" 1715) - nil ) - (!pair "warn_if_not_align" - (!type already_seen 2) - (!srcfileloc "tree-core.h" 1716) - nil ) - (!pair "typeless_storage" - (!type already_seen 2) - (!srcfileloc "tree-core.h" 1717) - nil ) - (!pair "empty_flag" - (!type already_seen 2) - (!srcfileloc "tree-core.h" 1718) - nil ) - (!pair "indivisible_p" - (!type already_seen 2) - (!srcfileloc "tree-core.h" 1719) - nil ) - (!pair "no_named_args_stdarg_p" - (!type already_seen 2) - (!srcfileloc "tree-core.h" 1720) - nil ) - (!pair "spare" - (!type already_seen 2) - (!srcfileloc "tree-core.h" 1721) - nil ) - (!pair "alias_set" - (!type already_seen 2) - (!srcfileloc "tree-core.h" 1723) - nil ) - (!pair "pointer_to" - (!type already_seen 23) - (!srcfileloc "tree-core.h" 1724) - nil ) - (!pair "reference_to" - (!type already_seen 23) - (!srcfileloc "tree-core.h" 1725) - nil ) - (!pair "symtab" - (!type union 516 nil gc_used "tree_type_symtab" - (!srcfileloc "tree-core.h" 1729) - (!fields 2 - (!pair "address" - (!type already_seen 2) - (!srcfileloc "tree-core.h" 1727) - (!options - (!option tag string "TYPE_SYMTAB_IS_ADDRESS") - ) - ) - (!pair "die" - (!type already_seen 484) - (!srcfileloc "tree-core.h" 1728) - (!options - (!option tag string "TYPE_SYMTAB_IS_DIE") - ) - ) - ) - nil 4095 nil ) - (!srcfileloc "tree-core.h" 1729) - (!options - (!option desc string "debug_hooks->tree_type_symtab_field") - ) - ) - (!pair "canonical" - (!type already_seen 23) - (!srcfileloc "tree-core.h" 1730) - nil ) - (!pair "next_variant" - (!type already_seen 23) - (!srcfileloc "tree-core.h" 1731) - nil ) - (!pair "main_variant" - (!type already_seen 23) - (!srcfileloc "tree-core.h" 1732) - nil ) - (!pair "context" - (!type already_seen 23) - (!srcfileloc "tree-core.h" 1733) - nil ) - (!pair "name" - (!type already_seen 23) - (!srcfileloc "tree-core.h" 1734) - nil ) - ) - nil 4095 nil nil ) - (!srcfileloc "tree-core.h" 2091) - (!options - (!option tag string "TS_TYPE_COMMON") - ) - ) - (!pair "type_with_lang_specific" - (!type struct 517 nil gc_used "tree_type_with_lang_specific" - (!srcfileloc "tree-core.h" 1741) - (!fields 2 - (!pair "common" - (!type already_seen 515) - (!srcfileloc "tree-core.h" 1738) - nil ) - (!pair "lang_specific" - (!type pointer 518 nil gc_used - (!type lang_struct 519 - (!type already_seen 518) - gc_pointed_to "lang_type" - (!srcfileloc "ada/gcc-interface/ada-tree.h" 36) - (!fields 0 ) - nil 4095 - (!homotypes 10 - (!type struct 520 nil gc_pointed_to "lang_type" - (!srcfileloc "rust/rust-lang.cc" 69) - (!fields 0 ) - nil 2048 - (!type already_seen 519) - nil ) - - (!type struct 521 nil gc_pointed_to "lang_type" - (!srcfileloc "m2/gm2-lang.cc" 76) - (!fields 1 - (!pair "dummy" - (!type already_seen 8) - (!srcfileloc "m2/gm2-lang.cc" 75) - nil ) - ) - nil 256 - (!type already_seen 519) - nil ) - - (!type struct 522 nil gc_pointed_to "lang_type" - (!srcfileloc "lto/lto-tree.h" 37) - (!fields 1 - (!pair "dummy" - (!type already_seen 2) - (!srcfileloc "lto/lto-tree.h" 36) - nil ) - ) - nil 128 - (!type already_seen 519) - nil ) - - (!type struct 523 nil gc_pointed_to "lang_type" - (!srcfileloc "jit/dummy-frontend.cc" 490) - (!fields 1 - (!pair "dummy" - (!type already_seen 8) - (!srcfileloc "jit/dummy-frontend.cc" 489) - nil ) - ) - nil 64 - (!type already_seen 519) - nil ) - - (!type struct 524 nil gc_pointed_to "lang_type" - (!srcfileloc "go/go-lang.cc" 51) - (!fields 1 - (!pair "dummy" - (!type already_seen 8) - (!srcfileloc "go/go-lang.cc" 50) - nil ) - ) - nil 32 - (!type already_seen 519) - nil ) - - (!type struct 525 nil gc_pointed_to "lang_type" - (!srcfileloc "fortran/trans.h" 1017) - (!fields 14 - (!pair "rank" - (!type already_seen 2) - (!srcfileloc "fortran/trans.h" 1004) - nil ) - (!pair "corank" - (!type already_seen 2) - (!srcfileloc "fortran/trans.h" 1004) - nil ) - (!pair "akind" - (!type already_seen 2) - (!srcfileloc "fortran/trans.h" 1005) - nil ) - (!pair "lbound" - (!type array 526 nil gc_used "GFC_MAX_DIMENSIONS" - (!type already_seen 23) - ) - (!srcfileloc "fortran/trans.h" 1006) - nil ) - (!pair "ubound" - (!type array 527 nil gc_used "GFC_MAX_DIMENSIONS" - (!type already_seen 23) - ) - (!srcfileloc "fortran/trans.h" 1007) - nil ) - (!pair "stride" - (!type array 528 nil gc_used "GFC_MAX_DIMENSIONS" - (!type already_seen 23) - ) - (!srcfileloc "fortran/trans.h" 1008) - nil ) - (!pair "size" - (!type already_seen 23) - (!srcfileloc "fortran/trans.h" 1009) - nil ) - (!pair "offset" - (!type already_seen 23) - (!srcfileloc "fortran/trans.h" 1010) - nil ) - (!pair "dtype" - (!type already_seen 23) - (!srcfileloc "fortran/trans.h" 1011) - nil ) - (!pair "dataptr_type" - (!type already_seen 23) - (!srcfileloc "fortran/trans.h" 1012) - nil ) - (!pair "base_decl" - (!type array 529 nil gc_used "2" - (!type already_seen 23) - ) - (!srcfileloc "fortran/trans.h" 1013) - nil ) - (!pair "nonrestricted_type" - (!type already_seen 23) - (!srcfileloc "fortran/trans.h" 1014) - nil ) - (!pair "caf_token" - (!type already_seen 23) - (!srcfileloc "fortran/trans.h" 1015) - nil ) - (!pair "caf_offset" - (!type already_seen 23) - (!srcfileloc "fortran/trans.h" 1016) - nil ) - ) - nil 16 - (!type already_seen 519) - nil ) - - (!type struct 530 nil gc_pointed_to "lang_type" - (!srcfileloc "d/d-tree.h" 326) - (!fields 1 - (!pair "type" - (!type pointer 531 nil gc_unused - (!type struct 532 - (!type already_seen 531) - gc_unused "Type" - (!srcfileloc "d/d-tree.h" 325) - (!fields 0 ) - nil 8 nil nil ) - ) - (!srcfileloc "d/d-tree.h" 325) - (!options - (!option skip string "") - ) - ) - ) - nil 8 - (!type already_seen 519) - nil ) - - (!type struct 533 nil gc_pointed_to "lang_type" - (!srcfileloc "cp/cp-tree.h" 2423) - (!fields 67 - (!pair "align" - (!type already_seen 8) - (!srcfileloc "cp/cp-tree.h" 2335) - nil ) - (!pair "has_type_conversion" - (!type already_seen 2) - (!srcfileloc "cp/cp-tree.h" 2337) - nil ) - (!pair "has_copy_ctor" - (!type already_seen 2) - (!srcfileloc "cp/cp-tree.h" 2338) - nil ) - (!pair "has_default_ctor" - (!type already_seen 2) - (!srcfileloc "cp/cp-tree.h" 2339) - nil ) - (!pair "const_needs_init" - (!type already_seen 2) - (!srcfileloc "cp/cp-tree.h" 2340) - nil ) - (!pair "ref_needs_init" - (!type already_seen 2) - (!srcfileloc "cp/cp-tree.h" 2341) - nil ) - (!pair "has_const_copy_assign" - (!type already_seen 2) - (!srcfileloc "cp/cp-tree.h" 2342) - nil ) - (!pair "use_template" - (!type already_seen 2) - (!srcfileloc "cp/cp-tree.h" 2343) - nil ) - (!pair "has_mutable" - (!type already_seen 2) - (!srcfileloc "cp/cp-tree.h" 2345) - nil ) - (!pair "com_interface" - (!type already_seen 2) - (!srcfileloc "cp/cp-tree.h" 2346) - nil ) - (!pair "non_pod_class" - (!type already_seen 2) - (!srcfileloc "cp/cp-tree.h" 2347) - nil ) - (!pair "nearly_empty_p" - (!type already_seen 2) - (!srcfileloc "cp/cp-tree.h" 2348) - nil ) - (!pair "user_align" - (!type already_seen 2) - (!srcfileloc "cp/cp-tree.h" 2349) - nil ) - (!pair "has_copy_assign" - (!type already_seen 2) - (!srcfileloc "cp/cp-tree.h" 2350) - nil ) - (!pair "has_new" - (!type already_seen 2) - (!srcfileloc "cp/cp-tree.h" 2351) - nil ) - (!pair "has_array_new" - (!type already_seen 2) - (!srcfileloc "cp/cp-tree.h" 2352) - nil ) - (!pair "gets_delete" - (!type already_seen 2) - (!srcfileloc "cp/cp-tree.h" 2354) - nil ) - (!pair "interface_only" - (!type already_seen 2) - (!srcfileloc "cp/cp-tree.h" 2355) - nil ) - (!pair "interface_unknown" - (!type already_seen 2) - (!srcfileloc "cp/cp-tree.h" 2356) - nil ) - (!pair "contains_empty_class_p" - (!type already_seen 2) - (!srcfileloc "cp/cp-tree.h" 2357) - nil ) - (!pair "anon_aggr" - (!type already_seen 2) - (!srcfileloc "cp/cp-tree.h" 2358) - nil ) - (!pair "non_zero_init" - (!type already_seen 2) - (!srcfileloc "cp/cp-tree.h" 2359) - nil ) - (!pair "empty_p" - (!type already_seen 2) - (!srcfileloc "cp/cp-tree.h" 2360) - nil ) - (!pair "vec_new_uses_cookie" - (!type already_seen 2) - (!srcfileloc "cp/cp-tree.h" 2363) - nil ) - (!pair "declared_class" - (!type already_seen 2) - (!srcfileloc "cp/cp-tree.h" 2364) - nil ) - (!pair "diamond_shaped" - (!type already_seen 2) - (!srcfileloc "cp/cp-tree.h" 2365) - nil ) - (!pair "repeated_base" - (!type already_seen 2) - (!srcfileloc "cp/cp-tree.h" 2366) - nil ) - (!pair "being_defined" - (!type already_seen 2) - (!srcfileloc "cp/cp-tree.h" 2367) - nil ) - (!pair "debug_requested" - (!type already_seen 2) - (!srcfileloc "cp/cp-tree.h" 2368) - nil ) - (!pair "fields_readonly" - (!type already_seen 2) - (!srcfileloc "cp/cp-tree.h" 2369) - nil ) - (!pair "ptrmemfunc_flag" - (!type already_seen 2) - (!srcfileloc "cp/cp-tree.h" 2370) - nil ) - (!pair "lazy_default_ctor" - (!type already_seen 2) - (!srcfileloc "cp/cp-tree.h" 2372) - nil ) - (!pair "lazy_copy_ctor" - (!type already_seen 2) - (!srcfileloc "cp/cp-tree.h" 2373) - nil ) - (!pair "lazy_copy_assign" - (!type already_seen 2) - (!srcfileloc "cp/cp-tree.h" 2374) - nil ) - (!pair "lazy_destructor" - (!type already_seen 2) - (!srcfileloc "cp/cp-tree.h" 2375) - nil ) - (!pair "has_const_copy_ctor" - (!type already_seen 2) - (!srcfileloc "cp/cp-tree.h" 2376) - nil ) - (!pair "has_complex_copy_ctor" - (!type already_seen 2) - (!srcfileloc "cp/cp-tree.h" 2377) - nil ) - (!pair "has_complex_copy_assign" - (!type already_seen 2) - (!srcfileloc "cp/cp-tree.h" 2378) - nil ) - (!pair "non_aggregate" - (!type already_seen 2) - (!srcfileloc "cp/cp-tree.h" 2379) - nil ) - (!pair "has_complex_dflt" - (!type already_seen 2) - (!srcfileloc "cp/cp-tree.h" 2381) - nil ) - (!pair "has_list_ctor" - (!type already_seen 2) - (!srcfileloc "cp/cp-tree.h" 2382) - nil ) - (!pair "non_std_layout" - (!type already_seen 2) - (!srcfileloc "cp/cp-tree.h" 2383) - nil ) - (!pair "is_literal" - (!type already_seen 2) - (!srcfileloc "cp/cp-tree.h" 2384) - nil ) - (!pair "lazy_move_ctor" - (!type already_seen 2) - (!srcfileloc "cp/cp-tree.h" 2385) - nil ) - (!pair "lazy_move_assign" - (!type already_seen 2) - (!srcfileloc "cp/cp-tree.h" 2386) - nil ) - (!pair "has_complex_move_ctor" - (!type already_seen 2) - (!srcfileloc "cp/cp-tree.h" 2387) - nil ) - (!pair "has_complex_move_assign" - (!type already_seen 2) - (!srcfileloc "cp/cp-tree.h" 2388) - nil ) - (!pair "has_constexpr_ctor" - (!type already_seen 2) - (!srcfileloc "cp/cp-tree.h" 2390) - nil ) - (!pair "unique_obj_representations" - (!type already_seen 2) - (!srcfileloc "cp/cp-tree.h" 2391) - nil ) - (!pair "unique_obj_representations_set" - (!type already_seen 2) - (!srcfileloc "cp/cp-tree.h" 2392) - nil ) - (!pair "erroneous" - (!type already_seen 2) - (!srcfileloc "cp/cp-tree.h" 2393) - nil ) - (!pair "non_pod_aggregate" - (!type already_seen 2) - (!srcfileloc "cp/cp-tree.h" 2394) - nil ) - (!pair "dummy" - (!type already_seen 2) - (!srcfileloc "cp/cp-tree.h" 2403) - nil ) - (!pair "primary_base" - (!type already_seen 23) - (!srcfileloc "cp/cp-tree.h" 2405) - nil ) - (!pair "vcall_indices" - (!type pointer 534 nil gc_used - (!type user_struct 535 - (!type already_seen 534) - gc_pointed_to "vec" - (!srcfileloc "cp/cp-tree.h" 2406) - (!fields 2 - (!pair "va_gc" - (!type already_seen 80) - (!srcfileloc "cp/cp-tree.h" 2406) - nil ) - (!pair "tree_pair_s" - (!type struct 536 - (!type pointer 537 nil gc_used - (!type already_seen 536) - ) - gc_pointed_to "tree_pair_s" - (!srcfileloc "cp/cp-tree.h" 2319) - (!fields 2 - (!pair "purpose" - (!type already_seen 23) - (!srcfileloc "cp/cp-tree.h" 2316) - nil ) - (!pair "value" - (!type already_seen 23) - (!srcfileloc "cp/cp-tree.h" 2317) - nil ) - ) - nil 1028 nil nil ) - (!srcfileloc "cp/cp-tree.h" 2406) - nil ) - ) - ) - ) - (!srcfileloc "cp/cp-tree.h" 2406) - nil ) - (!pair "vtables" - (!type already_seen 23) - (!srcfileloc "cp/cp-tree.h" 2407) - nil ) - (!pair "typeinfo_var" - (!type already_seen 23) - (!srcfileloc "cp/cp-tree.h" 2408) - nil ) - (!pair "vbases" - (!type already_seen 85) - (!srcfileloc "cp/cp-tree.h" 2409) - nil ) - (!pair "as_base" - (!type already_seen 23) - (!srcfileloc "cp/cp-tree.h" 2410) - nil ) - (!pair "pure_virtuals" - (!type already_seen 85) - (!srcfileloc "cp/cp-tree.h" 2411) - nil ) - (!pair "friend_classes" - (!type already_seen 23) - (!srcfileloc "cp/cp-tree.h" 2412) - nil ) - (!pair "members" - (!type already_seen 85) - (!srcfileloc "cp/cp-tree.h" 2413) - (!options - (!option reorder string "resort_type_member_vec") - ) - ) - (!pair "key_method" - (!type already_seen 23) - (!srcfileloc "cp/cp-tree.h" 2414) - nil ) - (!pair "decl_list" - (!type already_seen 23) - (!srcfileloc "cp/cp-tree.h" 2415) - nil ) - (!pair "befriending_classes" - (!type already_seen 23) - (!srcfileloc "cp/cp-tree.h" 2416) - nil ) - (!pair "objc_info" - (!type already_seen 23) - (!srcfileloc "cp/cp-tree.h" 2420) - nil ) - (!pair "lambda_expr" - (!type already_seen 23) - (!srcfileloc "cp/cp-tree.h" 2422) - nil ) - ) - nil 1028 - (!type already_seen 519) - nil ) - - (!type struct 538 nil gc_pointed_to "lang_type" - (!srcfileloc "c/c-lang.h" 42) - (!fields 4 - (!pair "s" - (!type pointer 539 nil gc_used - (!type struct 540 - (!type already_seen 539) - gc_pointed_to "sorted_fields_type" - (!srcfileloc "c/c-lang.h" 30) - (!fields 2 - (!pair "len" - (!type already_seen 2) - (!srcfileloc "c/c-lang.h" 28) - nil ) - (!pair "elts" - (!type array 541 nil gc_used "1" - (!type already_seen 23) - ) - (!srcfileloc "c/c-lang.h" 29) - (!options - (!option length string "%h.len") - ) - ) - ) - nil 514 nil nil ) - ) - (!srcfileloc "c/c-lang.h" 34) - (!options - (!option reorder string "resort_sorted_fields") - ) - ) - (!pair "enum_min" - (!type already_seen 23) - (!srcfileloc "c/c-lang.h" 36) - nil ) - (!pair "enum_max" - (!type already_seen 23) - (!srcfileloc "c/c-lang.h" 37) - nil ) - (!pair "objc_info" - (!type already_seen 23) - (!srcfileloc "c/c-lang.h" 41) - nil ) - ) - nil 514 - (!type already_seen 519) - nil ) - - (!type struct 542 nil gc_pointed_to "lang_type" - (!srcfileloc "ada/gcc-interface/ada-tree.h" 36) - (!fields 2 - (!pair "t1" - (!type already_seen 23) - (!srcfileloc "ada/gcc-interface/ada-tree.h" 36) - nil ) - (!pair "t2" - (!type already_seen 23) - (!srcfileloc "ada/gcc-interface/ada-tree.h" 36) - nil ) - ) - nil 1 - (!type already_seen 519) - nil ) - ) - ) - ) - (!srcfileloc "tree-core.h" 1740) - nil ) - ) - nil 4095 nil nil ) - (!srcfileloc "tree-core.h" 2093) - (!options - (!option tag string "TS_TYPE_WITH_LANG_SPECIFIC") - ) - ) - (!pair "type_non_common" - (!type struct 543 nil gc_used "tree_type_non_common" - (!srcfileloc "tree-core.h" 1749) - (!fields 5 - (!pair "with_lang_specific" - (!type already_seen 517) - (!srcfileloc "tree-core.h" 1744) - nil ) - (!pair "values" - (!type already_seen 23) - (!srcfileloc "tree-core.h" 1745) - nil ) - (!pair "minval" - (!type already_seen 23) - (!srcfileloc "tree-core.h" 1746) - nil ) - (!pair "maxval" - (!type already_seen 23) - (!srcfileloc "tree-core.h" 1747) - nil ) - (!pair "lang_1" - (!type already_seen 23) - (!srcfileloc "tree-core.h" 1748) - nil ) - ) - nil 4095 nil nil ) - (!srcfileloc "tree-core.h" 2095) - (!options - (!option tag string "TS_TYPE_NON_COMMON") - ) - ) - (!pair "list" - (!type struct 544 nil gc_used "tree_list" - (!srcfileloc "tree-core.h" 1510) - (!fields 3 - (!pair "common" - (!type already_seen 32) - (!srcfileloc "tree-core.h" 1507) - nil ) - (!pair "purpose" - (!type already_seen 23) - (!srcfileloc "tree-core.h" 1508) - nil ) - (!pair "value" - (!type already_seen 23) - (!srcfileloc "tree-core.h" 1509) - nil ) - ) - nil 4095 nil nil ) - (!srcfileloc "tree-core.h" 2096) - (!options - (!option tag string "TS_LIST") - ) - ) - (!pair "vec" - (!type struct 545 nil gc_used "tree_vec" - (!srcfileloc "tree-core.h" 1515) - (!fields 2 - (!pair "common" - (!type already_seen 32) - (!srcfileloc "tree-core.h" 1513) - nil ) - (!pair "a" - (!type array 546 nil gc_used "1" - (!type already_seen 23) - ) - (!srcfileloc "tree-core.h" 1514) - (!options - (!option length string "TREE_VEC_LENGTH ((tree)&%h)") - ) - ) - ) - nil 4095 nil nil ) - (!srcfileloc "tree-core.h" 2097) - (!options - (!option tag string "TS_VEC") - ) - ) - (!pair "exp" - (!type struct 547 nil gc_used "tree_exp" - (!srcfileloc "tree-core.h" 1581) - (!fields 3 - (!pair "typed" - (!type already_seen 31) - (!srcfileloc "tree-core.h" 1578) - nil ) - (!pair "locus" - (!type already_seen 2) - (!srcfileloc "tree-core.h" 1579) - nil ) - (!pair "operands" - (!type array 548 nil gc_used "1" - (!type already_seen 23) - ) - (!srcfileloc "tree-core.h" 1580) - (!options - (!option length string "TREE_OPERAND_LENGTH ((tree)&%h)") - ) - ) - ) - nil 4095 nil nil ) - (!srcfileloc "tree-core.h" 2098) - (!options - (!option tag string "TS_EXP") - ) - ) - (!pair "ssa_name" - (!type struct 549 nil gc_used "tree_ssa_name" - (!srcfileloc "tree-core.h" 1621) - (!fields 5 - (!pair "typed" - (!type already_seen 31) - (!srcfileloc "tree-core.h" 1598) - nil ) - (!pair "var" - (!type already_seen 23) - (!srcfileloc "tree-core.h" 1601) - nil ) - (!pair "def_stmt" - (!type already_seen 282) - (!srcfileloc "tree-core.h" 1604) - nil ) - (!pair "info" - (!type union 550 nil gc_used "ssa_name_info_type" - (!srcfileloc "tree-core.h" 1617) - (!fields 4 - (!pair "irange_info" - (!type pointer 551 nil gc_used - (!type struct 552 - (!type already_seen 551) - gc_pointed_to "irange_storage_slot" - (!srcfileloc "value-range-storage.h" 101) - (!fields 1 - (!pair "m_ints" - (!type user_struct 553 nil gc_used "trailing_wide_ints" - (!srcfileloc "value-range-storage.h" 100) - (!fields 1 - (!pair "MAX_INTS" - (!type undefined 554 nil gc_unused "MAX_INTS" - (!srcfileloc "value-range-storage.h" 100) - ) - (!srcfileloc "value-range-storage.h" 100) - nil ) - ) - ) - (!srcfileloc "value-range-storage.h" 100) - nil ) - ) - (!options - (!option variable_size string "") - ) - 4095 nil nil ) - ) - (!srcfileloc "tree-core.h" 1609) - (!options - (!option tag string "0") - ) - ) - (!pair "frange_info" - (!type pointer 555 nil gc_used - (!type struct 556 - (!type already_seen 555) - gc_pointed_to "frange_storage_slot" - (!srcfileloc "value-range-storage.h" 121) - (!fields 5 - (!pair "m_kind" - (!type already_seen 2) - (!srcfileloc "value-range-storage.h" 116) - nil ) - (!pair "m_min" - (!type already_seen 2) - (!srcfileloc "value-range-storage.h" 117) - nil ) - (!pair "m_max" - (!type already_seen 2) - (!srcfileloc "value-range-storage.h" 118) - nil ) - (!pair "m_pos_nan" - (!type already_seen 2) - (!srcfileloc "value-range-storage.h" 119) - nil ) - (!pair "m_neg_nan" - (!type already_seen 2) - (!srcfileloc "value-range-storage.h" 120) - nil ) - ) - nil 4095 nil nil ) - ) - (!srcfileloc "tree-core.h" 1611) - (!options - (!option tag string "1") - ) - ) - (!pair "ptr_info" - (!type pointer 557 nil gc_used - (!type struct 558 - (!type already_seen 557) - gc_pointed_to "ptr_info_def" - (!srcfileloc "tree-ssanames.h" 46) - (!fields 3 - (!pair "pt" - (!type already_seen 386) - (!srcfileloc "tree-ssanames.h" 28) - nil ) - (!pair "align" - (!type already_seen 2) - (!srcfileloc "tree-ssanames.h" 40) - nil ) - (!pair "misalign" - (!type already_seen 2) - (!srcfileloc "tree-ssanames.h" 45) - nil ) - ) - nil 4095 nil nil ) - ) - (!srcfileloc "tree-core.h" 1613) - (!options - (!option tag string "2") - ) - ) - (!pair "range_info" - (!type already_seen 3) - (!srcfileloc "tree-core.h" 1616) - (!options - (!option skip string "") - ) - ) - ) - nil 4095 nil ) - (!srcfileloc "tree-core.h" 1618) - (!options - (!option desc string "%1.typed.type ?(POINTER_TYPE_P (TREE_TYPE ((tree)&%1)) ? 2 : SCALAR_FLOAT_TYPE_P (TREE_TYPE ((tree)&%1))) : 3") - ) - ) - (!pair "imm_uses" - (!type struct 559 - (!type pointer 560 nil gc_unused - (!type already_seen 559) - ) - gc_used "ssa_use_operand_t" - (!srcfileloc "tree-ssa-operands.h" 30) - (!fields 4 - (!pair "prev" - (!type already_seen 560) - (!srcfileloc "tree-core.h" 1586) - (!options - (!option skip string "") - ) - ) - (!pair "next" - (!type already_seen 560) - (!srcfileloc "tree-core.h" 1587) - (!options - (!option skip string "") - ) - ) - (!pair "loc" - (!type union 561 nil gc_unused "anonymous:../../gcc/gcc/tree-core.h:1593" - (!srcfileloc "tree-core.h" 1593) - (!fields 2 - (!pair "stmt" - (!type already_seen 282) - (!srcfileloc "tree-core.h" 1593) - nil ) - (!pair "ssa_name" - (!type already_seen 23) - (!srcfileloc "tree-core.h" 1593) - nil ) - ) - nil 4095 nil ) - (!srcfileloc "tree-core.h" 1593) - (!options - (!option skip string "") - ) - ) - (!pair "use" - (!type already_seen 24) - (!srcfileloc "tree-core.h" 1594) - (!options - (!option skip string "") - ) - ) - ) - nil 4095 nil nil ) - (!srcfileloc "tree-core.h" 1620) - nil ) - ) - nil 4095 nil nil ) - (!srcfileloc "tree-core.h" 2099) - (!options - (!option tag string "TS_SSA_NAME") - ) - ) - (!pair "block" - (!type struct 562 nil gc_used "tree_block" - (!srcfileloc "tree-core.h" 1680) - (!fields 13 - (!pair "base" - (!type already_seen 25) - (!srcfileloc "tree-core.h" 1661) - nil ) - (!pair "chain" - (!type already_seen 23) - (!srcfileloc "tree-core.h" 1662) - nil ) - (!pair "block_num" - (!type already_seen 2) - (!srcfileloc "tree-core.h" 1664) - nil ) - (!pair "locus" - (!type already_seen 2) - (!srcfileloc "tree-core.h" 1666) - nil ) - (!pair "end_locus" - (!type already_seen 2) - (!srcfileloc "tree-core.h" 1667) - nil ) - (!pair "vars" - (!type already_seen 23) - (!srcfileloc "tree-core.h" 1669) - nil ) - (!pair "nonlocalized_vars" - (!type already_seen 85) - (!srcfileloc "tree-core.h" 1670) - nil ) - (!pair "subblocks" - (!type already_seen 23) - (!srcfileloc "tree-core.h" 1672) - nil ) - (!pair "supercontext" - (!type already_seen 23) - (!srcfileloc "tree-core.h" 1673) - nil ) - (!pair "abstract_origin" - (!type already_seen 23) - (!srcfileloc "tree-core.h" 1674) - nil ) - (!pair "fragment_origin" - (!type already_seen 23) - (!srcfileloc "tree-core.h" 1675) - nil ) - (!pair "fragment_chain" - (!type already_seen 23) - (!srcfileloc "tree-core.h" 1676) - nil ) - (!pair "die" - (!type already_seen 484) - (!srcfileloc "tree-core.h" 1679) - nil ) - ) - nil 4095 nil nil ) - (!srcfileloc "tree-core.h" 2100) - (!options - (!option tag string "TS_BLOCK") - ) - ) - (!pair "binfo" - (!type struct 563 nil gc_used "tree_binfo" - (!srcfileloc "tree-core.h" 1765) - (!fields 10 - (!pair "common" - (!type already_seen 32) - (!srcfileloc "tree-core.h" 1752) - nil ) - (!pair "offset" - (!type already_seen 23) - (!srcfileloc "tree-core.h" 1754) - nil ) - (!pair "vtable" - (!type already_seen 23) - (!srcfileloc "tree-core.h" 1755) - nil ) - (!pair "virtuals" - (!type already_seen 23) - (!srcfileloc "tree-core.h" 1756) - nil ) - (!pair "vptr_field" - (!type already_seen 23) - (!srcfileloc "tree-core.h" 1757) - nil ) - (!pair "base_accesses" - (!type already_seen 85) - (!srcfileloc "tree-core.h" 1758) - nil ) - (!pair "inheritance" - (!type already_seen 23) - (!srcfileloc "tree-core.h" 1759) - nil ) - (!pair "vtt_subvtt" - (!type already_seen 23) - (!srcfileloc "tree-core.h" 1761) - nil ) - (!pair "vtt_vptr" - (!type already_seen 23) - (!srcfileloc "tree-core.h" 1762) - nil ) - (!pair "base_binfos" - (!type already_seen 86) - (!srcfileloc "tree-core.h" 1764) - nil ) - ) - nil 4095 nil nil ) - (!srcfileloc "tree-core.h" 2101) - (!options - (!option tag string "TS_BINFO") - ) - ) - (!pair "stmt_list" - (!type struct 564 nil gc_used "tree_statement_list" - (!srcfileloc "tree-core.h" 2023) - (!fields 3 - (!pair "typed" - (!type already_seen 31) - (!srcfileloc "tree-core.h" 2020) - nil ) - (!pair "head" - (!type pointer 565 nil gc_used - (!type struct 566 - (!type already_seen 565) - gc_pointed_to "tree_statement_list_node" - (!srcfileloc "tree-core.h" 2016) - (!fields 3 - (!pair "prev" - (!type already_seen 565) - (!srcfileloc "tree-core.h" 2013) - nil ) - (!pair "next" - (!type already_seen 565) - (!srcfileloc "tree-core.h" 2014) - nil ) - (!pair "stmt" - (!type already_seen 23) - (!srcfileloc "tree-core.h" 2015) - nil ) - ) - (!options - (!option chain_prev string "%h.prev") - (!option chain_next string "%h.next") - ) - 4095 nil nil ) - ) - (!srcfileloc "tree-core.h" 2021) - nil ) - (!pair "tail" - (!type already_seen 565) - (!srcfileloc "tree-core.h" 2022) - nil ) - ) - nil 4095 nil nil ) - (!srcfileloc "tree-core.h" 2102) - (!options - (!option tag string "TS_STATEMENT_LIST") - ) - ) - (!pair "constructor" - (!type struct 567 nil gc_used "tree_constructor" - (!srcfileloc "tree-core.h" 1529) - (!fields 2 - (!pair "typed" - (!type already_seen 31) - (!srcfileloc "tree-core.h" 1527) - nil ) - (!pair "elts" - (!type pointer 568 nil gc_used - (!type user_struct 569 - (!type already_seen 568) - gc_pointed_to "vec" - (!srcfileloc "tree-core.h" 1528) - (!fields 2 - (!pair "va_gc" - (!type already_seen 80) - (!srcfileloc "tree-core.h" 1528) - nil ) - (!pair "constructor_elt" - (!type struct 570 nil gc_used "constructor_elt" - (!srcfileloc "tree-core.h" 1528) - (!fields 2 - (!pair "index" - (!type already_seen 23) - (!srcfileloc "tree-core.h" 1522) - nil ) - (!pair "value" - (!type already_seen 23) - (!srcfileloc "tree-core.h" 1523) - nil ) - ) - nil 4095 nil nil ) - (!srcfileloc "tree-core.h" 1528) - nil ) - ) - ) - ) - (!srcfileloc "tree-core.h" 1528) - nil ) - ) - nil 4095 nil nil ) - (!srcfileloc "tree-core.h" 2103) - (!options - (!option tag string "TS_CONSTRUCTOR") - ) - ) - (!pair "omp_clause" - (!type struct 571 nil gc_used "tree_omp_clause" - (!srcfileloc "tree-core.h" 1658) - (!fields 7 - (!pair "common" - (!type already_seen 32) - (!srcfileloc "tree-core.h" 1632) - nil ) - (!pair "locus" - (!type already_seen 2) - (!srcfileloc "tree-core.h" 1633) - nil ) - (!pair "code" - (!type already_seen 2) - (!srcfileloc "tree-core.h" 1634) - nil ) - (!pair "subcode" - (!type union 572 nil gc_unused "omp_clause_subcode" - (!srcfileloc "tree-core.h" 1649) - (!fields 12 - (!pair "default_kind" - (!type already_seen 2) - (!srcfileloc "tree-core.h" 1636) - nil ) - (!pair "schedule_kind" - (!type already_seen 2) - (!srcfileloc "tree-core.h" 1637) - nil ) - (!pair "depend_kind" - (!type already_seen 2) - (!srcfileloc "tree-core.h" 1638) - nil ) - (!pair "doacross_kind" - (!type already_seen 2) - (!srcfileloc "tree-core.h" 1639) - nil ) - (!pair "map_kind" - (!type already_seen 2) - (!srcfileloc "tree-core.h" 1641) - nil ) - (!pair "proc_bind_kind" - (!type already_seen 2) - (!srcfileloc "tree-core.h" 1642) - nil ) - (!pair "reduction_code" - (!type already_seen 2) - (!srcfileloc "tree-core.h" 1643) - nil ) - (!pair "linear_kind" - (!type already_seen 2) - (!srcfileloc "tree-core.h" 1644) - nil ) - (!pair "if_modifier" - (!type already_seen 2) - (!srcfileloc "tree-core.h" 1645) - nil ) - (!pair "defaultmap_kind" - (!type already_seen 2) - (!srcfileloc "tree-core.h" 1646) - nil ) - (!pair "bind_kind" - (!type already_seen 2) - (!srcfileloc "tree-core.h" 1647) - nil ) - (!pair "device_type_kind" - (!type already_seen 2) - (!srcfileloc "tree-core.h" 1648) - nil ) - ) - nil 4095 nil ) - (!srcfileloc "tree-core.h" 1649) - (!options - (!option skip string "") - ) - ) - (!pair "gimple_reduction_init" - (!type already_seen 282) - (!srcfileloc "tree-core.h" 1653) - nil ) - (!pair "gimple_reduction_merge" - (!type already_seen 282) - (!srcfileloc "tree-core.h" 1654) - nil ) - (!pair "ops" - (!type array 573 nil gc_used "1" - (!type already_seen 23) - ) - (!srcfileloc "tree-core.h" 1657) - (!options - (!option length string "omp_clause_num_ops[OMP_CLAUSE_CODE ((tree)&%h)]") - ) - ) - ) - nil 4095 nil nil ) - (!srcfileloc "tree-core.h" 2104) - (!options - (!option tag string "TS_OMP_CLAUSE") - ) - ) - (!pair "optimization" - (!type struct 574 nil gc_used "tree_optimization_option" - (!srcfileloc "tree-core.h" 2041) - (!fields 4 - (!pair "base" - (!type already_seen 25) - (!srcfileloc "tree-core.h" 2029) - nil ) - (!pair "opts" - (!type pointer 575 nil gc_used - (!type struct 576 - (!type already_seen 575) - gc_pointed_to "cl_optimization" - (!fileloc "options.h" 8626) - (!fields 499 - (!pair "x_str_align_functions" - (!type already_seen 11) - (!fileloc "options.h" 8126) - nil ) - (!pair "x_str_align_jumps" - (!type already_seen 11) - (!fileloc "options.h" 8127) - nil ) - (!pair "x_str_align_labels" - (!type already_seen 11) - (!fileloc "options.h" 8128) - nil ) - (!pair "x_str_align_loops" - (!type already_seen 11) - (!fileloc "options.h" 8129) - nil ) - (!pair "x_flag_patchable_function_entry" - (!type already_seen 11) - (!fileloc "options.h" 8130) - nil ) - (!pair "x_param_align_loop_iterations" - (!type already_seen 2) - (!fileloc "options.h" 8131) - nil ) - (!pair "x_param_align_threshold" - (!type already_seen 2) - (!fileloc "options.h" 8132) - nil ) - (!pair "x_param_asan_protect_allocas" - (!type already_seen 2) - (!fileloc "options.h" 8133) - nil ) - (!pair "x_param_asan_instrument_reads" - (!type already_seen 2) - (!fileloc "options.h" 8134) - nil ) - (!pair "x_param_asan_instrument_writes" - (!type already_seen 2) - (!fileloc "options.h" 8135) - nil ) - (!pair "x_param_asan_instrumentation_with_call_threshold" - (!type already_seen 2) - (!fileloc "options.h" 8136) - nil ) - (!pair "x_param_asan_kernel_mem_intrinsic_prefix" - (!type already_seen 2) - (!fileloc "options.h" 8137) - nil ) - (!pair "x_param_asan_memintrin" - (!type already_seen 2) - (!fileloc "options.h" 8138) - nil ) - (!pair "x_param_asan_stack" - (!type already_seen 2) - (!fileloc "options.h" 8139) - nil ) - (!pair "x_param_asan_use_after_return" - (!type already_seen 2) - (!fileloc "options.h" 8140) - nil ) - (!pair "x_param_avg_loop_niter" - (!type already_seen 2) - (!fileloc "options.h" 8141) - nil ) - (!pair "x_param_avoid_fma_max_bits" - (!type already_seen 2) - (!fileloc "options.h" 8142) - nil ) - (!pair "x_param_builtin_expect_probability" - (!type already_seen 2) - (!fileloc "options.h" 8143) - nil ) - (!pair "x_param_builtin_string_cmp_inline_length" - (!type already_seen 2) - (!fileloc "options.h" 8144) - nil ) - (!pair "x_param_case_values_threshold" - (!type already_seen 2) - (!fileloc "options.h" 8145) - nil ) - (!pair "x_param_comdat_sharing_probability" - (!type already_seen 2) - (!fileloc "options.h" 8146) - nil ) - (!pair "x_param_construct_interfere_size" - (!type already_seen 2) - (!fileloc "options.h" 8147) - nil ) - (!pair "x_param_destruct_interfere_size" - (!type already_seen 2) - (!fileloc "options.h" 8148) - nil ) - (!pair "x_param_dse_max_alias_queries_per_store" - (!type already_seen 2) - (!fileloc "options.h" 8149) - nil ) - (!pair "x_param_dse_max_object_size" - (!type already_seen 2) - (!fileloc "options.h" 8150) - nil ) - (!pair "x_param_early_inlining_insns" - (!type already_seen 2) - (!fileloc "options.h" 8151) - nil ) - (!pair "x_param_evrp_sparse_threshold" - (!type already_seen 2) - (!fileloc "options.h" 8152) - nil ) - (!pair "x_param_evrp_switch_limit" - (!type already_seen 2) - (!fileloc "options.h" 8153) - nil ) - (!pair "x_param_fsm_scale_path_stmts" - (!type already_seen 2) - (!fileloc "options.h" 8154) - nil ) - (!pair "x_param_gcse_after_reload_critical_fraction" - (!type already_seen 2) - (!fileloc "options.h" 8155) - nil ) - (!pair "x_param_gcse_after_reload_partial_fraction" - (!type already_seen 2) - (!fileloc "options.h" 8156) - nil ) - (!pair "x_param_gcse_cost_distance_ratio" - (!type already_seen 2) - (!fileloc "options.h" 8157) - nil ) - (!pair "x_param_gcse_unrestricted_cost" - (!type already_seen 2) - (!fileloc "options.h" 8158) - nil ) - (!pair "x_param_graphite_max_arrays_per_scop" - (!type already_seen 2) - (!fileloc "options.h" 8159) - nil ) - (!pair "x_param_graphite_max_nb_scop_params" - (!type already_seen 2) - (!fileloc "options.h" 8160) - nil ) - (!pair "x_param_hwasan_instrument_allocas" - (!type already_seen 2) - (!fileloc "options.h" 8161) - nil ) - (!pair "x_param_hwasan_instrument_mem_intrinsics" - (!type already_seen 2) - (!fileloc "options.h" 8162) - nil ) - (!pair "x_param_hwasan_instrument_reads" - (!type already_seen 2) - (!fileloc "options.h" 8163) - nil ) - (!pair "x_param_hwasan_instrument_stack" - (!type already_seen 2) - (!fileloc "options.h" 8164) - nil ) - (!pair "x_param_hwasan_instrument_writes" - (!type already_seen 2) - (!fileloc "options.h" 8165) - nil ) - (!pair "x_param_hwasan_random_frame_tag" - (!type already_seen 2) - (!fileloc "options.h" 8166) - nil ) - (!pair "x_param_inline_heuristics_hint_percent" - (!type already_seen 2) - (!fileloc "options.h" 8167) - nil ) - (!pair "x_param_inline_min_speedup" - (!type already_seen 2) - (!fileloc "options.h" 8168) - nil ) - (!pair "x_param_inline_unit_growth" - (!type already_seen 2) - (!fileloc "options.h" 8169) - nil ) - (!pair "x_param_ipa_cp_eval_threshold" - (!type already_seen 2) - (!fileloc "options.h" 8170) - nil ) - (!pair "x_param_ipa_cp_large_unit_insns" - (!type already_seen 2) - (!fileloc "options.h" 8171) - nil ) - (!pair "x_param_ipa_cp_loop_hint_bonus" - (!type already_seen 2) - (!fileloc "options.h" 8172) - nil ) - (!pair "x_param_ipa_cp_max_recursive_depth" - (!type already_seen 2) - (!fileloc "options.h" 8173) - nil ) - (!pair "x_param_ipa_cp_min_recursive_probability" - (!type already_seen 2) - (!fileloc "options.h" 8174) - nil ) - (!pair "x_param_ipa_cp_profile_count_base" - (!type already_seen 2) - (!fileloc "options.h" 8175) - nil ) - (!pair "x_param_ipa_cp_recursion_penalty" - (!type already_seen 2) - (!fileloc "options.h" 8176) - nil ) - (!pair "x_param_ipa_cp_recursive_freq_factor" - (!type already_seen 2) - (!fileloc "options.h" 8177) - nil ) - (!pair "x_param_ipa_cp_single_call_penalty" - (!type already_seen 2) - (!fileloc "options.h" 8178) - nil ) - (!pair "x_param_ipa_cp_unit_growth" - (!type already_seen 2) - (!fileloc "options.h" 8179) - nil ) - (!pair "x_param_ipa_cp_value_list_size" - (!type already_seen 2) - (!fileloc "options.h" 8180) - nil ) - (!pair "x_param_ipa_jump_function_lookups" - (!type already_seen 2) - (!fileloc "options.h" 8181) - nil ) - (!pair "x_param_ipa_max_aa_steps" - (!type already_seen 2) - (!fileloc "options.h" 8182) - nil ) - (!pair "x_param_ipa_max_agg_items" - (!type already_seen 2) - (!fileloc "options.h" 8183) - nil ) - (!pair "x_param_ipa_max_loop_predicates" - (!type already_seen 2) - (!fileloc "options.h" 8184) - nil ) - (!pair "x_param_ipa_max_param_expr_ops" - (!type already_seen 2) - (!fileloc "options.h" 8185) - nil ) - (!pair "x_param_ipa_max_switch_predicate_bounds" - (!type already_seen 2) - (!fileloc "options.h" 8186) - nil ) - (!pair "x_param_ipa_sra_deref_prob_threshold" - (!type already_seen 2) - (!fileloc "options.h" 8187) - nil ) - (!pair "x_param_ipa_sra_max_replacements" - (!type already_seen 2) - (!fileloc "options.h" 8188) - nil ) - (!pair "x_param_ipa_sra_ptr_growth_factor" - (!type already_seen 2) - (!fileloc "options.h" 8189) - nil ) - (!pair "x_param_ipa_sra_ptrwrap_growth_factor" - (!type already_seen 2) - (!fileloc "options.h" 8190) - nil ) - (!pair "x_param_ira_consider_dup_in_all_alts" - (!type already_seen 2) - (!fileloc "options.h" 8191) - nil ) - (!pair "x_param_ira_loop_reserved_regs" - (!type already_seen 2) - (!fileloc "options.h" 8192) - nil ) - (!pair "x_param_ira_max_conflict_table_size" - (!type already_seen 2) - (!fileloc "options.h" 8193) - nil ) - (!pair "x_param_ira_max_loops_num" - (!type already_seen 2) - (!fileloc "options.h" 8194) - nil ) - (!pair "x_param_ira_simple_lra_insn_threshold" - (!type already_seen 2) - (!fileloc "options.h" 8195) - nil ) - (!pair "x_param_iv_always_prune_cand_set_bound" - (!type already_seen 2) - (!fileloc "options.h" 8196) - nil ) - (!pair "x_param_iv_consider_all_candidates_bound" - (!type already_seen 2) - (!fileloc "options.h" 8197) - nil ) - (!pair "x_param_iv_max_considered_uses" - (!type already_seen 2) - (!fileloc "options.h" 8198) - nil ) - (!pair "x_param_jump_table_max_growth_ratio_for_size" - (!type already_seen 2) - (!fileloc "options.h" 8199) - nil ) - (!pair "x_param_jump_table_max_growth_ratio_for_speed" - (!type already_seen 2) - (!fileloc "options.h" 8200) - nil ) - (!pair "x_param_l1_cache_line_size" - (!type already_seen 2) - (!fileloc "options.h" 8201) - nil ) - (!pair "x_param_l1_cache_size" - (!type already_seen 2) - (!fileloc "options.h" 8202) - nil ) - (!pair "x_param_l2_cache_size" - (!type already_seen 2) - (!fileloc "options.h" 8203) - nil ) - (!pair "x_param_large_function_growth" - (!type already_seen 2) - (!fileloc "options.h" 8204) - nil ) - (!pair "x_param_large_function_insns" - (!type already_seen 2) - (!fileloc "options.h" 8205) - nil ) - (!pair "x_param_stack_frame_growth" - (!type already_seen 2) - (!fileloc "options.h" 8206) - nil ) - (!pair "x_param_large_stack_frame" - (!type already_seen 2) - (!fileloc "options.h" 8207) - nil ) - (!pair "x_param_large_unit_insns" - (!type already_seen 2) - (!fileloc "options.h" 8208) - nil ) - (!pair "x_param_lim_expensive" - (!type already_seen 2) - (!fileloc "options.h" 8209) - nil ) - (!pair "x_param_loop_block_tile_size" - (!type already_seen 2) - (!fileloc "options.h" 8210) - nil ) - (!pair "x_param_loop_interchange_max_num_stmts" - (!type already_seen 2) - (!fileloc "options.h" 8211) - nil ) - (!pair "x_param_loop_interchange_stride_ratio" - (!type already_seen 2) - (!fileloc "options.h" 8212) - nil ) - (!pair "x_param_loop_invariant_max_bbs_in_loop" - (!type already_seen 2) - (!fileloc "options.h" 8213) - nil ) - (!pair "x_param_loop_max_datarefs_for_datadeps" - (!type already_seen 2) - (!fileloc "options.h" 8214) - nil ) - (!pair "x_param_loop_versioning_max_inner_insns" - (!type already_seen 2) - (!fileloc "options.h" 8215) - nil ) - (!pair "x_param_loop_versioning_max_outer_insns" - (!type already_seen 2) - (!fileloc "options.h" 8216) - nil ) - (!pair "x_param_lra_inheritance_ebb_probability_cutoff" - (!type already_seen 2) - (!fileloc "options.h" 8217) - nil ) - (!pair "x_param_lra_max_considered_reload_pseudos" - (!type already_seen 2) - (!fileloc "options.h" 8218) - nil ) - (!pair "x_param_max_average_unrolled_insns" - (!type already_seen 2) - (!fileloc "options.h" 8219) - nil ) - (!pair "x_param_max_combine_insns" - (!type already_seen 2) - (!fileloc "options.h" 8220) - nil ) - (!pair "x_param_max_unroll_iterations" - (!type already_seen 2) - (!fileloc "options.h" 8221) - nil ) - (!pair "x_param_max_completely_peel_times" - (!type already_seen 2) - (!fileloc "options.h" 8222) - nil ) - (!pair "x_param_max_completely_peeled_insns" - (!type already_seen 2) - (!fileloc "options.h" 8223) - nil ) - (!pair "x_param_max_crossjump_edges" - (!type already_seen 2) - (!fileloc "options.h" 8224) - nil ) - (!pair "x_param_max_cse_insns" - (!type already_seen 2) - (!fileloc "options.h" 8225) - nil ) - (!pair "x_param_max_cse_path_length" - (!type already_seen 2) - (!fileloc "options.h" 8226) - nil ) - (!pair "x_param_max_cselib_memory_locations" - (!type already_seen 2) - (!fileloc "options.h" 8227) - nil ) - (!pair "x_param_max_debug_marker_count" - (!type already_seen 2) - (!fileloc "options.h" 8228) - nil ) - (!pair "x_param_max_delay_slot_insn_search" - (!type already_seen 2) - (!fileloc "options.h" 8229) - nil ) - (!pair "x_param_max_delay_slot_live_search" - (!type already_seen 2) - (!fileloc "options.h" 8230) - nil ) - (!pair "x_param_max_dse_active_local_stores" - (!type already_seen 2) - (!fileloc "options.h" 8231) - nil ) - (!pair "x_param_early_inliner_max_iterations" - (!type already_seen 2) - (!fileloc "options.h" 8232) - nil ) - (!pair "x_param_max_find_base_term_values" - (!type already_seen 2) - (!fileloc "options.h" 8233) - nil ) - (!pair "x_param_max_fsm_thread_path_insns" - (!type already_seen 2) - (!fileloc "options.h" 8234) - nil ) - (!pair "x_param_max_gcse_insertion_ratio" - (!type already_seen 2) - (!fileloc "options.h" 8235) - nil ) - (!pair "x_param_max_gcse_memory" - (!type already_seen 2) - (!fileloc "options.h" 8236) - nil ) - (!pair "x_param_max_goto_duplication_insns" - (!type already_seen 2) - (!fileloc "options.h" 8237) - nil ) - (!pair "x_param_max_grow_copy_bb_insns" - (!type already_seen 2) - (!fileloc "options.h" 8238) - nil ) - (!pair "x_param_max_hoist_depth" - (!type already_seen 2) - (!fileloc "options.h" 8239) - nil ) - (!pair "x_param_inline_functions_called_once_insns" - (!type already_seen 2) - (!fileloc "options.h" 8240) - nil ) - (!pair "x_param_inline_functions_called_once_loop_depth" - (!type already_seen 2) - (!fileloc "options.h" 8241) - nil ) - (!pair "x_param_max_inline_insns_auto" - (!type already_seen 2) - (!fileloc "options.h" 8242) - nil ) - (!pair "x_param_max_inline_insns_recursive_auto" - (!type already_seen 2) - (!fileloc "options.h" 8243) - nil ) - (!pair "x_param_max_inline_insns_recursive" - (!type already_seen 2) - (!fileloc "options.h" 8244) - nil ) - (!pair "x_param_max_inline_insns_single" - (!type already_seen 2) - (!fileloc "options.h" 8245) - nil ) - (!pair "x_param_max_inline_insns_size" - (!type already_seen 2) - (!fileloc "options.h" 8246) - nil ) - (!pair "x_param_max_inline_insns_small" - (!type already_seen 2) - (!fileloc "options.h" 8247) - nil ) - (!pair "x_param_max_inline_recursive_depth_auto" - (!type already_seen 2) - (!fileloc "options.h" 8248) - nil ) - (!pair "x_param_max_inline_recursive_depth" - (!type already_seen 2) - (!fileloc "options.h" 8249) - nil ) - (!pair "x_param_max_isl_operations" - (!type already_seen 2) - (!fileloc "options.h" 8250) - nil ) - (!pair "x_param_max_iterations_computation_cost" - (!type already_seen 2) - (!fileloc "options.h" 8251) - nil ) - (!pair "x_param_max_iterations_to_track" - (!type already_seen 2) - (!fileloc "options.h" 8252) - nil ) - (!pair "x_param_max_jump_thread_duplication_stmts" - (!type already_seen 2) - (!fileloc "options.h" 8253) - nil ) - (!pair "x_param_max_jump_thread_paths" - (!type already_seen 2) - (!fileloc "options.h" 8254) - nil ) - (!pair "x_param_max_last_value_rtl" - (!type already_seen 2) - (!fileloc "options.h" 8255) - nil ) - (!pair "x_param_max_loop_header_insns" - (!type already_seen 2) - (!fileloc "options.h" 8256) - nil ) - (!pair "x_param_max_modulo_backtrack_attempts" - (!type already_seen 2) - (!fileloc "options.h" 8257) - nil ) - (!pair "x_param_max_partial_antic_length" - (!type already_seen 2) - (!fileloc "options.h" 8258) - nil ) - (!pair "x_param_max_peel_branches" - (!type already_seen 2) - (!fileloc "options.h" 8259) - nil ) - (!pair "x_param_max_peel_times" - (!type already_seen 2) - (!fileloc "options.h" 8260) - nil ) - (!pair "x_param_max_peeled_insns" - (!type already_seen 2) - (!fileloc "options.h" 8261) - nil ) - (!pair "x_param_max_pending_list_length" - (!type already_seen 2) - (!fileloc "options.h" 8262) - nil ) - (!pair "x_param_max_pipeline_region_blocks" - (!type already_seen 2) - (!fileloc "options.h" 8263) - nil ) - (!pair "x_param_max_pipeline_region_insns" - (!type already_seen 2) - (!fileloc "options.h" 8264) - nil ) - (!pair "x_param_max_pow_sqrt_depth" - (!type already_seen 2) - (!fileloc "options.h" 8265) - nil ) - (!pair "x_param_max_predicted_iterations" - (!type already_seen 2) - (!fileloc "options.h" 8266) - nil ) - (!pair "x_param_max_reload_search_insns" - (!type already_seen 2) - (!fileloc "options.h" 8267) - nil ) - (!pair "x_param_max_rtl_if_conversion_insns" - (!type already_seen 2) - (!fileloc "options.h" 8268) - nil ) - (!pair "x_param_max_rtl_if_conversion_predictable_cost" - (!type already_seen 2) - (!fileloc "options.h" 8269) - nil ) - (!pair "x_param_max_rtl_if_conversion_unpredictable_cost" - (!type already_seen 2) - (!fileloc "options.h" 8270) - nil ) - (!pair "x_param_max_sched_extend_regions_iters" - (!type already_seen 2) - (!fileloc "options.h" 8271) - nil ) - (!pair "x_param_max_sched_insn_conflict_delay" - (!type already_seen 2) - (!fileloc "options.h" 8272) - nil ) - (!pair "x_param_max_sched_ready_insns" - (!type already_seen 2) - (!fileloc "options.h" 8273) - nil ) - (!pair "x_param_max_sched_region_blocks" - (!type already_seen 2) - (!fileloc "options.h" 8274) - nil ) - (!pair "x_param_max_sched_region_insns" - (!type already_seen 2) - (!fileloc "options.h" 8275) - nil ) - (!pair "x_param_max_slsr_candidate_scan" - (!type already_seen 2) - (!fileloc "options.h" 8276) - nil ) - (!pair "x_param_max_speculative_devirt_maydefs" - (!type already_seen 2) - (!fileloc "options.h" 8277) - nil ) - (!pair "x_param_max_stores_to_merge" - (!type already_seen 2) - (!fileloc "options.h" 8278) - nil ) - (!pair "x_param_max_stores_to_sink" - (!type already_seen 2) - (!fileloc "options.h" 8279) - nil ) - (!pair "x_param_max_tail_merge_comparisons" - (!type already_seen 2) - (!fileloc "options.h" 8280) - nil ) - (!pair "x_param_max_tail_merge_iterations" - (!type already_seen 2) - (!fileloc "options.h" 8281) - nil ) - (!pair "x_param_max_tracked_strlens" - (!type already_seen 2) - (!fileloc "options.h" 8282) - nil ) - (!pair "x_param_max_tree_if_conversion_phi_args" - (!type already_seen 2) - (!fileloc "options.h" 8283) - nil ) - (!pair "x_param_max_unroll_times" - (!type already_seen 2) - (!fileloc "options.h" 8284) - nil ) - (!pair "x_param_max_unrolled_insns" - (!type already_seen 2) - (!fileloc "options.h" 8285) - nil ) - (!pair "x_param_max_unswitch_depth" - (!type already_seen 2) - (!fileloc "options.h" 8286) - nil ) - (!pair "x_param_max_unswitch_insns" - (!type already_seen 2) - (!fileloc "options.h" 8287) - nil ) - (!pair "x_param_max_variable_expansions" - (!type already_seen 2) - (!fileloc "options.h" 8288) - nil ) - (!pair "x_param_max_vartrack_expr_depth" - (!type already_seen 2) - (!fileloc "options.h" 8289) - nil ) - (!pair "x_param_max_vartrack_reverse_op_size" - (!type already_seen 2) - (!fileloc "options.h" 8290) - nil ) - (!pair "x_param_max_vartrack_size" - (!type already_seen 2) - (!fileloc "options.h" 8291) - nil ) - (!pair "x_param_min_crossjump_insns" - (!type already_seen 2) - (!fileloc "options.h" 8292) - nil ) - (!pair "x_param_min_inline_recursive_probability" - (!type already_seen 2) - (!fileloc "options.h" 8293) - nil ) - (!pair "x_param_min_insn_to_prefetch_ratio" - (!type already_seen 2) - (!fileloc "options.h" 8294) - nil ) - (!pair "x_param_min_loop_cond_split_prob" - (!type already_seen 2) - (!fileloc "options.h" 8295) - nil ) - (!pair "x_param_min_pagesize" - (!type already_seen 2) - (!fileloc "options.h" 8296) - nil ) - (!pair "x_param_min_size_for_stack_sharing" - (!type already_seen 2) - (!fileloc "options.h" 8297) - nil ) - (!pair "x_param_min_spec_prob" - (!type already_seen 2) - (!fileloc "options.h" 8298) - nil ) - (!pair "x_param_min_vect_loop_bound" - (!type already_seen 2) - (!fileloc "options.h" 8299) - nil ) - (!pair "x_param_modref_max_accesses" - (!type already_seen 2) - (!fileloc "options.h" 8300) - nil ) - (!pair "x_param_modref_max_adjustments" - (!type already_seen 2) - (!fileloc "options.h" 8301) - nil ) - (!pair "x_param_modref_max_bases" - (!type already_seen 2) - (!fileloc "options.h" 8302) - nil ) - (!pair "x_param_modref_max_depth" - (!type already_seen 2) - (!fileloc "options.h" 8303) - nil ) - (!pair "x_param_modref_max_escape_points" - (!type already_seen 2) - (!fileloc "options.h" 8304) - nil ) - (!pair "x_param_modref_max_refs" - (!type already_seen 2) - (!fileloc "options.h" 8305) - nil ) - (!pair "x_param_modref_max_tests" - (!type already_seen 2) - (!fileloc "options.h" 8306) - nil ) - (!pair "x_param_parloops_chunk_size" - (!type already_seen 2) - (!fileloc "options.h" 8307) - nil ) - (!pair "x_param_parloops_min_per_thread" - (!type already_seen 2) - (!fileloc "options.h" 8308) - nil ) - (!pair "x_param_parloops_schedule" - (!type already_seen 2) - (!fileloc "options.h" 8309) - nil ) - (!pair "x_param_partial_inlining_entry_probability" - (!type already_seen 2) - (!fileloc "options.h" 8310) - nil ) - (!pair "x_param_predictable_branch_outcome" - (!type already_seen 2) - (!fileloc "options.h" 8311) - nil ) - (!pair "x_param_prefetch_dynamic_strides" - (!type already_seen 2) - (!fileloc "options.h" 8312) - nil ) - (!pair "x_param_prefetch_latency" - (!type already_seen 2) - (!fileloc "options.h" 8313) - nil ) - (!pair "x_param_prefetch_min_insn_to_mem_ratio" - (!type already_seen 2) - (!fileloc "options.h" 8314) - nil ) - (!pair "x_param_prefetch_minimum_stride" - (!type already_seen 2) - (!fileloc "options.h" 8315) - nil ) - (!pair "x_param_ranger_logical_depth" - (!type already_seen 2) - (!fileloc "options.h" 8316) - nil ) - (!pair "x_param_ranger_recompute_depth" - (!type already_seen 2) - (!fileloc "options.h" 8317) - nil ) - (!pair "x_param_relation_block_limit" - (!type already_seen 2) - (!fileloc "options.h" 8318) - nil ) - (!pair "x_param_rpo_vn_max_loop_depth" - (!type already_seen 2) - (!fileloc "options.h" 8319) - nil ) - (!pair "x_param_sccvn_max_alias_queries_per_access" - (!type already_seen 2) - (!fileloc "options.h" 8320) - nil ) - (!pair "x_param_scev_max_expr_complexity" - (!type already_seen 2) - (!fileloc "options.h" 8321) - nil ) - (!pair "x_param_scev_max_expr_size" - (!type already_seen 2) - (!fileloc "options.h" 8322) - nil ) - (!pair "x_param_sched_autopref_queue_depth" - (!type already_seen 2) - (!fileloc "options.h" 8323) - nil ) - (!pair "x_param_sched_mem_true_dep_cost" - (!type already_seen 2) - (!fileloc "options.h" 8324) - nil ) - (!pair "x_param_sched_pressure_algorithm" - (!type already_seen 2) - (!fileloc "options.h" 8325) - nil ) - (!pair "x_param_sched_spec_prob_cutoff" - (!type already_seen 2) - (!fileloc "options.h" 8326) - nil ) - (!pair "x_param_sched_state_edge_prob_cutoff" - (!type already_seen 2) - (!fileloc "options.h" 8327) - nil ) - (!pair "x_param_selsched_insns_to_rename" - (!type already_seen 2) - (!fileloc "options.h" 8328) - nil ) - (!pair "x_param_selsched_max_lookahead" - (!type already_seen 2) - (!fileloc "options.h" 8329) - nil ) - (!pair "x_param_selsched_max_sched_times" - (!type already_seen 2) - (!fileloc "options.h" 8330) - nil ) - (!pair "x_param_simultaneous_prefetches" - (!type already_seen 2) - (!fileloc "options.h" 8331) - nil ) - (!pair "x_param_sink_frequency_threshold" - (!type already_seen 2) - (!fileloc "options.h" 8332) - nil ) - (!pair "x_param_sms_dfa_history" - (!type already_seen 2) - (!fileloc "options.h" 8333) - nil ) - (!pair "x_param_sms_loop_average_count_threshold" - (!type already_seen 2) - (!fileloc "options.h" 8334) - nil ) - (!pair "x_param_sms_max_ii_factor" - (!type already_seen 2) - (!fileloc "options.h" 8335) - nil ) - (!pair "x_param_sms_min_sc" - (!type already_seen 2) - (!fileloc "options.h" 8336) - nil ) - (!pair "x_param_sra_max_propagations" - (!type already_seen 2) - (!fileloc "options.h" 8337) - nil ) - (!pair "x_param_sra_max_scalarization_size_size" - (!type already_seen 2) - (!fileloc "options.h" 8338) - nil ) - (!pair "x_param_sra_max_scalarization_size_speed" - (!type already_seen 2) - (!fileloc "options.h" 8339) - nil ) - (!pair "x_param_ssa_name_def_chain_limit" - (!type already_seen 2) - (!fileloc "options.h" 8340) - nil ) - (!pair "x_param_ssp_buffer_size" - (!type already_seen 2) - (!fileloc "options.h" 8341) - nil ) - (!pair "x_param_stack_clash_protection_guard_size" - (!type already_seen 2) - (!fileloc "options.h" 8342) - nil ) - (!pair "x_param_stack_clash_protection_probe_interval" - (!type already_seen 2) - (!fileloc "options.h" 8343) - nil ) - (!pair "x_param_store_merging_allow_unaligned" - (!type already_seen 2) - (!fileloc "options.h" 8344) - nil ) - (!pair "x_param_store_merging_max_size" - (!type already_seen 2) - (!fileloc "options.h" 8345) - nil ) - (!pair "x_param_switch_conversion_branch_ratio" - (!type already_seen 2) - (!fileloc "options.h" 8346) - nil ) - (!pair "x_param_tm_max_aggregate_size" - (!type already_seen 2) - (!fileloc "options.h" 8347) - nil ) - (!pair "x_param_tracer_dynamic_coverage_feedback" - (!type already_seen 2) - (!fileloc "options.h" 8348) - nil ) - (!pair "x_param_tracer_dynamic_coverage" - (!type already_seen 2) - (!fileloc "options.h" 8349) - nil ) - (!pair "x_param_tracer_max_code_growth" - (!type already_seen 2) - (!fileloc "options.h" 8350) - nil ) - (!pair "x_param_tracer_min_branch_probability_feedback" - (!type already_seen 2) - (!fileloc "options.h" 8351) - nil ) - (!pair "x_param_tracer_min_branch_probability" - (!type already_seen 2) - (!fileloc "options.h" 8352) - nil ) - (!pair "x_param_tracer_min_branch_ratio" - (!type already_seen 2) - (!fileloc "options.h" 8353) - nil ) - (!pair "x_param_tree_reassoc_width" - (!type already_seen 2) - (!fileloc "options.h" 8354) - nil ) - (!pair "x_param_uninit_control_dep_attempts" - (!type already_seen 2) - (!fileloc "options.h" 8355) - nil ) - (!pair "x_param_uninlined_function_insns" - (!type already_seen 2) - (!fileloc "options.h" 8356) - nil ) - (!pair "x_param_uninlined_function_time" - (!type already_seen 2) - (!fileloc "options.h" 8357) - nil ) - (!pair "x_param_uninlined_function_thunk_insns" - (!type already_seen 2) - (!fileloc "options.h" 8358) - nil ) - (!pair "x_param_uninlined_function_thunk_time" - (!type already_seen 2) - (!fileloc "options.h" 8359) - nil ) - (!pair "x_param_unlikely_bb_count_fraction" - (!type already_seen 2) - (!fileloc "options.h" 8360) - nil ) - (!pair "x_param_unroll_jam_max_unroll" - (!type already_seen 2) - (!fileloc "options.h" 8361) - nil ) - (!pair "x_param_unroll_jam_min_percent" - (!type already_seen 2) - (!fileloc "options.h" 8362) - nil ) - (!pair "x_param_use_after_scope_direct_emission_threshold" - (!type already_seen 2) - (!fileloc "options.h" 8363) - nil ) - (!pair "x_param_vect_epilogues_nomask" - (!type already_seen 2) - (!fileloc "options.h" 8364) - nil ) - (!pair "x_param_vect_induction_float" - (!type already_seen 2) - (!fileloc "options.h" 8365) - nil ) - (!pair "x_param_vect_inner_loop_cost_factor" - (!type already_seen 2) - (!fileloc "options.h" 8366) - nil ) - (!pair "x_param_vect_max_layout_candidates" - (!type already_seen 2) - (!fileloc "options.h" 8367) - nil ) - (!pair "x_param_vect_max_peeling_for_alignment" - (!type already_seen 2) - (!fileloc "options.h" 8368) - nil ) - (!pair "x_param_vect_max_version_for_alias_checks" - (!type already_seen 2) - (!fileloc "options.h" 8369) - nil ) - (!pair "x_param_vect_max_version_for_alignment_checks" - (!type already_seen 2) - (!fileloc "options.h" 8370) - nil ) - (!pair "x_param_vect_partial_vector_usage" - (!type already_seen 2) - (!fileloc "options.h" 8371) - nil ) - (!pair "x_flag_openmp_target_simd_clone" - (!type already_seen 2) - (!fileloc "options.h" 8372) - nil ) - (!pair "x_flag_sched_stalled_insns" - (!type already_seen 2) - (!fileloc "options.h" 8373) - nil ) - (!pair "x_flag_sched_stalled_insns_dep" - (!type already_seen 2) - (!fileloc "options.h" 8374) - nil ) - (!pair "x_flag_tree_parallelize_loops" - (!type already_seen 2) - (!fileloc "options.h" 8375) - nil ) - (!pair "x_param_ranger_debug" - (!type already_seen 2) - (!fileloc "options.h" 8376) - nil ) - (!pair "x_param_threader_debug" - (!type already_seen 2) - (!fileloc "options.h" 8377) - nil ) - (!pair "x_flag_excess_precision" - (!type already_seen 2) - (!fileloc "options.h" 8378) - nil ) - (!pair "x_flag_fp_contract_mode" - (!type already_seen 2) - (!fileloc "options.h" 8379) - nil ) - (!pair "x_flag_ira_algorithm" - (!type already_seen 2) - (!fileloc "options.h" 8380) - nil ) - (!pair "x_flag_ira_region" - (!type already_seen 2) - (!fileloc "options.h" 8381) - nil ) - (!pair "x_flag_live_patching" - (!type already_seen 2) - (!fileloc "options.h" 8382) - nil ) - (!pair "x_flag_reorder_blocks_algorithm" - (!type already_seen 2) - (!fileloc "options.h" 8383) - nil ) - (!pair "x_flag_simd_cost_model" - (!type already_seen 2) - (!fileloc "options.h" 8384) - nil ) - (!pair "x_flag_stack_reuse" - (!type already_seen 2) - (!fileloc "options.h" 8385) - nil ) - (!pair "x_flag_auto_var_init" - (!type already_seen 2) - (!fileloc "options.h" 8386) - nil ) - (!pair "x_flag_vect_cost_model" - (!type already_seen 2) - (!fileloc "options.h" 8387) - nil ) - (!pair "x_optimize" - (!type already_seen 8) - (!fileloc "options.h" 8388) - nil ) - (!pair "x_optimize_size" - (!type already_seen 8) - (!fileloc "options.h" 8389) - nil ) - (!pair "x_optimize_debug" - (!type already_seen 8) - (!fileloc "options.h" 8390) - nil ) - (!pair "x_optimize_fast" - (!type already_seen 8) - (!fileloc "options.h" 8391) - nil ) - (!pair "x_warn_inline" - (!type already_seen 2) - (!fileloc "options.h" 8392) - nil ) - (!pair "x_flag_aggressive_loop_optimizations" - (!type already_seen 2) - (!fileloc "options.h" 8393) - nil ) - (!pair "x_flag_align_functions" - (!type already_seen 2) - (!fileloc "options.h" 8394) - nil ) - (!pair "x_flag_align_jumps" - (!type already_seen 2) - (!fileloc "options.h" 8395) - nil ) - (!pair "x_flag_align_labels" - (!type already_seen 2) - (!fileloc "options.h" 8396) - nil ) - (!pair "x_flag_align_loops" - (!type already_seen 2) - (!fileloc "options.h" 8397) - nil ) - (!pair "x_flag_allocation_dce" - (!type already_seen 2) - (!fileloc "options.h" 8398) - nil ) - (!pair "x_flag_store_data_races" - (!type already_seen 2) - (!fileloc "options.h" 8399) - nil ) - (!pair "x_flag_associative_math" - (!type already_seen 2) - (!fileloc "options.h" 8400) - nil ) - (!pair "x_flag_asynchronous_unwind_tables" - (!type already_seen 2) - (!fileloc "options.h" 8401) - nil ) - (!pair "x_flag_auto_inc_dec" - (!type already_seen 2) - (!fileloc "options.h" 8402) - nil ) - (!pair "x_flag_bit_tests" - (!type already_seen 2) - (!fileloc "options.h" 8403) - nil ) - (!pair "x_flag_branch_on_count_reg" - (!type already_seen 2) - (!fileloc "options.h" 8404) - nil ) - (!pair "x_flag_branch_probabilities" - (!type already_seen 2) - (!fileloc "options.h" 8405) - nil ) - (!pair "x_flag_caller_saves" - (!type already_seen 2) - (!fileloc "options.h" 8406) - nil ) - (!pair "x_flag_code_hoisting" - (!type already_seen 2) - (!fileloc "options.h" 8407) - nil ) - (!pair "x_flag_combine_stack_adjustments" - (!type already_seen 2) - (!fileloc "options.h" 8408) - nil ) - (!pair "x_flag_compare_elim_after_reload" - (!type already_seen 2) - (!fileloc "options.h" 8409) - nil ) - (!pair "x_flag_conserve_stack" - (!type already_seen 2) - (!fileloc "options.h" 8410) - nil ) - (!pair "x_flag_cprop_registers" - (!type already_seen 2) - (!fileloc "options.h" 8411) - nil ) - (!pair "x_flag_crossjumping" - (!type already_seen 2) - (!fileloc "options.h" 8412) - nil ) - (!pair "x_flag_cse_follow_jumps" - (!type already_seen 2) - (!fileloc "options.h" 8413) - nil ) - (!pair "x_flag_cx_fortran_rules" - (!type already_seen 2) - (!fileloc "options.h" 8414) - nil ) - (!pair "x_flag_cx_limited_range" - (!type already_seen 2) - (!fileloc "options.h" 8415) - nil ) - (!pair "x_flag_dce" - (!type already_seen 2) - (!fileloc "options.h" 8416) - nil ) - (!pair "x_flag_defer_pop" - (!type already_seen 2) - (!fileloc "options.h" 8417) - nil ) - (!pair "x_flag_delayed_branch" - (!type already_seen 2) - (!fileloc "options.h" 8418) - nil ) - (!pair "x_flag_delete_dead_exceptions" - (!type already_seen 2) - (!fileloc "options.h" 8419) - nil ) - (!pair "x_flag_delete_null_pointer_checks" - (!type already_seen 2) - (!fileloc "options.h" 8420) - nil ) - (!pair "x_flag_devirtualize" - (!type already_seen 2) - (!fileloc "options.h" 8421) - nil ) - (!pair "x_flag_devirtualize_speculatively" - (!type already_seen 2) - (!fileloc "options.h" 8422) - nil ) - (!pair "x_flag_dse" - (!type already_seen 2) - (!fileloc "options.h" 8423) - nil ) - (!pair "x_flag_early_inlining" - (!type already_seen 2) - (!fileloc "options.h" 8424) - nil ) - (!pair "x_flag_exceptions" - (!type already_seen 2) - (!fileloc "options.h" 8425) - nil ) - (!pair "x_flag_expensive_optimizations" - (!type already_seen 2) - (!fileloc "options.h" 8426) - nil ) - (!pair "x_flag_finite_loops" - (!type already_seen 2) - (!fileloc "options.h" 8427) - nil ) - (!pair "x_flag_finite_math_only" - (!type already_seen 2) - (!fileloc "options.h" 8428) - nil ) - (!pair "x_flag_float_store" - (!type already_seen 2) - (!fileloc "options.h" 8429) - nil ) - (!pair "x_flag_fold_simple_inlines" - (!type already_seen 2) - (!fileloc "options.h" 8430) - nil ) - (!pair "x_flag_forward_propagate" - (!type already_seen 2) - (!fileloc "options.h" 8431) - nil ) - (!pair "x_flag_fp_int_builtin_inexact" - (!type already_seen 2) - (!fileloc "options.h" 8432) - nil ) - (!pair "x_flag_no_function_cse" - (!type already_seen 2) - (!fileloc "options.h" 8433) - nil ) - (!pair "x_flag_gcse" - (!type already_seen 2) - (!fileloc "options.h" 8434) - nil ) - (!pair "x_flag_gcse_after_reload" - (!type already_seen 2) - (!fileloc "options.h" 8435) - nil ) - (!pair "x_flag_gcse_las" - (!type already_seen 2) - (!fileloc "options.h" 8436) - nil ) - (!pair "x_flag_gcse_lm" - (!type already_seen 2) - (!fileloc "options.h" 8437) - nil ) - (!pair "x_flag_gcse_sm" - (!type already_seen 2) - (!fileloc "options.h" 8438) - nil ) - (!pair "x_flag_graphite" - (!type already_seen 2) - (!fileloc "options.h" 8439) - nil ) - (!pair "x_flag_graphite_identity" - (!type already_seen 2) - (!fileloc "options.h" 8440) - nil ) - (!pair "x_flag_guess_branch_prob" - (!type already_seen 2) - (!fileloc "options.h" 8441) - nil ) - (!pair "x_flag_harden_compares" - (!type already_seen 2) - (!fileloc "options.h" 8442) - nil ) - (!pair "x_flag_harden_conditional_branches" - (!type already_seen 2) - (!fileloc "options.h" 8443) - nil ) - (!pair "x_flag_hoist_adjacent_loads" - (!type already_seen 2) - (!fileloc "options.h" 8444) - nil ) - (!pair "x_flag_if_conversion" - (!type already_seen 2) - (!fileloc "options.h" 8445) - nil ) - (!pair "x_flag_if_conversion2" - (!type already_seen 2) - (!fileloc "options.h" 8446) - nil ) - (!pair "x_flag_indirect_inlining" - (!type already_seen 2) - (!fileloc "options.h" 8447) - nil ) - (!pair "x_flag_no_inline" - (!type already_seen 2) - (!fileloc "options.h" 8448) - nil ) - (!pair "x_flag_inline_atomics" - (!type already_seen 2) - (!fileloc "options.h" 8449) - nil ) - (!pair "x_flag_inline_functions" - (!type already_seen 2) - (!fileloc "options.h" 8450) - nil ) - (!pair "x_flag_inline_functions_called_once" - (!type already_seen 2) - (!fileloc "options.h" 8451) - nil ) - (!pair "x_flag_inline_small_functions" - (!type already_seen 2) - (!fileloc "options.h" 8452) - nil ) - (!pair "x_flag_ipa_bit_cp" - (!type already_seen 2) - (!fileloc "options.h" 8453) - nil ) - (!pair "x_flag_ipa_cp" - (!type already_seen 2) - (!fileloc "options.h" 8454) - nil ) - (!pair "x_flag_ipa_cp_clone" - (!type already_seen 2) - (!fileloc "options.h" 8455) - nil ) - (!pair "x_flag_ipa_icf" - (!type already_seen 2) - (!fileloc "options.h" 8456) - nil ) - (!pair "x_flag_ipa_icf_functions" - (!type already_seen 2) - (!fileloc "options.h" 8457) - nil ) - (!pair "x_flag_ipa_icf_variables" - (!type already_seen 2) - (!fileloc "options.h" 8458) - nil ) - (!pair "x_flag_ipa_modref" - (!type already_seen 2) - (!fileloc "options.h" 8459) - nil ) - (!pair "x_flag_ipa_profile" - (!type already_seen 2) - (!fileloc "options.h" 8460) - nil ) - (!pair "x_flag_ipa_pta" - (!type already_seen 2) - (!fileloc "options.h" 8461) - nil ) - (!pair "x_flag_ipa_pure_const" - (!type already_seen 2) - (!fileloc "options.h" 8462) - nil ) - (!pair "x_flag_ipa_ra" - (!type already_seen 2) - (!fileloc "options.h" 8463) - nil ) - (!pair "x_flag_ipa_reference" - (!type already_seen 2) - (!fileloc "options.h" 8464) - nil ) - (!pair "x_flag_ipa_reference_addressable" - (!type already_seen 2) - (!fileloc "options.h" 8465) - nil ) - (!pair "x_flag_ipa_sra" - (!type already_seen 2) - (!fileloc "options.h" 8466) - nil ) - (!pair "x_flag_ipa_stack_alignment" - (!type already_seen 2) - (!fileloc "options.h" 8467) - nil ) - (!pair "x_flag_ipa_strict_aliasing" - (!type already_seen 2) - (!fileloc "options.h" 8468) - nil ) - (!pair "x_flag_ipa_vrp" - (!type already_seen 2) - (!fileloc "options.h" 8469) - nil ) - (!pair "x_flag_ira_hoist_pressure" - (!type already_seen 2) - (!fileloc "options.h" 8470) - nil ) - (!pair "x_flag_ira_loop_pressure" - (!type already_seen 2) - (!fileloc "options.h" 8471) - nil ) - (!pair "x_flag_ira_share_save_slots" - (!type already_seen 2) - (!fileloc "options.h" 8472) - nil ) - (!pair "x_flag_ira_share_spill_slots" - (!type already_seen 2) - (!fileloc "options.h" 8473) - nil ) - (!pair "x_flag_isolate_erroneous_paths_attribute" - (!type already_seen 2) - (!fileloc "options.h" 8474) - nil ) - (!pair "x_flag_isolate_erroneous_paths_dereference" - (!type already_seen 2) - (!fileloc "options.h" 8475) - nil ) - (!pair "x_flag_ivopts" - (!type already_seen 2) - (!fileloc "options.h" 8476) - nil ) - (!pair "x_flag_jump_tables" - (!type already_seen 2) - (!fileloc "options.h" 8477) - nil ) - (!pair "x_flag_keep_gc_roots_live" - (!type already_seen 2) - (!fileloc "options.h" 8478) - nil ) - (!pair "x_flag_lifetime_dse" - (!type already_seen 2) - (!fileloc "options.h" 8479) - nil ) - (!pair "x_flag_limit_function_alignment" - (!type already_seen 2) - (!fileloc "options.h" 8480) - nil ) - (!pair "x_flag_live_range_shrinkage" - (!type already_seen 2) - (!fileloc "options.h" 8481) - nil ) - (!pair "x_flag_loop_interchange" - (!type already_seen 2) - (!fileloc "options.h" 8482) - nil ) - (!pair "x_flag_loop_nest_optimize" - (!type already_seen 2) - (!fileloc "options.h" 8483) - nil ) - (!pair "x_flag_loop_parallelize_all" - (!type already_seen 2) - (!fileloc "options.h" 8484) - nil ) - (!pair "x_flag_unroll_jam" - (!type already_seen 2) - (!fileloc "options.h" 8485) - nil ) - (!pair "x_flag_lra_remat" - (!type already_seen 2) - (!fileloc "options.h" 8486) - nil ) - (!pair "x_flag_errno_math" - (!type already_seen 2) - (!fileloc "options.h" 8487) - nil ) - (!pair "x_flag_modulo_sched" - (!type already_seen 2) - (!fileloc "options.h" 8488) - nil ) - (!pair "x_flag_modulo_sched_allow_regmoves" - (!type already_seen 2) - (!fileloc "options.h" 8489) - nil ) - (!pair "x_flag_move_loop_invariants" - (!type already_seen 2) - (!fileloc "options.h" 8490) - nil ) - (!pair "x_flag_move_loop_stores" - (!type already_seen 2) - (!fileloc "options.h" 8491) - nil ) - (!pair "x_flag_non_call_exceptions" - (!type already_seen 2) - (!fileloc "options.h" 8492) - nil ) - (!pair "x_flag_nothrow_opt" - (!type already_seen 2) - (!fileloc "options.h" 8493) - nil ) - (!pair "x_flag_omit_frame_pointer" - (!type already_seen 2) - (!fileloc "options.h" 8494) - nil ) - (!pair "x_flag_opt_info" - (!type already_seen 2) - (!fileloc "options.h" 8495) - nil ) - (!pair "x_flag_optimize_sibling_calls" - (!type already_seen 2) - (!fileloc "options.h" 8496) - nil ) - (!pair "x_flag_optimize_strlen" - (!type already_seen 2) - (!fileloc "options.h" 8497) - nil ) - (!pair "x_flag_pack_struct" - (!type already_seen 2) - (!fileloc "options.h" 8498) - nil ) - (!pair "x_flag_partial_inlining" - (!type already_seen 2) - (!fileloc "options.h" 8499) - nil ) - (!pair "x_flag_peel_loops" - (!type already_seen 2) - (!fileloc "options.h" 8500) - nil ) - (!pair "x_flag_no_peephole" - (!type already_seen 2) - (!fileloc "options.h" 8501) - nil ) - (!pair "x_flag_peephole2" - (!type already_seen 2) - (!fileloc "options.h" 8502) - nil ) - (!pair "x_flag_plt" - (!type already_seen 2) - (!fileloc "options.h" 8503) - nil ) - (!pair "x_flag_predictive_commoning" - (!type already_seen 2) - (!fileloc "options.h" 8504) - nil ) - (!pair "x_flag_prefetch_loop_arrays" - (!type already_seen 2) - (!fileloc "options.h" 8505) - nil ) - (!pair "x_flag_printf_return_value" - (!type already_seen 2) - (!fileloc "options.h" 8506) - nil ) - (!pair "x_flag_profile_partial_training" - (!type already_seen 2) - (!fileloc "options.h" 8507) - nil ) - (!pair "x_flag_profile_reorder_functions" - (!type already_seen 2) - (!fileloc "options.h" 8508) - nil ) - (!pair "x_flag_reciprocal_math" - (!type already_seen 2) - (!fileloc "options.h" 8509) - nil ) - (!pair "x_flag_ree" - (!type already_seen 2) - (!fileloc "options.h" 8510) - nil ) - (!pair "x_flag_pcc_struct_return" - (!type already_seen 2) - (!fileloc "options.h" 8511) - nil ) - (!pair "x_flag_rename_registers" - (!type already_seen 2) - (!fileloc "options.h" 8512) - nil ) - (!pair "x_flag_reorder_blocks" - (!type already_seen 2) - (!fileloc "options.h" 8513) - nil ) - (!pair "x_flag_reorder_blocks_and_partition" - (!type already_seen 2) - (!fileloc "options.h" 8514) - nil ) - (!pair "x_flag_reorder_functions" - (!type already_seen 2) - (!fileloc "options.h" 8515) - nil ) - (!pair "x_flag_rerun_cse_after_loop" - (!type already_seen 2) - (!fileloc "options.h" 8516) - nil ) - (!pair "x_flag_resched_modulo_sched" - (!type already_seen 2) - (!fileloc "options.h" 8517) - nil ) - (!pair "x_flag_rounding_math" - (!type already_seen 2) - (!fileloc "options.h" 8518) - nil ) - (!pair "x_flag_rtti" - (!type already_seen 2) - (!fileloc "options.h" 8519) - nil ) - (!pair "x_flag_save_optimization_record" - (!type already_seen 2) - (!fileloc "options.h" 8520) - nil ) - (!pair "x_flag_sched_critical_path_heuristic" - (!type already_seen 2) - (!fileloc "options.h" 8521) - nil ) - (!pair "x_flag_sched_dep_count_heuristic" - (!type already_seen 2) - (!fileloc "options.h" 8522) - nil ) - (!pair "x_flag_sched_group_heuristic" - (!type already_seen 2) - (!fileloc "options.h" 8523) - nil ) - (!pair "x_flag_schedule_interblock" - (!type already_seen 2) - (!fileloc "options.h" 8524) - nil ) - (!pair "x_flag_sched_last_insn_heuristic" - (!type already_seen 2) - (!fileloc "options.h" 8525) - nil ) - (!pair "x_flag_sched_pressure" - (!type already_seen 2) - (!fileloc "options.h" 8526) - nil ) - (!pair "x_flag_sched_rank_heuristic" - (!type already_seen 2) - (!fileloc "options.h" 8527) - nil ) - (!pair "x_flag_schedule_speculative" - (!type already_seen 2) - (!fileloc "options.h" 8528) - nil ) - (!pair "x_flag_sched_spec_insn_heuristic" - (!type already_seen 2) - (!fileloc "options.h" 8529) - nil ) - (!pair "x_flag_schedule_speculative_load" - (!type already_seen 2) - (!fileloc "options.h" 8530) - nil ) - (!pair "x_flag_schedule_speculative_load_dangerous" - (!type already_seen 2) - (!fileloc "options.h" 8531) - nil ) - (!pair "x_flag_sched2_use_superblocks" - (!type already_seen 2) - (!fileloc "options.h" 8532) - nil ) - (!pair "x_flag_schedule_fusion" - (!type already_seen 2) - (!fileloc "options.h" 8533) - nil ) - (!pair "x_flag_schedule_insns" - (!type already_seen 2) - (!fileloc "options.h" 8534) - nil ) - (!pair "x_flag_schedule_insns_after_reload" - (!type already_seen 2) - (!fileloc "options.h" 8535) - nil ) - (!pair "x_flag_section_anchors" - (!type already_seen 2) - (!fileloc "options.h" 8536) - nil ) - (!pair "x_flag_sel_sched_pipelining" - (!type already_seen 2) - (!fileloc "options.h" 8537) - nil ) - (!pair "x_flag_sel_sched_pipelining_outer_loops" - (!type already_seen 2) - (!fileloc "options.h" 8538) - nil ) - (!pair "x_flag_sel_sched_reschedule_pipelined" - (!type already_seen 2) - (!fileloc "options.h" 8539) - nil ) - (!pair "x_flag_selective_scheduling" - (!type already_seen 2) - (!fileloc "options.h" 8540) - nil ) - (!pair "x_flag_selective_scheduling2" - (!type already_seen 2) - (!fileloc "options.h" 8541) - nil ) - (!pair "x_flag_semantic_interposition" - (!type already_seen 2) - (!fileloc "options.h" 8542) - nil ) - (!pair "x_flag_short_enums" - (!type already_seen 2) - (!fileloc "options.h" 8543) - nil ) - (!pair "x_flag_short_wchar" - (!type already_seen 2) - (!fileloc "options.h" 8544) - nil ) - (!pair "x_flag_shrink_wrap" - (!type already_seen 2) - (!fileloc "options.h" 8545) - nil ) - (!pair "x_flag_shrink_wrap_separate" - (!type already_seen 2) - (!fileloc "options.h" 8546) - nil ) - (!pair "x_flag_signaling_nans" - (!type already_seen 2) - (!fileloc "options.h" 8547) - nil ) - (!pair "x_flag_signed_zeros" - (!type already_seen 2) - (!fileloc "options.h" 8548) - nil ) - (!pair "x_flag_single_precision_constant" - (!type already_seen 2) - (!fileloc "options.h" 8549) - nil ) - (!pair "x_flag_split_ivs_in_unroller" - (!type already_seen 2) - (!fileloc "options.h" 8550) - nil ) - (!pair "x_flag_split_loops" - (!type already_seen 2) - (!fileloc "options.h" 8551) - nil ) - (!pair "x_flag_split_paths" - (!type already_seen 2) - (!fileloc "options.h" 8552) - nil ) - (!pair "x_flag_split_wide_types" - (!type already_seen 2) - (!fileloc "options.h" 8553) - nil ) - (!pair "x_flag_split_wide_types_early" - (!type already_seen 2) - (!fileloc "options.h" 8554) - nil ) - (!pair "x_flag_ssa_backprop" - (!type already_seen 2) - (!fileloc "options.h" 8555) - nil ) - (!pair "x_flag_ssa_phiopt" - (!type already_seen 2) - (!fileloc "options.h" 8556) - nil ) - (!pair "x_flag_stack_clash_protection" - (!type already_seen 2) - (!fileloc "options.h" 8557) - nil ) - (!pair "x_flag_stack_protect" - (!type already_seen 2) - (!fileloc "options.h" 8558) - nil ) - (!pair "x_flag_stdarg_opt" - (!type already_seen 2) - (!fileloc "options.h" 8559) - nil ) - (!pair "x_flag_store_merging" - (!type already_seen 2) - (!fileloc "options.h" 8560) - nil ) - (!pair "x_flag_strict_aliasing" - (!type already_seen 2) - (!fileloc "options.h" 8561) - nil ) - (!pair "x_flag_strict_enums" - (!type already_seen 2) - (!fileloc "options.h" 8562) - nil ) - (!pair "x_flag_strict_volatile_bitfields" - (!type already_seen 2) - (!fileloc "options.h" 8563) - nil ) - (!pair "x_flag_thread_jumps" - (!type already_seen 2) - (!fileloc "options.h" 8564) - nil ) - (!pair "x_flag_threadsafe_statics" - (!type already_seen 2) - (!fileloc "options.h" 8565) - nil ) - (!pair "x_flag_toplevel_reorder" - (!type already_seen 2) - (!fileloc "options.h" 8566) - nil ) - (!pair "x_flag_tracer" - (!type already_seen 2) - (!fileloc "options.h" 8567) - nil ) - (!pair "x_flag_trapping_math" - (!type already_seen 2) - (!fileloc "options.h" 8568) - nil ) - (!pair "x_flag_trapv" - (!type already_seen 2) - (!fileloc "options.h" 8569) - nil ) - (!pair "x_flag_tree_bit_ccp" - (!type already_seen 2) - (!fileloc "options.h" 8570) - nil ) - (!pair "x_flag_tree_builtin_call_dce" - (!type already_seen 2) - (!fileloc "options.h" 8571) - nil ) - (!pair "x_flag_tree_ccp" - (!type already_seen 2) - (!fileloc "options.h" 8572) - nil ) - (!pair "x_flag_tree_ch" - (!type already_seen 2) - (!fileloc "options.h" 8573) - nil ) - (!pair "x_flag_tree_coalesce_vars" - (!type already_seen 2) - (!fileloc "options.h" 8574) - nil ) - (!pair "x_flag_tree_copy_prop" - (!type already_seen 2) - (!fileloc "options.h" 8575) - nil ) - (!pair "x_flag_tree_cselim" - (!type already_seen 2) - (!fileloc "options.h" 8576) - nil ) - (!pair "x_flag_tree_dce" - (!type already_seen 2) - (!fileloc "options.h" 8577) - nil ) - (!pair "x_flag_tree_dom" - (!type already_seen 2) - (!fileloc "options.h" 8578) - nil ) - (!pair "x_flag_tree_dse" - (!type already_seen 2) - (!fileloc "options.h" 8579) - nil ) - (!pair "x_flag_tree_forwprop" - (!type already_seen 2) - (!fileloc "options.h" 8580) - nil ) - (!pair "x_flag_tree_fre" - (!type already_seen 2) - (!fileloc "options.h" 8581) - nil ) - (!pair "x_flag_tree_loop_distribute_patterns" - (!type already_seen 2) - (!fileloc "options.h" 8582) - nil ) - (!pair "x_flag_tree_loop_distribution" - (!type already_seen 2) - (!fileloc "options.h" 8583) - nil ) - (!pair "x_flag_tree_loop_if_convert" - (!type already_seen 2) - (!fileloc "options.h" 8584) - nil ) - (!pair "x_flag_tree_loop_im" - (!type already_seen 2) - (!fileloc "options.h" 8585) - nil ) - (!pair "x_flag_tree_loop_ivcanon" - (!type already_seen 2) - (!fileloc "options.h" 8586) - nil ) - (!pair "x_flag_tree_loop_optimize" - (!type already_seen 2) - (!fileloc "options.h" 8587) - nil ) - (!pair "x_flag_tree_loop_vectorize" - (!type already_seen 2) - (!fileloc "options.h" 8588) - nil ) - (!pair "x_flag_tree_live_range_split" - (!type already_seen 2) - (!fileloc "options.h" 8589) - nil ) - (!pair "x_flag_tree_partial_pre" - (!type already_seen 2) - (!fileloc "options.h" 8590) - nil ) - (!pair "x_flag_tree_phiprop" - (!type already_seen 2) - (!fileloc "options.h" 8591) - nil ) - (!pair "x_flag_tree_pre" - (!type already_seen 2) - (!fileloc "options.h" 8592) - nil ) - (!pair "x_flag_tree_pta" - (!type already_seen 2) - (!fileloc "options.h" 8593) - nil ) - (!pair "x_flag_tree_reassoc" - (!type already_seen 2) - (!fileloc "options.h" 8594) - nil ) - (!pair "x_flag_tree_scev_cprop" - (!type already_seen 2) - (!fileloc "options.h" 8595) - nil ) - (!pair "x_flag_tree_sink" - (!type already_seen 2) - (!fileloc "options.h" 8596) - nil ) - (!pair "x_flag_tree_slp_vectorize" - (!type already_seen 2) - (!fileloc "options.h" 8597) - nil ) - (!pair "x_flag_tree_slsr" - (!type already_seen 2) - (!fileloc "options.h" 8598) - nil ) - (!pair "x_flag_tree_sra" - (!type already_seen 2) - (!fileloc "options.h" 8599) - nil ) - (!pair "x_flag_tree_switch_conversion" - (!type already_seen 2) - (!fileloc "options.h" 8600) - nil ) - (!pair "x_flag_tree_tail_merge" - (!type already_seen 2) - (!fileloc "options.h" 8601) - nil ) - (!pair "x_flag_tree_ter" - (!type already_seen 2) - (!fileloc "options.h" 8602) - nil ) - (!pair "x_flag_tree_vectorize" - (!type already_seen 2) - (!fileloc "options.h" 8603) - nil ) - (!pair "x_flag_tree_vrp" - (!type already_seen 2) - (!fileloc "options.h" 8604) - nil ) - (!pair "x_flag_unconstrained_commons" - (!type already_seen 2) - (!fileloc "options.h" 8605) - nil ) - (!pair "x_flag_unreachable_traps" - (!type already_seen 2) - (!fileloc "options.h" 8606) - nil ) - (!pair "x_flag_unroll_all_loops" - (!type already_seen 2) - (!fileloc "options.h" 8607) - nil ) - (!pair "x_flag_cunroll_grow_size" - (!type already_seen 2) - (!fileloc "options.h" 8608) - nil ) - (!pair "x_flag_unroll_loops" - (!type already_seen 2) - (!fileloc "options.h" 8609) - nil ) - (!pair "x_flag_unsafe_math_optimizations" - (!type already_seen 2) - (!fileloc "options.h" 8610) - nil ) - (!pair "x_flag_unswitch_loops" - (!type already_seen 2) - (!fileloc "options.h" 8611) - nil ) - (!pair "x_flag_unwind_tables" - (!type already_seen 2) - (!fileloc "options.h" 8612) - nil ) - (!pair "x_flag_var_tracking" - (!type already_seen 2) - (!fileloc "options.h" 8613) - nil ) - (!pair "x_flag_var_tracking_assignments" - (!type already_seen 2) - (!fileloc "options.h" 8614) - nil ) - (!pair "x_flag_var_tracking_assignments_toggle" - (!type already_seen 2) - (!fileloc "options.h" 8615) - nil ) - (!pair "x_flag_var_tracking_uninit" - (!type already_seen 2) - (!fileloc "options.h" 8616) - nil ) - (!pair "x_flag_variable_expansion_in_unroller" - (!type already_seen 2) - (!fileloc "options.h" 8617) - nil ) - (!pair "x_flag_version_loops_for_strides" - (!type already_seen 2) - (!fileloc "options.h" 8618) - nil ) - (!pair "x_flag_value_profile_transformations" - (!type already_seen 2) - (!fileloc "options.h" 8619) - nil ) - (!pair "x_flag_web" - (!type already_seen 2) - (!fileloc "options.h" 8620) - nil ) - (!pair "x_flag_wrapv" - (!type already_seen 2) - (!fileloc "options.h" 8621) - nil ) - (!pair "x_flag_wrapv_pointer" - (!type already_seen 2) - (!fileloc "options.h" 8622) - nil ) - (!pair "x_debug_nonbind_markers_p" - (!type already_seen 2) - (!fileloc "options.h" 8623) - nil ) - (!pair "explicit_mask" - (!type array 577 nil gc_used "8" - (!type already_seen 2) - ) - (!fileloc "options.h" 8625) - nil ) - ) - nil 4095 nil nil ) - ) - (!srcfileloc "tree-core.h" 2032) - nil ) - (!pair "optabs" - (!type already_seen 3) - (!srcfileloc "tree-core.h" 2036) - (!options - (!option atomic string "") - ) - ) - (!pair "base_optabs" - (!type pointer 578 nil gc_unused - (!type struct 579 - (!type already_seen 578) - gc_unused "target_optabs"nil - (!fields 0 ) - nil 0 nil nil ) - ) - (!srcfileloc "tree-core.h" 2040) - (!options - (!option skip string "") - ) - ) - ) - nil 4095 nil nil ) - (!srcfileloc "tree-core.h" 2105) - (!options - (!option tag string "TS_OPTIMIZATION") - ) - ) - (!pair "target_option" - (!type struct 580 nil gc_used "tree_target_option" - (!srcfileloc "tree-core.h" 2057) - (!fields 3 - (!pair "base" - (!type already_seen 25) - (!srcfileloc "tree-core.h" 2050) - nil ) - (!pair "globals" - (!type pointer 581 nil gc_used - (!type struct 582 - (!type already_seen 581) - gc_pointed_to "target_globals" - (!srcfileloc "target-globals.h" 64) - (!fields 17 - (!pair "flag_state" - (!type pointer 583 nil gc_unused - (!type struct 584 - (!type already_seen 583) - gc_unused "target_flag_state"nil - (!fields 0 ) - nil 0 nil nil ) - ) - (!srcfileloc "target-globals.h" 47) - (!options - (!option skip string "") - ) - ) - (!pair "regs" - (!type pointer 585 nil gc_unused - (!type struct 586 - (!type already_seen 585) - gc_unused "target_regs"nil - (!fields 0 ) - nil 0 nil nil ) - ) - (!srcfileloc "target-globals.h" 48) - (!options - (!option skip string "") - ) - ) - (!pair "rtl" - (!type pointer 587 nil gc_used - (!type struct 588 - (!type already_seen 587) - gc_pointed_to "target_rtl" - (!srcfileloc "rtl.h" 3920) - (!fields 8 - (!pair "x_global_rtl" - (!type array 589 nil gc_used "GR_MAX" - (!type already_seen 100) - ) - (!srcfileloc "rtl.h" 3892) - nil ) - (!pair "x_pic_offset_table_rtx" - (!type already_seen 100) - (!srcfileloc "rtl.h" 3895) - nil ) - (!pair "x_return_address_pointer_rtx" - (!type already_seen 100) - (!srcfileloc "rtl.h" 3900) - nil ) - (!pair "x_initial_regno_reg_rtx" - (!type array 590 nil gc_used "FIRST_PSEUDO_REGISTER" - (!type already_seen 100) - ) - (!srcfileloc "rtl.h" 3906) - nil ) - (!pair "x_top_of_stack" - (!type array 591 nil gc_used "MAX_MACHINE_MODE" - (!type already_seen 100) - ) - (!srcfileloc "rtl.h" 3909) - nil ) - (!pair "x_static_reg_base_value" - (!type array 592 nil gc_used "FIRST_PSEUDO_REGISTER" - (!type already_seen 100) - ) - (!srcfileloc "rtl.h" 3913) - nil ) - (!pair "x_mode_mem_attrs" - (!type array 593 nil gc_used "(int) MAX_MACHINE_MODE" - (!type already_seen 228) - ) - (!srcfileloc "rtl.h" 3916) - nil ) - (!pair "target_specific_initialized" - (!type already_seen 2) - (!srcfileloc "rtl.h" 3919) - nil ) - ) - nil 4095 nil nil ) - ) - (!srcfileloc "target-globals.h" 49) - nil ) - (!pair "recog" - (!type pointer 594 nil gc_unused - (!type struct 595 - (!type already_seen 594) - gc_unused "target_recog"nil - (!fields 0 ) - nil 0 nil nil ) - ) - (!srcfileloc "target-globals.h" 50) - (!options - (!option skip string "") - ) - ) - (!pair "hard_regs" - (!type pointer 596 nil gc_unused - (!type struct 597 - (!type already_seen 596) - gc_unused "target_hard_regs"nil - (!fields 0 ) - nil 0 nil nil ) - ) - (!srcfileloc "target-globals.h" 51) - (!options - (!option skip string "") - ) - ) - (!pair "function_abi_info" - (!type pointer 598 nil gc_unused - (!type struct 599 - (!type already_seen 598) - gc_unused "target_function_abi_info"nil - (!fields 0 ) - nil 0 nil nil ) - ) - (!srcfileloc "target-globals.h" 52) - (!options - (!option skip string "") - ) - ) - (!pair "reload" - (!type pointer 600 nil gc_unused - (!type struct 601 - (!type already_seen 600) - gc_unused "target_reload"nil - (!fields 0 ) - nil 0 nil nil ) - ) - (!srcfileloc "target-globals.h" 53) - (!options - (!option skip string "") - ) - ) - (!pair "expmed" - (!type pointer 602 nil gc_unused - (!type struct 603 - (!type already_seen 602) - gc_unused "target_expmed"nil - (!fields 0 ) - nil 0 nil nil ) - ) - (!srcfileloc "target-globals.h" 54) - (!options - (!option skip string "") - ) - ) - (!pair "optabs" - (!type already_seen 578) - (!srcfileloc "target-globals.h" 55) - (!options - (!option skip string "") - ) - ) - (!pair "libfuncs" - (!type pointer 604 nil gc_used - (!type struct 605 - (!type already_seen 604) - gc_pointed_to "target_libfuncs" - (!srcfileloc "libfuncs.h" 62) - (!fields 2 - (!pair "x_libfunc_table" - (!type array 606 nil gc_used "LTI_MAX" - (!type already_seen 100) - ) - (!srcfileloc "libfuncs.h" 58) - nil ) - (!pair "x_libfunc_hash" - (!type pointer 607 nil gc_used - (!type user_struct 608 - (!type already_seen 607) - gc_pointed_to "hash_table" - (!srcfileloc "libfuncs.h" 61) - (!fields 1 - (!pair "libfunc_hasher" - (!type struct 609 nil gc_used "libfunc_hasher" - (!srcfileloc "libfuncs.h" 61) - (!fields 0 ) - nil 4095 nil nil ) - (!srcfileloc "libfuncs.h" 61) - nil ) - ) - ) - ) - (!srcfileloc "libfuncs.h" 61) - nil ) - ) - nil 4095 nil nil ) - ) - (!srcfileloc "target-globals.h" 56) - nil ) - (!pair "cfgloop" - (!type pointer 610 nil gc_unused - (!type struct 611 - (!type already_seen 610) - gc_unused "target_cfgloop"nil - (!fields 0 ) - nil 0 nil nil ) - ) - (!srcfileloc "target-globals.h" 57) - (!options - (!option skip string "") - ) - ) - (!pair "ira" - (!type pointer 612 nil gc_unused - (!type struct 613 - (!type already_seen 612) - gc_unused "target_ira"nil - (!fields 0 ) - nil 0 nil nil ) - ) - (!srcfileloc "target-globals.h" 58) - (!options - (!option skip string "") - ) - ) - (!pair "ira_int" - (!type pointer 614 nil gc_unused - (!type struct 615 - (!type already_seen 614) - gc_unused "target_ira_int"nil - (!fields 0 ) - nil 0 nil nil ) - ) - (!srcfileloc "target-globals.h" 59) - (!options - (!option skip string "") - ) - ) - (!pair "builtins" - (!type pointer 616 nil gc_unused - (!type struct 617 - (!type already_seen 616) - gc_unused "target_builtins"nil - (!fields 0 ) - nil 0 nil nil ) - ) - (!srcfileloc "target-globals.h" 60) - (!options - (!option skip string "") - ) - ) - (!pair "gcse" - (!type pointer 618 nil gc_unused - (!type struct 619 - (!type already_seen 618) - gc_unused "target_gcse"nil - (!fields 0 ) - nil 0 nil nil ) - ) - (!srcfileloc "target-globals.h" 61) - (!options - (!option skip string "") - ) - ) - (!pair "bb_reorder" - (!type pointer 620 nil gc_unused - (!type struct 621 - (!type already_seen 620) - gc_unused "target_bb_reorder"nil - (!fields 0 ) - nil 0 nil nil ) - ) - (!srcfileloc "target-globals.h" 62) - (!options - (!option skip string "") - ) - ) - (!pair "lower_subreg" - (!type pointer 622 nil gc_unused - (!type struct 623 - (!type already_seen 622) - gc_unused "target_lower_subreg"nil - (!fields 0 ) - nil 0 nil nil ) - ) - (!srcfileloc "target-globals.h" 63) - (!options - (!option skip string "") - ) - ) - ) - nil 4095 nil nil ) - ) - (!srcfileloc "tree-core.h" 2053) - nil ) - (!pair "opts" - (!type pointer 624 nil gc_used - (!type struct 625 - (!type already_seen 624) - gc_pointed_to "cl_target_option" - (!fileloc "options.h" 8634) - (!fields 2 - (!pair "x_target_flags" - (!type already_seen 2) - (!fileloc "options.h" 8631) - nil ) - (!pair "explicit_mask_target_flags" - (!type already_seen 2) - (!fileloc "options.h" 8633) - nil ) - ) - nil 4095 nil nil ) - ) - (!srcfileloc "tree-core.h" 2056) - nil ) - ) - nil 4095 nil nil ) - (!srcfileloc "tree-core.h" 2106) - (!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 626 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") - ) - 4095 - (!homotypes 10 - (!type union 627 nil gc_pointed_to "lang_tree_node" - (!srcfileloc "rust/rust-lang.cc" 93) - (!fields 2 - (!pair "generic" - (!type already_seen 22) - (!srcfileloc "rust/rust-lang.cc" 91) - (!options - (!option desc string "tree_node_structure (&%h)") - (!option tag string "0") - ) - ) - (!pair "identifier" - (!type lang_struct 628 nil gc_used "lang_identifier" - (!srcfileloc "d/d-tree.h" 351) - (!fields 0 ) - nil 2552 - (!homotypes 9 - (!type struct 629 nil gc_used "lang_identifier" - (!srcfileloc "rust/rust-lang.cc" 81) - (!fields 1 - (!pair "common" - (!type already_seen 50) - (!srcfileloc "rust/rust-lang.cc" 80) - nil ) - ) - nil 2048 - (!type already_seen 628) - nil ) - - (!type struct 630 nil gc_used "lang_identifier" - (!srcfileloc "m2/gm2-lang.cc" 91) - (!fields 1 - (!pair "common" - (!type already_seen 50) - (!srcfileloc "m2/gm2-lang.cc" 90) - nil ) - ) - nil 256 - (!type already_seen 628) - nil ) - - (!type struct 631 nil gc_used "lang_identifier" - (!srcfileloc "lto/lto-tree.h" 27) - (!fields 1 - (!pair "base" - (!type already_seen 50) - (!srcfileloc "lto/lto-tree.h" 26) - nil ) - ) - nil 128 - (!type already_seen 628) - nil ) - - (!type struct 632 nil gc_used "lang_identifier" - (!srcfileloc "jit/dummy-frontend.cc" 505) - (!fields 1 - (!pair "common" - (!type already_seen 50) - (!srcfileloc "jit/dummy-frontend.cc" 504) - nil ) - ) - nil 64 - (!type already_seen 628) - nil ) - - (!type struct 633 nil gc_used "lang_identifier" - (!srcfileloc "go/go-lang.cc" 66) - (!fields 1 - (!pair "common" - (!type already_seen 50) - (!srcfileloc "go/go-lang.cc" 65) - nil ) - ) - nil 32 - (!type already_seen 628) - nil ) - - (!type struct 634 nil gc_used "lang_identifier" - (!srcfileloc "fortran/f95-lang.cc" 48) - (!fields 1 - (!pair "common" - (!type already_seen 50) - (!srcfileloc "fortran/f95-lang.cc" 47) - nil ) - ) - nil 16 - (!type already_seen 628) - nil ) - - (!type struct 635 nil gc_used "lang_identifier" - (!srcfileloc "d/d-tree.h" 221) - (!fields 5 - (!pair "common" - (!type already_seen 50) - (!srcfileloc "d/d-tree.h" 210) - nil ) - (!pair "pretty_ident" - (!type already_seen 23) - (!srcfileloc "d/d-tree.h" 213) - nil ) - (!pair "decl_tree" - (!type already_seen 23) - (!srcfileloc "d/d-tree.h" 216) - nil ) - (!pair "dsymbol" - (!type already_seen 62) - (!srcfileloc "d/d-tree.h" 219) - (!options - (!option skip string "") - ) - ) - (!pair "daggregate" - (!type pointer 636 nil gc_unused - (!type struct 637 - (!type already_seen 636) - gc_unused "AggregateDeclaration" - (!srcfileloc "d/d-tree.h" 220) - (!fields 0 ) - nil 8 nil nil ) - ) - (!srcfileloc "d/d-tree.h" 220) - (!options - (!option skip string "") - ) - ) - ) - nil 8 - (!type already_seen 628) - nil ) - - (!type struct 638 nil gc_used "lang_identifier" - (!srcfileloc "cp/cp-tree.h" 683) - (!fields 2 - (!pair "c_common" - (!type struct 639 nil gc_used "c_common_identifier" - (!srcfileloc "c-family/c-common.h" 392) - (!fields 2 - (!pair "common" - (!type already_seen 32) - (!srcfileloc "c-family/c-common.h" 390) - nil ) - (!pair "node" - (!type already_seen 12) - (!srcfileloc "c-family/c-common.h" 391) - nil ) - ) - nil 1542 nil nil ) - (!srcfileloc "cp/cp-tree.h" 681) - nil ) - (!pair "bindings" - (!type already_seen 90) - (!srcfileloc "cp/cp-tree.h" 682) - nil ) - ) - nil 1028 - (!type already_seen 628) - nil ) - - (!type struct 640 nil gc_used "lang_identifier" - (!srcfileloc "c/c-decl.cc" 230) - (!fields 4 - (!pair "common_id" - (!type already_seen 639) - (!srcfileloc "c/c-decl.cc" 226) - nil ) - (!pair "symbol_binding" - (!type pointer 641 nil gc_used - (!type struct 642 - (!type already_seen 641) - gc_pointed_to "c_binding" - (!srcfileloc "c/c-decl.cc" 215) - (!fields 11 - (!pair "u" - (!type union 643 nil gc_used "anonymous:../../gcc/gcc/c/c-decl.cc:201" - (!srcfileloc "c/c-decl.cc" 204) - (!fields 2 - (!pair "type" - (!type already_seen 23) - (!srcfileloc "c/c-decl.cc" 202) - (!options - (!option tag string "0") - ) - ) - (!pair "label" - (!type pointer 644 nil gc_used - (!type struct 645 - (!type already_seen 644) - gc_pointed_to "c_label_vars" - (!srcfileloc "c/c-decl.cc" 394) - (!fields 4 - (!pair "shadowed" - (!type already_seen 644) - (!srcfileloc "c/c-decl.cc" 382) - nil ) - (!pair "label_bindings" - (!type struct 646 nil gc_used "c_spot_bindings" - (!srcfileloc "c/c-decl.cc" 361) - (!fields 4 - (!pair "scope" - (!type pointer 647 nil gc_used - (!type struct 648 - (!type already_seen 647) - gc_pointed_to "c_scope" - (!srcfileloc "c/c-decl.cc" 496) - (!fields 14 - (!pair "outer" - (!type already_seen 647) - (!srcfileloc "c/c-decl.cc" 443) - nil ) - (!pair "outer_function" - (!type already_seen 647) - (!srcfileloc "c/c-decl.cc" 446) - nil ) - (!pair "bindings" - (!type already_seen 641) - (!srcfileloc "c/c-decl.cc" 449) - nil ) - (!pair "blocks" - (!type already_seen 23) - (!srcfileloc "c/c-decl.cc" 453) - nil ) - (!pair "blocks_last" - (!type already_seen 23) - (!srcfileloc "c/c-decl.cc" 454) - nil ) - (!pair "depth" - (!type already_seen 2) - (!srcfileloc "c/c-decl.cc" 458) - nil ) - (!pair "parm_flag" - (!type already_seen 2) - (!srcfileloc "c/c-decl.cc" 462) - nil ) - (!pair "had_vla_unspec" - (!type already_seen 2) - (!srcfileloc "c/c-decl.cc" 466) - nil ) - (!pair "warned_forward_parm_decls" - (!type already_seen 2) - (!srcfileloc "c/c-decl.cc" 471) - nil ) - (!pair "function_body" - (!type already_seen 2) - (!srcfileloc "c/c-decl.cc" 477) - nil ) - (!pair "keep" - (!type already_seen 2) - (!srcfileloc "c/c-decl.cc" 480) - nil ) - (!pair "float_const_decimal64" - (!type already_seen 2) - (!srcfileloc "c/c-decl.cc" 483) - nil ) - (!pair "has_label_bindings" - (!type already_seen 2) - (!srcfileloc "c/c-decl.cc" 488) - nil ) - (!pair "has_jump_unsafe_decl" - (!type already_seen 2) - (!srcfileloc "c/c-decl.cc" 495) - nil ) - ) - (!options - (!option chain_next string "%h.outer") - ) - 514 nil nil ) - ) - (!srcfileloc "c/c-decl.cc" 346) - nil ) - (!pair "bindings_in_scope" - (!type already_seen 641) - (!srcfileloc "c/c-decl.cc" 350) - nil ) - (!pair "stmt_exprs" - (!type already_seen 2) - (!srcfileloc "c/c-decl.cc" 357) - nil ) - (!pair "left_stmt_expr" - (!type already_seen 2) - (!srcfileloc "c/c-decl.cc" 360) - nil ) - ) - nil 514 nil nil ) - (!srcfileloc "c/c-decl.cc" 384) - nil ) - (!pair "decls_in_scope" - (!type already_seen 85) - (!srcfileloc "c/c-decl.cc" 389) - nil ) - (!pair "gotos" - (!type pointer 649 nil gc_used - (!type user_struct 650 - (!type already_seen 649) - gc_pointed_to "vec" - (!srcfileloc "c/c-decl.cc" 393) - (!fields 2 - (!pair "va_gc" - (!type already_seen 80) - (!srcfileloc "c/c-decl.cc" 393) - nil ) - (!pair "c_goto_bindings_p" - (!type pointer 651 nil gc_used - (!type struct 652 - (!type already_seen 651) - gc_pointed_to "c_goto_bindings" - (!srcfileloc "c/c-decl.cc" 372) - (!fields 2 - (!pair "loc" - (!type already_seen 2) - (!srcfileloc "c/c-decl.cc" 369) - nil ) - (!pair "goto_bindings" - (!type already_seen 646) - (!srcfileloc "c/c-decl.cc" 371) - nil ) - ) - nil 514 nil nil ) - ) - (!srcfileloc "c/c-decl.cc" 393) - nil ) - ) - ) - ) - (!srcfileloc "c/c-decl.cc" 393) - nil ) - ) - nil 514 nil nil ) - ) - (!srcfileloc "c/c-decl.cc" 203) - (!options - (!option tag string "1") - ) - ) - ) - nil 514 nil ) - (!srcfileloc "c/c-decl.cc" 204) - (!options - (!option desc string "TREE_CODE (%0.decl) == LABEL_DECL") - ) - ) - (!pair "decl" - (!type already_seen 23) - (!srcfileloc "c/c-decl.cc" 205) - nil ) - (!pair "id" - (!type already_seen 23) - (!srcfileloc "c/c-decl.cc" 206) - nil ) - (!pair "prev" - (!type already_seen 641) - (!srcfileloc "c/c-decl.cc" 207) - nil ) - (!pair "shadowed" - (!type already_seen 641) - (!srcfileloc "c/c-decl.cc" 208) - nil ) - (!pair "depth" - (!type already_seen 2) - (!srcfileloc "c/c-decl.cc" 209) - nil ) - (!pair "invisible" - (!type already_seen 2) - (!srcfileloc "c/c-decl.cc" 210) - nil ) - (!pair "nested" - (!type already_seen 2) - (!srcfileloc "c/c-decl.cc" 211) - nil ) - (!pair "inner_comp" - (!type already_seen 2) - (!srcfileloc "c/c-decl.cc" 212) - nil ) - (!pair "in_struct" - (!type already_seen 2) - (!srcfileloc "c/c-decl.cc" 213) - nil ) - (!pair "locus" - (!type already_seen 2) - (!srcfileloc "c/c-decl.cc" 214) - nil ) - ) - (!options - (!option chain_next string "%h.prev") - ) - 514 nil nil ) - ) - (!srcfileloc "c/c-decl.cc" 227) - nil ) - (!pair "tag_binding" - (!type already_seen 641) - (!srcfileloc "c/c-decl.cc" 228) - nil ) - (!pair "label_binding" - (!type already_seen 641) - (!srcfileloc "c/c-decl.cc" 229) - nil ) - ) - nil 514 - (!type already_seen 628) - nil ) - ) - ) - (!srcfileloc "rust/rust-lang.cc" 92) - (!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") - ) - 2048 - (!type already_seen 626) - ) - - (!type union 653 nil gc_pointed_to "lang_tree_node" - (!srcfileloc "m2/gm2-lang.cc" 103) - (!fields 2 - (!pair "generic" - (!type already_seen 22) - (!srcfileloc "m2/gm2-lang.cc" 101) - (!options - (!option desc string "tree_node_structure (&%h)") - (!option tag string "0") - ) - ) - (!pair "identifier" - (!type already_seen 628) - (!srcfileloc "m2/gm2-lang.cc" 102) - (!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") - ) - 256 - (!type already_seen 626) - ) - - (!type union 654 nil gc_pointed_to "lang_tree_node" - (!srcfileloc "lto/lto-tree.h" 54) - (!fields 1 - (!pair "generic" - (!type already_seen 22) - (!srcfileloc "lto/lto-tree.h" 53) - (!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)") - ) - 128 - (!type already_seen 626) - ) - - (!type union 655 nil gc_pointed_to "lang_tree_node" - (!srcfileloc "jit/dummy-frontend.cc" 516) - (!fields 2 - (!pair "generic" - (!type already_seen 22) - (!srcfileloc "jit/dummy-frontend.cc" 514) - (!options - (!option desc string "tree_node_structure (&%h)") - (!option tag string "0") - ) - ) - (!pair "identifier" - (!type already_seen 628) - (!srcfileloc "jit/dummy-frontend.cc" 515) - (!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") - ) - 64 - (!type already_seen 626) - ) - - (!type union 656 nil gc_pointed_to "lang_tree_node" - (!srcfileloc "go/go-lang.cc" 77) - (!fields 2 - (!pair "generic" - (!type already_seen 22) - (!srcfileloc "go/go-lang.cc" 75) - (!options - (!option desc string "tree_node_structure (&%h)") - (!option tag string "0") - ) - ) - (!pair "identifier" - (!type already_seen 628) - (!srcfileloc "go/go-lang.cc" 76) - (!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 626) - ) - - (!type union 657 nil gc_pointed_to "lang_tree_node" - (!srcfileloc "fortran/f95-lang.cc" 58) - (!fields 2 - (!pair "generic" - (!type already_seen 22) - (!srcfileloc "fortran/f95-lang.cc" 56) - (!options - (!option desc string "tree_node_structure (&%h)") - (!option tag string "0") - ) - ) - (!pair "identifier" - (!type already_seen 628) - (!srcfileloc "fortran/f95-lang.cc" 57) - (!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 626) - ) - - (!type union 658 nil gc_pointed_to "lang_tree_node" - (!srcfileloc "d/d-tree.h" 353) - (!fields 3 - (!pair "generic" - (!type already_seen 22) - (!srcfileloc "d/d-tree.h" 350) - (!options - (!option desc string "tree_node_structure (&%h)") - (!option tag string "TS_D_GENERIC") - ) - ) - (!pair "identifier" - (!type already_seen 628) - (!srcfileloc "d/d-tree.h" 351) - (!options - (!option tag string "TS_D_IDENTIFIER") - ) - ) - (!pair "frameinfo" - (!type struct 659 nil gc_used "tree_frame_info" - (!srcfileloc "d/d-tree.h" 352) - (!fields 2 - (!pair "common" - (!type already_seen 32) - (!srcfileloc "d/d-tree.h" 187) - nil ) - (!pair "frame_type" - (!type already_seen 23) - (!srcfileloc "d/d-tree.h" 188) - nil ) - ) - nil 8 nil nil ) - (!srcfileloc "d/d-tree.h" 352) - (!options - (!option tag string "TS_D_FRAMEINFO") - ) - ) - ) - (!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 "d_tree_node_structure (&%h)") - ) - 8 - (!type already_seen 626) - ) - - (!type union 660 nil gc_pointed_to "lang_tree_node" - (!srcfileloc "cp/cp-tree.h" 1822) - (!fields 17 - (!pair "generic" - (!type already_seen 22) - (!srcfileloc "cp/cp-tree.h" 1798) - (!options - (!option desc string "tree_node_structure (&%h)") - (!option tag string "TS_CP_GENERIC") - ) - ) - (!pair "tpi" - (!type struct 661 nil gc_used "template_parm_index" - (!srcfileloc "cp/cp-tree.h" 704) - (!fields 5 - (!pair "common" - (!type already_seen 32) - (!srcfileloc "cp/cp-tree.h" 699) - nil ) - (!pair "index" - (!type already_seen 2) - (!srcfileloc "cp/cp-tree.h" 700) - nil ) - (!pair "level" - (!type already_seen 2) - (!srcfileloc "cp/cp-tree.h" 701) - nil ) - (!pair "orig_level" - (!type already_seen 2) - (!srcfileloc "cp/cp-tree.h" 702) - nil ) - (!pair "decl" - (!type already_seen 23) - (!srcfileloc "cp/cp-tree.h" 703) - nil ) - ) - nil 1028 nil nil ) - (!srcfileloc "cp/cp-tree.h" 1799) - (!options - (!option tag string "TS_CP_TPI") - ) - ) - (!pair "ptrmem" - (!type struct 662 - (!type pointer 663 nil gc_unused - (!type already_seen 662) - ) - gc_used "ptrmem_cst" - (!srcfileloc "cp/cp-tree.h" 710) - (!fields 3 - (!pair "common" - (!type already_seen 32) - (!srcfileloc "cp/cp-tree.h" 707) - nil ) - (!pair "member" - (!type already_seen 23) - (!srcfileloc "cp/cp-tree.h" 708) - nil ) - (!pair "locus" - (!type already_seen 2) - (!srcfileloc "cp/cp-tree.h" 709) - nil ) - ) - nil 1028 nil nil ) - (!srcfileloc "cp/cp-tree.h" 1800) - (!options - (!option tag string "TS_CP_PTRMEM") - ) - ) - (!pair "overload" - (!type struct 664 nil gc_used "tree_overload" - (!srcfileloc "cp/cp-tree.h" 825) - (!fields 2 - (!pair "common" - (!type already_seen 32) - (!srcfileloc "cp/cp-tree.h" 823) - nil ) - (!pair "function" - (!type already_seen 23) - (!srcfileloc "cp/cp-tree.h" 824) - nil ) - ) - nil 1028 nil nil ) - (!srcfileloc "cp/cp-tree.h" 1801) - (!options - (!option tag string "TS_CP_OVERLOAD") - ) - ) - (!pair "binding_vec" - (!type struct 665 nil gc_used "tree_binding_vec" - (!srcfileloc "cp/name-lookup.h" 149) - (!fields 3 - (!pair "base" - (!type already_seen 25) - (!srcfileloc "cp/name-lookup.h" 146) - nil ) - (!pair "name" - (!type already_seen 23) - (!srcfileloc "cp/name-lookup.h" 147) - nil ) - (!pair "vec" - (!type array 666 nil gc_used "1" - (!type struct 667 nil gc_used "binding_cluster" - (!srcfileloc "cp/name-lookup.h" 148) - (!fields 2 - (!pair "indices" - (!type array 668 nil gc_unused "BINDING_VECTOR_SLOTS_PER_CLUSTER" - (!type struct 669 nil gc_unused "binding_index" - (!srcfileloc "cp/name-lookup.h" 129) - (!fields 0 ) - nil 1028 nil nil ) - ) - (!srcfileloc "cp/name-lookup.h" 129) - (!options - (!option skip string "") - ) - ) - (!pair "slots" - (!type array 670 nil gc_used "BINDING_VECTOR_SLOTS_PER_CLUSTER" - (!type struct 671 nil gc_used "binding_slot" - (!srcfileloc "cp/name-lookup.h" 111) - (!fields 1 - (!pair "u" - (!type union 672 nil gc_used "binding_slot_lazy" - (!srcfileloc "cp/name-lookup.h" 80) - (!fields 1 - (!pair "binding" - (!type already_seen 23) - (!srcfileloc "cp/name-lookup.h" 79) - (!options - (!option tag string "false") - ) - ) - ) - (!options - (!option desc string "%1.is_lazy ()") - ) - 1028 nil ) - (!srcfileloc "cp/name-lookup.h" 80) - nil ) - ) - nil 1028 nil nil ) - ) - (!srcfileloc "cp/name-lookup.h" 130) - nil ) - ) - nil 1028 nil nil ) - ) - (!srcfileloc "cp/name-lookup.h" 148) - (!options - (!option length string "%h.base.u.dependence_info.base") - ) - ) - ) - nil 1028 nil nil ) - (!srcfileloc "cp/cp-tree.h" 1802) - (!options - (!option tag string "TS_CP_BINDING_VECTOR") - ) - ) - (!pair "baselink" - (!type struct 673 nil gc_used "tree_baselink" - (!srcfileloc "cp/cp-tree.h" 1093) - (!fields 4 - (!pair "common" - (!type already_seen 32) - (!srcfileloc "cp/cp-tree.h" 1089) - nil ) - (!pair "binfo" - (!type already_seen 23) - (!srcfileloc "cp/cp-tree.h" 1090) - nil ) - (!pair "functions" - (!type already_seen 23) - (!srcfileloc "cp/cp-tree.h" 1091) - nil ) - (!pair "access_binfo" - (!type already_seen 23) - (!srcfileloc "cp/cp-tree.h" 1092) - nil ) - ) - nil 1028 nil nil ) - (!srcfileloc "cp/cp-tree.h" 1803) - (!options - (!option tag string "TS_CP_BASELINK") - ) - ) - (!pair "template_decl" - (!type struct 674 nil gc_used "tree_template_decl" - (!srcfileloc "cp/cp-tree.h" 1051) - (!fields 3 - (!pair "common" - (!type already_seen 52) - (!srcfileloc "cp/cp-tree.h" 1048) - nil ) - (!pair "arguments" - (!type already_seen 23) - (!srcfileloc "cp/cp-tree.h" 1049) - nil ) - (!pair "result" - (!type already_seen 23) - (!srcfileloc "cp/cp-tree.h" 1050) - nil ) - ) - nil 1028 nil nil ) - (!srcfileloc "cp/cp-tree.h" 1804) - (!options - (!option tag string "TS_CP_TEMPLATE_DECL") - ) - ) - (!pair "deferred_parse" - (!type struct 675 nil gc_used "tree_deferred_parse" - (!srcfileloc "cp/cp-tree.h" 1321) - (!fields 3 - (!pair "base" - (!type already_seen 25) - (!srcfileloc "cp/cp-tree.h" 1318) - nil ) - (!pair "tokens" - (!type already_seen 71) - (!srcfileloc "cp/cp-tree.h" 1319) - nil ) - (!pair "instantiations" - (!type already_seen 85) - (!srcfileloc "cp/cp-tree.h" 1320) - nil ) - ) - nil 1028 nil nil ) - (!srcfileloc "cp/cp-tree.h" 1805) - (!options - (!option tag string "TS_CP_DEFERRED_PARSE") - ) - ) - (!pair "deferred_noexcept" - (!type struct 676 nil gc_used "tree_deferred_noexcept" - (!srcfileloc "cp/cp-tree.h" 1342) - (!fields 3 - (!pair "base" - (!type already_seen 25) - (!srcfileloc "cp/cp-tree.h" 1339) - nil ) - (!pair "pattern" - (!type already_seen 23) - (!srcfileloc "cp/cp-tree.h" 1340) - nil ) - (!pair "args" - (!type already_seen 23) - (!srcfileloc "cp/cp-tree.h" 1341) - nil ) - ) - nil 1028 nil nil ) - (!srcfileloc "cp/cp-tree.h" 1806) - (!options - (!option tag string "TS_CP_DEFERRED_NOEXCEPT") - ) - ) - (!pair "identifier" - (!type already_seen 628) - (!srcfileloc "cp/cp-tree.h" 1807) - (!options - (!option tag string "TS_CP_IDENTIFIER") - ) - ) - (!pair "static_assertion" - (!type struct 677 nil gc_used "tree_static_assert" - (!srcfileloc "cp/cp-tree.h" 1365) - (!fields 4 - (!pair "common" - (!type already_seen 32) - (!srcfileloc "cp/cp-tree.h" 1361) - nil ) - (!pair "condition" - (!type already_seen 23) - (!srcfileloc "cp/cp-tree.h" 1362) - nil ) - (!pair "message" - (!type already_seen 23) - (!srcfileloc "cp/cp-tree.h" 1363) - nil ) - (!pair "location" - (!type already_seen 2) - (!srcfileloc "cp/cp-tree.h" 1364) - nil ) - ) - nil 1028 nil nil ) - (!srcfileloc "cp/cp-tree.h" 1809) - (!options - (!option tag string "TS_CP_STATIC_ASSERT") - ) - ) - (!pair "argument_pack_select" - (!type struct 678 nil gc_used "tree_argument_pack_select" - (!srcfileloc "cp/cp-tree.h" 1371) - (!fields 3 - (!pair "common" - (!type already_seen 32) - (!srcfileloc "cp/cp-tree.h" 1368) - nil ) - (!pair "argument_pack" - (!type already_seen 23) - (!srcfileloc "cp/cp-tree.h" 1369) - nil ) - (!pair "index" - (!type already_seen 2) - (!srcfileloc "cp/cp-tree.h" 1370) - nil ) - ) - nil 1028 nil nil ) - (!srcfileloc "cp/cp-tree.h" 1811) - (!options - (!option tag string "TS_CP_ARGUMENT_PACK_SELECT") - ) - ) - (!pair "trait_expression" - (!type struct 679 nil gc_used "tree_trait_expr" - (!srcfileloc "cp/cp-tree.h" 1403) - (!fields 5 - (!pair "common" - (!type already_seen 32) - (!srcfileloc "cp/cp-tree.h" 1398) - nil ) - (!pair "type1" - (!type already_seen 23) - (!srcfileloc "cp/cp-tree.h" 1399) - nil ) - (!pair "type2" - (!type already_seen 23) - (!srcfileloc "cp/cp-tree.h" 1400) - nil ) - (!pair "locus" - (!type already_seen 2) - (!srcfileloc "cp/cp-tree.h" 1401) - nil ) - (!pair "kind" - (!type already_seen 2) - (!srcfileloc "cp/cp-tree.h" 1402) - nil ) - ) - nil 1028 nil nil ) - (!srcfileloc "cp/cp-tree.h" 1813) - (!options - (!option tag string "TS_CP_TRAIT_EXPR") - ) - ) - (!pair "lambda_expression" - (!type struct 680 nil gc_used "tree_lambda_expr" - (!srcfileloc "cp/cp-tree.h" 1531) - (!fields 10 - (!pair "typed" - (!type already_seen 31) - (!srcfileloc "cp/cp-tree.h" 1521) - nil ) - (!pair "capture_list" - (!type already_seen 23) - (!srcfileloc "cp/cp-tree.h" 1522) - nil ) - (!pair "this_capture" - (!type already_seen 23) - (!srcfileloc "cp/cp-tree.h" 1523) - nil ) - (!pair "extra_scope" - (!type already_seen 23) - (!srcfileloc "cp/cp-tree.h" 1524) - nil ) - (!pair "regen_info" - (!type already_seen 23) - (!srcfileloc "cp/cp-tree.h" 1525) - nil ) - (!pair "pending_proxies" - (!type already_seen 85) - (!srcfileloc "cp/cp-tree.h" 1526) - nil ) - (!pair "locus" - (!type already_seen 2) - (!srcfileloc "cp/cp-tree.h" 1527) - nil ) - (!pair "default_capture_mode" - (!type already_seen 2) - (!srcfileloc "cp/cp-tree.h" 1528) - nil ) - (!pair "discriminator_scope" - (!type already_seen 2) - (!srcfileloc "cp/cp-tree.h" 1529) - nil ) - (!pair "discriminator_sig" - (!type already_seen 2) - (!srcfileloc "cp/cp-tree.h" 1530) - nil ) - ) - nil 1028 nil nil ) - (!srcfileloc "cp/cp-tree.h" 1815) - (!options - (!option tag string "TS_CP_LAMBDA_EXPR") - ) - ) - (!pair "template_info" - (!type struct 681 nil gc_used "tree_template_info" - (!srcfileloc "cp/cp-tree.h" 1565) - (!fields 4 - (!pair "base" - (!type already_seen 25) - (!srcfileloc "cp/cp-tree.h" 1561) - nil ) - (!pair "tmpl" - (!type already_seen 23) - (!srcfileloc "cp/cp-tree.h" 1562) - nil ) - (!pair "args" - (!type already_seen 23) - (!srcfileloc "cp/cp-tree.h" 1563) - nil ) - (!pair "deferred_access_checks" - (!type already_seen 78) - (!srcfileloc "cp/cp-tree.h" 1564) - nil ) - ) - nil 1028 nil nil ) - (!srcfileloc "cp/cp-tree.h" 1817) - (!options - (!option tag string "TS_CP_TEMPLATE_INFO") - ) - ) - (!pair "constraint_info" - (!type struct 682 nil gc_used "tree_constraint_info" - (!srcfileloc "cp/cp-tree.h" 1582) - (!fields 4 - (!pair "base" - (!type already_seen 25) - (!srcfileloc "cp/cp-tree.h" 1578) - nil ) - (!pair "template_reqs" - (!type already_seen 23) - (!srcfileloc "cp/cp-tree.h" 1579) - nil ) - (!pair "declarator_reqs" - (!type already_seen 23) - (!srcfileloc "cp/cp-tree.h" 1580) - nil ) - (!pair "associated_constr" - (!type already_seen 23) - (!srcfileloc "cp/cp-tree.h" 1581) - nil ) - ) - nil 1028 nil nil ) - (!srcfileloc "cp/cp-tree.h" 1819) - (!options - (!option tag string "TS_CP_CONSTRAINT_INFO") - ) - ) - (!pair "userdef_literal" - (!type struct 683 nil gc_used "tree_userdef_literal" - (!srcfileloc "c-family/c-common.h" 1375) - (!fields 5 - (!pair "base" - (!type already_seen 25) - (!srcfileloc "c-family/c-common.h" 1370) - nil ) - (!pair "suffix_id" - (!type already_seen 23) - (!srcfileloc "c-family/c-common.h" 1371) - nil ) - (!pair "value" - (!type already_seen 23) - (!srcfileloc "c-family/c-common.h" 1372) - nil ) - (!pair "num_string" - (!type already_seen 23) - (!srcfileloc "c-family/c-common.h" 1373) - nil ) - (!pair "overflow" - (!type already_seen 2) - (!srcfileloc "c-family/c-common.h" 1374) - nil ) - ) - nil 1542 nil nil ) - (!srcfileloc "cp/cp-tree.h" 1821) - (!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)") - ) - 1028 - (!type already_seen 626) - ) - - (!type union 684 nil gc_pointed_to "lang_tree_node" - (!srcfileloc "c/c-decl.cc" 335) - (!fields 2 - (!pair "generic" - (!type already_seen 22) - (!srcfileloc "c/c-decl.cc" 333) - (!options - (!option desc string "tree_node_structure (&%h)") - (!option tag string "0") - ) - ) - (!pair "identifier" - (!type already_seen 628) - (!srcfileloc "c/c-decl.cc" 334) - (!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") - ) - 514 - (!type already_seen 626) - ) - - (!type union 685 nil gc_pointed_to "lang_tree_node" - (!srcfileloc "ada/gcc-interface/ada-tree.h" 33) - (!fields 1 - (!pair "generic" - (!type already_seen 22) - (!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 626) - ) - ) - ) - ) - ) - 4095 nil ) - "%h ? HT_IDENT_TO_GCC_IDENT (HT_NODE (%h)) : NULL" "%h ? CPP_HASHNODE (GCC_IDENT_TO_HT_IDENT (%h)) : NULL") - (!option tag string "false") - ) - ) - (!pair "next" - (!type already_seen 19) - (!srcfileloc "../libcpp/include/cpplib.h" 862) - (!options - (!option tag string "true") - ) - ) - ) - nil 4095 nil ) - (!srcfileloc "../libcpp/include/cpplib.h" 863) - (!options - (!option desc string "%1.kind == cmk_assert") - ) - ) - (!pair "line" - (!type already_seen 2) - (!srcfileloc "../libcpp/include/cpplib.h" 866) - nil ) - (!pair "count" - (!type already_seen 2) - (!srcfileloc "../libcpp/include/cpplib.h" 870) - nil ) - (!pair "paramc" - (!type already_seen 2) - (!srcfileloc "../libcpp/include/cpplib.h" 873) - nil ) - (!pair "lazy" - (!type already_seen 8) - (!srcfileloc "../libcpp/include/cpplib.h" 876) - nil ) - (!pair "kind" - (!type already_seen 2) - (!srcfileloc "../libcpp/include/cpplib.h" 879) - nil ) - (!pair "fun_like" - (!type already_seen 2) - (!srcfileloc "../libcpp/include/cpplib.h" 882) - nil ) - (!pair "variadic" - (!type already_seen 2) - (!srcfileloc "../libcpp/include/cpplib.h" 885) - nil ) - (!pair "syshdr" - (!type already_seen 2) - (!srcfileloc "../libcpp/include/cpplib.h" 888) - nil ) - (!pair "used" - (!type already_seen 2) - (!srcfileloc "../libcpp/include/cpplib.h" 891) - nil ) - (!pair "extra_tokens" - (!type already_seen 2) - (!srcfileloc "../libcpp/include/cpplib.h" 896) - nil ) - (!pair "imported_p" - (!type already_seen 2) - (!srcfileloc "../libcpp/include/cpplib.h" 899) - nil ) - (!pair "exp" - (!type union 686 nil gc_used "cpp_exp_u" - (!srcfileloc "../libcpp/include/cpplib.h" 912) - (!fields 2 - (!pair "tokens" - (!type array 687 nil gc_used "1" - (!type struct 688 - (!type pointer 689 nil gc_used - (!type already_seen 688) - ) - gc_pointed_to "cpp_token" - (!srcfileloc "../libcpp/include/cpplib.h" 279) - (!fields 4 - (!pair "src_loc" - (!type already_seen 2) - (!srcfileloc "../libcpp/include/cpplib.h" 253) - nil ) - (!pair "type" - (!type already_seen 2) - (!srcfileloc "../libcpp/include/cpplib.h" 255) - nil ) - (!pair "flags" - (!type already_seen 2) - (!srcfileloc "../libcpp/include/cpplib.h" 256) - nil ) - (!pair "val" - (!type union 690 nil gc_used "cpp_token_u" - (!srcfileloc "../libcpp/include/cpplib.h" 278) - (!fields 6 - (!pair "node" - (!type struct 691 nil gc_used "cpp_identifier" - (!srcfileloc "../libcpp/include/cpplib.h" 246) - (!fields 2 - (!pair "node" - (!type already_seen 13) - (!srcfileloc "../libcpp/include/cpplib.h" 239) - (!options - (!option nested_ptr nested - (!type already_seen 22) - "%h ? HT_IDENT_TO_GCC_IDENT (HT_NODE (%h)) : NULL" "%h ? CPP_HASHNODE (GCC_IDENT_TO_HT_IDENT (%h)) : NULL") - ) - ) - (!pair "spelling" - (!type already_seen 13) - (!srcfileloc "../libcpp/include/cpplib.h" 245) - (!options - (!option nested_ptr nested - (!type already_seen 22) - "%h ? HT_IDENT_TO_GCC_IDENT (HT_NODE (%h)) : NULL" "%h ? CPP_HASHNODE (GCC_IDENT_TO_HT_IDENT (%h)) : NULL") - ) - ) - ) - nil 4095 nil nil ) - (!srcfileloc "../libcpp/include/cpplib.h" 261) - (!options - (!option tag string "CPP_TOKEN_FLD_NODE") - ) - ) - (!pair "source" - (!type already_seen 689) - (!srcfileloc "../libcpp/include/cpplib.h" 264) - (!options - (!option tag string "CPP_TOKEN_FLD_SOURCE") - ) - ) - (!pair "str" - (!type struct 692 nil gc_used "cpp_string" - (!srcfileloc "../libcpp/include/cpplib.h" 187) - (!fields 2 - (!pair "len" - (!type already_seen 2) - (!srcfileloc "../libcpp/include/cpplib.h" 181) - nil ) - (!pair "text" - (!type already_seen 11) - (!srcfileloc "../libcpp/include/cpplib.h" 186) - (!options - (!option string_length string "1 + %h.len") - ) - ) - ) - nil 4095 nil nil ) - (!srcfileloc "../libcpp/include/cpplib.h" 267) - (!options - (!option tag string "CPP_TOKEN_FLD_STR") - ) - ) - (!pair "macro_arg" - (!type struct 693 nil gc_used "cpp_macro_arg" - (!srcfileloc "../libcpp/include/cpplib.h" 230) - (!fields 2 - (!pair "arg_no" - (!type already_seen 2) - (!srcfileloc "../libcpp/include/cpplib.h" 223) - nil ) - (!pair "spelling" - (!type already_seen 13) - (!srcfileloc "../libcpp/include/cpplib.h" 229) - (!options - (!option nested_ptr nested - (!type already_seen 22) - "%h ? HT_IDENT_TO_GCC_IDENT (HT_NODE (%h)) : NULL" "%h ? CPP_HASHNODE (GCC_IDENT_TO_HT_IDENT (%h)) : NULL") - ) - ) - ) - nil 4095 nil nil ) - (!srcfileloc "../libcpp/include/cpplib.h" 270) - (!options - (!option tag string "CPP_TOKEN_FLD_ARG_NO") - ) - ) - (!pair "token_no" - (!type already_seen 2) - (!srcfileloc "../libcpp/include/cpplib.h" 274) - (!options - (!option tag string "CPP_TOKEN_FLD_TOKEN_NO") - ) - ) - (!pair "pragma" - (!type already_seen 2) - (!srcfileloc "../libcpp/include/cpplib.h" 277) - (!options - (!option tag string "CPP_TOKEN_FLD_PRAGMA") - ) - ) - ) - nil 4095 nil ) - (!srcfileloc "../libcpp/include/cpplib.h" 278) - (!options - (!option desc string "cpp_token_val_index (&%1)") - ) - ) - ) - nil 4095 nil nil ) - ) - (!srcfileloc "../libcpp/include/cpplib.h" 906) - (!options - (!option length string "%1.count") - (!option tag string "false") - ) - ) - (!pair "text" - (!type already_seen 11) - (!srcfileloc "../libcpp/include/cpplib.h" 911) - (!options - (!option tag string "true") - ) - ) - ) - nil 4095 nil ) - (!srcfileloc "../libcpp/include/cpplib.h" 912) - (!options - (!option desc string "%1.kind == cmk_traditional") - ) - ) - ) - nil 4095 nil nil ) - ) - (!srcfileloc "../libcpp/include/cpplib.h" 976) - (!options - (!option tag string "NT_VOID") - ) - ) - (!pair "macro" - (!type already_seen 19) - (!srcfileloc "../libcpp/include/cpplib.h" 978) - (!options - (!option tag string "NT_USER_MACRO") - ) - ) - (!pair "builtin" - (!type already_seen 2) - (!srcfileloc "../libcpp/include/cpplib.h" 980) - (!options - (!option tag string "NT_BUILTIN_MACRO") - ) - ) - (!pair "arg_index" - (!type already_seen 2) - (!srcfileloc "../libcpp/include/cpplib.h" 982) - (!options - (!option tag string "NT_MACRO_ARG") - ) - ) - ) - nil 4095 nil ) - (!srcfileloc "../libcpp/include/cpplib.h" 1003) - (!options - (!option desc string "%1.type") - ) - ) - ) - nil 4095 nil nil ) - - (!type already_seen 22) - - (!type struct 694 - (!type pointer 695 nil gc_unused - (!type already_seen 694) - ) - gc_used "line_map_macro" - (!srcfileloc "../libcpp/include/line-map.h" 742) - (!fields 4 - (!pair "n_tokens" - (!type already_seen 2) - (!srcfileloc "../libcpp/include/line-map.h" 467) - nil ) - (!pair "macro" - (!type already_seen 13) - (!srcfileloc "../libcpp/include/line-map.h" 476) - (!options - (!option nested_ptr nested - (!type already_seen 22) - "%h ? HT_IDENT_TO_GCC_IDENT (HT_NODE (%h)) : NULL" "%h ? CPP_HASHNODE (GCC_IDENT_TO_HT_IDENT (%h)) : NULL") - ) - ) - (!pair "macro_locations" - (!type already_seen 3) - (!srcfileloc "../libcpp/include/line-map.h" 531) - (!options - (!option atomic string "") - ) - ) - (!pair "expansion" - (!type already_seen 2) - (!srcfileloc "../libcpp/include/line-map.h" 538) - nil ) - ) - (!options - (!option tag string "2") - ) - 4095 nil - (!type already_seen 5) - ) - - (!type struct 696 nil gc_used "maps_info_ordinary" - (!srcfileloc "../libcpp/include/line-map.h" 788) - (!fields 3 - (!pair "maps" - (!type already_seen 7) - (!srcfileloc "../libcpp/include/line-map.h" 727) - (!options - (!option length string "%h.used") - ) - ) - (!pair "allocated" - (!type already_seen 2) - (!srcfileloc "../libcpp/include/line-map.h" 730) - nil ) - (!pair "used" - (!type already_seen 2) - (!srcfileloc "../libcpp/include/line-map.h" 734) - nil ) - ) - nil 4095 nil nil ) - - (!type struct 697 nil gc_used "maps_info_macro" - (!srcfileloc "../libcpp/include/line-map.h" 790) - (!fields 3 - (!pair "maps" - (!type already_seen 695) - (!srcfileloc "../libcpp/include/line-map.h" 742) - (!options - (!option length string "%h.used") - ) - ) - (!pair "allocated" - (!type already_seen 2) - (!srcfileloc "../libcpp/include/line-map.h" 745) - nil ) - (!pair "used" - (!type already_seen 2) - (!srcfileloc "../libcpp/include/line-map.h" 749) - nil ) - ) - nil 4095 nil nil ) - - (!type struct 698 - (!type pointer 699 nil gc_unused - (!type already_seen 698) - ) - gc_used "location_adhoc_data" - (!srcfileloc "../libcpp/include/line-map.h" 761) - (!fields 4 - (!pair "locus" - (!type already_seen 2) - (!srcfileloc "../libcpp/include/line-map.h" 757) - nil ) - (!pair "src_range" - (!type already_seen 1) - (!srcfileloc "../libcpp/include/line-map.h" 758) - nil ) - (!pair "data" - (!type already_seen 3) - (!srcfileloc "../libcpp/include/line-map.h" 759) - (!options - (!option skip string "") - ) - ) - (!pair "discriminator" - (!type already_seen 2) - (!srcfileloc "../libcpp/include/line-map.h" 760) - nil ) - ) - nil 4095 nil nil ) - - (!type already_seen 334) - - (!type struct 700 nil gc_used "location_adhoc_data_map" - (!srcfileloc "../libcpp/include/line-map.h" 780) - (!fields 4 - (!pair "htab" - (!type already_seen 333) - (!srcfileloc "../libcpp/include/line-map.h" 776) - (!options - (!option skip string "") - ) - ) - (!pair "curr_loc" - (!type already_seen 2) - (!srcfileloc "../libcpp/include/line-map.h" 777) - nil ) - (!pair "allocated" - (!type already_seen 2) - (!srcfileloc "../libcpp/include/line-map.h" 778) - nil ) - (!pair "data" - (!type already_seen 699) - (!srcfileloc "../libcpp/include/line-map.h" 779) - (!options - (!option length string "%h.allocated") - ) - ) - ) - nil 4095 nil nil ) - - (!type struct 701 - (!type pointer 702 nil gc_used - (!type already_seen 701) - ) - gc_pointed_to "line_maps" - (!srcfileloc "../libcpp/include/line-map.h" 829) - (!fields 15 - (!pair "info_ordinary" - (!type already_seen 696) - (!srcfileloc "../libcpp/include/line-map.h" 788) - nil ) - (!pair "info_macro" - (!type already_seen 697) - (!srcfileloc "../libcpp/include/line-map.h" 790) - nil ) - (!pair "depth" - (!type already_seen 2) - (!srcfileloc "../libcpp/include/line-map.h" 793) - nil ) - (!pair "trace_includes" - (!type already_seen 2) - (!srcfileloc "../libcpp/include/line-map.h" 796) - nil ) - (!pair "seen_line_directive" - (!type already_seen 2) - (!srcfileloc "../libcpp/include/line-map.h" 799) - nil ) - (!pair "highest_location" - (!type already_seen 2) - (!srcfileloc "../libcpp/include/line-map.h" 802) - nil ) - (!pair "highest_line" - (!type already_seen 2) - (!srcfileloc "../libcpp/include/line-map.h" 805) - nil ) - (!pair "max_column_hint" - (!type already_seen 2) - (!srcfileloc "../libcpp/include/line-map.h" 809) - nil ) - (!pair "reallocator" - (!type already_seen 219) - (!srcfileloc "../libcpp/include/line-map.h" 812) - (!options - (!option callback string "") - ) - ) - (!pair "round_alloc_size" - (!type already_seen 219) - (!srcfileloc "../libcpp/include/line-map.h" 816) - (!options - (!option callback string "") - ) - ) - (!pair "location_adhoc_data_map" - (!type already_seen 700) - (!srcfileloc "../libcpp/include/line-map.h" 818) - nil ) - (!pair "builtin_location" - (!type already_seen 2) - (!srcfileloc "../libcpp/include/line-map.h" 822) - nil ) - (!pair "default_range_bits" - (!type already_seen 2) - (!srcfileloc "../libcpp/include/line-map.h" 825) - nil ) - (!pair "num_optimized_ranges" - (!type already_seen 2) - (!srcfileloc "../libcpp/include/line-map.h" 827) - nil ) - (!pair "num_unoptimized_ranges" - (!type already_seen 2) - (!srcfileloc "../libcpp/include/line-map.h" 828) - nil ) - ) - nil 4095 nil nil ) - - (!type struct 703 nil gc_unused "anonymous:../../gcc/gcc/../libcpp/include/line-map.h:1306"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 704 nil gc_unused "range_label"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 705 nil gc_unused "location_range"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 706 nil gc_unused "semi_embedded_vec"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 707 nil gc_unused "fixit_hint"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 708 nil gc_unused "diagnostic_path"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 709 nil gc_unused "rich_location"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 710 nil gc_unused "label_text"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 711 nil gc_unused "linemap_stats"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 712 nil gc_unused "cpp_reader"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 713 nil gc_unused "cpp_buffer"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 714 nil gc_unused "cpp_options"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type already_seen 688) - - (!type already_seen 692) - - (!type already_seen 20) - - (!type struct 715 nil gc_unused "cpp_callbacks"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 716 nil gc_unused "cpp_dir"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 717 nil gc_unused "_cpp_file"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type already_seen 693) - - (!type already_seen 691) - - (!type already_seen 690) - - (!type already_seen 21) - - (!type already_seen 686) - - (!type already_seen 18) - - (!type already_seen 15) - - (!type struct 718 nil gc_unused "cpp_string_location_reader"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 719 nil gc_unused "cpp_substring_ranges"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 720 nil gc_unused "cpp_num"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 721 nil gc_unused "anonymous:../../gcc/gcc/../libcpp/include/cpplib.h:1394"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 722 nil gc_unused "anonymous:../../gcc/gcc/../libcpp/include/cpplib.h:1405"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 723 nil gc_unused "cpp_converted_source"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 724 nil gc_unused "save_macro_data"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 725 nil gc_unused "cpp_decoded_char"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 726 nil gc_unused "cpp_char_column_policy"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 727 nil gc_unused "cpp_display_width_computation"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 728 nil gc_unused "char_span"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 729 nil gc_unused "file_cache_slot"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 730 nil gc_unused "file_cache"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 731 - (!type pointer 732 nil gc_used - (!type already_seen 731) - ) - gc_pointed_to "string_concat" - (!srcfileloc "input.h" 265) - (!fields 2 - (!pair "m_num" - (!type already_seen 2) - (!srcfileloc "input.h" 263) - nil ) - (!pair "m_locs" - (!type already_seen 3) - (!srcfileloc "input.h" 264) - (!options - (!option atomic string "") - ) - ) - ) - nil 4095 nil nil ) - - (!type struct 733 - (!type pointer 734 nil gc_used - (!type already_seen 733) - ) - gc_pointed_to "string_concat_db" - (!srcfileloc "input.h" 290) - (!fields 1 - (!pair "m_table" - (!type pointer 735 nil gc_used - (!type user_struct 736 - (!type already_seen 735) - gc_pointed_to "hash_map" - (!srcfileloc "input.h" 289) - (!fields 2 - (!pair "string_concat" - (!type already_seen 732) - (!srcfileloc "input.h" 289) - nil ) - (!pair "location_hash" - (!type undefined 737 nil gc_unused "location_hash" - (!srcfileloc "input.h" 289) - ) - (!srcfileloc "input.h" 289) - nil ) - ) - ) - ) - (!srcfileloc "input.h" 289) - nil ) - ) - nil 4095 nil nil ) - - (!type already_seen 736) - - (!type already_seen 737) - - (!type already_seen 393) - - (!type already_seen 388) - - (!type struct 738 - (!type pointer 739 nil gc_unused - (!type already_seen 738) - ) - gc_unused "simple_bitmap_def"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type already_seen 102) - - (!type already_seen 44) - - (!type already_seen 290) - - (!type struct 740 nil gc_unused "scalar_float_mode" - (!srcfileloc "coretypes.h" 67) - (!fields 0 ) - nil 4095 nil nil ) - - (!type struct 741 nil gc_unused "complex_mode"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 742 nil gc_unused "fixed_size_mode"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type user_struct 743 nil gc_unused "opt_mode" - (!srcfileloc "coretypes.h" 65) - (!fields 1 - (!pair "scalar_mode" - (!type already_seen 44) - (!srcfileloc "coretypes.h" 65) - nil ) - ) - ) - - (!type user_struct 744 nil gc_unused "opt_mode" - (!srcfileloc "coretypes.h" 66) - (!fields 1 - (!pair "scalar_int_mode" - (!type already_seen 290) - (!srcfileloc "coretypes.h" 66) - nil ) - ) - ) - - (!type user_struct 745 nil gc_unused "opt_mode" - (!srcfileloc "coretypes.h" 67) - (!fields 1 - (!pair "scalar_float_mode" - (!type already_seen 740) - (!srcfileloc "coretypes.h" 67) - nil ) - ) - ) - - (!type already_seen 43) - - (!type user_struct 746 nil gc_unused "pod_mode" - (!srcfileloc "coretypes.h" 70) - (!fields 1 - (!pair "scalar_int_mode" - (!type already_seen 290) - (!srcfileloc "coretypes.h" 70) - nil ) - ) - ) - - (!type user_struct 747 nil gc_unused "pod_mode" - (!srcfileloc "coretypes.h" 71) - (!fields 1 - (!pair "fixed_size_mode" - (!type already_seen 2) - (!srcfileloc "coretypes.h" 71) - nil ) - ) - ) - - (!type struct 748 - (!type pointer 749 nil gc_unused - (!type already_seen 748) - ) - gc_pointed_to "rtx_expr_list" - (!srcfileloc "rtl.h" 468) - (!fields 0 ) - nil 4095 nil - (!type already_seen 102) - ) - - (!type struct 750 - (!type pointer 751 nil gc_used - (!type already_seen 750) - ) - gc_pointed_to "rtx_insn_list" - (!srcfileloc "rtl.h" 498) - (!fields 0 ) - nil 4095 nil - (!type already_seen 102) - ) - - (!type struct 752 nil gc_pointed_to "rtx_sequence" - (!srcfileloc "rtl.h" 526) - (!fields 0 ) - nil 4095 nil - (!type already_seen 102) - ) - - (!type already_seen 298) - - (!type struct 753 nil gc_pointed_to "rtx_debug_insn" - (!srcfileloc "rtl.h" 587) - (!fields 0 ) - nil 4095 nil - (!type already_seen 298) - ) - - (!type struct 754 nil gc_pointed_to "rtx_nonjump_insn" - (!srcfileloc "rtl.h" 598) - (!fields 0 ) - nil 4095 nil - (!type already_seen 298) - ) - - (!type struct 755 nil gc_pointed_to "rtx_jump_insn" - (!srcfileloc "rtl.h" 625) - (!fields 0 ) - nil 4095 nil - (!type already_seen 298) - ) - - (!type struct 756 nil gc_pointed_to "rtx_call_insn" - (!srcfileloc "rtl.h" 638) - (!fields 0 ) - nil 4095 nil - (!type already_seen 298) - ) - - (!type struct 757 nil gc_pointed_to "rtx_jump_table_data" - (!srcfileloc "rtl.h" 664) - (!fields 0 ) - nil 4095 nil - (!type already_seen 298) - ) - - (!type struct 758 nil gc_pointed_to "rtx_barrier" - (!srcfileloc "rtl.h" 675) - (!fields 0 ) - nil 4095 nil - (!type already_seen 298) - ) - - (!type already_seen 367) - - (!type struct 759 - (!type pointer 760 nil gc_used - (!type already_seen 759) - ) - gc_pointed_to "rtx_note" - (!srcfileloc "emit-rtl.h" 128) - (!fields 0 ) - nil 4095 nil - (!type already_seen 298) - ) - - (!type already_seen 232) - - (!type struct 761 - (!type pointer 762 nil gc_unused - (!type already_seen 761) - ) - gc_unused "hwivec_def" - (!srcfileloc "rtl.h" 282) - (!fields 1 - (!pair "elem" - (!type array 763 nil gc_unused "1" - (!type already_seen 2) - ) - (!srcfileloc "rtl.h" 281) - nil ) - ) - (!options - (!option variable_size string "") - ) - 4095 nil nil ) - - (!type already_seen 283) - - (!type struct 764 nil gc_unused "gimple_stmt_iterator"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 765 nil gc_pointed_to "gcond" - (!srcfileloc "gimple.h" 900) - (!fields 0 ) - (!options - (!option tag string "GSS_WITH_OPS") - ) - 4095 nil - (!type struct 766 nil gc_pointed_to "gimple_statement_with_ops" - (!srcfileloc "gimple.h" 320) - (!fields 1 - (!pair "op" - (!type array 767 nil gc_used "1" - (!type already_seen 23) - ) - (!srcfileloc "gimple.h" 319) - (!options - (!option length string "%h.num_ops") - ) - ) - ) - (!options - (!option tag string "GSS_WITH_OPS") - ) - 4095 nil - (!type struct 768 nil gc_pointed_to "gimple_statement_with_ops_base" - (!srcfileloc "gimple.h" 305) - (!fields 1 - (!pair "use_ops" - (!type already_seen 403) - (!srcfileloc "gimple.h" 304) - (!options - (!option skip string "") - ) - ) - ) - nil 4095 nil - (!type already_seen 283) - ) - ) - ) - - (!type struct 769 nil gc_pointed_to "gdebug" - (!srcfileloc "gimple.h" 910) - (!fields 0 ) - (!options - (!option tag string "GSS_WITH_OPS") - ) - 4095 nil - (!type already_seen 766) - ) - - (!type struct 770 nil gc_pointed_to "ggoto" - (!srcfileloc "gimple.h" 920) - (!fields 0 ) - (!options - (!option tag string "GSS_WITH_OPS") - ) - 4095 nil - (!type already_seen 766) - ) - - (!type struct 771 nil gc_pointed_to "glabel" - (!srcfileloc "gimple.h" 930) - (!fields 0 ) - (!options - (!option tag string "GSS_WITH_OPS") - ) - 4095 nil - (!type already_seen 766) - ) - - (!type struct 772 nil gc_pointed_to "gswitch" - (!srcfileloc "gimple.h" 940) - (!fields 0 ) - (!options - (!option tag string "GSS_WITH_OPS") - ) - 4095 nil - (!type already_seen 766) - ) - - (!type struct 773 nil gc_pointed_to "gassign" - (!srcfileloc "gimple.h" 951) - (!fields 0 ) - (!options - (!option tag string "GSS_WITH_MEM_OPS") - ) - 4095 nil - (!type struct 774 nil gc_pointed_to "gimple_statement_with_memory_ops" - (!srcfileloc "gimple.h" 351) - (!fields 1 - (!pair "op" - (!type array 775 nil gc_used "1" - (!type already_seen 23) - ) - (!srcfileloc "gimple.h" 350) - (!options - (!option length string "%h.num_ops") - ) - ) - ) - (!options - (!option tag string "GSS_WITH_MEM_OPS") - ) - 4095 nil - (!type struct 776 nil gc_pointed_to "gimple_statement_with_memory_ops_base" - (!srcfileloc "gimple.h" 335) - (!fields 2 - (!pair "vdef" - (!type already_seen 23) - (!srcfileloc "gimple.h" 333) - (!options - (!option skip string "") - ) - ) - (!pair "vuse" - (!type already_seen 23) - (!srcfileloc "gimple.h" 334) - (!options - (!option skip string "") - ) - ) - ) - (!options - (!option tag string "GSS_WITH_MEM_OPS_BASE") - ) - 4095 nil - (!type already_seen 768) - ) - ) - ) - - (!type struct 777 nil gc_pointed_to "gasm" - (!srcfileloc "gimple.h" 587) - (!fields 6 - (!pair "string" - (!type already_seen 11) - (!srcfileloc "gimple.h" 573) - nil ) - (!pair "ni" - (!type already_seen 8) - (!srcfileloc "gimple.h" 577) - nil ) - (!pair "no" - (!type already_seen 8) - (!srcfileloc "gimple.h" 578) - nil ) - (!pair "nc" - (!type already_seen 8) - (!srcfileloc "gimple.h" 579) - nil ) - (!pair "nl" - (!type already_seen 8) - (!srcfileloc "gimple.h" 580) - nil ) - (!pair "op" - (!type array 778 nil gc_used "1" - (!type already_seen 23) - ) - (!srcfileloc "gimple.h" 586) - (!options - (!option length string "%h.num_ops") - ) - ) - ) - (!options - (!option tag string "GSS_ASM") - ) - 4095 nil - (!type already_seen 776) - ) - - (!type struct 779 - (!type pointer 780 nil gc_used - (!type already_seen 779) - ) - gc_pointed_to "gcall" - (!srcfileloc "gimple.h" 378) - (!fields 4 - (!pair "call_used" - (!type already_seen 386) - (!srcfileloc "gimple.h" 362) - nil ) - (!pair "call_clobbered" - (!type already_seen 386) - (!srcfileloc "gimple.h" 363) - nil ) - (!pair "u" - (!type union 781 nil gc_used "anonymous:../../gcc/gcc/gimple.h:366" - (!srcfileloc "gimple.h" 369) - (!fields 2 - (!pair "fntype" - (!type already_seen 23) - (!srcfileloc "gimple.h" 367) - (!options - (!option tag string "0") - ) - ) - (!pair "internal_fn" - (!type already_seen 2) - (!srcfileloc "gimple.h" 368) - (!options - (!option tag string "GF_CALL_INTERNAL") - ) - ) - ) - (!options - (!option desc string "%1.subcode & GF_CALL_INTERNAL") - ) - 4095 nil ) - (!srcfileloc "gimple.h" 369) - nil ) - (!pair "op" - (!type array 782 nil gc_used "1" - (!type already_seen 23) - ) - (!srcfileloc "gimple.h" 375) - (!options - (!option length string "%h.num_ops") - ) - ) - ) - (!options - (!option tag string "GSS_CALL") - ) - 4095 nil - (!type already_seen 776) - ) - - (!type struct 783 nil gc_pointed_to "gtransaction" - (!srcfileloc "gimple.h" 882) - (!fields 4 - (!pair "body" - (!type already_seen 282) - (!srcfileloc "gimple.h" 876) - nil ) - (!pair "label_norm" - (!type already_seen 23) - (!srcfileloc "gimple.h" 879) - nil ) - (!pair "label_uninst" - (!type already_seen 23) - (!srcfileloc "gimple.h" 880) - nil ) - (!pair "label_over" - (!type already_seen 23) - (!srcfileloc "gimple.h" 881) - nil ) - ) - (!options - (!option tag string "GSS_TRANSACTION") - ) - 4095 nil - (!type already_seen 776) - ) - - (!type struct 784 nil gc_pointed_to "greturn" - (!srcfileloc "gimple.h" 961) - (!fields 0 ) - (!options - (!option tag string "GSS_WITH_MEM_OPS") - ) - 4095 nil - (!type already_seen 774) - ) - - (!type struct 785 nil gc_pointed_to "gbind" - (!srcfileloc "gimple.h" 414) - (!fields 3 - (!pair "vars" - (!type already_seen 23) - (!srcfileloc "gimple.h" 402) - nil ) - (!pair "block" - (!type already_seen 23) - (!srcfileloc "gimple.h" 410) - nil ) - (!pair "body" - (!type already_seen 282) - (!srcfileloc "gimple.h" 413) - nil ) - ) - (!options - (!option tag string "GSS_BIND") - ) - 4095 nil - (!type already_seen 283) - ) - - (!type struct 786 nil gc_pointed_to "gcatch" - (!srcfileloc "gimple.h" 429) - (!fields 2 - (!pair "types" - (!type already_seen 23) - (!srcfileloc "gimple.h" 425) - nil ) - (!pair "handler" - (!type already_seen 282) - (!srcfileloc "gimple.h" 428) - nil ) - ) - (!options - (!option tag string "GSS_CATCH") - ) - 4095 nil - (!type already_seen 283) - ) - - (!type struct 787 nil gc_pointed_to "geh_filter" - (!srcfileloc "gimple.h" 446) - (!fields 2 - (!pair "types" - (!type already_seen 23) - (!srcfileloc "gimple.h" 441) - nil ) - (!pair "failure" - (!type already_seen 282) - (!srcfileloc "gimple.h" 445) - nil ) - ) - (!options - (!option tag string "GSS_EH_FILTER") - ) - 4095 nil - (!type already_seen 283) - ) - - (!type struct 788 nil gc_pointed_to "geh_mnt" - (!srcfileloc "gimple.h" 468) - (!fields 1 - (!pair "fndecl" - (!type already_seen 23) - (!srcfileloc "gimple.h" 467) - nil ) - ) - (!options - (!option tag string "GSS_EH_MNT") - ) - 4095 nil - (!type already_seen 283) - ) - - (!type struct 789 nil gc_pointed_to "geh_else" - (!srcfileloc "gimple.h" 457) - (!fields 2 - (!pair "n_body" - (!type already_seen 282) - (!srcfileloc "gimple.h" 456) - nil ) - (!pair "e_body" - (!type already_seen 282) - (!srcfileloc "gimple.h" 456) - nil ) - ) - (!options - (!option tag string "GSS_EH_ELSE") - ) - 4095 nil - (!type already_seen 283) - ) - - (!type struct 790 nil gc_pointed_to "gresx" - (!srcfileloc "gimple.h" 506) - (!fields 0 ) - (!options - (!option tag string "GSS_EH_CTRL") - ) - 4095 nil - (!type struct 791 nil gc_pointed_to "gimple_statement_eh_ctrl" - (!srcfileloc "gimple.h" 499) - (!fields 1 - (!pair "region" - (!type already_seen 2) - (!srcfileloc "gimple.h" 498) - nil ) - ) - (!options - (!option tag string "GSS_EH_CTRL") - ) - 4095 nil - (!type already_seen 283) - ) - ) - - (!type struct 792 nil gc_pointed_to "geh_dispatch" - (!srcfileloc "gimple.h" 513) - (!fields 0 ) - (!options - (!option tag string "GSS_EH_CTRL") - ) - 4095 nil - (!type already_seen 791) - ) - - (!type struct 793 nil gc_pointed_to "gphi" - (!srcfileloc "gimple.h" 486) - (!fields 4 - (!pair "capacity" - (!type already_seen 2) - (!srcfileloc "gimple.h" 478) - nil ) - (!pair "nargs" - (!type already_seen 2) - (!srcfileloc "gimple.h" 479) - nil ) - (!pair "result" - (!type already_seen 23) - (!srcfileloc "gimple.h" 482) - nil ) - (!pair "args" - (!type array 794 nil gc_used "1" - (!type struct 795 nil gc_used "phi_arg_d" - (!srcfileloc "tree-core.h" 1629) - (!fields 3 - (!pair "imm_use" - (!type already_seen 559) - (!srcfileloc "tree-core.h" 1626) - nil ) - (!pair "def" - (!type already_seen 23) - (!srcfileloc "tree-core.h" 1627) - nil ) - (!pair "locus" - (!type already_seen 2) - (!srcfileloc "tree-core.h" 1628) - nil ) - ) - nil 4095 nil nil ) - ) - (!srcfileloc "gimple.h" 485) - (!options - (!option length string "%h.nargs") - ) - ) - ) - (!options - (!option tag string "GSS_PHI") - ) - 4095 nil - (!type already_seen 283) - ) - - (!type struct 796 nil gc_pointed_to "gtry" - (!srcfileloc "gimple.h" 530) - (!fields 2 - (!pair "eval" - (!type already_seen 282) - (!srcfileloc "gimple.h" 525) - nil ) - (!pair "cleanup" - (!type already_seen 282) - (!srcfileloc "gimple.h" 529) - nil ) - ) - (!options - (!option tag string "GSS_TRY") - ) - 4095 nil - (!type already_seen 283) - ) - - (!type struct 797 nil gc_pointed_to "gomp_atomic_load" - (!srcfileloc "gimple.h" 798) - (!fields 2 - (!pair "rhs" - (!type already_seen 23) - (!srcfileloc "gimple.h" 797) - nil ) - (!pair "lhs" - (!type already_seen 23) - (!srcfileloc "gimple.h" 797) - nil ) - ) - (!options - (!option tag string "GSS_OMP_ATOMIC_LOAD") - ) - 4095 nil - (!type already_seen 283) - ) - - (!type struct 798 nil gc_pointed_to "gomp_atomic_store" - (!srcfileloc "gimple.h" 818) - (!fields 0 ) - (!options - (!option tag string "GSS_OMP_ATOMIC_STORE_LAYOUT") - ) - 4095 nil - (!type struct 799 nil gc_pointed_to "gimple_statement_omp_atomic_store_layout" - (!srcfileloc "gimple.h" 810) - (!fields 1 - (!pair "val" - (!type already_seen 23) - (!srcfileloc "gimple.h" 809) - nil ) - ) - (!options - (!option tag string "GSS_OMP_ATOMIC_STORE_LAYOUT") - ) - 4095 nil - (!type already_seen 283) - ) - ) - - (!type struct 800 nil gc_pointed_to "gomp_continue" - (!srcfileloc "gimple.h" 744) - (!fields 2 - (!pair "control_def" - (!type already_seen 23) - (!srcfileloc "gimple.h" 740) - nil ) - (!pair "control_use" - (!type already_seen 23) - (!srcfileloc "gimple.h" 743) - nil ) - ) - (!options - (!option tag string "GSS_OMP_CONTINUE") - ) - 4095 nil - (!type already_seen 283) - ) - - (!type struct 801 nil gc_pointed_to "gomp_critical" - (!srcfileloc "gimple.h" 602) - (!fields 2 - (!pair "clauses" - (!type already_seen 23) - (!srcfileloc "gimple.h" 597) - nil ) - (!pair "name" - (!type already_seen 23) - (!srcfileloc "gimple.h" 601) - nil ) - ) - (!options - (!option tag string "GSS_OMP_CRITICAL") - ) - 4095 nil - (!type struct 802 nil gc_pointed_to "gimple_statement_omp" - (!srcfileloc "gimple.h" 390) - (!fields 1 - (!pair "body" - (!type already_seen 282) - (!srcfileloc "gimple.h" 389) - nil ) - ) - (!options - (!option tag string "GSS_OMP") - ) - 4095 nil - (!type already_seen 283) - ) - ) - - (!type struct 803 nil gc_pointed_to "gomp_ordered" - (!srcfileloc "gimple.h" 777) - (!fields 0 ) - (!options - (!option tag string "GSS_OMP_SINGLE_LAYOUT") - ) - 4095 nil - (!type struct 804 nil gc_pointed_to "gimple_statement_omp_single_layout" - (!srcfileloc "gimple.h" 756) - (!fields 1 - (!pair "clauses" - (!type already_seen 23) - (!srcfileloc "gimple.h" 755) - nil ) - ) - (!options - (!option tag string "GSS_OMP_SINGLE_LAYOUT") - ) - 4095 nil - (!type already_seen 802) - ) - ) - - (!type struct 805 nil gc_pointed_to "gomp_for" - (!srcfileloc "gimple.h" 642) - (!fields 4 - (!pair "clauses" - (!type already_seen 23) - (!srcfileloc "gimple.h" 630) - nil ) - (!pair "collapse" - (!type already_seen 2) - (!srcfileloc "gimple.h" 634) - nil ) - (!pair "iter" - (!type pointer 806 nil gc_unused - (!type struct 807 - (!type already_seen 806) - gc_used "gimple_omp_for_iter" - (!srcfileloc "gimple.h" 620) - (!fields 5 - (!pair "cond" - (!type already_seen 2) - (!srcfileloc "gimple.h" 607) - nil ) - (!pair "index" - (!type already_seen 23) - (!srcfileloc "gimple.h" 610) - nil ) - (!pair "initial" - (!type already_seen 23) - (!srcfileloc "gimple.h" 613) - nil ) - (!pair "final" - (!type already_seen 23) - (!srcfileloc "gimple.h" 616) - nil ) - (!pair "incr" - (!type already_seen 23) - (!srcfileloc "gimple.h" 619) - nil ) - ) - nil 4095 nil nil ) - ) - (!srcfileloc "gimple.h" 637) - (!options - (!option length string "%h.collapse") - ) - ) - (!pair "pre_body" - (!type already_seen 282) - (!srcfileloc "gimple.h" 641) - nil ) - ) - (!options - (!option tag string "GSS_OMP_FOR") - ) - 4095 nil - (!type already_seen 802) - ) - - (!type struct 808 nil gc_pointed_to "gomp_parallel" - (!srcfileloc "gimple.h" 681) - (!fields 0 ) - (!options - (!option tag string "GSS_OMP_PARALLEL_LAYOUT") - ) - 4095 nil - (!type struct 809 nil gc_pointed_to "gimple_statement_omp_taskreg" - (!srcfileloc "gimple.h" 673) - (!fields 0 ) - (!options - (!option tag string "GSS_OMP_PARALLEL_LAYOUT") - ) - 4095 nil - (!type struct 810 nil gc_pointed_to "gimple_statement_omp_parallel_layout" - (!srcfileloc "gimple.h" 663) - (!fields 3 - (!pair "clauses" - (!type already_seen 23) - (!srcfileloc "gimple.h" 654) - nil ) - (!pair "child_fn" - (!type already_seen 23) - (!srcfileloc "gimple.h" 658) - nil ) - (!pair "data_arg" - (!type already_seen 23) - (!srcfileloc "gimple.h" 662) - nil ) - ) - (!options - (!option tag string "GSS_OMP_PARALLEL_LAYOUT") - ) - 4095 nil - (!type already_seen 802) - ) - ) - ) - - (!type struct 811 nil gc_pointed_to "gomp_task" - (!srcfileloc "gimple.h" 706) - (!fields 3 - (!pair "copy_fn" - (!type already_seen 23) - (!srcfileloc "gimple.h" 700) - nil ) - (!pair "arg_size" - (!type already_seen 23) - (!srcfileloc "gimple.h" 704) - nil ) - (!pair "arg_align" - (!type already_seen 23) - (!srcfileloc "gimple.h" 705) - nil ) - ) - (!options - (!option tag string "GSS_OMP_TASK") - ) - 4095 nil - (!type already_seen 809) - ) - - (!type struct 812 nil gc_pointed_to "gomp_sections" - (!srcfileloc "gimple.h" 727) - (!fields 2 - (!pair "clauses" - (!type already_seen 23) - (!srcfileloc "gimple.h" 721) - nil ) - (!pair "control" - (!type already_seen 23) - (!srcfileloc "gimple.h" 726) - nil ) - ) - (!options - (!option tag string "GSS_OMP_SECTIONS") - ) - 4095 nil - (!type already_seen 802) - ) - - (!type struct 813 nil gc_pointed_to "gomp_single" - (!srcfileloc "gimple.h" 763) - (!fields 0 ) - (!options - (!option tag string "GSS_OMP_SINGLE_LAYOUT") - ) - 4095 nil - (!type already_seen 804) - ) - - (!type struct 814 nil gc_pointed_to "gomp_target" - (!srcfileloc "gimple.h" 689) - (!fields 0 ) - (!options - (!option tag string "GSS_OMP_PARALLEL_LAYOUT") - ) - 4095 nil - (!type already_seen 810) - ) - - (!type struct 815 nil gc_pointed_to "gomp_teams" - (!srcfileloc "gimple.h" 770) - (!fields 0 ) - (!options - (!option tag string "GSS_OMP_PARALLEL_LAYOUT") - ) - 4095 nil - (!type already_seen 809) - ) - - (!type already_seen 320) - - (!type struct 816 - (!type pointer 817 nil gc_used - (!type already_seen 816) - ) - gc_pointed_to "cgraph_node" - (!srcfileloc "cgraph.h" 1506) - (!fields 49 - (!pair "DEBUG_FUNCTION" - (!type already_seen 2) - (!srcfileloc "cgraph.h" 1078) - nil ) - (!pair "DEBUG_FUNCTION" - (!type already_seen 2) - (!srcfileloc "cgraph.h" 1090) - nil ) - (!pair "callees" - (!type pointer 818 nil gc_used - (!type struct 819 - (!type already_seen 818) - gc_pointed_to "cgraph_edge" - (!srcfileloc "cgraph.h" 1977) - (!fields 22 - (!pair "count" - (!type already_seen 301) - (!srcfileloc "cgraph.h" 1888) - nil ) - (!pair "caller" - (!type already_seen 817) - (!srcfileloc "cgraph.h" 1889) - nil ) - (!pair "callee" - (!type already_seen 817) - (!srcfileloc "cgraph.h" 1890) - nil ) - (!pair "prev_caller" - (!type already_seen 818) - (!srcfileloc "cgraph.h" 1891) - nil ) - (!pair "next_caller" - (!type already_seen 818) - (!srcfileloc "cgraph.h" 1892) - nil ) - (!pair "prev_callee" - (!type already_seen 818) - (!srcfileloc "cgraph.h" 1893) - nil ) - (!pair "next_callee" - (!type already_seen 818) - (!srcfileloc "cgraph.h" 1894) - nil ) - (!pair "call_stmt" - (!type already_seen 780) - (!srcfileloc "cgraph.h" 1895) - nil ) - (!pair "indirect_info" - (!type pointer 820 nil gc_used - (!type struct 821 - (!type already_seen 820) - gc_pointed_to "cgraph_indirect_call_info" - (!srcfileloc "cgraph.h" 1898) - (!fields 13 - (!pair "offset" - (!type already_seen 2) - (!srcfileloc "cgraph.h" 1651) - nil ) - (!pair "context" - (!type struct 822 nil gc_used "ipa_polymorphic_call_context" - (!srcfileloc "cgraph.h" 1642) - (!fields 10 - (!pair "offset" - (!type already_seen 2) - (!srcfileloc "cgraph.h" 1552) - nil ) - (!pair "speculative_offset" - (!type already_seen 2) - (!srcfileloc "cgraph.h" 1553) - nil ) - (!pair "outer_type" - (!type already_seen 23) - (!srcfileloc "cgraph.h" 1554) - nil ) - (!pair "speculative_outer_type" - (!type already_seen 23) - (!srcfileloc "cgraph.h" 1555) - nil ) - (!pair "maybe_in_construction" - (!type already_seen 2) - (!srcfileloc "cgraph.h" 1557) - nil ) - (!pair "maybe_derived_type" - (!type already_seen 2) - (!srcfileloc "cgraph.h" 1559) - nil ) - (!pair "speculative_maybe_derived_type" - (!type already_seen 2) - (!srcfileloc "cgraph.h" 1562) - nil ) - (!pair "invalid" - (!type already_seen 2) - (!srcfileloc "cgraph.h" 1565) - nil ) - (!pair "dynamic" - (!type already_seen 2) - (!srcfileloc "cgraph.h" 1567) - nil ) - (!pair "DEBUG_FUNCTION" - (!type already_seen 2) - (!srcfileloc "cgraph.h" 1629) - nil ) - ) - nil 4095 nil nil ) - (!srcfileloc "cgraph.h" 1653) - nil ) - (!pair "otr_token" - (!type already_seen 2) - (!srcfileloc "cgraph.h" 1655) - nil ) - (!pair "otr_type" - (!type already_seen 23) - (!srcfileloc "cgraph.h" 1657) - nil ) - (!pair "param_index" - (!type already_seen 2) - (!srcfileloc "cgraph.h" 1659) - nil ) - (!pair "ecf_flags" - (!type already_seen 2) - (!srcfileloc "cgraph.h" 1661) - nil ) - (!pair "num_speculative_call_targets" - (!type already_seen 2) - (!srcfileloc "cgraph.h" 1664) - nil ) - (!pair "polymorphic" - (!type already_seen 2) - (!srcfileloc "cgraph.h" 1668) - nil ) - (!pair "agg_contents" - (!type already_seen 2) - (!srcfileloc "cgraph.h" 1671) - nil ) - (!pair "member_ptr" - (!type already_seen 2) - (!srcfileloc "cgraph.h" 1673) - nil ) - (!pair "by_ref" - (!type already_seen 2) - (!srcfileloc "cgraph.h" 1676) - nil ) - (!pair "guaranteed_unmodified" - (!type already_seen 2) - (!srcfileloc "cgraph.h" 1681) - nil ) - (!pair "vptr_changed" - (!type already_seen 2) - (!srcfileloc "cgraph.h" 1684) - nil ) - ) - nil 4095 nil nil ) - ) - (!srcfileloc "cgraph.h" 1898) - nil ) - (!pair "aux" - (!type already_seen 3) - (!srcfileloc "cgraph.h" 1899) - (!options - (!option skip string "") - ) - ) - (!pair "inline_failed" - (!type already_seen 2) - (!srcfileloc "cgraph.h" 1902) - nil ) - (!pair "lto_stmt_uid" - (!type already_seen 2) - (!srcfileloc "cgraph.h" 1905) - nil ) - (!pair "speculative_id" - (!type already_seen 2) - (!srcfileloc "cgraph.h" 1908) - nil ) - (!pair "indirect_inlining_edge" - (!type already_seen 2) - (!srcfileloc "cgraph.h" 1910) - nil ) - (!pair "indirect_unknown_callee" - (!type already_seen 2) - (!srcfileloc "cgraph.h" 1913) - nil ) - (!pair "call_stmt_cannot_inline_p" - (!type already_seen 2) - (!srcfileloc "cgraph.h" 1916) - nil ) - (!pair "can_throw_external" - (!type already_seen 2) - (!srcfileloc "cgraph.h" 1918) - nil ) - (!pair "speculative" - (!type already_seen 2) - (!srcfileloc "cgraph.h" 1936) - nil ) - (!pair "in_polymorphic_cdtor" - (!type already_seen 2) - (!srcfileloc "cgraph.h" 1939) - nil ) - (!pair "m_uid" - (!type already_seen 2) - (!srcfileloc "cgraph.h" 1953) - nil ) - (!pair "m_summary_id" - (!type already_seen 2) - (!srcfileloc "cgraph.h" 1956) - nil ) - (!pair "DEBUG_FUNCTION" - (!type already_seen 2) - (!srcfileloc "cgraph.h" 1972) - nil ) - ) - (!options - (!option for_user string "") - (!option chain_prev string "%h.prev_caller") - (!option chain_next string "%h.next_caller") - ) - 4095 nil nil ) - ) - (!srcfileloc "cgraph.h" 1383) - nil ) - (!pair "callers" - (!type already_seen 818) - (!srcfileloc "cgraph.h" 1384) - nil ) - (!pair "indirect_calls" - (!type already_seen 818) - (!srcfileloc "cgraph.h" 1387) - nil ) - (!pair "next_sibling_clone" - (!type already_seen 817) - (!srcfileloc "cgraph.h" 1388) - nil ) - (!pair "prev_sibling_clone" - (!type already_seen 817) - (!srcfileloc "cgraph.h" 1389) - nil ) - (!pair "clones" - (!type already_seen 817) - (!srcfileloc "cgraph.h" 1390) - nil ) - (!pair "clone_of" - (!type already_seen 817) - (!srcfileloc "cgraph.h" 1391) - nil ) - (!pair "call_site_hash" - (!type pointer 823 nil gc_used - (!type user_struct 824 - (!type already_seen 823) - gc_pointed_to "hash_table" - (!srcfileloc "cgraph.h" 1394) - (!fields 1 - (!pair "cgraph_edge_hasher" - (!type struct 825 nil gc_used "cgraph_edge_hasher" - (!srcfileloc "cgraph.h" 1394) - (!fields 0 ) - nil 4095 nil nil ) - (!srcfileloc "cgraph.h" 1394) - nil ) - ) - ) - ) - (!srcfileloc "cgraph.h" 1394) - nil ) - (!pair "former_clone_of" - (!type already_seen 23) - (!srcfileloc "cgraph.h" 1396) - nil ) - (!pair "simdclone" - (!type pointer 826 nil gc_used - (!type struct 827 - (!type already_seen 826) - gc_pointed_to "cgraph_simd_clone" - (!srcfileloc "cgraph.h" 1400) - (!fields 11 - (!pair "simdlen" - (!type already_seen 2) - (!srcfileloc "cgraph.h" 785) - nil ) - (!pair "nargs" - (!type already_seen 2) - (!srcfileloc "cgraph.h" 789) - nil ) - (!pair "vecsize_int" - (!type already_seen 2) - (!srcfileloc "cgraph.h" 792) - nil ) - (!pair "vecsize_float" - (!type already_seen 2) - (!srcfileloc "cgraph.h" 795) - nil ) - (!pair "mask_mode" - (!type already_seen 2) - (!srcfileloc "cgraph.h" 800) - nil ) - (!pair "vecsize_mangle" - (!type already_seen 8) - (!srcfileloc "cgraph.h" 805) - nil ) - (!pair "inbranch" - (!type already_seen 2) - (!srcfileloc "cgraph.h" 809) - nil ) - (!pair "prev_clone" - (!type already_seen 817) - (!srcfileloc "cgraph.h" 812) - nil ) - (!pair "next_clone" - (!type already_seen 817) - (!srcfileloc "cgraph.h" 812) - nil ) - (!pair "origin" - (!type already_seen 817) - (!srcfileloc "cgraph.h" 815) - nil ) - (!pair "args" - (!type array 828 nil gc_used "1" - (!type struct 829 nil gc_used "cgraph_simd_clone_arg" - (!srcfileloc "cgraph.h" 818) - (!fields 8 - (!pair "orig_arg" - (!type already_seen 23) - (!srcfileloc "cgraph.h" 741) - nil ) - (!pair "orig_type" - (!type already_seen 23) - (!srcfileloc "cgraph.h" 745) - nil ) - (!pair "vector_arg" - (!type already_seen 23) - (!srcfileloc "cgraph.h" 753) - nil ) - (!pair "vector_type" - (!type already_seen 23) - (!srcfileloc "cgraph.h" 756) - nil ) - (!pair "simd_array" - (!type already_seen 23) - (!srcfileloc "cgraph.h" 765) - nil ) - (!pair "arg_type" - (!type already_seen 2) - (!srcfileloc "cgraph.h" 769) - nil ) - (!pair "alignment" - (!type already_seen 2) - (!srcfileloc "cgraph.h" 772) - nil ) - (!pair "linear_step" - (!type already_seen 2) - (!srcfileloc "cgraph.h" 778) - nil ) - ) - nil 4095 nil nil ) - ) - (!srcfileloc "cgraph.h" 818) - (!options - (!option length string "%h.nargs") - ) - ) - ) - nil 4095 nil nil ) - ) - (!srcfileloc "cgraph.h" 1400) - nil ) - (!pair "simd_clones" - (!type already_seen 817) - (!srcfileloc "cgraph.h" 1402) - nil ) - (!pair "ipa_transforms_to_apply" - (!type user_struct 830 nil gc_unused "vec" - (!srcfileloc "cgraph.h" 1407) - (!fields 3 - (!pair "vl_ptr" - (!type undefined 831 nil gc_unused "vl_ptr" - (!srcfileloc "cgraph.h" 1407) - ) - (!srcfileloc "cgraph.h" 1407) - nil ) - (!pair "va_heap" - (!type undefined 832 nil gc_unused "va_heap" - (!srcfileloc "cgraph.h" 1407) - ) - (!srcfileloc "cgraph.h" 1407) - nil ) - (!pair "ipa_opt_pass" - (!type pointer 833 nil gc_unused - (!type struct 834 - (!type already_seen 833) - gc_unused "ipa_opt_pass_d" - (!srcfileloc "cgraph.h" 38) - (!fields 0 ) - nil 4095 nil nil ) - ) - (!srcfileloc "cgraph.h" 1407) - nil ) - ) - ) - (!srcfileloc "cgraph.h" 1407) - (!options - (!option skip string "") - ) - ) - (!pair "inlined_to" - (!type already_seen 817) - (!srcfileloc "cgraph.h" 1411) - nil ) - (!pair "rtl" - (!type pointer 835 nil gc_used - (!type struct 836 - (!type already_seen 835) - gc_pointed_to "cgraph_rtl_info" - (!srcfileloc "rtl.h" 4558) - (!fields 2 - (!pair "preferred_incoming_stack_boundary" - (!type already_seen 2) - (!srcfileloc "rtl.h" 4553) - nil ) - (!pair "function_used_regs" - (!type already_seen 2) - (!srcfileloc "rtl.h" 4557) - nil ) - ) - nil 4095 nil nil ) - ) - (!srcfileloc "cgraph.h" 1413) - nil ) - (!pair "count" - (!type already_seen 301) - (!srcfileloc "cgraph.h" 1416) - nil ) - (!pair "count_materialization_scale" - (!type already_seen 2) - (!srcfileloc "cgraph.h" 1419) - nil ) - (!pair "profile_id" - (!type already_seen 2) - (!srcfileloc "cgraph.h" 1421) - nil ) - (!pair "unit_id" - (!type already_seen 2) - (!srcfileloc "cgraph.h" 1423) - nil ) - (!pair "tp_first_run" - (!type already_seen 2) - (!srcfileloc "cgraph.h" 1425) - nil ) - (!pair "thunk" - (!type already_seen 2) - (!srcfileloc "cgraph.h" 1428) - nil ) - (!pair "used_as_abstract_origin" - (!type already_seen 2) - (!srcfileloc "cgraph.h" 1431) - nil ) - (!pair "lowered" - (!type already_seen 2) - (!srcfileloc "cgraph.h" 1433) - nil ) - (!pair "process" - (!type already_seen 2) - (!srcfileloc "cgraph.h" 1436) - nil ) - (!pair "frequency" - (!type already_seen 2) - (!srcfileloc "cgraph.h" 1439) - nil ) - (!pair "only_called_at_startup" - (!type already_seen 2) - (!srcfileloc "cgraph.h" 1441) - nil ) - (!pair "only_called_at_exit" - (!type already_seen 2) - (!srcfileloc "cgraph.h" 1443) - nil ) - (!pair "tm_clone" - (!type already_seen 2) - (!srcfileloc "cgraph.h" 1448) - nil ) - (!pair "dispatcher_function" - (!type already_seen 2) - (!srcfileloc "cgraph.h" 1450) - nil ) - (!pair "calls_comdat_local" - (!type already_seen 2) - (!srcfileloc "cgraph.h" 1453) - nil ) - (!pair "icf_merged" - (!type already_seen 2) - (!srcfileloc "cgraph.h" 1455) - nil ) - (!pair "nonfreeing_fn" - (!type already_seen 2) - (!srcfileloc "cgraph.h" 1459) - nil ) - (!pair "merged_comdat" - (!type already_seen 2) - (!srcfileloc "cgraph.h" 1461) - nil ) - (!pair "merged_extern_inline" - (!type already_seen 2) - (!srcfileloc "cgraph.h" 1463) - nil ) - (!pair "parallelized_function" - (!type already_seen 2) - (!srcfileloc "cgraph.h" 1465) - nil ) - (!pair "split_part" - (!type already_seen 2) - (!srcfileloc "cgraph.h" 1467) - nil ) - (!pair "indirect_call_target" - (!type already_seen 2) - (!srcfileloc "cgraph.h" 1469) - nil ) - (!pair "local" - (!type already_seen 2) - (!srcfileloc "cgraph.h" 1472) - nil ) - (!pair "versionable" - (!type already_seen 2) - (!srcfileloc "cgraph.h" 1474) - nil ) - (!pair "can_change_signature" - (!type already_seen 2) - (!srcfileloc "cgraph.h" 1477) - nil ) - (!pair "redefined_extern_inline" - (!type already_seen 2) - (!srcfileloc "cgraph.h" 1480) - nil ) - (!pair "tm_may_enter_irr" - (!type already_seen 2) - (!srcfileloc "cgraph.h" 1482) - nil ) - (!pair "ipcp_clone" - (!type already_seen 2) - (!srcfileloc "cgraph.h" 1484) - nil ) - (!pair "declare_variant_alt" - (!type already_seen 2) - (!srcfileloc "cgraph.h" 1487) - nil ) - (!pair "calls_declare_variant_alt" - (!type already_seen 2) - (!srcfileloc "cgraph.h" 1489) - nil ) - (!pair "gc_candidate" - (!type already_seen 2) - (!srcfileloc "cgraph.h" 1493) - nil ) - (!pair "m_uid" - (!type already_seen 2) - (!srcfileloc "cgraph.h" 1497) - nil ) - (!pair "m_summary_id" - (!type already_seen 2) - (!srcfileloc "cgraph.h" 1500) - nil ) - ) - (!options - (!option tag string "SYMTAB_FUNCTION") - ) - 4095 nil - (!type already_seen 320) - ) - - (!type struct 837 nil gc_pointed_to "varpool_node" - (!srcfileloc "cgraph.h" 2118) - (!fields 5 - (!pair "DEBUG_FUNCTION" - (!type already_seen 2) - (!srcfileloc "cgraph.h" 1997) - nil ) - (!pair "output" - (!type already_seen 2) - (!srcfileloc "cgraph.h" 2096) - nil ) - (!pair "dynamically_initialized" - (!type already_seen 2) - (!srcfileloc "cgraph.h" 2100) - nil ) - (!pair "tls_model" - (!type already_seen 2) - (!srcfileloc "cgraph.h" 2102) - nil ) - (!pair "used_by_single_function" - (!type already_seen 2) - (!srcfileloc "cgraph.h" 2108) - nil ) - ) - (!options - (!option tag string "SYMTAB_VARIABLE") - ) - 4095 nil - (!type already_seen 320) - ) - - (!type already_seen 819) - - (!type already_seen 215) - - (!type struct 838 - (!type pointer 839 nil gc_unused - (!type already_seen 838) - ) - gc_unused "gcc_options" - (!srcfileloc "c-family/c-pragma.cc" 1236) - (!fields 0 ) - nil 1542 nil nil ) - - (!type already_seen 625) - - (!type already_seen 576) - - (!type struct 840 nil gc_unused "cl_option"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 841 nil gc_unused "cl_decoded_option"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 842 nil gc_unused "cl_option_handlers"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 843 nil gc_unused "diagnostic_context"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 844 nil gc_unused "pretty_printer"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 845 nil gc_unused "diagnostic_event_id_t"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 846 nil gc_unused "bitmap_view"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type already_seen 274) - - (!type already_seen 270) - - (!type struct 847 nil gc_unused "rtl_opt_pass"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 848 nil gc_unused "context"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type user_struct 849 nil gc_unused "std::pair" - (!srcfileloc "coretypes.h" 362) - (!fields 2 - (!pair "tree" - (!type already_seen 23) - (!srcfileloc "coretypes.h" 362) - nil ) - (!pair "tree" - (!type already_seen 23) - (!srcfileloc "coretypes.h" 362) - nil ) - ) - ) - - (!type user_struct 850 nil gc_unused "std::pair" - (!srcfileloc "coretypes.h" 363) - (!fields 1 - (!pair "int" - (!type already_seen 374) - (!srcfileloc "coretypes.h" 363) - nil ) - ) - ) - - (!type already_seen 374) - - (!type struct 851 nil gc_unused "kv_pair"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 852 nil gc_unused "_dont_use_rtx_here_"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 853 nil gc_unused "_dont_use_rtvec_here_"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 854 nil gc_unused "_dont_use_rtx_insn_here_"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type union 855 nil gc_unused "_dont_use_tree_here_"nil - (!fields 0 ) - nil 0 nil ) - - (!type struct 856 nil gc_unused "cpp_reason_option_codes_t"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type undefined 857 nil gc_unused "TARGET_UNIT" - (!srcfileloc "defaults.h" 1461) - ) - - (!type struct 858 - (!type pointer 859 nil gc_unused - (!type already_seen 858) - ) - gc_unused "splay_tree_node_s"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 860 - (!type pointer 861 nil gc_unused - (!type already_seen 860) - ) - gc_unused "splay_tree_s"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 862 nil gc_unused "bitmap_usage"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type already_seen 390) - - (!type struct 863 nil gc_unused "bitmap_iterator"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 864 nil gc_unused "auto_bitmap"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 865 nil gc_unused "base_bitmap_view"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type already_seen 495) - - (!type already_seen 494) - - (!type undefined 866 nil gc_unused "FIXED_WIDE_INT" - (!srcfileloc "wide-int.h" 323) - ) - - (!type user_struct 867 nil gc_unused "generic_wide_int>" - (!srcfileloc "wide-int.h" 327) - (!fields 1 - (!pair "fixed_wide_int_storage>" - (!srcfileloc "wide-int.h" 334) - (!fields 1 - (!pair "wide_int_ref_storageprecision>>" - (!srcfileloc "wide-int.h" 438) - (!fields 2 - (!pair "precision" - (!type undefined 876 nil gc_unused "precision" - (!srcfileloc "wide-int.h" 438) - ) - (!srcfileloc "wide-int.h" 438) - nil ) - (!pair "fixed_wide_int_storageprecision>>" - (!srcfileloc "wide-int.h" 459) - (!fields 2 - (!pair "precision" - (!type already_seen 876) - (!srcfileloc "wide-int.h" 459) - nil ) - (!pair "fixed_wide_int_storage" - (!srcfileloc "wide-int.h" 1366) - (!fields 1 - (!pair "trailing_wide_int_storage" - (!type already_seen 891) - (!srcfileloc "wide-int.h" 1366) - nil ) - ) - ) - - (!type user_struct 893 nil gc_unused "trailing_wide_ints" - (!srcfileloc "wide-int.h" 1417) - (!fields 0 ) - ) - - (!type struct 894 nil gc_unused "primitive_int_traits"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 895 nil gc_unused "hwi_with_prec"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 896 nil gc_unused "ints_for"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 897 nil gc_unused "never_used1"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 898 nil gc_unused "never_used2"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 899 - (!type pointer 900 nil gc_used - (!type already_seen 899) - ) - gc_pointed_to "coverage_data" - (!srcfileloc "coverage.cc" 66) - (!fields 6 - (!pair "next" - (!type already_seen 900) - (!srcfileloc "coverage.cc" 60) - nil ) - (!pair "ident" - (!type already_seen 2) - (!srcfileloc "coverage.cc" 61) - nil ) - (!pair "lineno_checksum" - (!type already_seen 2) - (!srcfileloc "coverage.cc" 62) - nil ) - (!pair "cfg_checksum" - (!type already_seen 2) - (!srcfileloc "coverage.cc" 63) - nil ) - (!pair "fn_decl" - (!type already_seen 23) - (!srcfileloc "coverage.cc" 64) - nil ) - (!pair "ctr_vars" - (!type array 901 nil gc_used "GCOV_COUNTERS" - (!type already_seen 23) - ) - (!srcfileloc "coverage.cc" 65) - nil ) - ) - (!options - (!option chain_next string "%h.next") - ) - 4095 nil nil ) - - (!type struct 902 nil gc_unused "counts_entry"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 903 - (!type pointer 904 nil gc_unused - (!type already_seen 903) - ) - gc_unused "predefined_function_abi" - (!srcfileloc "emit-rtl.h" 75) - (!fields 0 ) - nil 4095 nil nil ) - - (!type struct 905 nil gc_unused "addr_diff_vec_flags"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type already_seen 229) - - (!type already_seen 240) - - (!type union 906 nil gc_unused "rtunion"nil - (!fields 0 ) - nil 0 nil ) - - (!type struct 907 nil gc_unused "reg_info" - (!srcfileloc "rtl.h" 230) - (!fields 4 - (!pair "regno" - (!type already_seen 2) - (!srcfileloc "rtl.h" 222) - nil ) - (!pair "nregs" - (!type already_seen 2) - (!srcfileloc "rtl.h" 225) - nil ) - (!pair "unused" - (!type already_seen 2) - (!srcfileloc "rtl.h" 226) - nil ) - (!pair "attrs" - (!type already_seen 239) - (!srcfileloc "rtl.h" 229) - nil ) - ) - nil 4095 nil nil ) - - (!type already_seen 211) - - (!type already_seen 213) - - (!type already_seen 209) - - (!type already_seen 222) - - (!type already_seen 80) - - (!type user_struct 908 nil gc_unused "trailing_wide_ints" - (!srcfileloc "rtl.h" 291) - (!fields 1 - (!pair "NUM_POLY_INT_COEFFS" - (!type undefined 909 nil gc_unused "NUM_POLY_INT_COEFFS" - (!srcfileloc "rtl.h" 291) - ) - (!srcfileloc "rtl.h" 291) - nil ) - ) - ) - - (!type already_seen 909) - - (!type struct 910 nil gc_unused "const_poly_int_def" - (!srcfileloc "rtl.h" 292) - (!fields 1 - (!pair "coeffs" - (!type already_seen 908) - (!srcfileloc "rtl.h" 291) - nil ) - ) - (!options - (!option variable_size string "") - ) - 4095 nil nil ) - - (!type already_seen 104) - - (!type already_seen 103) - - (!type already_seen 38) - - (!type already_seen 42) - - (!type union 911 nil gc_used "u" - (!srcfileloc "ggc-tests.cc" 129) - (!fields 2 - (!pair "u_test_struct" - (!type pointer 912 nil gc_used - (!type struct 913 - (!type already_seen 912) - gc_pointed_to "test_struct" - (!srcfileloc "ggc-tests.cc" 42) - (!fields 1 - (!pair "other" - (!type already_seen 912) - (!srcfileloc "ggc-tests.cc" 39) - nil ) - ) - nil 4095 nil nil ) - ) - (!srcfileloc "ggc-tests.cc" 127) - (!options - (!option tag string "WHICH_FIELD_USE_TEST_STRUCT") - ) - ) - (!pair "u_test_other" - (!type pointer 914 nil gc_used - (!type struct 915 - (!type already_seen 914) - gc_pointed_to "test_other" - (!srcfileloc "ggc-tests.cc" 128) - (!fields 2 - (!pair "dummy" - (!type array 916 nil gc_used "256" - (!type already_seen 8) - ) - (!srcfileloc "ggc-tests.cc" 96) - nil ) - (!pair "m_ptr" - (!type already_seen 912) - (!srcfileloc "ggc-tests.cc" 97) - nil ) - ) - nil 4095 nil nil ) - ) - (!srcfileloc "ggc-tests.cc" 128) - (!options - (!option tag string "WHICH_FIELD_USE_TEST_OTHER") - ) - ) - ) - nil 4095 nil ) - - (!type already_seen 225) - - (!type already_seen 268) - - (!type already_seen 223) - - (!type already_seen 316) - - (!type already_seen 315) - - (!type already_seen 314) - - (!type already_seen 313) - - (!type already_seen 312) - - (!type already_seen 311) - - (!type already_seen 310) - - (!type already_seen 309) - - (!type already_seen 308) - - (!type already_seen 307) - - (!type already_seen 306) - - (!type already_seen 305) - - (!type already_seen 304) - - (!type already_seen 303) - - (!type already_seen 302) - - (!type already_seen 267) - - (!type already_seen 266) - - (!type already_seen 265) - - (!type already_seen 264) - - (!type already_seen 263) - - (!type already_seen 262) - - (!type already_seen 261) - - (!type already_seen 260) - - (!type already_seen 259) - - (!type already_seen 258) - - (!type already_seen 257) - - (!type already_seen 256) - - (!type already_seen 255) - - (!type already_seen 254) - - (!type already_seen 253) - - (!type already_seen 252) - - (!type already_seen 251) - - (!type already_seen 250) - - (!type already_seen 249) - - (!type already_seen 248) - - (!type already_seen 247) - - (!type already_seen 246) - - (!type already_seen 245) - - (!type already_seen 244) - - (!type already_seen 243) - - (!type already_seen 242) - - (!type already_seen 241) - - (!type already_seen 238) - - (!type already_seen 237) - - (!type already_seen 236) - - (!type already_seen 235) - - (!type already_seen 234) - - (!type already_seen 230) - - (!type already_seen 227) - - (!type already_seen 226) - - (!type already_seen 208) - - (!type already_seen 207) - - (!type already_seen 206) - - (!type already_seen 205) - - (!type already_seen 204) - - (!type already_seen 203) - - (!type already_seen 202) - - (!type already_seen 201) - - (!type already_seen 200) - - (!type already_seen 199) - - (!type already_seen 198) - - (!type already_seen 197) - - (!type already_seen 196) - - (!type already_seen 195) - - (!type already_seen 194) - - (!type already_seen 193) - - (!type already_seen 192) - - (!type already_seen 191) - - (!type already_seen 190) - - (!type already_seen 189) - - (!type already_seen 188) - - (!type already_seen 187) - - (!type already_seen 186) - - (!type already_seen 185) - - (!type already_seen 184) - - (!type already_seen 183) - - (!type already_seen 182) - - (!type already_seen 181) - - (!type already_seen 180) - - (!type already_seen 179) - - (!type already_seen 178) - - (!type already_seen 177) - - (!type already_seen 176) - - (!type already_seen 175) - - (!type already_seen 174) - - (!type already_seen 173) - - (!type already_seen 172) - - (!type already_seen 171) - - (!type already_seen 170) - - (!type already_seen 169) - - (!type already_seen 168) - - (!type already_seen 167) - - (!type already_seen 166) - - (!type already_seen 165) - - (!type already_seen 164) - - (!type already_seen 163) - - (!type already_seen 162) - - (!type already_seen 161) - - (!type already_seen 160) - - (!type already_seen 159) - - (!type already_seen 158) - - (!type already_seen 157) - - (!type already_seen 156) - - (!type already_seen 155) - - (!type already_seen 154) - - (!type already_seen 153) - - (!type already_seen 152) - - (!type already_seen 151) - - (!type already_seen 150) - - (!type already_seen 149) - - (!type already_seen 148) - - (!type already_seen 147) - - (!type already_seen 146) - - (!type already_seen 145) - - (!type already_seen 144) - - (!type already_seen 143) - - (!type already_seen 142) - - (!type already_seen 141) - - (!type already_seen 140) - - (!type already_seen 139) - - (!type already_seen 138) - - (!type already_seen 137) - - (!type already_seen 136) - - (!type already_seen 135) - - (!type already_seen 134) - - (!type already_seen 133) - - (!type already_seen 132) - - (!type already_seen 131) - - (!type already_seen 130) - - (!type already_seen 129) - - (!type already_seen 128) - - (!type already_seen 127) - - (!type already_seen 126) - - (!type already_seen 125) - - (!type already_seen 124) - - (!type already_seen 123) - - (!type already_seen 122) - - (!type already_seen 121) - - (!type already_seen 120) - - (!type already_seen 119) - - (!type already_seen 118) - - (!type already_seen 117) - - (!type already_seen 116) - - (!type already_seen 115) - - (!type already_seen 114) - - (!type already_seen 113) - - (!type already_seen 112) - - (!type already_seen 111) - - (!type already_seen 110) - - (!type already_seen 109) - - (!type already_seen 108) - - (!type already_seen 107) - - (!type already_seen 106) - - (!type already_seen 105) - - (!type struct 917 nil gc_unused "full_rtx_costs"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 918 nil gc_unused "subreg_shape"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 919 nil gc_unused "address_info"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type user_struct 920 nil gc_unused "std::pair" - (!srcfileloc "rtl.h" 2252) - (!fields 2 - (!pair "machine_mode" - (!type already_seen 2) - (!srcfileloc "rtl.h" 2252) - nil ) - (!pair "rtx" - (!type already_seen 100) - (!srcfileloc "rtl.h" 2252) - nil ) - ) - ) - - (!type user_struct 921 nil gc_unused "poly_int>>" - (!srcfileloc "rtl.h" 2340) - (!fields 3 - (!pair "false" - (!type already_seen 873) - (!srcfileloc "rtl.h" 2340) - nil ) - (!pair "generic_wide_int" - (!srcfileloc "tree.h" 5768) - (!fields 3 - (!pair "tree_cache_traits" - (!type already_seen 937) - (!srcfileloc "tree.h" 5768) - nil ) - (!pair "tree" - (!type already_seen 23) - (!srcfileloc "tree.h" 5768) - nil ) - (!pair "tree" - (!type already_seen 23) - (!srcfileloc "tree.h" 5768) - nil ) - ) - ) - - (!type struct 939 nil gc_used "decl_tree_cache_traits" - (!srcfileloc "tree.h" 5774) - (!fields 0 ) - nil 4095 nil nil ) - - (!type user_struct 940 - (!type pointer 941 nil gc_used - (!type already_seen 940) - ) - gc_pointed_to "hash_map" - (!srcfileloc "tree.h" 5774) - (!fields 3 - (!pair "decl_tree_cache_traits" - (!type already_seen 939) - (!srcfileloc "tree.h" 5774) - nil ) - (!pair "tree" - (!type already_seen 23) - (!srcfileloc "tree.h" 5774) - nil ) - (!pair "tree" - (!type already_seen 23) - (!srcfileloc "tree.h" 5774) - nil ) - ) - ) - - (!type struct 942 nil gc_used "type_tree_cache_traits" - (!srcfileloc "tree.h" 5780) - (!fields 0 ) - nil 4095 nil nil ) - - (!type user_struct 943 - (!type pointer 944 nil gc_used - (!type already_seen 943) - ) - gc_pointed_to "hash_map" - (!srcfileloc "tree.h" 5780) - (!fields 3 - (!pair "type_tree_cache_traits" - (!type already_seen 942) - (!srcfileloc "tree.h" 5780) - nil ) - (!pair "tree" - (!type already_seen 23) - (!srcfileloc "tree.h" 5780) - nil ) - (!pair "tree" - (!type already_seen 23) - (!srcfileloc "tree.h" 5780) - nil ) - ) - ) - - (!type struct 945 nil gc_used "decl_tree_traits" - (!srcfileloc "tree.h" 5785) - (!fields 0 ) - nil 4095 nil nil ) - - (!type user_struct 946 - (!type pointer 947 nil gc_used - (!type already_seen 946) - ) - gc_pointed_to "hash_map" - (!srcfileloc "tree.h" 5785) - (!fields 3 - (!pair "decl_tree_traits" - (!type already_seen 945) - (!srcfileloc "tree.h" 5785) - nil ) - (!pair "tree" - (!type already_seen 23) - (!srcfileloc "tree.h" 5785) - nil ) - (!pair "tree" - (!type already_seen 23) - (!srcfileloc "tree.h" 5785) - nil ) - ) - ) - - (!type struct 948 nil gc_unused "unextended_tree" - (!srcfileloc "tree.h" 6138) - (!fields 0 ) - nil 4095 nil nil ) - - (!type struct 949 nil gc_unused "extended_tree"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type user_struct 950 nil gc_unused "extended_tree" - (!srcfileloc "tree.h" 6118) - (!fields 1 - (!pair "WIDE_INT_MAX_PRECISION" - (!type already_seen 866) - (!srcfileloc "tree.h" 6118) - nil ) - ) - ) - - (!type user_struct 951 nil gc_unused "extended_tree" - (!srcfileloc "tree.h" 6119) - (!fields 1 - (!pair "ADDR_MAX_PRECISION" - (!type already_seen 866) - (!srcfileloc "tree.h" 6119) - nil ) - ) - ) - - (!type user_struct 952 nil gc_unused "generic_wide_int" - (!srcfileloc "tree.h" 6121) - (!fields 1 - (!pair "widest_extended_tree" - (!type already_seen 950) - (!srcfileloc "tree.h" 6121) - nil ) - ) - ) - - (!type user_struct 953 nil gc_unused "generic_wide_int" - (!srcfileloc "tree.h" 6122) - (!fields 1 - (!pair "offset_extended_tree" - (!type already_seen 951) - (!srcfileloc "tree.h" 6122) - nil ) - ) - ) - - (!type user_struct 954 nil gc_unused "generic_wide_int>" - (!srcfileloc "tree.h" 6123) - (!fields 2 - (!pair "false" - (!type already_seen 873) - (!srcfileloc "tree.h" 6123) - nil ) - (!pair "wide_int_ref_storage>" - (!srcfileloc "tree.h" 6132) - (!fields 2 - (!pair "generic_wide_int>" - (!srcfileloc "tree.h" 6135) - (!fields 2 - (!pair "generic_wide_int>" - (!srcfileloc "tree.h" 6138) - (!fields 2 - (!pair "generic_wide_int>" - (!srcfileloc "tree.h" 6148) - (!fields 1 - (!pair "extended_tree" - (!srcfileloc "tree.h" 6155) - (!fields 1 - (!pair "unextended_tree" - (!type already_seen 948) - (!srcfileloc "tree.h" 6155) - nil ) - ) - ) - - (!type user_struct 965 nil gc_unused "generic_wide_int>" - (!srcfileloc "tree.h" 6162) - (!fields 1 - (!pair "wi::extended_tree" - (!srcfileloc "tree-core.h" 2339) - (!fields 2 - (!pair "va_gc" - (!type already_seen 80) - (!srcfileloc "tree-core.h" 2339) - nil ) - (!pair "alias_pair" - (!type already_seen 972) - (!srcfileloc "tree-core.h" 2339) - nil ) - ) - ) - - (!type struct 990 nil gc_pointed_to "libfunc_entry" - (!srcfileloc "libfuncs.h" 44) - (!fields 4 - (!pair "op" - (!type already_seen 2) - (!srcfileloc "libfuncs.h" 42) - nil ) - (!pair "mode1" - (!type already_seen 2) - (!srcfileloc "libfuncs.h" 42) - nil ) - (!pair "mode2" - (!type already_seen 2) - (!srcfileloc "libfuncs.h" 42) - nil ) - (!pair "libfunc" - (!type already_seen 100) - (!srcfileloc "libfuncs.h" 43) - nil ) - ) - (!options - (!option for_user string "") - ) - 4095 nil nil ) - - (!type already_seen 609) - - (!type already_seen 608) - - (!type already_seen 605) - - (!type struct 991 nil gc_unused "ht"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 992 nil gc_unused "_obstack_chunk"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 993 nil gc_unused "obstack"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 994 nil gc_unused "real_format"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 995 nil gc_unused "format_helper"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 996 - (!type pointer 997 nil gc_used - (!type already_seen 996) - ) - gc_pointed_to "sequence_stack" - (!srcfileloc "function.h" 34) - (!fields 3 - (!pair "first" - (!type already_seen 297) - (!srcfileloc "function.h" 31) - nil ) - (!pair "last" - (!type already_seen 297) - (!srcfileloc "function.h" 32) - nil ) - (!pair "next" - (!type already_seen 997) - (!srcfileloc "function.h" 33) - nil ) - ) - nil 4095 nil nil ) - - (!type struct 998 nil gc_used "emit_status" - (!srcfileloc "function.h" 76) - (!fields 7 - (!pair "x_reg_rtx_no" - (!type already_seen 2) - (!srcfileloc "function.h" 41) - nil ) - (!pair "x_first_label_num" - (!type already_seen 2) - (!srcfileloc "function.h" 44) - nil ) - (!pair "seq" - (!type already_seen 996) - (!srcfileloc "function.h" 56) - nil ) - (!pair "x_cur_insn_uid" - (!type already_seen 2) - (!srcfileloc "function.h" 60) - nil ) - (!pair "x_cur_debug_insn_uid" - (!type already_seen 2) - (!srcfileloc "function.h" 64) - nil ) - (!pair "regno_pointer_align_length" - (!type already_seen 2) - (!srcfileloc "function.h" 70) - nil ) - (!pair "regno_pointer_align" - (!type already_seen 11) - (!srcfileloc "function.h" 75) - (!options - (!option skip string "") - ) - ) - ) - nil 4095 nil nil ) - - (!type user_struct 999 - (!type pointer 1000 nil gc_used - (!type already_seen 999) - ) - gc_pointed_to "vec" - (!srcfileloc "function.h" 131) - (!fields 2 - (!pair "va_gc" - (!type already_seen 80) - (!srcfileloc "function.h" 131) - nil ) - (!pair "rtx_insn" - (!type already_seen 297) - (!srcfileloc "function.h" 131) - nil ) - ) - ) - - (!type struct 1001 nil gc_used "expr_status" - (!srcfileloc "function.h" 132) - (!fields 6 - (!pair "x_pending_stack_adjust" - (!type already_seen 2) - (!srcfileloc "function.h" 97) - nil ) - (!pair "x_inhibit_defer_pop" - (!type already_seen 2) - (!srcfileloc "function.h" 114) - nil ) - (!pair "x_stack_pointer_delta" - (!type already_seen 2) - (!srcfileloc "function.h" 120) - nil ) - (!pair "x_saveregs_value" - (!type already_seen 100) - (!srcfileloc "function.h" 125) - nil ) - (!pair "x_apply_args_value" - (!type already_seen 100) - (!srcfileloc "function.h" 128) - nil ) - (!pair "x_forced_labels" - (!type already_seen 1000) - (!srcfileloc "function.h" 131) - nil ) - ) - nil 4095 nil nil ) - - (!type struct 1002 - (!type pointer 1003 nil gc_used - (!type already_seen 1002) - ) - gc_pointed_to "call_site_record_d" - (!srcfileloc "except.cc" 168) - (!fields 2 - (!pair "landing_pad" - (!type already_seen 100) - (!srcfileloc "except.cc" 166) - nil ) - (!pair "action" - (!type already_seen 2) - (!srcfileloc "except.cc" 167) - nil ) - ) - nil 4095 nil nil ) - - (!type already_seen 377) - - (!type user_struct 1004 - (!type pointer 1005 nil gc_used - (!type already_seen 1004) - ) - gc_pointed_to "vec" - (!srcfileloc "function.h" 147) - (!fields 2 - (!pair "va_gc" - (!type already_seen 80) - (!srcfileloc "function.h" 147) - nil ) - (!pair "call_site_record" - (!type already_seen 1003) - (!srcfileloc "function.h" 147) - nil ) - ) - ) - - (!type struct 1006 nil gc_used "rtl_eh" - (!srcfileloc "function.h" 148) - (!fields 7 - (!pair "ehr_stackadj" - (!type already_seen 100) - (!srcfileloc "function.h" 138) - nil ) - (!pair "ehr_handler" - (!type already_seen 100) - (!srcfileloc "function.h" 139) - nil ) - (!pair "ehr_label" - (!type already_seen 366) - (!srcfileloc "function.h" 140) - nil ) - (!pair "sjlj_fc" - (!type already_seen 100) - (!srcfileloc "function.h" 142) - nil ) - (!pair "sjlj_exit_after" - (!type already_seen 297) - (!srcfileloc "function.h" 143) - nil ) - (!pair "action_record_data" - (!type already_seen 376) - (!srcfileloc "function.h" 145) - nil ) - (!pair "call_site_record_v" - (!type array 1007 nil gc_used "2" - (!type already_seen 1005) - ) - (!srcfileloc "function.h" 147) - nil ) - ) - nil 4095 nil nil ) - - (!type already_seen 385) - - (!type already_seen 468) - - (!type already_seen 513) - - (!type struct 1008 - (!type pointer 1009 nil gc_used - (!type already_seen 1008) - ) - gc_pointed_to "rtx_constant_pool" - (!srcfileloc "varasm.cc" 3748) - (!fields 4 - (!pair "first" - (!type already_seen 224) - (!srcfileloc "varasm.cc" 3736) - nil ) - (!pair "last" - (!type already_seen 224) - (!srcfileloc "varasm.cc" 3737) - nil ) - (!pair "const_rtx_htab" - (!type pointer 1010 nil gc_used - (!type user_struct 1011 - (!type already_seen 1010) - gc_pointed_to "hash_table" - (!srcfileloc "varasm.cc" 3743) - (!fields 1 - (!pair "const_rtx_desc_hasher" - (!type struct 1012 nil gc_used "const_rtx_desc_hasher" - (!srcfileloc "varasm.cc" 3743) - (!fields 0 ) - nil 4095 nil nil ) - (!srcfileloc "varasm.cc" 3743) - nil ) - ) - ) - ) - (!srcfileloc "varasm.cc" 3743) - nil ) - (!pair "offset" - (!type already_seen 2) - (!srcfileloc "varasm.cc" 3747) - nil ) - ) - nil 4095 nil nil ) - - (!type struct 1013 nil gc_used "varasm_status" - (!srcfileloc "function.h" 169) - (!fields 2 - (!pair "pool" - (!type already_seen 1009) - (!srcfileloc "function.h" 164) - nil ) - (!pair "deferred_constants" - (!type already_seen 2) - (!srcfileloc "function.h" 168) - nil ) - ) - nil 4095 nil nil ) - - (!type struct 1014 nil gc_used "function_subsections" - (!srcfileloc "function.h" 182) - (!fields 4 - (!pair "hot_section_label" - (!type already_seen 11) - (!srcfileloc "function.h" 178) - nil ) - (!pair "cold_section_label" - (!type already_seen 11) - (!srcfileloc "function.h" 179) - nil ) - (!pair "hot_section_end_label" - (!type already_seen 11) - (!srcfileloc "function.h" 180) - nil ) - (!pair "cold_section_end_label" - (!type already_seen 11) - (!srcfileloc "function.h" 181) - nil ) - ) - nil 4095 nil nil ) - - (!type struct 1015 - (!type pointer 1016 nil gc_used - (!type already_seen 1015) - ) - gc_pointed_to "frame_space" - (!srcfileloc "function.h" 194) - (!fields 3 - (!pair "next" - (!type already_seen 1016) - (!srcfileloc "function.h" 190) - nil ) - (!pair "start" - (!type already_seen 2) - (!srcfileloc "function.h" 192) - nil ) - (!pair "length" - (!type already_seen 2) - (!srcfileloc "function.h" 193) - nil ) - ) - nil 4095 nil nil ) - - (!type already_seen 417) - - (!type already_seen 420) - - (!type already_seen 416) - - (!type already_seen 419) - - (!type already_seen 414) - - (!type already_seen 355) - - (!type already_seen 379) - - (!type already_seen 409) - - (!type already_seen 422) - - (!type already_seen 424) - - (!type already_seen 466) - - (!type struct 1017 nil gc_pointed_to "types_used_by_vars_entry" - (!srcfileloc "function.h" 482) - (!fields 2 - (!pair "type" - (!type already_seen 23) - (!srcfileloc "function.h" 480) - nil ) - (!pair "var_decl" - (!type already_seen 23) - (!srcfileloc "function.h" 481) - nil ) - ) - (!options - (!option for_user string "") - ) - 4095 nil nil ) - - (!type struct 1018 nil gc_used "used_type_hasher" - (!srcfileloc "function.h" 495) - (!fields 0 ) - nil 4095 nil nil ) - - (!type user_struct 1019 - (!type pointer 1020 nil gc_used - (!type already_seen 1019) - ) - gc_pointed_to "hash_table" - (!srcfileloc "function.h" 495) - (!fields 1 - (!pair "used_type_hasher" - (!type already_seen 1018) - (!srcfileloc "function.h" 495) - nil ) - ) - ) - - (!type struct 1021 nil gc_unused "args_size"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1022 nil gc_unused "locate_and_pad_arg_data"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1023 nil gc_unused "function_abi"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1024 nil gc_unused "function_abi_aggregator"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type already_seen 599) - - (!type already_seen 216) - - (!type already_seen 217) - - (!type already_seen 218) - - (!type already_seen 220) - - (!type already_seen 277) - - (!type already_seen 281) - - (!type already_seen 287) - - (!type already_seen 412) - - (!type already_seen 276) - - (!type already_seen 285) - - (!type already_seen 279) - - (!type already_seen 289) - - (!type already_seen 411) - - (!type struct 1025 nil gc_unused "eni_weights"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1026 nil gc_unused "rtx_iv"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1027 nil gc_unused "loops_list"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type already_seen 611) - - (!type already_seen 381) - - (!type already_seen 301) - - (!type struct 1028 nil gc_unused "auto_flag"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1029 nil gc_unused "auto_edge_flag"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1030 nil gc_unused "auto_bb_flag"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1031 nil gc_used "sreal" - (!srcfileloc "profile-count.h" 1253) - (!fields 0 ) - nil 4095 nil nil ) - - (!type user_struct 1032 nil gc_unused "profile_probability" - (!srcfileloc "profile-count.h" 659) - (!fields 0 ) - ) - - (!type struct 1033 nil gc_unused "cselib_val"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1034 nil gc_unused "elt_loc_list"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1035 nil gc_unused "cselib_set"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type already_seen 300) - - (!type already_seen 295) - - (!type already_seen 272) - - (!type already_seen 293) - - (!type already_seen 296) - - (!type already_seen 294) - - (!type struct 1036 nil gc_unused "edge_iterator"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1037 - (!type pointer 1038 nil gc_unused - (!type already_seen 1037) - ) - gc_unused "ipa_ref" - (!srcfileloc "cgraph.h" 173) - (!fields 0 ) - nil 4095 nil nil ) - - (!type already_seen 321) - - (!type already_seen 834) - - (!type already_seen 343) - - (!type struct 1039 nil gc_used "section_name_hasher" - (!srcfileloc "cgraph.h" 2492) - (!fields 0 ) - nil 4095 nil nil ) - - (!type undefined 1040 nil gc_unused "explicit" - (!srcfileloc "cgraph.h" 113) - ) - - (!type already_seen 324) - - (!type struct 1041 - (!type pointer 1042 nil gc_unused - (!type already_seen 1041) - ) - gc_used "symbol_priority_map" - (!srcfileloc "cgraph.h" 2498) - (!fields 2 - (!pair "init" - (!type already_seen 2) - (!srcfileloc "cgraph.h" 2165) - nil ) - (!pair "fini" - (!type already_seen 2) - (!srcfileloc "cgraph.h" 2166) - nil ) - ) - nil 4095 nil nil ) - - (!type struct 1043 - (!type pointer 1044 nil gc_used - (!type already_seen 1043) - ) - gc_pointed_to "ipa_replace_map" - (!srcfileloc "cgraph.h" 715) - (!fields 3 - (!pair "new_tree" - (!type already_seen 23) - (!srcfileloc "cgraph.h" 708) - nil ) - (!pair "parm_num" - (!type already_seen 2) - (!srcfileloc "cgraph.h" 710) - nil ) - (!pair "force_load_ref" - (!type already_seen 2) - (!srcfileloc "cgraph.h" 714) - nil ) - ) - nil 4095 nil nil ) - - (!type already_seen 829) - - (!type already_seen 827) - - (!type struct 1045 - (!type pointer 1046 nil gc_used - (!type already_seen 1045) - ) - gc_pointed_to "cgraph_function_version_info" - (!srcfileloc "cgraph.h" 843) - (!fields 4 - (!pair "this_node" - (!type already_seen 817) - (!srcfileloc "cgraph.h" 824) - nil ) - (!pair "prev" - (!type already_seen 1046) - (!srcfileloc "cgraph.h" 828) - nil ) - (!pair "next" - (!type already_seen 1046) - (!srcfileloc "cgraph.h" 832) - nil ) - (!pair "dispatcher_resolver" - (!type already_seen 23) - (!srcfileloc "cgraph.h" 842) - nil ) - ) - (!options - (!option for_user string "") - ) - 4095 nil nil ) - - (!type already_seen 825) - - (!type user_struct 1047 nil gc_unused "auto_vec" - (!srcfileloc "cgraph.h" 1150) - (!fields 1 - (!pair "cgraph_edge" - (!type already_seen 818) - (!srcfileloc "cgraph.h" 1150) - nil ) - ) - ) - - (!type already_seen 824) - - (!type already_seen 830) - - (!type already_seen 832) - - (!type already_seen 831) - - (!type struct 1048 - (!type pointer 1049 nil gc_unused - (!type already_seen 1048) - ) - gc_unused "cgraph_node_set_def" - (!srcfileloc "cgraph.h" 1516) - (!fields 0 ) - nil 4095 nil nil ) - - (!type struct 1050 - (!type pointer 1051 nil gc_unused - (!type already_seen 1050) - ) - gc_unused "varpool_node_set_def"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1052 nil gc_unused "cgraph_node_set_iterator"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1053 nil gc_unused "varpool_node_set_iterator"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type already_seen 822) - - (!type already_seen 821) - - (!type undefined 1054 nil gc_unused "availability" - (!srcfileloc "cgraph.h" 2008) - ) - - (!type struct 1055 - (!type pointer 1056 nil gc_used - (!type already_seen 1055) - ) - gc_pointed_to "asm_node" - (!srcfileloc "cgraph.h" 2129) - (!fields 3 - (!pair "next" - (!type already_seen 1056) - (!srcfileloc "cgraph.h" 2124) - nil ) - (!pair "asm_str" - (!type already_seen 23) - (!srcfileloc "cgraph.h" 2126) - nil ) - (!pair "order" - (!type already_seen 2) - (!srcfileloc "cgraph.h" 2128) - nil ) - ) - nil 4095 nil nil ) - - (!type struct 1057 - (!type pointer 1058 nil gc_unused - (!type already_seen 1057) - ) - gc_unused "cgraph_edge_hook_list" - (!srcfileloc "cgraph.h" 2341) - (!fields 0 ) - nil 4095 nil nil ) - - (!type struct 1059 - (!type pointer 1060 nil gc_unused - (!type already_seen 1059) - ) - gc_unused "cgraph_node_hook_list" - (!srcfileloc "cgraph.h" 2348) - (!fields 0 ) - nil 4095 nil nil ) - - (!type struct 1061 - (!type pointer 1062 nil gc_unused - (!type already_seen 1061) - ) - gc_unused "varpool_node_hook_list" - (!srcfileloc "cgraph.h" 2355) - (!fields 0 ) - nil 4095 nil nil ) - - (!type struct 1063 - (!type pointer 1064 nil gc_unused - (!type already_seen 1063) - ) - gc_unused "cgraph_2edge_hook_list" - (!srcfileloc "cgraph.h" 2376) - (!fields 0 ) - nil 4095 nil nil ) - - (!type struct 1065 - (!type pointer 1066 nil gc_unused - (!type already_seen 1065) - ) - gc_unused "cgraph_2node_hook_list" - (!srcfileloc "cgraph.h" 2382) - (!fields 0 ) - nil 4095 nil nil ) - - (!type struct 1067 nil gc_used "asmname_hasher" - (!srcfileloc "cgraph.h" 2495) - (!fields 0 ) - nil 4095 nil nil ) - - (!type struct 1068 - (!type pointer 1069 nil gc_used - (!type already_seen 1068) - ) - gc_pointed_to "thunk_info" - (!srcfileloc "symtab-thunks.h" 145) - (!fields 6 - (!pair "fixed_offset" - (!type already_seen 2) - (!srcfileloc "symtab-thunks.h" 87) - nil ) - (!pair "virtual_value" - (!type already_seen 2) - (!srcfileloc "symtab-thunks.h" 91) - nil ) - (!pair "indirect_offset" - (!type already_seen 2) - (!srcfileloc "symtab-thunks.h" 95) - nil ) - (!pair "alias" - (!type already_seen 23) - (!srcfileloc "symtab-thunks.h" 99) - nil ) - (!pair "this_adjusting" - (!type already_seen 2) - (!srcfileloc "symtab-thunks.h" 103) - nil ) - (!pair "virtual_offset_p" - (!type already_seen 2) - (!srcfileloc "symtab-thunks.h" 111) - nil ) - ) - nil 4095 nil nil ) - - (!type user_struct 1070 - (!type pointer 1071 nil gc_used - (!type already_seen 1070) - ) - gc_pointed_to "function_summary" - (!srcfileloc "cgraph.h" 2202) - (!fields 1 - (!pair "thunk_info" - (!type already_seen 1069) - (!srcfileloc "cgraph.h" 2202) - nil ) - ) - ) - - (!type struct 1072 - (!type pointer 1073 nil gc_used - (!type already_seen 1072) - ) - gc_pointed_to "clone_info" - (!srcfileloc "symtab-clones.h" 49) - (!fields 2 - (!pair "tree_map" - (!type pointer 1074 nil gc_used - (!type user_struct 1075 - (!type already_seen 1074) - gc_pointed_to "vec" - (!srcfileloc "symtab-clones.h" 34) - (!fields 2 - (!pair "va_gc" - (!type already_seen 80) - (!srcfileloc "symtab-clones.h" 34) - nil ) - (!pair "ipa_replace_map" - (!type already_seen 1044) - (!srcfileloc "symtab-clones.h" 34) - nil ) - ) - ) - ) - (!srcfileloc "symtab-clones.h" 34) - nil ) - (!pair "param_adjustments" - (!type pointer 1076 nil gc_used - (!type struct 1077 - (!type already_seen 1076) - gc_pointed_to "ipa_param_adjustments" - (!srcfileloc "ipa-param-manipulation.h" 264) - (!fields 3 - (!pair "m_adj_params" - (!type pointer 1078 nil gc_used - (!type user_struct 1079 - (!type already_seen 1078) - gc_pointed_to "vec" - (!srcfileloc "ipa-param-manipulation.h" 247) - (!fields 2 - (!pair "va_gc" - (!type already_seen 80) - (!srcfileloc "ipa-param-manipulation.h" 247) - nil ) - (!pair "ipa_adjusted_param" - (!type struct 1080 nil gc_used "ipa_adjusted_param" - (!srcfileloc "ipa-param-manipulation.h" 247) - (!fields 10 - (!pair "type" - (!type already_seen 23) - (!srcfileloc "ipa-param-manipulation.h" 162) - nil ) - (!pair "alias_ptr_type" - (!type already_seen 23) - (!srcfileloc "ipa-param-manipulation.h" 166) - nil ) - (!pair "unit_offset" - (!type already_seen 2) - (!srcfileloc "ipa-param-manipulation.h" 171) - nil ) - (!pair "base_index" - (!type already_seen 2) - (!srcfileloc "ipa-param-manipulation.h" 177) - nil ) - (!pair "prev_clone_index" - (!type already_seen 2) - (!srcfileloc "ipa-param-manipulation.h" 181) - nil ) - (!pair "op" - (!type already_seen 2) - (!srcfileloc "ipa-param-manipulation.h" 184) - nil ) - (!pair "prev_clone_adjustment" - (!type already_seen 2) - (!srcfileloc "ipa-param-manipulation.h" 188) - nil ) - (!pair "param_prefix_index" - (!type already_seen 2) - (!srcfileloc "ipa-param-manipulation.h" 192) - nil ) - (!pair "reverse" - (!type already_seen 2) - (!srcfileloc "ipa-param-manipulation.h" 196) - nil ) - (!pair "user_flag" - (!type already_seen 2) - (!srcfileloc "ipa-param-manipulation.h" 199) - nil ) - ) - nil 4095 nil nil ) - (!srcfileloc "ipa-param-manipulation.h" 247) - nil ) - ) - ) - ) - (!srcfileloc "ipa-param-manipulation.h" 247) - nil ) - (!pair "m_always_copy_start" - (!type already_seen 2) - (!srcfileloc "ipa-param-manipulation.h" 253) - nil ) - (!pair "m_skip_return" - (!type already_seen 2) - (!srcfileloc "ipa-param-manipulation.h" 255) - nil ) - ) - nil 4095 nil nil ) - ) - (!srcfileloc "symtab-clones.h" 36) - nil ) - ) - nil 4095 nil nil ) - - (!type user_struct 1081 - (!type pointer 1082 nil gc_used - (!type already_seen 1081) - ) - gc_pointed_to "function_summary" - (!srcfileloc "cgraph.h" 2206) - (!fields 1 - (!pair "clone_info" - (!type already_seen 1073) - (!srcfileloc "cgraph.h" 2206) - nil ) - ) - ) - - (!type struct 1083 - (!type pointer 1084 nil gc_used - (!type already_seen 1083) - ) - gc_pointed_to "symbol_table" - (!srcfileloc "cgraph.h" 2552) - (!fields 33 - (!pair "DEBUG_FUNCTION" - (!type already_seen 2) - (!srcfileloc "cgraph.h" 2425) - nil ) - (!pair "cgraph_count" - (!type already_seen 2) - (!srcfileloc "cgraph.h" 2453) - nil ) - (!pair "cgraph_max_uid" - (!type already_seen 2) - (!srcfileloc "cgraph.h" 2454) - nil ) - (!pair "cgraph_max_summary_id" - (!type already_seen 2) - (!srcfileloc "cgraph.h" 2455) - nil ) - (!pair "edges_count" - (!type already_seen 2) - (!srcfileloc "cgraph.h" 2457) - nil ) - (!pair "edges_max_uid" - (!type already_seen 2) - (!srcfileloc "cgraph.h" 2458) - nil ) - (!pair "edges_max_summary_id" - (!type already_seen 2) - (!srcfileloc "cgraph.h" 2459) - nil ) - (!pair "cgraph_released_summary_ids" - (!type user_struct 1085 nil gc_unused "vec" - (!srcfileloc "cgraph.h" 2462) - (!fields 1 - (!pair "int" - (!type already_seen 374) - (!srcfileloc "cgraph.h" 2462) - nil ) - ) - ) - (!srcfileloc "cgraph.h" 2462) - (!options - (!option skip string "") - ) - ) - (!pair "edge_released_summary_ids" - (!type already_seen 1085) - (!srcfileloc "cgraph.h" 2465) - (!options - (!option skip string "") - ) - ) - (!pair "nodes" - (!type already_seen 319) - (!srcfileloc "cgraph.h" 2470) - nil ) - (!pair "asmnodes" - (!type already_seen 1056) - (!srcfileloc "cgraph.h" 2471) - nil ) - (!pair "asm_last_node" - (!type already_seen 1056) - (!srcfileloc "cgraph.h" 2472) - nil ) - (!pair "order" - (!type already_seen 2) - (!srcfileloc "cgraph.h" 2477) - nil ) - (!pair "max_unit" - (!type already_seen 2) - (!srcfileloc "cgraph.h" 2480) - nil ) - (!pair "global_info_ready" - (!type already_seen 2) - (!srcfileloc "cgraph.h" 2483) - nil ) - (!pair "state" - (!type already_seen 2) - (!srcfileloc "cgraph.h" 2485) - nil ) - (!pair "function_flags_ready" - (!type already_seen 2) - (!srcfileloc "cgraph.h" 2487) - nil ) - (!pair "cpp_implicit_aliases_done" - (!type already_seen 2) - (!srcfileloc "cgraph.h" 2489) - nil ) - (!pair "section_hash" - (!type pointer 1086 nil gc_used - (!type user_struct 1087 - (!type already_seen 1086) - gc_pointed_to "hash_table" - (!srcfileloc "cgraph.h" 2492) - (!fields 1 - (!pair "section_name_hasher" - (!type already_seen 1039) - (!srcfileloc "cgraph.h" 2492) - nil ) - ) - ) - ) - (!srcfileloc "cgraph.h" 2492) - nil ) - (!pair "assembler_name_hash" - (!type pointer 1088 nil gc_used - (!type user_struct 1089 - (!type already_seen 1088) - gc_pointed_to "hash_table" - (!srcfileloc "cgraph.h" 2495) - (!fields 1 - (!pair "asmname_hasher" - (!type already_seen 1067) - (!srcfileloc "cgraph.h" 2495) - nil ) - ) - ) - ) - (!srcfileloc "cgraph.h" 2495) - nil ) - (!pair "init_priority_hash" - (!type pointer 1090 nil gc_used - (!type user_struct 1091 - (!type already_seen 1090) - gc_pointed_to "hash_map" - (!srcfileloc "cgraph.h" 2498) - (!fields 2 - (!pair "symbol_priority_map" - (!type already_seen 1041) - (!srcfileloc "cgraph.h" 2498) - nil ) - (!pair "symtab_node" - (!type already_seen 319) - (!srcfileloc "cgraph.h" 2498) - nil ) - ) - ) - ) - (!srcfileloc "cgraph.h" 2498) - nil ) - (!pair "dump_file" - (!type pointer 1092 nil gc_unused - (!type undefined 1093 - (!type already_seen 1092) - gc_unused "FILE" - (!srcfileloc "cgraph.h" 2500) - ) - ) - (!srcfileloc "cgraph.h" 2500) - (!options - (!option skip string "") - ) - ) - (!pair "ipa_clones_dump_file" - (!type already_seen 1092) - (!srcfileloc "cgraph.h" 2502) - (!options - (!option skip string "") - ) - ) - (!pair "cloned_nodes" - (!type user_struct 1094 nil gc_unused "hash_set" - (!srcfileloc "cgraph.h" 2504) - (!fields 1 - (!pair "cgraph_node" - (!type already_seen 817) - (!srcfileloc "cgraph.h" 2504) - nil ) - ) - ) - (!srcfileloc "cgraph.h" 2504) - (!options - (!option skip string "") - ) - ) - (!pair "m_thunks" - (!type already_seen 1071) - (!srcfileloc "cgraph.h" 2507) - nil ) - (!pair "m_clones" - (!type already_seen 1082) - (!srcfileloc "cgraph.h" 2510) - nil ) - (!pair "m_first_edge_removal_hook" - (!type already_seen 1058) - (!srcfileloc "cgraph.h" 2539) - (!options - (!option skip string "") - ) - ) - (!pair "m_first_cgraph_removal_hook" - (!type already_seen 1060) - (!srcfileloc "cgraph.h" 2541) - (!options - (!option skip string "") - ) - ) - (!pair "m_first_edge_duplicated_hook" - (!type already_seen 1064) - (!srcfileloc "cgraph.h" 2543) - (!options - (!option skip string "") - ) - ) - (!pair "m_first_cgraph_duplicated_hook" - (!type already_seen 1066) - (!srcfileloc "cgraph.h" 2545) - (!options - (!option skip string "") - ) - ) - (!pair "m_first_cgraph_insertion_hook" - (!type already_seen 1060) - (!srcfileloc "cgraph.h" 2547) - (!options - (!option skip string "") - ) - ) - (!pair "m_first_varpool_insertion_hook" - (!type already_seen 1062) - (!srcfileloc "cgraph.h" 2549) - (!options - (!option skip string "") - ) - ) - (!pair "m_first_varpool_removal_hook" - (!type already_seen 1062) - (!srcfileloc "cgraph.h" 2551) - (!options - (!option skip string "") - ) - ) - ) - (!options - (!option tag string "SYMTAB") - ) - 4095 nil nil ) - - (!type already_seen 1085) - - (!type already_seen 1087) - - (!type already_seen 1089) - - (!type already_seen 1091) - - (!type already_seen 1093) - - (!type already_seen 1094) - - (!type struct 1095 nil gc_pointed_to "constant_descriptor_tree" - (!srcfileloc "cgraph.h" 3093) - (!fields 3 - (!pair "rtl" - (!type already_seen 100) - (!srcfileloc "cgraph.h" 3084) - nil ) - (!pair "value" - (!type already_seen 23) - (!srcfileloc "cgraph.h" 3087) - nil ) - (!pair "hash" - (!type already_seen 2) - (!srcfileloc "cgraph.h" 3092) - nil ) - ) - (!options - (!option for_user string "") - ) - 4095 nil nil ) - - (!type struct 1096 nil gc_used "tree_descriptor_hasher" - (!srcfileloc "varasm.cc" 3072) - (!fields 0 ) - nil 4095 nil nil ) - - (!type struct 1097 nil gc_unused "symbol_table_test"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1098 nil gc_used "unprocessed_thunk" - (!srcfileloc "symtab-thunks.cc" 62) - (!fields 2 - (!pair "node" - (!type already_seen 817) - (!srcfileloc "symtab-thunks.cc" 57) - nil ) - (!pair "info" - (!type already_seen 1069) - (!srcfileloc "symtab-thunks.cc" 58) - nil ) - ) - nil 4095 nil nil ) - - (!type user_struct 1099 - (!type pointer 1100 nil gc_used - (!type already_seen 1099) - ) - gc_pointed_to "vec" - (!srcfileloc "symtab-thunks.cc" 62) - (!fields 2 - (!pair "va_gc" - (!type already_seen 80) - (!srcfileloc "symtab-thunks.cc" 62) - nil ) - (!pair "unprocessed_thunk" - (!type already_seen 1098) - (!srcfileloc "symtab-thunks.cc" 62) - nil ) - ) - ) - - (!type user_struct 1101 nil gc_unused "thunk_infos_t" - (!srcfileloc "symtab-thunks.cc" 78) - (!fields 0 ) - ) - - (!type already_seen 1075) - - (!type already_seen 1077) - - (!type struct 1102 nil gc_unused "reload"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type already_seen 601) - - (!type struct 1103 nil gc_unused "reg_equivs_t"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1104 nil gc_unused "insn_chain"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1105 nil gc_unused "saved_hard_reg"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1106 nil gc_used "alias_set_hash" - (!srcfileloc "alias.cc" 148) - (!fields 0 ) - nil 4095 nil nil ) - - (!type user_struct 1107 - (!type pointer 1108 nil gc_used - (!type already_seen 1107) - ) - gc_pointed_to "hash_map" - (!srcfileloc "alias.cc" 148) - (!fields 2 - (!pair "int" - (!type already_seen 374) - (!srcfileloc "alias.cc" 148) - nil ) - (!pair "alias_set_hash" - (!type already_seen 1106) - (!srcfileloc "alias.cc" 148) - nil ) - ) - ) - - (!type struct 1109 - (!type pointer 1110 nil gc_used - (!type already_seen 1109) - ) - gc_pointed_to "alias_set_entry" - (!srcfileloc "alias.cc" 149) - (!fields 5 - (!pair "alias_set" - (!type already_seen 2) - (!srcfileloc "alias.cc" 128) - nil ) - (!pair "has_zero_child" - (!type already_seen 2) - (!srcfileloc "alias.cc" 132) - nil ) - (!pair "is_pointer" - (!type already_seen 2) - (!srcfileloc "alias.cc" 137) - nil ) - (!pair "has_pointer" - (!type already_seen 2) - (!srcfileloc "alias.cc" 139) - nil ) - (!pair "children" - (!type already_seen 1108) - (!srcfileloc "alias.cc" 148) - nil ) - ) - nil 4095 nil nil ) - - (!type user_struct 1111 - (!type pointer 1112 nil gc_used - (!type already_seen 1111) - ) - gc_pointed_to "vec" - (!srcfileloc "alias.cc" 280) - (!fields 2 - (!pair "va_gc" - (!type already_seen 80) - (!srcfileloc "alias.cc" 280) - nil ) - (!pair "alias_set_entry" - (!type already_seen 1110) - (!srcfileloc "alias.cc" 280) - nil ) - ) - ) - - (!type struct 1113 nil gc_unused "elt_list"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1114 nil gc_unused "expand_value_data"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1115 nil gc_unused "cselib_hasher"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1116 nil gc_unused "cselib_record_autoinc_data"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1117 nil gc_used "function_version_hasher" - (!srcfileloc "cgraph.cc" 122) - (!fields 0 ) - nil 4095 nil nil ) - - (!type user_struct 1118 - (!type pointer 1119 nil gc_used - (!type already_seen 1118) - ) - gc_pointed_to "hash_table" - (!srcfileloc "cgraph.cc" 122) - (!fields 1 - (!pair "function_version_hasher" - (!type already_seen 1117) - (!srcfileloc "cgraph.cc" 122) - nil ) - ) - ) - - (!type struct 1120 nil gc_unused "set_pure_flag_info"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type already_seen 326) - - (!type struct 1121 nil gc_used "ipa_bit_ggc_hash_traits" - (!srcfileloc "ipa-prop.cc" 109) - (!fields 0 ) - nil 4095 nil nil ) - - (!type user_struct 1122 - (!type pointer 1123 nil gc_used - (!type already_seen 1122) - ) - gc_pointed_to "hash_table" - (!srcfileloc "ipa-prop.cc" 109) - (!fields 1 - (!pair "ipa_bit_ggc_hash_traits" - (!type already_seen 1121) - (!srcfileloc "ipa-prop.cc" 109) - nil ) - ) - ) - - (!type struct 1124 nil gc_used "ipa_vr_ggc_hash_traits" - (!srcfileloc "ipa-prop.cc" 156) - (!fields 0 ) - nil 4095 nil nil ) - - (!type user_struct 1125 - (!type pointer 1126 nil gc_used - (!type already_seen 1125) - ) - gc_pointed_to "hash_table" - (!srcfileloc "ipa-prop.cc" 156) - (!fields 1 - (!pair "ipa_vr_ggc_hash_traits" - (!type already_seen 1124) - (!srcfileloc "ipa-prop.cc" 156) - nil ) - ) - ) - - (!type struct 1127 - (!type pointer 1128 nil gc_unused - (!type already_seen 1127) - ) - gc_unused "ipa_cst_ref_desc"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1129 nil gc_used "ipa_jump_func" - (!srcfileloc "ipa-prop.h" 970) - (!fields 5 - (!pair "agg" - (!type struct 1130 nil gc_used "ipa_agg_jump_function" - (!srcfileloc "ipa-prop.h" 193) - (!fields 2 - (!pair "items" - (!type pointer 1131 nil gc_used - (!type user_struct 1132 - (!type already_seen 1131) - gc_pointed_to "vec" - (!srcfileloc "ipa-prop.h" 190) - (!fields 2 - (!pair "va_gc" - (!type already_seen 80) - (!srcfileloc "ipa-prop.h" 190) - nil ) - (!pair "ipa_agg_jf_item" - (!type struct 1133 nil gc_used "ipa_agg_jf_item" - (!srcfileloc "ipa-prop.h" 190) - (!fields 4 - (!pair "offset" - (!type already_seen 2) - (!srcfileloc "ipa-prop.h" 165) - nil ) - (!pair "type" - (!type already_seen 23) - (!srcfileloc "ipa-prop.h" 168) - nil ) - (!pair "jftype" - (!type already_seen 2) - (!srcfileloc "ipa-prop.h" 171) - nil ) - (!pair "value" - (!type union 1134 nil gc_used "jump_func_agg_value" - (!srcfileloc "ipa-prop.h" 182) - (!fields 3 - (!pair "constant" - (!type already_seen 23) - (!srcfileloc "ipa-prop.h" 179) - (!options - (!option tag string "IPA_JF_CONST") - ) - ) - (!pair "pass_through" - (!type struct 1135 nil gc_used "ipa_pass_through_data" - (!srcfileloc "ipa-prop.h" 121) - (!fields 5 - (!pair "operand" - (!type already_seen 23) - (!srcfileloc "ipa-prop.h" 98) - nil ) - (!pair "formal_id" - (!type already_seen 2) - (!srcfileloc "ipa-prop.h" 100) - nil ) - (!pair "operation" - (!type already_seen 2) - (!srcfileloc "ipa-prop.h" 110) - nil ) - (!pair "agg_preserved" - (!type already_seen 2) - (!srcfileloc "ipa-prop.h" 117) - nil ) - (!pair "refdesc_decremented" - (!type already_seen 2) - (!srcfileloc "ipa-prop.h" 120) - nil ) - ) - nil 4095 nil nil ) - (!srcfileloc "ipa-prop.h" 180) - (!options - (!option tag string "IPA_JF_PASS_THROUGH") - ) - ) - (!pair "load_agg" - (!type struct 1136 nil gc_used "ipa_load_agg_data" - (!srcfileloc "ipa-prop.h" 141) - (!fields 4 - (!pair "pass_through" - (!type already_seen 1135) - (!srcfileloc "ipa-prop.h" 132) - nil ) - (!pair "type" - (!type already_seen 23) - (!srcfileloc "ipa-prop.h" 134) - nil ) - (!pair "offset" - (!type already_seen 2) - (!srcfileloc "ipa-prop.h" 136) - nil ) - (!pair "by_ref" - (!type already_seen 2) - (!srcfileloc "ipa-prop.h" 140) - nil ) - ) - nil 4095 nil nil ) - (!srcfileloc "ipa-prop.h" 181) - (!options - (!option tag string "IPA_JF_LOAD_AGG") - ) - ) - ) - nil 4095 nil ) - (!srcfileloc "ipa-prop.h" 182) - (!options - (!option desc string "%1.jftype") - ) - ) - ) - nil 4095 nil nil ) - (!srcfileloc "ipa-prop.h" 190) - nil ) - ) - ) - ) - (!srcfileloc "ipa-prop.h" 190) - nil ) - (!pair "by_ref" - (!type already_seen 2) - (!srcfileloc "ipa-prop.h" 192) - nil ) - ) - nil 4095 nil nil ) - (!srcfileloc "ipa-prop.h" 327) - nil ) - (!pair "bits" - (!type pointer 1137 nil gc_used - (!type struct 1138 - (!type already_seen 1137) - gc_pointed_to "ipa_bits" - (!srcfileloc "ipa-prop.h" 305) - (!fields 2 - (!pair "value" - (!type already_seen 2) - (!srcfileloc "ipa-prop.h" 300) - nil ) - (!pair "mask" - (!type already_seen 2) - (!srcfileloc "ipa-prop.h" 304) - nil ) - ) - nil 4095 nil nil ) - ) - (!srcfileloc "ipa-prop.h" 332) - nil ) - (!pair "m_vr" - (!type pointer 1139 nil gc_used - (!type user_struct 1140 - (!type already_seen 1139) - gc_pointed_to "int_range<1>" - (!srcfileloc "value-range.h" 491) - (!fields 1 - (!pair "1" - (!type undefined 1141 nil gc_unused "1" - (!srcfileloc "value-range.h" 491) - ) - (!srcfileloc "value-range.h" 491) - nil ) - ) - ) - ) - (!srcfileloc "ipa-prop.h" 337) - nil ) - (!pair "type" - (!type already_seen 2) - (!srcfileloc "ipa-prop.h" 339) - nil ) - (!pair "value" - (!type union 1142 nil gc_used "jump_func_value" - (!srcfileloc "ipa-prop.h" 348) - (!fields 3 - (!pair "constant" - (!type struct 1143 nil gc_used "ipa_constant_data" - (!srcfileloc "ipa-prop.h" 90) - (!fields 2 - (!pair "value" - (!type already_seen 23) - (!srcfileloc "ipa-prop.h" 87) - nil ) - (!pair "rdesc" - (!type already_seen 1128) - (!srcfileloc "ipa-prop.h" 89) - (!options - (!option skip string "") - ) - ) - ) - nil 4095 nil nil ) - (!srcfileloc "ipa-prop.h" 345) - (!options - (!option tag string "IPA_JF_CONST") - ) - ) - (!pair "pass_through" - (!type already_seen 1135) - (!srcfileloc "ipa-prop.h" 346) - (!options - (!option tag string "IPA_JF_PASS_THROUGH") - ) - ) - (!pair "ancestor" - (!type struct 1144 nil gc_used "ipa_ancestor_jf_data" - (!srcfileloc "ipa-prop.h" 156) - (!fields 4 - (!pair "offset" - (!type already_seen 2) - (!srcfileloc "ipa-prop.h" 149) - nil ) - (!pair "formal_id" - (!type already_seen 2) - (!srcfileloc "ipa-prop.h" 151) - nil ) - (!pair "agg_preserved" - (!type already_seen 2) - (!srcfileloc "ipa-prop.h" 153) - nil ) - (!pair "keep_null" - (!type already_seen 2) - (!srcfileloc "ipa-prop.h" 155) - nil ) - ) - nil 4095 nil nil ) - (!srcfileloc "ipa-prop.h" 347) - (!options - (!option tag string "IPA_JF_ANCESTOR") - ) - ) - ) - nil 4095 nil ) - (!srcfileloc "ipa-prop.h" 348) - (!options - (!option desc string "%1.type") - ) - ) - ) - nil 4095 nil nil ) - - (!type already_seen 1133) - - (!type struct 1145 nil gc_unused "prop_type_change_info"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1146 nil gc_unused "ipa_bb_info"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1147 nil gc_unused "ipa_param_aa_status"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1148 nil gc_pointed_to "ipa_node_params" - (!srcfileloc "ipa-prop.h" 658) - (!fields 14 - (!pair "descriptors" - (!type pointer 1149 nil gc_used - (!type user_struct 1150 - (!type already_seen 1149) - gc_pointed_to "vec" - (!srcfileloc "ipa-prop.h" 624) - (!fields 2 - (!pair "va_gc" - (!type already_seen 80) - (!srcfileloc "ipa-prop.h" 624) - nil ) - (!pair "ipa_param_descriptor" - (!type struct 1151 nil gc_used "ipa_param_descriptor" - (!srcfileloc "ipa-prop.h" 624) - (!fields 8 - (!pair "decl_or_type" - (!type already_seen 23) - (!srcfileloc "ipa-prop.h" 589) - nil ) - (!pair "controlled_uses" - (!type already_seen 2) - (!srcfileloc "ipa-prop.h" 594) - nil ) - (!pair "move_cost" - (!type already_seen 2) - (!srcfileloc "ipa-prop.h" 595) - nil ) - (!pair "used" - (!type already_seen 2) - (!srcfileloc "ipa-prop.h" 597) - nil ) - (!pair "used_by_ipa_predicates" - (!type already_seen 2) - (!srcfileloc "ipa-prop.h" 598) - nil ) - (!pair "used_by_indirect_call" - (!type already_seen 2) - (!srcfileloc "ipa-prop.h" 599) - nil ) - (!pair "used_by_polymorphic_call" - (!type already_seen 2) - (!srcfileloc "ipa-prop.h" 600) - nil ) - (!pair "load_dereferenced" - (!type already_seen 2) - (!srcfileloc "ipa-prop.h" 606) - nil ) - ) - nil 4095 nil nil ) - (!srcfileloc "ipa-prop.h" 624) - nil ) - ) - ) - ) - (!srcfileloc "ipa-prop.h" 624) - nil ) - (!pair "lattices" - (!type pointer 1152 nil gc_unused - (!type struct 1153 - (!type already_seen 1152) - gc_unused "ipcp_param_lattices"nil - (!fields 0 ) - nil 0 nil nil ) - ) - (!srcfileloc "ipa-prop.h" 627) - (!options - (!option skip string "") - ) - ) - (!pair "ipcp_orig_node" - (!type already_seen 817) - (!srcfileloc "ipa-prop.h" 630) - (!options - (!option skip string "") - ) - ) - (!pair "known_csts" - (!type user_struct 1154 nil gc_unused "vec" - (!srcfileloc "ipa-prop.h" 633) - (!fields 1 - (!pair "tree" - (!type already_seen 23) - (!srcfileloc "ipa-prop.h" 633) - nil ) - ) - ) - (!srcfileloc "ipa-prop.h" 633) - (!options - (!option skip string "") - ) - ) - (!pair "known_contexts" - (!type user_struct 1155 nil gc_unused "vec" - (!srcfileloc "ipa-prop.h" 636) - (!fields 1 - (!pair "ipa_polymorphic_call_context" - (!type already_seen 822) - (!srcfileloc "ipa-prop.h" 636) - nil ) - ) - ) - (!srcfileloc "ipa-prop.h" 636) - (!options - (!option skip string "") - ) - ) - (!pair "analysis_done" - (!type already_seen 2) - (!srcfileloc "ipa-prop.h" 639) - nil ) - (!pair "node_enqueued" - (!type already_seen 2) - (!srcfileloc "ipa-prop.h" 641) - nil ) - (!pair "do_clone_for_all_contexts" - (!type already_seen 2) - (!srcfileloc "ipa-prop.h" 644) - nil ) - (!pair "is_all_contexts_clone" - (!type already_seen 2) - (!srcfileloc "ipa-prop.h" 646) - nil ) - (!pair "node_dead" - (!type already_seen 2) - (!srcfileloc "ipa-prop.h" 649) - nil ) - (!pair "node_within_scc" - (!type already_seen 2) - (!srcfileloc "ipa-prop.h" 651) - nil ) - (!pair "node_is_self_scc" - (!type already_seen 2) - (!srcfileloc "ipa-prop.h" 653) - nil ) - (!pair "node_calling_single_call" - (!type already_seen 2) - (!srcfileloc "ipa-prop.h" 655) - nil ) - (!pair "versionable" - (!type already_seen 2) - (!srcfileloc "ipa-prop.h" 657) - nil ) - ) - (!options - (!option for_user string "") - ) - 4095 nil nil ) - - (!type struct 1156 nil gc_unused "ipa_known_agg_contents_list"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type already_seen 1136) - - (!type struct 1157 nil gc_unused "analysis_dom_walker"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1158 nil gc_unused "ipa_func_body_info"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1159 nil gc_pointed_to "ipa_edge_args" - (!srcfileloc "ipa-prop.h" 972) - (!fields 2 - (!pair "jump_functions" - (!type pointer 1160 nil gc_used - (!type user_struct 1161 - (!type already_seen 1160) - gc_pointed_to "vec" - (!srcfileloc "ipa-prop.h" 970) - (!fields 2 - (!pair "va_gc" - (!type already_seen 80) - (!srcfileloc "ipa-prop.h" 970) - nil ) - (!pair "ipa_jump_func" - (!type already_seen 1129) - (!srcfileloc "ipa-prop.h" 970) - nil ) - ) - ) - ) - (!srcfileloc "ipa-prop.h" 970) - nil ) - (!pair "polymorphic_call_contexts" - (!type pointer 1162 nil gc_used - (!type user_struct 1163 - (!type already_seen 1162) - gc_pointed_to "vec" - (!srcfileloc "ipa-prop.h" 971) - (!fields 2 - (!pair "va_gc" - (!type already_seen 80) - (!srcfileloc "ipa-prop.h" 971) - nil ) - (!pair "ipa_polymorphic_call_context" - (!type already_seen 822) - (!srcfileloc "ipa-prop.h" 971) - nil ) - ) - ) - ) - (!srcfileloc "ipa-prop.h" 971) - nil ) - ) - (!options - (!option for_user string "") - ) - 4095 nil nil ) - - (!type struct 1164 nil gc_unused "bitpack_d"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1165 nil gc_unused "data_in"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1166 nil gc_unused "output_block"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1167 nil gc_unused "ipcp_modif_dom_walker"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1168 nil gc_unused "ipcp_value_source"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1169 nil gc_unused "ipcp_value_base"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1170 nil gc_unused "ipcp_value"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1171 nil gc_unused "ipcp_lattice"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1172 nil gc_unused "ipcp_agg_lattice"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1173 nil gc_unused "ipcp_bits_lattice"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1174 nil gc_unused "ipcp_vr_lattice"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type already_seen 1153) - - (!type struct 1175 nil gc_unused "caller_statistics"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1176 nil gc_unused "value_topo_info"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1177 nil gc_unused "ipa_topo_info"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1178 - (!type pointer 1179 nil gc_used - (!type already_seen 1178) - ) - gc_pointed_to "ipa_fn_summary" - (!srcfileloc "ipa-fnsummary.h" 219) - (!fields 15 - (!pair "min_size" - (!type already_seen 2) - (!srcfileloc "ipa-fnsummary.h" 159) - nil ) - (!pair "inlinable" - (!type already_seen 2) - (!srcfileloc "ipa-fnsummary.h" 162) - nil ) - (!pair "single_caller" - (!type already_seen 2) - (!srcfileloc "ipa-fnsummary.h" 165) - nil ) - (!pair "fp_expressions" - (!type already_seen 2) - (!srcfileloc "ipa-fnsummary.h" 167) - nil ) - (!pair "target_info" - (!type already_seen 2) - (!srcfileloc "ipa-fnsummary.h" 171) - nil ) - (!pair "estimated_stack_size" - (!type already_seen 2) - (!srcfileloc "ipa-fnsummary.h" 178) - nil ) - (!pair "time" - (!type already_seen 1031) - (!srcfileloc "ipa-fnsummary.h" 180) - (!options - (!option skip string "") - ) - ) - (!pair "conds" - (!type pointer 1180 nil gc_used - (!type user_struct 1181 - (!type already_seen 1180) - gc_pointed_to "vec" - (!srcfileloc "ipa-predicate.h" 94) - (!fields 2 - (!pair "va_gc" - (!type already_seen 80) - (!srcfileloc "ipa-predicate.h" 94) - nil ) - (!pair "condition" - (!type struct 1182 nil gc_used "condition" - (!srcfileloc "ipa-predicate.h" 94) - (!fields 8 - (!pair "offset" - (!type already_seen 2) - (!srcfileloc "ipa-predicate.h" 52) - nil ) - (!pair "type" - (!type already_seen 23) - (!srcfileloc "ipa-predicate.h" 54) - nil ) - (!pair "val" - (!type already_seen 23) - (!srcfileloc "ipa-predicate.h" 55) - nil ) - (!pair "operand_num" - (!type already_seen 2) - (!srcfileloc "ipa-predicate.h" 56) - nil ) - (!pair "code" - (!type already_seen 2) - (!srcfileloc "ipa-predicate.h" 57) - nil ) - (!pair "agg_contents" - (!type already_seen 2) - (!srcfileloc "ipa-predicate.h" 60) - nil ) - (!pair "by_ref" - (!type already_seen 2) - (!srcfileloc "ipa-predicate.h" 63) - nil ) - (!pair "param_ops" - (!type pointer 1183 nil gc_used - (!type user_struct 1184 - (!type already_seen 1183) - gc_pointed_to "vec" - (!srcfileloc "ipa-predicate.h" 46) - (!fields 2 - (!pair "va_gc" - (!type already_seen 80) - (!srcfileloc "ipa-predicate.h" 46) - nil ) - (!pair "expr_eval_op" - (!type struct 1185 nil gc_used "expr_eval_op" - (!srcfileloc "ipa-predicate.h" 46) - (!fields 4 - (!pair "type" - (!type already_seen 23) - (!srcfileloc "ipa-predicate.h" 37) - nil ) - (!pair "val" - (!type array 1186 nil gc_used "2" - (!type already_seen 23) - ) - (!srcfileloc "ipa-predicate.h" 39) - nil ) - (!pair "index" - (!type already_seen 2) - (!srcfileloc "ipa-predicate.h" 41) - nil ) - (!pair "code" - (!type already_seen 2) - (!srcfileloc "ipa-predicate.h" 43) - nil ) - ) - nil 4095 nil nil ) - (!srcfileloc "ipa-predicate.h" 46) - nil ) - ) - ) - ) - (!srcfileloc "ipa-predicate.h" 66) - nil ) - ) - nil 4095 nil nil ) - (!srcfileloc "ipa-predicate.h" 94) - nil ) - ) - ) - ) - (!srcfileloc "ipa-fnsummary.h" 184) - nil ) - (!pair "size_time_table" - (!type user_struct 1187 nil gc_unused "auto_vec" - (!srcfileloc "ipa-fnsummary.h" 189) - (!fields 1 - (!pair "size_time_entry" - (!type struct 1188 nil gc_unused "size_time_entry" - (!srcfileloc "ipa-fnsummary.h" 189) - (!fields 0 ) - nil 4095 nil nil ) - (!srcfileloc "ipa-fnsummary.h" 189) - nil ) - ) - ) - (!srcfileloc "ipa-fnsummary.h" 189) - (!options - (!option skip string "") - ) - ) - (!pair "call_size_time_table" - (!type user_struct 1189 nil gc_unused "vec" - (!srcfileloc "ipa-fnsummary.h" 193) - (!fields 3 - (!pair "vl_ptr" - (!type already_seen 831) - (!srcfileloc "ipa-fnsummary.h" 193) - nil ) - (!pair "va_heap" - (!type already_seen 832) - (!srcfileloc "ipa-fnsummary.h" 193) - nil ) - (!pair "size_time_entry" - (!type already_seen 1188) - (!srcfileloc "ipa-fnsummary.h" 193) - nil ) - ) - ) - (!srcfileloc "ipa-fnsummary.h" 193) - (!options - (!option skip string "") - ) - ) - (!pair "loop_iterations" - (!type pointer 1190 nil gc_used - (!type user_struct 1191 - (!type already_seen 1190) - gc_pointed_to "vec" - (!srcfileloc "ipa-fnsummary.h" 196) - (!fields 2 - (!pair "va_gc" - (!type already_seen 80) - (!srcfileloc "ipa-fnsummary.h" 196) - nil ) - (!pair "ipa_freqcounting_predicate" - (!type struct 1192 nil gc_used "ipa_freqcounting_predicate" - (!srcfileloc "ipa-fnsummary.h" 196) - (!fields 2 - (!pair "freq" - (!type already_seen 1031) - (!srcfileloc "ipa-fnsummary.h" 115) - nil ) - (!pair "predicate" - (!type pointer 1193 nil gc_unused - (!type struct 1194 - (!type already_seen 1193) - gc_unused "ipa_predicate" - (!srcfileloc "ipa-fnsummary.h" 117) - (!fields 0 ) - nil 4095 nil nil ) - ) - (!srcfileloc "ipa-fnsummary.h" 117) - (!options - (!option skip string "") - ) - ) - ) - nil 4095 nil nil ) - (!srcfileloc "ipa-fnsummary.h" 196) - nil ) - ) - ) - ) - (!srcfileloc "ipa-fnsummary.h" 196) - nil ) - (!pair "loop_strides" - (!type already_seen 1190) - (!srcfileloc "ipa-fnsummary.h" 198) - nil ) - (!pair "builtin_constant_p_parms" - (!type user_struct 1195 nil gc_unused "vec" - (!srcfileloc "ipa-fnsummary.h" 200) - (!fields 3 - (!pair "vl_ptr" - (!type already_seen 831) - (!srcfileloc "ipa-fnsummary.h" 200) - nil ) - (!pair "va_heap" - (!type already_seen 832) - (!srcfileloc "ipa-fnsummary.h" 200) - nil ) - (!pair "int" - (!type already_seen 374) - (!srcfileloc "ipa-fnsummary.h" 200) - nil ) - ) - ) - (!srcfileloc "ipa-fnsummary.h" 200) - (!options - (!option skip string "") - ) - ) - (!pair "growth" - (!type already_seen 2) - (!srcfileloc "ipa-fnsummary.h" 206) - nil ) - (!pair "scc_no" - (!type already_seen 2) - (!srcfileloc "ipa-fnsummary.h" 208) - nil ) - ) - nil 4095 nil nil ) - - (!type struct 1196 nil gc_unused "edge_clone_summary"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1197 nil gc_unused "edge_clone_summary_t"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1198 nil gc_unused "gather_other_count_struct"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1199 nil gc_unused "desc_incoming_count_struct"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1200 nil gc_unused "symbol_and_index_together"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1201 nil gc_used "ipa_argagg_value" - (!srcfileloc "ipa-prop.h" 916) - (!fields 4 - (!pair "value" - (!type already_seen 23) - (!srcfileloc "ipa-prop.h" 207) - nil ) - (!pair "unit_offset" - (!type already_seen 2) - (!srcfileloc "ipa-prop.h" 209) - nil ) - (!pair "index" - (!type already_seen 2) - (!srcfileloc "ipa-prop.h" 213) - nil ) - (!pair "by_ref" - (!type already_seen 2) - (!srcfileloc "ipa-prop.h" 215) - nil ) - ) - nil 4095 nil nil ) - - (!type struct 1202 nil gc_unused "pass_ipa_cp"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1203 nil gc_unused "ipa_dfs_info"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1204 - (!type pointer 1205 nil gc_used - (!type already_seen 1204) - ) - gc_pointed_to "odr_type_d" - (!srcfileloc "ipa-devirt.cc" 228) - (!fields 11 - (!pair "type" - (!type already_seen 23) - (!srcfileloc "ipa-devirt.cc" 204) - nil ) - (!pair "bases" - (!type user_struct 1206 nil gc_unused "vec" - (!srcfileloc "ipa-devirt.cc" 206) - (!fields 1 - (!pair "odr_type" - (!type already_seen 1205) - (!srcfileloc "ipa-devirt.cc" 206) - nil ) - ) - ) - (!srcfileloc "ipa-devirt.cc" 206) - (!options - (!option skip string "") - ) - ) - (!pair "derived_types" - (!type already_seen 1206) - (!srcfileloc "ipa-devirt.cc" 209) - (!options - (!option skip string "") - ) - ) - (!pair "types" - (!type already_seen 85) - (!srcfileloc "ipa-devirt.cc" 212) - nil ) - (!pair "types_set" - (!type already_seen 465) - (!srcfileloc "ipa-devirt.cc" 214) - (!options - (!option skip string "") - ) - ) - (!pair "id" - (!type already_seen 2) - (!srcfileloc "ipa-devirt.cc" 217) - nil ) - (!pair "anonymous_namespace" - (!type already_seen 2) - (!srcfileloc "ipa-devirt.cc" 219) - nil ) - (!pair "all_derivations_known" - (!type already_seen 2) - (!srcfileloc "ipa-devirt.cc" 221) - nil ) - (!pair "odr_violated" - (!type already_seen 2) - (!srcfileloc "ipa-devirt.cc" 223) - nil ) - (!pair "rtti_broken" - (!type already_seen 2) - (!srcfileloc "ipa-devirt.cc" 225) - nil ) - (!pair "tbaa_enabled" - (!type already_seen 2) - (!srcfileloc "ipa-devirt.cc" 227) - nil ) - ) - nil 4095 nil nil ) - - (!type already_seen 1080) - - (!type already_seen 1079) - - (!type struct 1207 nil gc_unused "ipa_param_body_replacement"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1208 nil gc_unused "ipa_param_body_adjustments"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1209 - (!type pointer 1210 nil gc_used - (!type already_seen 1209) - ) - gc_pointed_to "param_access" - (!srcfileloc "ipa-sra.cc" 126) - (!fields 6 - (!pair "type" - (!type already_seen 23) - (!srcfileloc "ipa-sra.cc" 109) - nil ) - (!pair "alias_ptr_type" - (!type already_seen 23) - (!srcfileloc "ipa-sra.cc" 113) - nil ) - (!pair "unit_offset" - (!type already_seen 2) - (!srcfileloc "ipa-sra.cc" 117) - nil ) - (!pair "unit_size" - (!type already_seen 2) - (!srcfileloc "ipa-sra.cc" 118) - nil ) - (!pair "certain" - (!type already_seen 2) - (!srcfileloc "ipa-sra.cc" 123) - nil ) - (!pair "reverse" - (!type already_seen 2) - (!srcfileloc "ipa-sra.cc" 125) - nil ) - ) - nil 4095 nil nil ) - - (!type struct 1211 nil gc_unused "gensum_param_access"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type user_struct 1212 - (!type pointer 1213 nil gc_used - (!type already_seen 1212) - ) - gc_pointed_to "vec" - (!srcfileloc "ipa-sra.cc" 170) - (!fields 2 - (!pair "va_gc" - (!type already_seen 80) - (!srcfileloc "ipa-sra.cc" 170) - nil ) - (!pair "param_access" - (!type already_seen 1210) - (!srcfileloc "ipa-sra.cc" 170) - nil ) - ) - ) - - (!type struct 1214 nil gc_used "isra_param_desc" - (!srcfileloc "ipa-sra.cc" 282) - (!fields 10 - (!pair "accesses" - (!type already_seen 1213) - (!srcfileloc "ipa-sra.cc" 170) - nil ) - (!pair "param_size_limit" - (!type already_seen 2) - (!srcfileloc "ipa-sra.cc" 173) - nil ) - (!pair "size_reached" - (!type already_seen 2) - (!srcfileloc "ipa-sra.cc" 175) - nil ) - (!pair "safe_size" - (!type already_seen 2) - (!srcfileloc "ipa-sra.cc" 179) - nil ) - (!pair "locally_unused" - (!type already_seen 2) - (!srcfileloc "ipa-sra.cc" 183) - nil ) - (!pair "split_candidate" - (!type already_seen 2) - (!srcfileloc "ipa-sra.cc" 185) - nil ) - (!pair "by_ref" - (!type already_seen 2) - (!srcfileloc "ipa-sra.cc" 187) - nil ) - (!pair "not_specially_constructed" - (!type already_seen 2) - (!srcfileloc "ipa-sra.cc" 191) - nil ) - (!pair "conditionally_dereferenceable" - (!type already_seen 2) - (!srcfileloc "ipa-sra.cc" 195) - nil ) - (!pair "safe_size_set" - (!type already_seen 2) - (!srcfileloc "ipa-sra.cc" 197) - nil ) - ) - nil 4095 nil nil ) - - (!type struct 1215 nil gc_unused "gensum_param_desc"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1216 nil gc_pointed_to "isra_func_summary" - (!srcfileloc "ipa-sra.cc" 300) - (!fields 5 - (!pair "m_parameters" - (!type pointer 1217 nil gc_used - (!type user_struct 1218 - (!type already_seen 1217) - gc_pointed_to "vec" - (!srcfileloc "ipa-sra.cc" 282) - (!fields 2 - (!pair "va_gc" - (!type already_seen 80) - (!srcfileloc "ipa-sra.cc" 282) - nil ) - (!pair "isra_param_desc" - (!type already_seen 1214) - (!srcfileloc "ipa-sra.cc" 282) - nil ) - ) - ) - ) - (!srcfileloc "ipa-sra.cc" 282) - nil ) - (!pair "m_candidate" - (!type already_seen 2) - (!srcfileloc "ipa-sra.cc" 286) - nil ) - (!pair "m_returns_value" - (!type already_seen 2) - (!srcfileloc "ipa-sra.cc" 289) - nil ) - (!pair "m_return_ignored" - (!type already_seen 2) - (!srcfileloc "ipa-sra.cc" 294) - nil ) - (!pair "m_queued" - (!type already_seen 2) - (!srcfileloc "ipa-sra.cc" 299) - nil ) - ) - (!options - (!option for_user string "") - ) - 4095 nil nil ) - - (!type already_seen 1218) - - (!type struct 1219 nil gc_unused "isra_param_flow"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1220 nil gc_unused "isra_call_summary"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type user_struct 1221 - (!type pointer 1222 nil gc_used - (!type already_seen 1221) - ) - gc_pointed_to "ipa_sra_function_summaries" - (!srcfileloc "ipa-sra.cc" 415) - (!fields 0 ) - ) - - (!type struct 1223 nil gc_unused "ipa_sra_call_summaries"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1224 nil gc_unused "scan_call_info"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1225 nil gc_unused "caller_issues"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1226 nil gc_unused "pass_ipa_sra"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type user_struct 1227 - (!type pointer 1228 nil gc_used - (!type already_seen 1227) - ) - gc_pointed_to "modref_tree" - (!srcfileloc "ipa-modref.h" 23) - (!fields 1 - (!pair "alias_set_type" - (!type already_seen 2) - (!srcfileloc "ipa-modref.h" 23) - nil ) - ) - ) - - (!type user_struct 1229 nil gc_unused "auto_vec" - (!srcfileloc "ipa-modref.h" 33) - (!fields 1 - (!pair "modref_access_node" - (!type struct 1230 nil gc_unused "modref_access_node" - (!srcfileloc "ipa-modref-tree.h" 138) - (!fields 7 - (!pair "offset" - (!type already_seen 2) - (!srcfileloc "ipa-modref-tree.h" 67) - nil ) - (!pair "size" - (!type already_seen 2) - (!srcfileloc "ipa-modref-tree.h" 68) - nil ) - (!pair "max_size" - (!type already_seen 2) - (!srcfileloc "ipa-modref-tree.h" 69) - nil ) - (!pair "parm_offset" - (!type already_seen 2) - (!srcfileloc "ipa-modref-tree.h" 72) - nil ) - (!pair "parm_index" - (!type already_seen 2) - (!srcfileloc "ipa-modref-tree.h" 76) - nil ) - (!pair "parm_offset_known" - (!type already_seen 2) - (!srcfileloc "ipa-modref-tree.h" 77) - nil ) - (!pair "adjustments" - (!type already_seen 8) - (!srcfileloc "ipa-modref-tree.h" 80) - nil ) - ) - nil 4095 nil nil ) - (!srcfileloc "ipa-modref.h" 33) - nil ) - ) - ) - - (!type already_seen 1230) - - (!type user_struct 1231 nil gc_unused "auto_vec" - (!srcfileloc "ipa-modref.h" 34) - (!fields 1 - (!pair "eaf_flags_t" - (!type already_seen 2) - (!srcfileloc "ipa-modref.h" 34) - nil ) - ) - ) - - (!type struct 1232 - (!type pointer 1233 nil gc_used - (!type already_seen 1232) - ) - gc_pointed_to "modref_summary" - (!srcfileloc "ipa-modref.h" 72) - (!fields 14 - (!pair "loads" - (!type already_seen 1228) - (!srcfileloc "ipa-modref.h" 31) - nil ) - (!pair "stores" - (!type already_seen 1228) - (!srcfileloc "ipa-modref.h" 32) - nil ) - (!pair "kills" - (!type already_seen 1229) - (!srcfileloc "ipa-modref.h" 33) - (!options - (!option skip string "") - ) - ) - (!pair "arg_flags" - (!type already_seen 1231) - (!srcfileloc "ipa-modref.h" 34) - (!options - (!option skip string "") - ) - ) - (!pair "retslot_flags" - (!type already_seen 2) - (!srcfileloc "ipa-modref.h" 36) - nil ) - (!pair "static_chain_flags" - (!type already_seen 2) - (!srcfileloc "ipa-modref.h" 37) - nil ) - (!pair "writes_errno" - (!type already_seen 2) - (!srcfileloc "ipa-modref.h" 39) - nil ) - (!pair "side_effects" - (!type already_seen 2) - (!srcfileloc "ipa-modref.h" 42) - nil ) - (!pair "nondeterministic" - (!type already_seen 2) - (!srcfileloc "ipa-modref.h" 45) - nil ) - (!pair "calls_interposable" - (!type already_seen 2) - (!srcfileloc "ipa-modref.h" 52) - nil ) - (!pair "load_accesses" - (!type already_seen 2) - (!srcfileloc "ipa-modref.h" 57) - nil ) - (!pair "global_memory_read" - (!type already_seen 2) - (!srcfileloc "ipa-modref.h" 62) - nil ) - (!pair "global_memory_written" - (!type already_seen 2) - (!srcfileloc "ipa-modref.h" 63) - nil ) - (!pair "try_dse" - (!type already_seen 2) - (!srcfileloc "ipa-modref.h" 64) - nil ) - ) - nil 4095 nil nil ) - - (!type struct 1234 nil gc_unused "fnspec_summary"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1235 nil gc_unused "fnspec_summaries_t"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1236 nil gc_unused "escape_entry"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1237 nil gc_unused "escape_summary"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1238 nil gc_unused "escape_summaries_t"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type user_struct 1239 nil gc_unused "modref_summaries" - (!srcfileloc "ipa-modref.cc" 230) - (!fields 0 ) - ) - - (!type struct 1240 - (!type pointer 1241 nil gc_used - (!type already_seen 1240) - ) - gc_pointed_to "modref_summary_lto" - (!srcfileloc "ipa-modref.cc" 372) - (!fields 10 - (!pair "loads" - (!type pointer 1242 nil gc_used - (!type user_struct 1243 - (!type already_seen 1242) - gc_pointed_to "modref_tree" - (!srcfileloc "ipa-modref.cc" 350) - (!fields 1 - (!pair "tree" - (!type already_seen 23) - (!srcfileloc "ipa-modref.cc" 350) - nil ) - ) - ) - ) - (!srcfileloc "ipa-modref.cc" 357) - nil ) - (!pair "stores" - (!type already_seen 1242) - (!srcfileloc "ipa-modref.cc" 358) - nil ) - (!pair "kills" - (!type already_seen 1229) - (!srcfileloc "ipa-modref.cc" 359) - (!options - (!option skip string "") - ) - ) - (!pair "arg_flags" - (!type already_seen 1231) - (!srcfileloc "ipa-modref.cc" 360) - (!options - (!option skip string "") - ) - ) - (!pair "retslot_flags" - (!type already_seen 2) - (!srcfileloc "ipa-modref.cc" 361) - nil ) - (!pair "static_chain_flags" - (!type already_seen 2) - (!srcfileloc "ipa-modref.cc" 362) - nil ) - (!pair "writes_errno" - (!type already_seen 2) - (!srcfileloc "ipa-modref.cc" 363) - nil ) - (!pair "side_effects" - (!type already_seen 2) - (!srcfileloc "ipa-modref.cc" 364) - nil ) - (!pair "nondeterministic" - (!type already_seen 2) - (!srcfileloc "ipa-modref.cc" 365) - nil ) - (!pair "calls_interposable" - (!type already_seen 2) - (!srcfileloc "ipa-modref.cc" 366) - nil ) - ) - nil 4095 nil nil ) - - (!type user_struct 1244 nil gc_unused "modref_summaries_lto" - (!srcfileloc "ipa-modref.cc" 255) - (!fields 0 ) - ) - - (!type user_struct 1245 - (!type pointer 1246 nil gc_used - (!type already_seen 1245) - ) - gc_pointed_to "fast_function_summary" - (!srcfileloc "ipa-modref.cc" 260) - (!fields 2 - (!pair "va_gc" - (!type already_seen 80) - (!srcfileloc "ipa-modref.cc" 260) - nil ) - (!pair "modref_summary" - (!type already_seen 1233) - (!srcfileloc "ipa-modref.cc" 260) - nil ) - ) - ) - - (!type user_struct 1247 - (!type pointer 1248 nil gc_used - (!type already_seen 1247) - ) - gc_pointed_to "fast_function_summary" - (!srcfileloc "ipa-modref.cc" 272) - (!fields 2 - (!pair "va_gc" - (!type already_seen 80) - (!srcfileloc "ipa-modref.cc" 272) - nil ) - (!pair "modref_summary_lto" - (!type already_seen 1241) - (!srcfileloc "ipa-modref.cc" 272) - nil ) - ) - ) - - (!type already_seen 1243) - - (!type struct 1249 nil gc_unused "modref_parm_map"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1250 nil gc_unused "modref_access_analysis"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1251 nil gc_unused "escape_point"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1252 nil gc_unused "modref_lattice"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1253 nil gc_unused "modref_eaf_analysis"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1254 nil gc_unused "stack_entry"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1255 nil gc_unused "pass_modref"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1256 nil gc_unused "pass_ipa_modref"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1257 nil gc_unused "ipa_call_summary"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1258 nil gc_unused "escape_map"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1259 nil gc_unused "ipa_modref_summary"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type user_struct 1260 nil gc_unused "modref_ref_node" - (!srcfileloc "ipa-modref-tree.h" 205) - (!fields 0 ) - ) - - (!type user_struct 1261 nil gc_unused "modref_base_node" - (!srcfileloc "ipa-modref-tree.h" 288) - (!fields 0 ) - ) - - (!type user_struct 1262 nil gc_unused "modref_tree" - (!srcfileloc "ipa-modref-tree.h" 738) - (!fields 0 ) - ) - - (!type struct 1263 nil gc_used "nowarn_spec_t" - (!srcfileloc "diagnostic-spec.h" 137) - (!fields 0 ) - nil 4095 nil nil ) - - (!type user_struct 1264 - (!type pointer 1265 nil gc_used - (!type already_seen 1264) - ) - gc_pointed_to "hash_map" - (!srcfileloc "diagnostic-spec.h" 137) - (!fields 2 - (!pair "nowarn_spec_t" - (!type already_seen 1263) - (!srcfileloc "diagnostic-spec.h" 137) - nil ) - (!pair "location_hash" - (!type already_seen 737) - (!srcfileloc "diagnostic-spec.h" 137) - nil ) - ) - ) - - (!type already_seen 476) - - (!type already_seen 472) - - (!type already_seen 475) - - (!type already_seen 483) - - (!type already_seen 508) - - (!type already_seen 510) - - (!type already_seen 473) - - (!type already_seen 470) - - (!type already_seen 511) - - (!type already_seen 497) - - (!type already_seen 506) - - (!type already_seen 505) - - (!type already_seen 479) - - (!type already_seen 498) - - (!type already_seen 500) - - (!type already_seen 502) - - (!type already_seen 504) - - (!type already_seen 481) - - (!type struct 1266 nil gc_unused "array_descr_info"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1267 nil gc_unused "fixed_point_type_info"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type already_seen 492) - - (!type user_struct 1268 - (!type pointer 1269 nil gc_used - (!type already_seen 1268) - ) - gc_pointed_to "hash_map" - (!srcfileloc "dwarf2asm.cc" 911) - (!fields 1 - (!pair "tree" - (!type already_seen 23) - (!srcfileloc "dwarf2asm.cc" 911) - nil ) - ) - ) - - (!type struct 1270 - (!type pointer 1271 nil gc_used - (!type already_seen 1270) - ) - gc_pointed_to "dw_cfi_row" - (!srcfileloc "dwarf2cfi.cc" 193) - (!fields 5 - (!pair "cfa" - (!type already_seen 510) - (!srcfileloc "dwarf2cfi.cc" 66) - nil ) - (!pair "cfa_cfi" - (!type already_seen 471) - (!srcfileloc "dwarf2cfi.cc" 67) - nil ) - (!pair "reg_save" - (!type already_seen 469) - (!srcfileloc "dwarf2cfi.cc" 70) - nil ) - (!pair "window_save" - (!type already_seen 2) - (!srcfileloc "dwarf2cfi.cc" 73) - nil ) - (!pair "ra_mangled" - (!type already_seen 2) - (!srcfileloc "dwarf2cfi.cc" 76) - nil ) - ) - nil 4095 nil nil ) - - (!type struct 1272 - (!type pointer 1273 nil gc_used - (!type already_seen 1272) - ) - gc_pointed_to "reg_saved_in_data" - (!srcfileloc "dwarf2cfi.cc" 195) - (!fields 2 - (!pair "orig_reg" - (!type already_seen 100) - (!srcfileloc "dwarf2cfi.cc" 81) - nil ) - (!pair "saved_in_reg" - (!type already_seen 100) - (!srcfileloc "dwarf2cfi.cc" 82) - nil ) - ) - nil 4095 nil nil ) - - (!type struct 1274 nil gc_unused "dw_trace_info"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1275 nil gc_unused "trace_info_hasher"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1276 nil gc_unused "queued_reg_save"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1277 nil gc_unused "init_one_dwarf_reg_state"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1278 nil gc_unused "pass_dwarf2_frame"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type user_struct 1279 - (!type pointer 1280 nil gc_used - (!type already_seen 1279) - ) - gc_pointed_to "vec" - (!srcfileloc "dwarf2out.cc" 215) - (!fields 2 - (!pair "va_gc" - (!type already_seen 80) - (!srcfileloc "dwarf2out.cc" 215) - nil ) - (!pair "dw_fde_ref" - (!type already_seen 467) - (!srcfileloc "dwarf2out.cc" 215) - nil ) - ) - ) - - (!type struct 1281 nil gc_used "indirect_string_hasher" - (!srcfileloc "dwarf2out.cc" 233) - (!fields 0 ) - nil 4095 nil nil ) - - (!type user_struct 1282 - (!type pointer 1283 nil gc_used - (!type already_seen 1282) - ) - gc_pointed_to "hash_table" - (!srcfileloc "dwarf2out.cc" 233) - (!fields 1 - (!pair "indirect_string_hasher" - (!type already_seen 1281) - (!srcfileloc "dwarf2out.cc" 233) - nil ) - ) - ) - - (!type user_struct 1284 - (!type pointer 1285 nil gc_used - (!type already_seen 1284) - ) - gc_pointed_to "vec" - (!srcfileloc "dwarf2out.cc" 275) - (!fields 1 - (!pair "va_gc" - (!type already_seen 80) - (!srcfileloc "dwarf2out.cc" 275) - nil ) - ) - ) - - (!type already_seen 480) - - (!type already_seen 488) - - (!type struct 1286 nil gc_used "dw_line_info_struct" - (!srcfileloc "dwarf2out.cc" 3081) - (!fields 2 - (!pair "opcode" - (!type already_seen 2) - (!srcfileloc "dwarf2out.cc" 3079) - nil ) - (!pair "val" - (!type already_seen 2) - (!srcfileloc "dwarf2out.cc" 3080) - nil ) - ) - nil 4095 nil nil ) - - (!type user_struct 1287 - (!type pointer 1288 nil gc_used - (!type already_seen 1287) - ) - gc_pointed_to "vec" - (!srcfileloc "dwarf2out.cc" 3123) - (!fields 2 - (!pair "va_gc" - (!type already_seen 80) - (!srcfileloc "dwarf2out.cc" 3123) - nil ) - (!pair "dw_line_info_entry" - (!type already_seen 1286) - (!srcfileloc "dwarf2out.cc" 3123) - nil ) - ) - ) - - (!type struct 1289 - (!type pointer 1290 nil gc_used - (!type already_seen 1289) - ) - gc_pointed_to "dw_line_info_table" - (!srcfileloc "dwarf2out.cc" 3654) - (!fields 10 - (!pair "end_label" - (!type already_seen 11) - (!srcfileloc "dwarf2out.cc" 3086) - nil ) - (!pair "file_num" - (!type already_seen 2) - (!srcfileloc "dwarf2out.cc" 3090) - nil ) - (!pair "line_num" - (!type already_seen 2) - (!srcfileloc "dwarf2out.cc" 3091) - nil ) - (!pair "column_num" - (!type already_seen 2) - (!srcfileloc "dwarf2out.cc" 3092) - nil ) - (!pair "discrim_num" - (!type already_seen 2) - (!srcfileloc "dwarf2out.cc" 3093) - nil ) - (!pair "is_stmt" - (!type already_seen 2) - (!srcfileloc "dwarf2out.cc" 3094) - nil ) - (!pair "in_use" - (!type already_seen 2) - (!srcfileloc "dwarf2out.cc" 3095) - nil ) - (!pair "view" - (!type already_seen 2) - (!srcfileloc "dwarf2out.cc" 3111) - nil ) - (!pair "symviews_since_reset" - (!type already_seen 2) - (!srcfileloc "dwarf2out.cc" 3116) - nil ) - (!pair "entries" - (!type already_seen 1288) - (!srcfileloc "dwarf2out.cc" 3123) - nil ) - ) - nil 4095 nil nil ) - - (!type already_seen 486) - - (!type already_seen 491) - - (!type struct 1291 nil gc_unused "set_early_dwarf"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1292 nil gc_used "pubname_struct" - (!srcfileloc "dwarf2out.cc" 3228) - (!fields 2 - (!pair "die" - (!type already_seen 484) - (!srcfileloc "dwarf2out.cc" 3226) - nil ) - (!pair "name" - (!type already_seen 11) - (!srcfileloc "dwarf2out.cc" 3227) - nil ) - ) - nil 4095 nil nil ) - - (!type struct 1293 nil gc_used "dw_ranges" - (!srcfileloc "dwarf2out.cc" 3687) - (!fields 6 - (!pair "label" - (!type already_seen 11) - (!srcfileloc "dwarf2out.cc" 3233) - nil ) - (!pair "num" - (!type already_seen 2) - (!srcfileloc "dwarf2out.cc" 3236) - nil ) - (!pair "idx" - (!type already_seen 2) - (!srcfileloc "dwarf2out.cc" 3242) - nil ) - (!pair "maybe_new_sec" - (!type already_seen 2) - (!srcfileloc "dwarf2out.cc" 3245) - nil ) - (!pair "begin_entry" - (!type already_seen 478) - (!srcfileloc "dwarf2out.cc" 3246) - nil ) - (!pair "end_entry" - (!type already_seen 478) - (!srcfileloc "dwarf2out.cc" 3247) - nil ) - ) - nil 4095 nil nil ) - - (!type struct 1294 nil gc_used "macinfo_struct" - (!srcfileloc "dwarf2out.cc" 3256) - (!fields 3 - (!pair "code" - (!type already_seen 8) - (!srcfileloc "dwarf2out.cc" 3253) - nil ) - (!pair "lineno" - (!type already_seen 2) - (!srcfileloc "dwarf2out.cc" 3254) - nil ) - (!pair "info" - (!type already_seen 11) - (!srcfileloc "dwarf2out.cc" 3255) - nil ) - ) - nil 4095 nil nil ) - - (!type struct 1295 nil gc_used "dw_ranges_by_label" - (!srcfileloc "dwarf2out.cc" 3690) - (!fields 2 - (!pair "begin" - (!type already_seen 11) - (!srcfileloc "dwarf2out.cc" 3261) - nil ) - (!pair "end" - (!type already_seen 11) - (!srcfileloc "dwarf2out.cc" 3262) - nil ) - ) - nil 4095 nil nil ) - - (!type struct 1296 - (!type pointer 1297 nil gc_used - (!type already_seen 1296) - ) - gc_pointed_to "limbo_die_struct" - (!srcfileloc "dwarf2out.cc" 3284) - (!fields 3 - (!pair "die" - (!type already_seen 484) - (!srcfileloc "dwarf2out.cc" 3279) - nil ) - (!pair "created_for" - (!type already_seen 23) - (!srcfileloc "dwarf2out.cc" 3282) - nil ) - (!pair "next" - (!type already_seen 1297) - (!srcfileloc "dwarf2out.cc" 3283) - nil ) - ) - nil 4095 nil nil ) - - (!type struct 1298 nil gc_unused "skeleton_chain_struct"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1299 nil gc_used "dwarf_file_hasher" - (!srcfileloc "dwarf2out.cc" 3501) - (!fields 0 ) - nil 4095 nil nil ) - - (!type user_struct 1300 - (!type pointer 1301 nil gc_used - (!type already_seen 1300) - ) - gc_pointed_to "hash_table" - (!srcfileloc "dwarf2out.cc" 3501) - (!fields 1 - (!pair "dwarf_file_hasher" - (!type already_seen 1299) - (!srcfileloc "dwarf2out.cc" 3501) - nil ) - ) - ) - - (!type struct 1302 nil gc_used "decl_die_hasher" - (!srcfileloc "dwarf2out.cc" 3512) - (!fields 0 ) - nil 4095 nil nil ) - - (!type user_struct 1303 - (!type pointer 1304 nil gc_used - (!type already_seen 1303) - ) - gc_pointed_to "hash_table" - (!srcfileloc "dwarf2out.cc" 3512) - (!fields 1 - (!pair "decl_die_hasher" - (!type already_seen 1302) - (!srcfileloc "dwarf2out.cc" 3512) - nil ) - ) - ) - - (!type user_struct 1305 - (!type pointer 1306 nil gc_used - (!type already_seen 1305) - ) - gc_pointed_to "vec" - (!srcfileloc "dwarf2out.cc" 3516) - (!fields 2 - (!pair "va_gc" - (!type already_seen 80) - (!srcfileloc "dwarf2out.cc" 3516) - nil ) - (!pair "dw_die_ref" - (!type already_seen 484) - (!srcfileloc "dwarf2out.cc" 3516) - nil ) - ) - ) - - (!type struct 1307 nil gc_pointed_to "variable_value_struct" - (!srcfileloc "dwarf2out.cc" 3517) - (!fields 2 - (!pair "decl_id" - (!type already_seen 2) - (!srcfileloc "dwarf2out.cc" 3515) - nil ) - (!pair "dies" - (!type already_seen 1306) - (!srcfileloc "dwarf2out.cc" 3516) - nil ) - ) - (!options - (!option for_user string "") - ) - 4095 nil nil ) - - (!type struct 1308 nil gc_used "variable_value_hasher" - (!srcfileloc "dwarf2out.cc" 3529) - (!fields 0 ) - nil 4095 nil nil ) - - (!type user_struct 1309 - (!type pointer 1310 nil gc_used - (!type already_seen 1309) - ) - gc_pointed_to "hash_table" - (!srcfileloc "dwarf2out.cc" 3529) - (!fields 1 - (!pair "variable_value_hasher" - (!type already_seen 1308) - (!srcfileloc "dwarf2out.cc" 3529) - nil ) - ) - ) - - (!type struct 1311 nil gc_used "block_die_hasher" - (!srcfileloc "dwarf2out.cc" 3539) - (!fields 0 ) - nil 4095 nil nil ) - - (!type user_struct 1312 - (!type pointer 1313 nil gc_used - (!type already_seen 1312) - ) - gc_pointed_to "hash_table" - (!srcfileloc "dwarf2out.cc" 3539) - (!fields 1 - (!pair "block_die_hasher" - (!type already_seen 1311) - (!srcfileloc "dwarf2out.cc" 3539) - nil ) - ) - ) - - (!type struct 1314 nil gc_used "die_arg_entry_struct" - (!srcfileloc "dwarf2out.cc" 3544) - (!fields 2 - (!pair "die" - (!type already_seen 484) - (!srcfileloc "dwarf2out.cc" 3542) - nil ) - (!pair "arg" - (!type already_seen 23) - (!srcfileloc "dwarf2out.cc" 3543) - nil ) - ) - nil 4095 nil nil ) - - (!type struct 1315 - (!type pointer 1316 nil gc_used - (!type already_seen 1315) - ) - gc_pointed_to "var_loc_node" - (!srcfileloc "dwarf2out.cc" 3561) - (!fields 4 - (!pair "loc" - (!type already_seen 100) - (!srcfileloc "dwarf2out.cc" 3557) - nil ) - (!pair "label" - (!type already_seen 11) - (!srcfileloc "dwarf2out.cc" 3558) - nil ) - (!pair "next" - (!type already_seen 1316) - (!srcfileloc "dwarf2out.cc" 3559) - nil ) - (!pair "view" - (!type already_seen 2) - (!srcfileloc "dwarf2out.cc" 3560) - nil ) - ) - (!options - (!option chain_next string "%h.next") - ) - 4095 nil nil ) - - (!type struct 1317 nil gc_pointed_to "var_loc_list_def" - (!srcfileloc "dwarf2out.cc" 3582) - (!fields 4 - (!pair "first" - (!type already_seen 1316) - (!srcfileloc "dwarf2out.cc" 3565) - nil ) - (!pair "last" - (!type already_seen 1316) - (!srcfileloc "dwarf2out.cc" 3573) - (!options - (!option skip string "%h") - ) - ) - (!pair "last_before_switch" - (!type already_seen 1316) - (!srcfileloc "dwarf2out.cc" 3578) - (!options - (!option skip string "%h") - ) - ) - (!pair "decl_id" - (!type already_seen 2) - (!srcfileloc "dwarf2out.cc" 3581) - nil ) - ) - (!options - (!option for_user string "") - ) - 4095 nil nil ) - - (!type struct 1318 - (!type pointer 1319 nil gc_used - (!type already_seen 1318) - ) - gc_pointed_to "call_arg_loc_node" - (!srcfileloc "dwarf2out.cc" 3593) - (!fields 6 - (!pair "call_arg_loc_note" - (!type already_seen 100) - (!srcfileloc "dwarf2out.cc" 3587) - nil ) - (!pair "label" - (!type already_seen 11) - (!srcfileloc "dwarf2out.cc" 3588) - nil ) - (!pair "block" - (!type already_seen 23) - (!srcfileloc "dwarf2out.cc" 3589) - nil ) - (!pair "tail_call_p" - (!type already_seen 2) - (!srcfileloc "dwarf2out.cc" 3590) - nil ) - (!pair "symbol_ref" - (!type already_seen 100) - (!srcfileloc "dwarf2out.cc" 3591) - nil ) - (!pair "next" - (!type already_seen 1319) - (!srcfileloc "dwarf2out.cc" 3592) - nil ) - ) - (!options - (!option chain_next string "%h.next") - ) - 4095 nil nil ) - - (!type struct 1320 nil gc_used "decl_loc_hasher" - (!srcfileloc "dwarf2out.cc" 3605) - (!fields 0 ) - nil 4095 nil nil ) - - (!type user_struct 1321 - (!type pointer 1322 nil gc_used - (!type already_seen 1321) - ) - gc_pointed_to "hash_table" - (!srcfileloc "dwarf2out.cc" 3605) - (!fields 1 - (!pair "decl_loc_hasher" - (!type already_seen 1320) - (!srcfileloc "dwarf2out.cc" 3605) - nil ) - ) - ) - - (!type struct 1323 nil gc_pointed_to "cached_dw_loc_list_def" - (!srcfileloc "dwarf2out.cc" 3623) - (!fields 2 - (!pair "decl_id" - (!type already_seen 2) - (!srcfileloc "dwarf2out.cc" 3619) - nil ) - (!pair "loc_list" - (!type already_seen 482) - (!srcfileloc "dwarf2out.cc" 3622) - nil ) - ) - (!options - (!option for_user string "") - ) - 4095 nil nil ) - - (!type struct 1324 nil gc_used "dw_loc_list_hasher" - (!srcfileloc "dwarf2out.cc" 3636) - (!fields 0 ) - nil 4095 nil nil ) - - (!type user_struct 1325 - (!type pointer 1326 nil gc_used - (!type already_seen 1325) - ) - gc_pointed_to "hash_table" - (!srcfileloc "dwarf2out.cc" 3636) - (!fields 1 - (!pair "dw_loc_list_hasher" - (!type already_seen 1324) - (!srcfileloc "dwarf2out.cc" 3636) - nil ) - ) - ) - - (!type user_struct 1327 - (!type pointer 1328 nil gc_used - (!type already_seen 1327) - ) - gc_pointed_to "vec" - (!srcfileloc "dwarf2out.cc" 3661) - (!fields 2 - (!pair "va_gc" - (!type already_seen 80) - (!srcfileloc "dwarf2out.cc" 3661) - nil ) - (!pair "dw_line_info_table" - (!type already_seen 1290) - (!srcfileloc "dwarf2out.cc" 3661) - nil ) - ) - ) - - (!type user_struct 1329 - (!type pointer 1330 nil gc_used - (!type already_seen 1329) - ) - gc_pointed_to "vec" - (!srcfileloc "dwarf2out.cc" 3669) - (!fields 2 - (!pair "va_gc" - (!type already_seen 80) - (!srcfileloc "dwarf2out.cc" 3669) - nil ) - (!pair "pubname_entry" - (!type already_seen 1292) - (!srcfileloc "dwarf2out.cc" 3669) - nil ) - ) - ) - - (!type user_struct 1331 - (!type pointer 1332 nil gc_used - (!type already_seen 1331) - ) - gc_pointed_to "vec" - (!srcfileloc "dwarf2out.cc" 3677) - (!fields 2 - (!pair "va_gc" - (!type already_seen 80) - (!srcfileloc "dwarf2out.cc" 3677) - nil ) - (!pair "macinfo_entry" - (!type already_seen 1294) - (!srcfileloc "dwarf2out.cc" 3677) - nil ) - ) - ) - - (!type user_struct 1333 - (!type pointer 1334 nil gc_used - (!type already_seen 1333) - ) - gc_pointed_to "vec" - (!srcfileloc "dwarf2out.cc" 3687) - (!fields 2 - (!pair "va_gc" - (!type already_seen 80) - (!srcfileloc "dwarf2out.cc" 3687) - nil ) - (!pair "dw_ranges" - (!type already_seen 1293) - (!srcfileloc "dwarf2out.cc" 3687) - nil ) - ) - ) - - (!type user_struct 1335 - (!type pointer 1336 nil gc_used - (!type already_seen 1335) - ) - gc_pointed_to "vec" - (!srcfileloc "dwarf2out.cc" 3690) - (!fields 2 - (!pair "va_gc" - (!type already_seen 80) - (!srcfileloc "dwarf2out.cc" 3690) - nil ) - (!pair "dw_ranges_by_label" - (!type already_seen 1295) - (!srcfileloc "dwarf2out.cc" 3690) - nil ) - ) - ) - - (!type user_struct 1337 - (!type pointer 1338 nil gc_used - (!type already_seen 1337) - ) - gc_pointed_to "vec" - (!srcfileloc "dwarf2out.cc" 3707) - (!fields 2 - (!pair "va_gc" - (!type already_seen 80) - (!srcfileloc "dwarf2out.cc" 3707) - nil ) - (!pair "die_arg_entry" - (!type already_seen 1314) - (!srcfileloc "dwarf2out.cc" 3707) - nil ) - ) - ) - - (!type struct 1339 nil gc_unused "md5_ctx"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1340 nil gc_unused "checksum_attributes"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1341 nil gc_unused "loc_descr_context"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1342 nil gc_unused "vlr_context"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1343 nil gc_used "addr_hasher" - (!srcfileloc "dwarf2out.cc" 5072) - (!fields 0 ) - nil 4095 nil nil ) - - (!type user_struct 1344 - (!type pointer 1345 nil gc_used - (!type already_seen 1344) - ) - gc_pointed_to "hash_table" - (!srcfileloc "dwarf2out.cc" 5072) - (!fields 1 - (!pair "addr_hasher" - (!type already_seen 1343) - (!srcfileloc "dwarf2out.cc" 5072) - nil ) - ) - ) - - (!type struct 1346 nil gc_used "sym_off_pair" - (!srcfileloc "dwarf2out.cc" 5950) - (!fields 2 - (!pair "sym" - (!type already_seen 11) - (!srcfileloc "dwarf2out.cc" 5947) - (!options - (!option skip string "") - ) - ) - (!pair "off" - (!type already_seen 2) - (!srcfileloc "dwarf2out.cc" 5948) - nil ) - ) - nil 4095 nil nil ) - - (!type user_struct 1347 - (!type pointer 1348 nil gc_used - (!type already_seen 1347) - ) - gc_pointed_to "hash_map" - (!srcfileloc "dwarf2out.cc" 5950) - (!fields 2 - (!pair "sym_off_pair" - (!type already_seen 1346) - (!srcfileloc "dwarf2out.cc" 5950) - nil ) - (!pair "tree" - (!type already_seen 23) - (!srcfileloc "dwarf2out.cc" 5950) - nil ) - ) - ) - - (!type struct 1349 nil gc_unused "decl_table_entry"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1350 nil gc_unused "decl_table_entry_hasher" - (!srcfileloc "dwarf2out.cc" 8338) - (!fields 0 ) - nil 4095 nil nil ) - - (!type user_struct 1351 nil gc_unused "hash_table" - (!srcfileloc "dwarf2out.cc" 8338) - (!fields 1 - (!pair "decl_table_entry_hasher" - (!type already_seen 1350) - (!srcfileloc "dwarf2out.cc" 8338) - nil ) - ) - ) - - (!type struct 1352 nil gc_unused "external_ref"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1353 nil gc_unused "external_ref_hasher" - (!srcfileloc "dwarf2out.cc" 9096) - (!fields 0 ) - nil 4095 nil nil ) - - (!type user_struct 1354 nil gc_unused "hash_table" - (!srcfileloc "dwarf2out.cc" 9096) - (!fields 1 - (!pair "external_ref_hasher" - (!type already_seen 1353) - (!srcfileloc "dwarf2out.cc" 9096) - nil ) - ) - ) - - (!type struct 1355 nil gc_unused "file_info"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1356 nil gc_unused "dir_info"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1357 nil gc_unused "file_name_acquire_data"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1358 nil gc_unused "dwarf_qual_info_t"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1359 nil gc_unused "dwarf_procedure_info"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1360 nil gc_pointed_to "inline_entry_data" - (!srcfileloc "dwarf2out.cc" 24286) - (!fields 4 - (!pair "block" - (!type already_seen 23) - (!srcfileloc "dwarf2out.cc" 24278) - nil ) - (!pair "label_pfx" - (!type already_seen 11) - (!srcfileloc "dwarf2out.cc" 24281) - nil ) - (!pair "label_num" - (!type already_seen 2) - (!srcfileloc "dwarf2out.cc" 24282) - nil ) - (!pair "view" - (!type already_seen 2) - (!srcfileloc "dwarf2out.cc" 24285) - nil ) - ) - (!options - (!option for_user string "") - ) - 4095 nil nil ) - - (!type struct 1361 nil gc_used "inline_entry_data_hasher" - (!srcfileloc "dwarf2out.cc" 24312) - (!fields 0 ) - nil 4095 nil nil ) - - (!type user_struct 1362 - (!type pointer 1363 nil gc_used - (!type already_seen 1362) - ) - gc_pointed_to "hash_table" - (!srcfileloc "dwarf2out.cc" 24312) - (!fields 1 - (!pair "inline_entry_data_hasher" - (!type already_seen 1361) - (!srcfileloc "dwarf2out.cc" 24312) - nil ) - ) - ) - - (!type struct 1364 nil gc_unused "macinfo_entry_hasher" - (!srcfileloc "dwarf2out.cc" 28877) - (!fields 0 ) - nil 4095 nil nil ) - - (!type user_struct 1365 nil gc_unused "hash_table" - (!srcfileloc "dwarf2out.cc" 28877) - (!fields 1 - (!pair "macinfo_entry_hasher" - (!type already_seen 1364) - (!srcfileloc "dwarf2out.cc" 28877) - nil ) - ) - ) - - (!type struct 1366 nil gc_unused "comdat_type_hasher"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1367 nil gc_unused "loc_list_hasher" - (!srcfileloc "dwarf2out.cc" 31932) - (!fields 0 ) - nil 4095 nil nil ) - - (!type user_struct 1368 nil gc_unused "hash_table" - (!srcfileloc "dwarf2out.cc" 31932) - (!fields 1 - (!pair "loc_list_hasher" - (!type already_seen 1367) - (!srcfileloc "dwarf2out.cc" 31932) - nil ) - ) - ) - - (!type struct 1369 - (!type pointer 1370 nil gc_used - (!type already_seen 1369) - ) - gc_pointed_to "ctf_string" - (!srcfileloc "ctfc.h" 57) - (!fields 2 - (!pair "cts_str" - (!type already_seen 11) - (!srcfileloc "ctfc.h" 55) - nil ) - (!pair "cts_next" - (!type already_seen 1370) - (!srcfileloc "ctfc.h" 56) - nil ) - ) - (!options - (!option chain_next string "%h.cts_next") - ) - 4095 nil nil ) - - (!type struct 1371 nil gc_used "ctf_strtable" - (!srcfileloc "ctfc.h" 68) - (!fields 5 - (!pair "ctstab_head" - (!type already_seen 1370) - (!srcfileloc "ctfc.h" 63) - nil ) - (!pair "ctstab_tail" - (!type already_seen 1370) - (!srcfileloc "ctfc.h" 64) - nil ) - (!pair "ctstab_num" - (!type already_seen 2) - (!srcfileloc "ctfc.h" 65) - nil ) - (!pair "ctstab_len" - (!type already_seen 2) - (!srcfileloc "ctfc.h" 66) - nil ) - (!pair "ctstab_estr" - (!type already_seen 11) - (!srcfileloc "ctfc.h" 67) - nil ) - ) - nil 4095 nil nil ) - - (!type struct 1372 nil gc_used "ctf_encoding" - (!srcfileloc "ctfc.h" 78) - (!fields 3 - (!pair "cte_format" - (!type already_seen 2) - (!srcfileloc "ctfc.h" 75) - nil ) - (!pair "cte_offset" - (!type already_seen 2) - (!srcfileloc "ctfc.h" 76) - nil ) - (!pair "cte_bits" - (!type already_seen 2) - (!srcfileloc "ctfc.h" 77) - nil ) - ) - nil 4095 nil nil ) - - (!type struct 1373 nil gc_used "ctf_arinfo" - (!srcfileloc "ctfc.h" 87) - (!fields 3 - (!pair "ctr_contents" - (!type already_seen 2) - (!srcfileloc "ctfc.h" 84) - nil ) - (!pair "ctr_index" - (!type already_seen 2) - (!srcfileloc "ctfc.h" 85) - nil ) - (!pair "ctr_nelems" - (!type already_seen 2) - (!srcfileloc "ctfc.h" 86) - nil ) - ) - nil 4095 nil nil ) - - (!type struct 1374 nil gc_unused "ctf_funcinfo" - (!srcfileloc "ctfc.h" 96) - (!fields 3 - (!pair "ctc_return" - (!type already_seen 2) - (!srcfileloc "ctfc.h" 93) - nil ) - (!pair "ctc_argc" - (!type already_seen 2) - (!srcfileloc "ctfc.h" 94) - nil ) - (!pair "ctc_flags" - (!type already_seen 2) - (!srcfileloc "ctfc.h" 95) - nil ) - ) - nil 4095 nil nil ) - - (!type struct 1375 nil gc_used "ctf_sliceinfo" - (!srcfileloc "ctfc.h" 103) - (!fields 3 - (!pair "cts_type" - (!type already_seen 2) - (!srcfileloc "ctfc.h" 100) - nil ) - (!pair "cts_offset" - (!type already_seen 2) - (!srcfileloc "ctfc.h" 101) - nil ) - (!pair "cts_bits" - (!type already_seen 2) - (!srcfileloc "ctfc.h" 102) - nil ) - ) - nil 4095 nil nil ) - - (!type union 1376 nil gc_used "anonymous:../../gcc/gcc/ctfc.h:113" - (!srcfileloc "ctfc.h" 116) - (!fields 2 - (!pair "_size" - (!type already_seen 2) - (!srcfileloc "ctfc.h" 114) - (!options - (!option tag string "0") - ) - ) - (!pair "_type" - (!type already_seen 2) - (!srcfileloc "ctfc.h" 115) - (!options - (!option tag string "1") - ) - ) - ) - (!options - (!option desc string "0") - ) - 4095 nil ) - - (!type struct 1377 nil gc_used "ctf_itype" - (!srcfileloc "ctfc.h" 119) - (!fields 5 - (!pair "ctti_name" - (!type already_seen 2) - (!srcfileloc "ctfc.h" 110) - nil ) - (!pair "ctti_info" - (!type already_seen 2) - (!srcfileloc "ctfc.h" 111) - nil ) - (!pair "_u" - (!type already_seen 1376) - (!srcfileloc "ctfc.h" 116) - nil ) - (!pair "ctti_lsizehi" - (!type already_seen 2) - (!srcfileloc "ctfc.h" 117) - nil ) - (!pair "ctti_lsizelo" - (!type already_seen 2) - (!srcfileloc "ctfc.h" 118) - nil ) - ) - nil 4095 nil nil ) - - (!type struct 1378 - (!type pointer 1379 nil gc_used - (!type already_seen 1378) - ) - gc_pointed_to "ctf_dmdef" - (!srcfileloc "ctfc.h" 138) - (!fields 6 - (!pair "dmd_name" - (!type already_seen 11) - (!srcfileloc "ctfc.h" 132) - nil ) - (!pair "dmd_type" - (!type already_seen 2) - (!srcfileloc "ctfc.h" 133) - nil ) - (!pair "dmd_name_offset" - (!type already_seen 2) - (!srcfileloc "ctfc.h" 134) - nil ) - (!pair "dmd_offset" - (!type already_seen 2) - (!srcfileloc "ctfc.h" 135) - nil ) - (!pair "dmd_value" - (!type already_seen 2) - (!srcfileloc "ctfc.h" 136) - nil ) - (!pair "dmd_next" - (!type already_seen 1379) - (!srcfileloc "ctfc.h" 137) - nil ) - ) - (!options - (!option chain_next string "%h.dmd_next") - ) - 4095 nil nil ) - - (!type struct 1380 - (!type pointer 1381 nil gc_used - (!type already_seen 1380) - ) - gc_pointed_to "ctf_func_arg" - (!srcfileloc "ctfc.h" 150) - (!fields 4 - (!pair "farg_type" - (!type already_seen 2) - (!srcfileloc "ctfc.h" 146) - nil ) - (!pair "farg_name" - (!type already_seen 11) - (!srcfileloc "ctfc.h" 147) - nil ) - (!pair "farg_name_offset" - (!type already_seen 2) - (!srcfileloc "ctfc.h" 148) - nil ) - (!pair "farg_next" - (!type already_seen 1381) - (!srcfileloc "ctfc.h" 149) - nil ) - ) - nil 4095 nil nil ) - - (!type union 1382 nil gc_used "anonymous:../../gcc/gcc/ctfc.h:167" - (!srcfileloc "ctfc.h" 178) - (!fields 5 - (!pair "dtu_members" - (!type already_seen 1379) - (!srcfileloc "ctfc.h" 169) - (!options - (!option tag string "CTF_DTU_D_MEMBERS") - ) - ) - (!pair "dtu_arr" - (!type already_seen 1373) - (!srcfileloc "ctfc.h" 171) - (!options - (!option tag string "CTF_DTU_D_ARRAY") - ) - ) - (!pair "dtu_enc" - (!type already_seen 1372) - (!srcfileloc "ctfc.h" 173) - (!options - (!option tag string "CTF_DTU_D_ENCODING") - ) - ) - (!pair "dtu_argv" - (!type already_seen 1381) - (!srcfileloc "ctfc.h" 175) - (!options - (!option tag string "CTF_DTU_D_ARGUMENTS") - ) - ) - (!pair "dtu_slice" - (!type already_seen 1375) - (!srcfileloc "ctfc.h" 177) - (!options - (!option tag string "CTF_DTU_D_SLICE") - ) - ) - ) - (!options - (!option desc string "ctf_dtu_d_union_selector (&%1)") - ) - 4095 nil ) - - (!type struct 1383 - (!type pointer 1384 - (!type pointer 1385 nil gc_unused - (!type already_seen 1384) - ) - gc_used - (!type already_seen 1383) - ) - gc_pointed_to "ctf_dtdef" - (!srcfileloc "ctfc.h" 179) - (!fields 8 - (!pair "dtd_key" - (!type already_seen 484) - (!srcfileloc "ctfc.h" 158) - nil ) - (!pair "dtd_name" - (!type already_seen 11) - (!srcfileloc "ctfc.h" 159) - nil ) - (!pair "dtd_type" - (!type already_seen 2) - (!srcfileloc "ctfc.h" 160) - nil ) - (!pair "dtd_data" - (!type already_seen 1377) - (!srcfileloc "ctfc.h" 161) - nil ) - (!pair "from_global_func" - (!type already_seen 2) - (!srcfileloc "ctfc.h" 162) - nil ) - (!pair "linkage" - (!type already_seen 2) - (!srcfileloc "ctfc.h" 164) - nil ) - (!pair "dtd_enum_unsigned" - (!type already_seen 2) - (!srcfileloc "ctfc.h" 165) - nil ) - (!pair "dtd_u" - (!type already_seen 1382) - (!srcfileloc "ctfc.h" 178) - nil ) - ) - (!options - (!option for_user string "") - ) - 4095 nil nil ) - - (!type struct 1386 - (!type pointer 1387 - (!type pointer 1388 nil gc_unused - (!type already_seen 1387) - ) - gc_used - (!type already_seen 1386) - ) - gc_pointed_to "ctf_dvdef" - (!srcfileloc "ctfc.h" 192) - (!fields 5 - (!pair "dvd_key" - (!type already_seen 484) - (!srcfileloc "ctfc.h" 187) - nil ) - (!pair "dvd_name" - (!type already_seen 11) - (!srcfileloc "ctfc.h" 188) - nil ) - (!pair "dvd_name_offset" - (!type already_seen 2) - (!srcfileloc "ctfc.h" 189) - nil ) - (!pair "dvd_visibility" - (!type already_seen 2) - (!srcfileloc "ctfc.h" 190) - nil ) - (!pair "dvd_type" - (!type already_seen 2) - (!srcfileloc "ctfc.h" 191) - nil ) - ) - (!options - (!option for_user string "") - ) - 4095 nil nil ) - - (!type struct 1389 - (!type pointer 1390 nil gc_unused - (!type already_seen 1389) - ) - gc_unused "ctf_srcloc" - (!srcfileloc "ctfc.h" 206) - (!fields 3 - (!pair "ctsloc_file" - (!type already_seen 11) - (!srcfileloc "ctfc.h" 203) - nil ) - (!pair "ctsloc_line" - (!type already_seen 2) - (!srcfileloc "ctfc.h" 204) - nil ) - (!pair "ctsloc_col" - (!type already_seen 2) - (!srcfileloc "ctfc.h" 205) - nil ) - ) - nil 4095 nil nil ) - - (!type struct 1391 nil gc_used "ctfc_dtd_hasher" - (!srcfileloc "ctfc.h" 276) - (!fields 0 ) - nil 4095 nil nil ) - - (!type struct 1392 nil gc_used "ctfc_dvd_hasher" - (!srcfileloc "ctfc.h" 278) - (!fields 0 ) - nil 4095 nil nil ) - - (!type user_struct 1393 - (!type pointer 1394 nil gc_used - (!type already_seen 1393) - ) - gc_pointed_to "hash_table" - (!srcfileloc "ctfc.h" 276) - (!fields 1 - (!pair "ctfc_dtd_hasher" - (!type already_seen 1391) - (!srcfileloc "ctfc.h" 276) - nil ) - ) - ) - - (!type user_struct 1395 - (!type pointer 1396 nil gc_used - (!type already_seen 1395) - ) - gc_pointed_to "hash_table" - (!srcfileloc "ctfc.h" 278) - (!fields 1 - (!pair "ctfc_dvd_hasher" - (!type already_seen 1392) - (!srcfileloc "ctfc.h" 278) - nil ) - ) - ) - - (!type struct 1397 - (!type pointer 1398 nil gc_used - (!type already_seen 1397) - ) - gc_pointed_to "ctf_container" - (!srcfileloc "ctfc.h" 334) - (!fields 23 - (!pair "ctfc_magic" - (!type already_seen 2) - (!srcfileloc "ctfc.h" 270) - nil ) - (!pair "ctfc_version" - (!type already_seen 8) - (!srcfileloc "ctfc.h" 271) - nil ) - (!pair "ctfc_flags" - (!type already_seen 8) - (!srcfileloc "ctfc.h" 272) - nil ) - (!pair "ctfc_cuname_offset" - (!type already_seen 2) - (!srcfileloc "ctfc.h" 273) - nil ) - (!pair "ctfc_types" - (!type already_seen 1394) - (!srcfileloc "ctfc.h" 276) - nil ) - (!pair "ctfc_vars" - (!type already_seen 1396) - (!srcfileloc "ctfc.h" 278) - nil ) - (!pair "ctfc_ignore_vars" - (!type already_seen 1396) - (!srcfileloc "ctfc.h" 280) - nil ) - (!pair "ctfc_strtable" - (!type already_seen 1371) - (!srcfileloc "ctfc.h" 283) - nil ) - (!pair "ctfc_aux_strtable" - (!type already_seen 1371) - (!srcfileloc "ctfc.h" 286) - nil ) - (!pair "ctfc_num_types" - (!type already_seen 2) - (!srcfileloc "ctfc.h" 288) - nil ) - (!pair "ctfc_num_stypes" - (!type already_seen 2) - (!srcfileloc "ctfc.h" 289) - nil ) - (!pair "ctfc_num_global_funcs" - (!type already_seen 2) - (!srcfileloc "ctfc.h" 290) - nil ) - (!pair "ctfc_num_global_objts" - (!type already_seen 2) - (!srcfileloc "ctfc.h" 291) - nil ) - (!pair "ctfc_num_vlen_bytes" - (!type already_seen 2) - (!srcfileloc "ctfc.h" 296) - nil ) - (!pair "ctfc_nextid" - (!type already_seen 2) - (!srcfileloc "ctfc.h" 299) - nil ) - (!pair "ctfc_vars_list" - (!type already_seen 1388) - (!srcfileloc "ctfc.h" 307) - (!options - (!option length string "0") - ) - ) - (!pair "ctfc_vars_list_count" - (!type already_seen 2) - (!srcfileloc "ctfc.h" 309) - nil ) - (!pair "ctfc_types_list" - (!type already_seen 1385) - (!srcfileloc "ctfc.h" 313) - (!options - (!option length string "0") - ) - ) - (!pair "ctfc_gfuncs_list" - (!type already_seen 1385) - (!srcfileloc "ctfc.h" 317) - (!options - (!option length string "0") - ) - ) - (!pair "ctfc_gobjts_list" - (!type already_seen 1388) - (!srcfileloc "ctfc.h" 320) - (!options - (!option length string "0") - ) - ) - (!pair "ctfc_numbytes_asm" - (!type already_seen 2) - (!srcfileloc "ctfc.h" 328) - nil ) - (!pair "ctfc_strlen" - (!type already_seen 2) - (!srcfileloc "ctfc.h" 330) - nil ) - (!pair "ctfc_aux_strlen" - (!type already_seen 2) - (!srcfileloc "ctfc.h" 332) - nil ) - ) - nil 4095 nil nil ) - - (!type struct 1399 nil gc_unused "ctf_dtd_preprocess_arg"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1400 nil gc_unused "ctf_dvd_preprocess_arg"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type user_struct 1401 - (!type pointer 1402 nil gc_used - (!type already_seen 1401) - ) - gc_pointed_to "hash_map" - (!srcfileloc "btfout.cc" 73) - (!fields 2 - (!pair "unsigned" - (!type undefined 1403 nil gc_unused "unsigned" - (!srcfileloc "btfout.cc" 73) - ) - (!srcfileloc "btfout.cc" 73) - nil ) - (!pair "ctf_dvdef_ref" - (!type already_seen 1387) - (!srcfileloc "btfout.cc" 73) - nil ) - ) - ) - - (!type already_seen 1403) - - (!type struct 1404 nil gc_unused "btf_datasec"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type user_struct 1405 - (!type pointer 1406 nil gc_used - (!type already_seen 1405) - ) - gc_pointed_to "vec" - (!srcfileloc "btfout.cc" 105) - (!fields 2 - (!pair "va_gc" - (!type already_seen 80) - (!srcfileloc "btfout.cc" 105) - nil ) - (!pair "ctf_dtdef_ref" - (!type already_seen 1384) - (!srcfileloc "btfout.cc" 105) - nil ) - ) - ) - - (!type struct 1407 nil gc_unused "btf_var_secinfo"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1408 nil gc_unused "pass_lower_vector"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1409 nil gc_unused "pass_lower_vector_ssa"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1410 nil gc_unused "pass_gimple_isel"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1411 - (!type pointer 1412 nil gc_used - (!type already_seen 1411) - ) - gc_pointed_to "temp_slot" - (!srcfileloc "function.cc" 591) - (!fields 10 - (!pair "next" - (!type already_seen 1412) - (!srcfileloc "function.cc" 567) - nil ) - (!pair "prev" - (!type already_seen 1412) - (!srcfileloc "function.cc" 569) - nil ) - (!pair "slot" - (!type already_seen 100) - (!srcfileloc "function.cc" 571) - nil ) - (!pair "size" - (!type already_seen 2) - (!srcfileloc "function.cc" 573) - nil ) - (!pair "type" - (!type already_seen 23) - (!srcfileloc "function.cc" 578) - nil ) - (!pair "align" - (!type already_seen 2) - (!srcfileloc "function.cc" 580) - nil ) - (!pair "in_use" - (!type already_seen 8) - (!srcfileloc "function.cc" 582) - nil ) - (!pair "level" - (!type already_seen 2) - (!srcfileloc "function.cc" 584) - nil ) - (!pair "base_offset" - (!type already_seen 2) - (!srcfileloc "function.cc" 587) - nil ) - (!pair "full_size" - (!type already_seen 2) - (!srcfileloc "function.cc" 590) - nil ) - ) - nil 4095 nil nil ) - - (!type struct 1413 nil gc_used "incoming_args" - (!srcfileloc "emit-rtl.h" 55) - (!fields 6 - (!pair "pops_args" - (!type already_seen 2) - (!srcfileloc "emit-rtl.h" 33) - nil ) - (!pair "size" - (!type already_seen 2) - (!srcfileloc "emit-rtl.h" 38) - nil ) - (!pair "pretend_args_size" - (!type already_seen 2) - (!srcfileloc "emit-rtl.h" 43) - nil ) - (!pair "arg_offset_rtx" - (!type already_seen 100) - (!srcfileloc "emit-rtl.h" 47) - nil ) - (!pair "info" - (!type already_seen 2) - (!srcfileloc "emit-rtl.h" 51) - nil ) - (!pair "internal_arg_pointer" - (!type already_seen 100) - (!srcfileloc "emit-rtl.h" 54) - nil ) - ) - nil 4095 nil nil ) - - (!type undefined 1414 - (!type pointer 1415 nil gc_unused - (!type already_seen 1414) - ) - gc_unused "rtl_ssa::function_info" - (!srcfileloc "emit-rtl.h" 77) - ) - - (!type struct 1416 - (!type pointer 1417 nil gc_used - (!type already_seen 1416) - ) - gc_pointed_to "initial_value_struct" - (!srcfileloc "function.cc" 1266) - (!fields 3 - (!pair "num_entries" - (!type already_seen 2) - (!srcfileloc "function.cc" 1263) - nil ) - (!pair "max_entries" - (!type already_seen 2) - (!srcfileloc "function.cc" 1264) - nil ) - (!pair "entries" - (!type pointer 1418 nil gc_unused - (!type struct 1419 - (!type already_seen 1418) - gc_used "initial_value_pair" - (!srcfileloc "function.cc" 1265) - (!fields 2 - (!pair "hard_reg" - (!type already_seen 100) - (!srcfileloc "function.cc" 1256) - nil ) - (!pair "pseudo" - (!type already_seen 100) - (!srcfileloc "function.cc" 1257) - nil ) - ) - nil 4095 nil nil ) - ) - (!srcfileloc "function.cc" 1265) - (!options - (!option length string "%h.num_entries") - ) - ) - ) - nil 4095 nil nil ) - - (!type user_struct 1420 - (!type pointer 1421 nil gc_used - (!type already_seen 1420) - ) - gc_pointed_to "vec" - (!srcfileloc "emit-rtl.h" 148) - (!fields 2 - (!pair "va_gc" - (!type already_seen 80) - (!srcfileloc "emit-rtl.h" 148) - nil ) - (!pair "temp_slot_p" - (!type already_seen 1412) - (!srcfileloc "emit-rtl.h" 148) - nil ) - ) - ) - - (!type struct 1422 nil gc_used "rtl_data" - (!srcfileloc "emit-rtl.h" 321) - (!fields 66 - (!pair "expr" - (!type already_seen 1001) - (!srcfileloc "emit-rtl.h" 62) - nil ) - (!pair "emit" - (!type already_seen 998) - (!srcfileloc "emit-rtl.h" 63) - nil ) - (!pair "varasm" - (!type already_seen 1013) - (!srcfileloc "emit-rtl.h" 64) - nil ) - (!pair "args" - (!type already_seen 1413) - (!srcfileloc "emit-rtl.h" 65) - nil ) - (!pair "subsections" - (!type already_seen 1014) - (!srcfileloc "emit-rtl.h" 66) - nil ) - (!pair "eh" - (!type already_seen 1006) - (!srcfileloc "emit-rtl.h" 67) - nil ) - (!pair "abi" - (!type already_seen 904) - (!srcfileloc "emit-rtl.h" 75) - (!options - (!option skip string "") - ) - ) - (!pair "ssa" - (!type already_seen 1415) - (!srcfileloc "emit-rtl.h" 77) - (!options - (!option skip string "") - ) - ) - (!pair "outgoing_args_size" - (!type already_seen 2) - (!srcfileloc "emit-rtl.h" 83) - nil ) - (!pair "return_rtx" - (!type already_seen 100) - (!srcfileloc "emit-rtl.h" 89) - nil ) - (!pair "hard_reg_initial_vals" - (!type already_seen 1417) - (!srcfileloc "emit-rtl.h" 96) - nil ) - (!pair "stack_protect_guard" - (!type already_seen 23) - (!srcfileloc "emit-rtl.h" 100) - nil ) - (!pair "stack_protect_guard_decl" - (!type already_seen 23) - (!srcfileloc "emit-rtl.h" 104) - nil ) - (!pair "x_nonlocal_goto_handler_labels" - (!type already_seen 751) - (!srcfileloc "emit-rtl.h" 108) - nil ) - (!pair "x_return_label" - (!type already_seen 366) - (!srcfileloc "emit-rtl.h" 113) - nil ) - (!pair "x_naked_return_label" - (!type already_seen 366) - (!srcfileloc "emit-rtl.h" 118) - nil ) - (!pair "x_stack_slot_list" - (!type already_seen 221) - (!srcfileloc "emit-rtl.h" 122) - nil ) - (!pair "frame_space_list" - (!type already_seen 1016) - (!srcfileloc "emit-rtl.h" 125) - nil ) - (!pair "x_stack_check_probe_note" - (!type already_seen 760) - (!srcfileloc "emit-rtl.h" 128) - nil ) - (!pair "x_arg_pointer_save_area" - (!type already_seen 100) - (!srcfileloc "emit-rtl.h" 134) - nil ) - (!pair "drap_reg" - (!type already_seen 100) - (!srcfileloc "emit-rtl.h" 137) - nil ) - (!pair "x_frame_offset" - (!type already_seen 2) - (!srcfileloc "emit-rtl.h" 142) - nil ) - (!pair "x_parm_birth_insn" - (!type already_seen 297) - (!srcfileloc "emit-rtl.h" 145) - nil ) - (!pair "x_used_temp_slots" - (!type already_seen 1421) - (!srcfileloc "emit-rtl.h" 148) - nil ) - (!pair "x_avail_temp_slots" - (!type already_seen 1412) - (!srcfileloc "emit-rtl.h" 151) - nil ) - (!pair "x_temp_slot_level" - (!type already_seen 2) - (!srcfileloc "emit-rtl.h" 154) - nil ) - (!pair "stack_alignment_needed" - (!type already_seen 2) - (!srcfileloc "emit-rtl.h" 158) - nil ) - (!pair "preferred_stack_boundary" - (!type already_seen 2) - (!srcfileloc "emit-rtl.h" 162) - nil ) - (!pair "parm_stack_boundary" - (!type already_seen 2) - (!srcfileloc "emit-rtl.h" 165) - nil ) - (!pair "max_used_stack_slot_alignment" - (!type already_seen 2) - (!srcfileloc "emit-rtl.h" 168) - nil ) - (!pair "stack_alignment_estimated" - (!type already_seen 2) - (!srcfileloc "emit-rtl.h" 177) - nil ) - (!pair "patch_area_size" - (!type already_seen 2) - (!srcfileloc "emit-rtl.h" 180) - nil ) - (!pair "patch_area_entry" - (!type already_seen 2) - (!srcfileloc "emit-rtl.h" 183) - nil ) - (!pair "accesses_prior_frames" - (!type already_seen 2) - (!srcfileloc "emit-rtl.h" 189) - nil ) - (!pair "calls_eh_return" - (!type already_seen 2) - (!srcfileloc "emit-rtl.h" 192) - nil ) - (!pair "saves_all_registers" - (!type already_seen 2) - (!srcfileloc "emit-rtl.h" 196) - nil ) - (!pair "has_nonlocal_goto" - (!type already_seen 2) - (!srcfileloc "emit-rtl.h" 200) - nil ) - (!pair "has_asm_statement" - (!type already_seen 2) - (!srcfileloc "emit-rtl.h" 203) - nil ) - (!pair "all_throwers_are_sibcalls" - (!type already_seen 2) - (!srcfileloc "emit-rtl.h" 210) - nil ) - (!pair "limit_stack" - (!type already_seen 2) - (!srcfileloc "emit-rtl.h" 214) - nil ) - (!pair "profile" - (!type already_seen 2) - (!srcfileloc "emit-rtl.h" 217) - nil ) - (!pair "uses_const_pool" - (!type already_seen 2) - (!srcfileloc "emit-rtl.h" 220) - nil ) - (!pair "uses_pic_offset_table" - (!type already_seen 2) - (!srcfileloc "emit-rtl.h" 223) - nil ) - (!pair "uses_eh_lsda" - (!type already_seen 2) - (!srcfileloc "emit-rtl.h" 226) - nil ) - (!pair "tail_call_emit" - (!type already_seen 2) - (!srcfileloc "emit-rtl.h" 229) - nil ) - (!pair "arg_pointer_save_area_init" - (!type already_seen 2) - (!srcfileloc "emit-rtl.h" 232) - nil ) - (!pair "frame_pointer_needed" - (!type already_seen 2) - (!srcfileloc "emit-rtl.h" 237) - nil ) - (!pair "maybe_hot_insn_p" - (!type already_seen 2) - (!srcfileloc "emit-rtl.h" 240) - nil ) - (!pair "stack_realign_needed" - (!type already_seen 2) - (!srcfileloc "emit-rtl.h" 247) - nil ) - (!pair "stack_realign_tried" - (!type already_seen 2) - (!srcfileloc "emit-rtl.h" 252) - nil ) - (!pair "need_drap" - (!type already_seen 2) - (!srcfileloc "emit-rtl.h" 256) - nil ) - (!pair "stack_realign_processed" - (!type already_seen 2) - (!srcfileloc "emit-rtl.h" 261) - nil ) - (!pair "stack_realign_finalized" - (!type already_seen 2) - (!srcfileloc "emit-rtl.h" 265) - nil ) - (!pair "dbr_scheduled_p" - (!type already_seen 2) - (!srcfileloc "emit-rtl.h" 268) - nil ) - (!pair "nothrow" - (!type already_seen 2) - (!srcfileloc "emit-rtl.h" 273) - nil ) - (!pair "shrink_wrapped" - (!type already_seen 2) - (!srcfileloc "emit-rtl.h" 276) - nil ) - (!pair "shrink_wrapped_separate" - (!type already_seen 2) - (!srcfileloc "emit-rtl.h" 280) - nil ) - (!pair "sp_is_unchanging" - (!type already_seen 2) - (!srcfileloc "emit-rtl.h" 285) - nil ) - (!pair "sp_is_clobbered_by_asm" - (!type already_seen 2) - (!srcfileloc "emit-rtl.h" 288) - nil ) - (!pair "is_leaf" - (!type already_seen 2) - (!srcfileloc "emit-rtl.h" 294) - nil ) - (!pair "uses_only_leaf_regs" - (!type already_seen 2) - (!srcfileloc "emit-rtl.h" 299) - nil ) - (!pair "has_bb_partition" - (!type already_seen 2) - (!srcfileloc "emit-rtl.h" 304) - nil ) - (!pair "bb_reorder_complete" - (!type already_seen 2) - (!srcfileloc "emit-rtl.h" 308) - nil ) - (!pair "asm_clobbers" - (!type already_seen 2) - (!srcfileloc "emit-rtl.h" 314) - nil ) - (!pair "must_be_zero_on_return" - (!type already_seen 2) - (!srcfileloc "emit-rtl.h" 317) - nil ) - (!pair "max_insn_address" - (!type already_seen 2) - (!srcfileloc "emit-rtl.h" 320) - nil ) - ) - nil 4095 nil nil ) - - (!type struct 1423 nil gc_used "const_int_hasher" - (!srcfileloc "emit-rtl.cc" 145) - (!fields 0 ) - nil 4095 nil nil ) - - (!type user_struct 1424 - (!type pointer 1425 nil gc_used - (!type already_seen 1424) - ) - gc_pointed_to "hash_table" - (!srcfileloc "emit-rtl.cc" 145) - (!fields 1 - (!pair "const_int_hasher" - (!type already_seen 1423) - (!srcfileloc "emit-rtl.cc" 145) - nil ) - ) - ) - - (!type struct 1426 nil gc_used "const_wide_int_hasher" - (!srcfileloc "emit-rtl.cc" 153) - (!fields 0 ) - nil 4095 nil nil ) - - (!type user_struct 1427 - (!type pointer 1428 nil gc_used - (!type already_seen 1427) - ) - gc_pointed_to "hash_table" - (!srcfileloc "emit-rtl.cc" 153) - (!fields 1 - (!pair "const_wide_int_hasher" - (!type already_seen 1426) - (!srcfileloc "emit-rtl.cc" 153) - nil ) - ) - ) - - (!type struct 1429 nil gc_used "const_poly_int_hasher" - (!srcfileloc "emit-rtl.cc" 163) - (!fields 0 ) - nil 4095 nil nil ) - - (!type user_struct 1430 - (!type pointer 1431 nil gc_used - (!type already_seen 1430) - ) - gc_pointed_to "hash_table" - (!srcfileloc "emit-rtl.cc" 163) - (!fields 1 - (!pair "const_poly_int_hasher" - (!type already_seen 1429) - (!srcfileloc "emit-rtl.cc" 163) - nil ) - ) - ) - - (!type struct 1432 nil gc_used "reg_attr_hasher" - (!srcfileloc "emit-rtl.cc" 172) - (!fields 0 ) - nil 4095 nil nil ) - - (!type user_struct 1433 - (!type pointer 1434 nil gc_used - (!type already_seen 1433) - ) - gc_pointed_to "hash_table" - (!srcfileloc "emit-rtl.cc" 172) - (!fields 1 - (!pair "reg_attr_hasher" - (!type already_seen 1432) - (!srcfileloc "emit-rtl.cc" 172) - nil ) - ) - ) - - (!type struct 1435 nil gc_used "const_double_hasher" - (!srcfileloc "emit-rtl.cc" 181) - (!fields 0 ) - nil 4095 nil nil ) - - (!type user_struct 1436 - (!type pointer 1437 nil gc_used - (!type already_seen 1436) - ) - gc_pointed_to "hash_table" - (!srcfileloc "emit-rtl.cc" 181) - (!fields 1 - (!pair "const_double_hasher" - (!type already_seen 1435) - (!srcfileloc "emit-rtl.cc" 181) - nil ) - ) - ) - - (!type struct 1438 nil gc_used "const_fixed_hasher" - (!srcfileloc "emit-rtl.cc" 190) - (!fields 0 ) - nil 4095 nil nil ) - - (!type user_struct 1439 - (!type pointer 1440 nil gc_used - (!type already_seen 1439) - ) - gc_pointed_to "hash_table" - (!srcfileloc "emit-rtl.cc" 190) - (!fields 1 - (!pair "const_fixed_hasher" - (!type already_seen 1438) - (!srcfileloc "emit-rtl.cc" 190) - nil ) - ) - ) - - (!type already_seen 357) - - (!type already_seen 365) - - (!type already_seen 361) - - (!type already_seen 359) - - (!type already_seen 362) - - (!type already_seen 363) - - (!type already_seen 358) - - (!type already_seen 369) - - (!type already_seen 371) - - (!type already_seen 373) - - (!type already_seen 375) - - (!type struct 1441 nil gc_unused "throw_stmt_node" - (!srcfileloc "except.h" 289) - (!fields 2 - (!pair "stmt" - (!type already_seen 282) - (!srcfileloc "except.h" 287) - nil ) - (!pair "lp_nr" - (!type already_seen 2) - (!srcfileloc "except.h" 288) - nil ) - ) - nil 4095 nil nil ) - - (!type struct 1442 nil gc_unused "pieces_addr"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1443 nil gc_unused "op_by_pieces_d"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1444 nil gc_unused "move_by_pieces_d"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1445 nil gc_unused "store_by_pieces_d"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1446 nil gc_unused "compare_by_pieces_d"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1447 nil gc_unused "algorithm"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1448 - (!type pointer 1449 nil gc_unused - (!type already_seen 1448) - ) - gc_unused "separate_ops"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1450 nil gc_unused "by_pieces_prev"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1451 nil gc_used "insn_cache_hasher" - (!srcfileloc "function.cc" 131) - (!fields 0 ) - nil 4095 nil nil ) - - (!type user_struct 1452 - (!type pointer 1453 nil gc_used - (!type already_seen 1452) - ) - gc_pointed_to "hash_table" - (!srcfileloc "function.cc" 131) - (!fields 1 - (!pair "insn_cache_hasher" - (!type already_seen 1451) - (!srcfileloc "function.cc" 131) - nil ) - ) - ) - - (!type struct 1454 nil gc_pointed_to "temp_slot_address_entry" - (!srcfileloc "function.cc" 598) - (!fields 3 - (!pair "hash" - (!type already_seen 2) - (!srcfileloc "function.cc" 595) - nil ) - (!pair "address" - (!type already_seen 100) - (!srcfileloc "function.cc" 596) - nil ) - (!pair "temp_slot" - (!type already_seen 1412) - (!srcfileloc "function.cc" 597) - nil ) - ) - (!options - (!option for_user string "") - ) - 4095 nil nil ) - - (!type struct 1455 nil gc_used "temp_address_hasher" - (!srcfileloc "function.cc" 608) - (!fields 0 ) - nil 4095 nil nil ) - - (!type user_struct 1456 - (!type pointer 1457 nil gc_used - (!type already_seen 1456) - ) - gc_pointed_to "hash_table" - (!srcfileloc "function.cc" 608) - (!fields 1 - (!pair "temp_address_hasher" - (!type already_seen 1455) - (!srcfileloc "function.cc" 608) - nil ) - ) - ) - - (!type already_seen 1419) - - (!type struct 1458 nil gc_unused "pass_instantiate_virtual_regs"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1459 nil gc_unused "assign_parm_data_all"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1460 nil gc_unused "assign_parm_data_one"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1461 nil gc_unused "pass_leaf_regs"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1462 nil gc_unused "pass_thread_prologue_and_epilogue"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1463 nil gc_unused "pass_zero_call_used_regs"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1464 nil gc_unused "pass_match_asm_constraints"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type user_struct 1465 - (!type pointer 1466 nil gc_used - (!type already_seen 1465) - ) - gc_pointed_to "hash_map" - (!srcfileloc "except.cc" 151) - (!fields 2 - (!pair "tree" - (!type already_seen 23) - (!srcfileloc "except.cc" 151) - nil ) - (!pair "tree_hash" - (!type already_seen 936) - (!srcfileloc "except.cc" 151) - nil ) - ) - ) - - (!type struct 1467 nil gc_unused "action_record"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1468 nil gc_unused "action_record_hasher" - (!srcfileloc "except.cc" 210) - (!fields 0 ) - nil 4095 nil nil ) - - (!type user_struct 1469 nil gc_unused "hash_table" - (!srcfileloc "except.cc" 210) - (!fields 1 - (!pair "action_record_hasher" - (!type already_seen 1468) - (!srcfileloc "except.cc" 210) - nil ) - ) - ) - - (!type struct 1470 nil gc_unused "duplicate_eh_regions_data"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1471 nil gc_unused "ttypes_filter"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1472 nil gc_unused "ttypes_filter_hasher" - (!srcfileloc "except.cc" 729) - (!fields 0 ) - nil 4095 nil nil ) - - (!type user_struct 1473 nil gc_unused "hash_table" - (!srcfileloc "except.cc" 729) - (!fields 1 - (!pair "ttypes_filter_hasher" - (!type already_seen 1472) - (!srcfileloc "except.cc" 729) - nil ) - ) - ) - - (!type struct 1474 nil gc_unused "ehspec_hasher" - (!srcfileloc "except.cc" 764) - (!fields 0 ) - nil 4095 nil nil ) - - (!type user_struct 1475 nil gc_unused "hash_table" - (!srcfileloc "except.cc" 764) - (!fields 1 - (!pair "ehspec_hasher" - (!type already_seen 1474) - (!srcfileloc "except.cc" 764) - nil ) - ) - ) - - (!type struct 1476 nil gc_unused "pass_set_nothrow_function_flags"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1477 nil gc_unused "pass_convert_to_eh_region_ranges"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type already_seen 913) - - (!type struct 1478 - (!type pointer 1479 nil gc_used - (!type already_seen 1478) - ) - gc_pointed_to "test_of_length" - (!srcfileloc "ggc-tests.cc" 68) - (!fields 2 - (!pair "num_elem" - (!type already_seen 2) - (!srcfileloc "ggc-tests.cc" 64) - nil ) - (!pair "elem" - (!type array 1480 nil gc_used "1" - (!type already_seen 1479) - ) - (!srcfileloc "ggc-tests.cc" 65) - (!options - (!option length string "%h.num_elem") - ) - ) - ) - nil 4095 nil nil ) - - (!type already_seen 915) - - (!type struct 1481 - (!type pointer 1482 nil gc_used - (!type already_seen 1481) - ) - gc_pointed_to "test_of_union" - (!srcfileloc "ggc-tests.cc" 134) - (!fields 2 - (!pair "m_kind" - (!type already_seen 2) - (!srcfileloc "ggc-tests.cc" 125) - nil ) - (!pair "m_u" - (!type already_seen 911) - (!srcfileloc "ggc-tests.cc" 129) - (!options - (!option desc string "calc_desc (%0.m_kind)") - ) - ) - ) - nil 4095 nil nil ) - - (!type struct 1483 nil gc_unused "test_struct_with_dtor" - (!srcfileloc "ggc-tests.cc" 176) - (!fields 0 ) - nil 4095 nil nil ) - - (!type struct 1484 - (!type pointer 1485 nil gc_used - (!type already_seen 1484) - ) - gc_pointed_to "example_base" - (!srcfileloc "ggc-tests.cc" 245) - (!fields 2 - (!pair "m_kind" - (!type already_seen 2) - (!srcfileloc "ggc-tests.cc" 243) - nil ) - (!pair "m_a" - (!type already_seen 912) - (!srcfileloc "ggc-tests.cc" 244) - nil ) - ) - (!options - (!option tag string "0") - (!option desc string "%h.m_kind") - ) - 4095 nil nil ) - - (!type struct 1486 - (!type pointer 1487 nil gc_used - (!type already_seen 1486) - ) - gc_pointed_to "some_subclass" - (!srcfileloc "ggc-tests.cc" 256) - (!fields 1 - (!pair "m_b" - (!type already_seen 912) - (!srcfileloc "ggc-tests.cc" 255) - nil ) - ) - (!options - (!option tag string "1") - ) - 4095 nil - (!type already_seen 1484) - ) - - (!type struct 1488 - (!type pointer 1489 nil gc_used - (!type already_seen 1488) - ) - gc_pointed_to "some_other_subclass" - (!srcfileloc "ggc-tests.cc" 267) - (!fields 1 - (!pair "m_c" - (!type already_seen 912) - (!srcfileloc "ggc-tests.cc" 266) - nil ) - ) - (!options - (!option tag string "2") - ) - 4095 nil - (!type already_seen 1484) - ) - - (!type struct 1490 - (!type pointer 1491 nil gc_used - (!type already_seen 1490) - ) - gc_pointed_to "test_node" - (!srcfileloc "ggc-tests.cc" 326) - (!fields 3 - (!pair "m_prev" - (!type already_seen 1491) - (!srcfileloc "ggc-tests.cc" 323) - nil ) - (!pair "m_next" - (!type already_seen 1491) - (!srcfileloc "ggc-tests.cc" 324) - nil ) - (!pair "m_idx" - (!type already_seen 2) - (!srcfileloc "ggc-tests.cc" 325) - nil ) - ) - (!options - (!option chain_prev string "%h.m_prev") - (!option chain_next string "%h.m_next") - ) - 4095 nil nil ) - - (!type user_struct 1492 - (!type pointer 1493 nil gc_used - (!type already_seen 1492) - ) - gc_pointed_to "user_struct" - (!srcfileloc "ggc-tests.cc" 388) - (!fields 0 ) - ) - - (!type already_seen 619) - - (!type struct 1494 nil gc_unused "gcse_expr"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1495 - (!type pointer 1496 nil gc_unused - (!type already_seen 1495) - ) - gc_unused "gcse_occr"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1497 nil gc_unused "gcse_hash_table_d"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1498 nil gc_unused "ls_expr"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1499 nil gc_unused "pre_ldst_expr_hasher"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1500 nil gc_unused "bb_data"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type user_struct 1501 nil gc_unused "vec" - (!srcfileloc "gcse.cc" 620) - (!fields 1 - (!pair "rtx_insn" - (!type already_seen 297) - (!srcfileloc "gcse.cc" 620) - nil ) - ) - ) - - (!type user_struct 1502 nil gc_unused "vec" - (!srcfileloc "gcse.cc" 621) - (!fields 1 - (!pair "modify_pair" - (!type undefined 1503 nil gc_unused "modify_pair" - (!srcfileloc "gcse.cc" 621) - ) - (!srcfileloc "gcse.cc" 621) - nil ) - ) - ) - - (!type already_seen 1503) - - (!type struct 1504 nil gc_unused "reg_avail_info"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1505 nil gc_unused "mem_conflict_info"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1506 nil gc_unused "edge_list"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1507 nil gc_unused "set_data"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1508 nil gc_unused "pass_rtl_pre"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1509 nil gc_unused "pass_rtl_hoist"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1510 nil gc_unused "godump_str_hash"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1511 nil gc_unused "macro_hash_value"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1512 nil gc_unused "godump_container"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1513 nil gc_used "libfunc_decl_hasher" - (!srcfileloc "optabs-libfuncs.cc" 720) - (!fields 0 ) - nil 4095 nil nil ) - - (!type user_struct 1514 - (!type pointer 1515 nil gc_used - (!type already_seen 1514) - ) - gc_pointed_to "hash_table" - (!srcfileloc "optabs-libfuncs.cc" 720) - (!fields 1 - (!pair "libfunc_decl_hasher" - (!type already_seen 1513) - (!srcfileloc "optabs-libfuncs.cc" 720) - nil ) - ) - ) - - (!type struct 1516 nil gc_unused "bb_profile_info"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1517 nil gc_unused "edge_profile_info"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1518 nil gc_unused "bb_stats"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1519 nil gc_unused "location_triplet"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1520 nil gc_unused "location_triplet_hash"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1521 - (!type pointer 1522 nil gc_unused - (!type already_seen 1521) - ) - gc_unused "fixup_edge_type" - (!srcfileloc "mcf.cc" 94) - (!fields 0 ) - nil 4095 nil nil ) - - (!type struct 1523 - (!type pointer 1524 nil gc_unused - (!type already_seen 1523) - ) - gc_unused "fixup_vertex_type" - (!srcfileloc "mcf.cc" 103) - (!fields 0 ) - nil 4095 nil nil ) - - (!type struct 1525 nil gc_unused "fixup_graph_type"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1526 nil gc_unused "queue_type"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1527 nil gc_unused "augmenting_path_type"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type union 1528 nil gc_unused "anonymous:../../gcc/gcc/mcf.cc:343"nil - (!fields 0 ) - nil 0 nil ) - - (!type struct 1529 - (!type pointer 1530 nil gc_unused - (!type already_seen 1529) - ) - gc_unused "stack_def"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1531 - (!type pointer 1532 nil gc_unused - (!type already_seen 1531) - ) - gc_unused "block_info_def"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1533 nil gc_unused "pass_stack_regs"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1534 nil gc_unused "pass_stack_regs_run"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1535 nil gc_unused "pass_free_cfg"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1536 nil gc_unused "pass_into_cfg_layout_mode"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1537 nil gc_unused "pass_outof_cfg_layout_mode"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1538 nil gc_unused "cfg_hooks"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1539 - (!type pointer 1540 nil gc_used - (!type already_seen 1539) - ) - gc_pointed_to "string_pool_data" - (!srcfileloc "stringpool.cc" 251) - (!fields 3 - (!pair "entries" - (!type already_seen 17) - (!srcfileloc "stringpool.cc" 248) - (!options - (!option nested_ptr nested - (!type already_seen 22) - "%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 2) - (!srcfileloc "stringpool.cc" 249) - nil ) - (!pair "nelements" - (!type already_seen 2) - (!srcfileloc "stringpool.cc" 250) - nil ) - ) - nil 4095 nil nil ) - - (!type struct 1541 nil gc_pointed_to "type_hash" - (!srcfileloc "tree.cc" 150) - (!fields 2 - (!pair "hash" - (!type already_seen 2) - (!srcfileloc "tree.cc" 148) - nil ) - (!pair "type" - (!type already_seen 23) - (!srcfileloc "tree.cc" 149) - nil ) - ) - (!options - (!option for_user string "") - ) - 4095 nil nil ) - - (!type struct 1542 nil gc_used "type_cache_hasher" - (!srcfileloc "tree.cc" 174) - (!fields 0 ) - nil 4095 nil nil ) - - (!type user_struct 1543 - (!type pointer 1544 nil gc_used - (!type already_seen 1543) - ) - gc_pointed_to "hash_table" - (!srcfileloc "tree.cc" 174) - (!fields 1 - (!pair "type_cache_hasher" - (!type already_seen 1542) - (!srcfileloc "tree.cc" 174) - nil ) - ) - ) - - (!type struct 1545 nil gc_used "int_cst_hasher" - (!srcfileloc "tree.cc" 185) - (!fields 0 ) - nil 4095 nil nil ) - - (!type user_struct 1546 - (!type pointer 1547 nil gc_used - (!type already_seen 1546) - ) - gc_pointed_to "hash_table" - (!srcfileloc "tree.cc" 185) - (!fields 1 - (!pair "int_cst_hasher" - (!type already_seen 1545) - (!srcfileloc "tree.cc" 185) - nil ) - ) - ) - - (!type struct 1548 nil gc_used "poly_int_cst_hasher" - (!srcfileloc "tree.cc" 196) - (!fields 0 ) - nil 4095 nil nil ) - - (!type user_struct 1549 - (!type pointer 1550 nil gc_used - (!type already_seen 1549) - ) - gc_pointed_to "hash_table" - (!srcfileloc "tree.cc" 196) - (!fields 1 - (!pair "poly_int_cst_hasher" - (!type already_seen 1548) - (!srcfileloc "tree.cc" 196) - nil ) - ) - ) - - (!type struct 1551 nil gc_used "cl_option_hasher" - (!srcfileloc "tree.cc" 212) - (!fields 0 ) - nil 4095 nil nil ) - - (!type user_struct 1552 - (!type pointer 1553 nil gc_used - (!type already_seen 1552) - ) - gc_pointed_to "hash_table" - (!srcfileloc "tree.cc" 212) - (!fields 1 - (!pair "cl_option_hasher" - (!type already_seen 1551) - (!srcfileloc "tree.cc" 212) - nil ) - ) - ) - - (!type user_struct 1554 - (!type pointer 1555 nil gc_used - (!type already_seen 1554) - ) - gc_pointed_to "hash_table" - (!srcfileloc "tree.cc" 218) - (!fields 1 - (!pair "tree_decl_map_cache_hasher" - (!type already_seen 931) - (!srcfileloc "tree.cc" 218) - nil ) - ) - ) - - (!type user_struct 1556 - (!type pointer 1557 nil gc_used - (!type already_seen 1556) - ) - gc_pointed_to "hash_table" - (!srcfileloc "tree.cc" 224) - (!fields 1 - (!pair "tree_vec_map_cache_hasher" - (!type already_seen 932) - (!srcfileloc "tree.cc" 224) - nil ) - ) - ) - - (!type struct 1558 nil gc_unused "addr_const"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1559 nil gc_used "section_hasher" - (!srcfileloc "varasm.cc" 189) - (!fields 0 ) - nil 4095 nil nil ) - - (!type user_struct 1560 - (!type pointer 1561 nil gc_used - (!type already_seen 1560) - ) - gc_pointed_to "hash_table" - (!srcfileloc "varasm.cc" 189) - (!fields 1 - (!pair "section_hasher" - (!type already_seen 1559) - (!srcfileloc "varasm.cc" 189) - nil ) - ) - ) - - (!type struct 1562 nil gc_used "object_block_hasher" - (!srcfileloc "varasm.cc" 200) - (!fields 0 ) - nil 4095 nil nil ) - - (!type user_struct 1563 - (!type pointer 1564 nil gc_used - (!type already_seen 1563) - ) - gc_pointed_to "hash_table" - (!srcfileloc "varasm.cc" 200) - (!fields 1 - (!pair "object_block_hasher" - (!type already_seen 1562) - (!srcfileloc "varasm.cc" 200) - nil ) - ) - ) - - (!type struct 1565 nil gc_unused "asm_int_op"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type user_struct 1566 - (!type pointer 1567 nil gc_used - (!type already_seen 1566) - ) - gc_pointed_to "hash_table" - (!srcfileloc "varasm.cc" 3072) - (!fields 1 - (!pair "tree_descriptor_hasher" - (!type already_seen 1096) - (!srcfileloc "varasm.cc" 3072) - nil ) - ) - ) - - (!type already_seen 1012) - - (!type already_seen 1011) - - (!type struct 1568 nil gc_unused "constant_descriptor_rtx_data"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1569 nil gc_unused "const_rtx_data_hasher"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1570 nil gc_unused "oc_outer_state"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1571 nil gc_unused "oc_local_state"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1572 nil gc_used "tm_clone_hasher" - (!srcfileloc "varasm.cc" 6353) - (!fields 0 ) - nil 4095 nil nil ) - - (!type user_struct 1573 - (!type pointer 1574 nil gc_used - (!type already_seen 1573) - ) - gc_pointed_to "hash_table" - (!srcfileloc "varasm.cc" 6353) - (!fields 1 - (!pair "tm_clone_hasher" - (!type already_seen 1572) - (!srcfileloc "varasm.cc" 6353) - nil ) - ) - ) - - (!type struct 1575 nil gc_unused "tm_alias_pair"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type already_seen 404) - - (!type already_seen 768) - - (!type already_seen 766) - - (!type already_seen 776) - - (!type already_seen 774) - - (!type already_seen 386) - - (!type already_seen 781) - - (!type already_seen 802) - - (!type already_seen 791) - - (!type struct 1576 nil gc_pointed_to "gimple_statement_wce" - (!srcfileloc "gimple.h" 561) - (!fields 1 - (!pair "cleanup" - (!type already_seen 282) - (!srcfileloc "gimple.h" 560) - nil ) - ) - (!options - (!option tag string "GSS_WCE") - ) - 4095 nil - (!type already_seen 283) - ) - - (!type already_seen 807) - - (!type already_seen 810) - - (!type already_seen 809) - - (!type already_seen 804) - - (!type struct 1577 nil gc_pointed_to "gomp_scan" - (!srcfileloc "gimple.h" 784) - (!fields 0 ) - (!options - (!option tag string "GSS_OMP_SINGLE_LAYOUT") - ) - 4095 nil - (!type already_seen 804) - ) - - (!type already_seen 799) - - (!type struct 1578 nil gc_pointed_to "gimple_statement_omp_return" - (!srcfileloc "gimple.h" 826) - (!fields 0 ) - (!options - (!option tag string "GSS_OMP_ATOMIC_STORE_LAYOUT") - ) - 4095 nil - (!type already_seen 799) - ) - - (!type struct 1579 nil gc_pointed_to "gimple_statement_assume" - (!srcfileloc "gimple.h" 840) - (!fields 2 - (!pair "guard" - (!type already_seen 23) - (!srcfileloc "gimple.h" 836) - nil ) - (!pair "body" - (!type already_seen 282) - (!srcfileloc "gimple.h" 839) - nil ) - ) - (!options - (!option tag string "GSS_ASSUME") - ) - 4095 nil - (!type already_seen 283) - ) - - (!type struct 1580 nil gc_unused "gimple_temp_hash_elt"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1581 nil gc_pointed_to "tm_restart_node" - (!srcfileloc "gimple-ssa.h" 32) - (!fields 2 - (!pair "stmt" - (!type already_seen 282) - (!srcfileloc "gimple-ssa.h" 30) - nil ) - (!pair "label_or_list" - (!type already_seen 23) - (!srcfileloc "gimple-ssa.h" 31) - nil ) - ) - (!options - (!option for_user string "") - ) - 4095 nil nil ) - - (!type already_seen 407) - - (!type already_seen 398) - - (!type already_seen 395) - - (!type already_seen 397) - - (!type already_seen 399) - - (!type already_seen 406) - - (!type struct 1582 nil gc_unused "pass_release_ssa_names"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type union 1583 nil gc_unused "anonymous:../../gcc/gcc/tree-eh.cc:53"nil - (!fields 0 ) - nil 0 nil ) - - (!type struct 1584 nil gc_unused "finally_tree_node"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1585 nil gc_unused "finally_tree_hasher"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1586 nil gc_unused "goto_queue_node"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1587 nil gc_unused "leh_state"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1588 nil gc_unused "leh_tf_state"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1589 nil gc_unused "labels_s"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1590 nil gc_unused "pass_lower_eh"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1591 nil gc_unused "pass_refactor_eh"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1592 nil gc_unused "pass_lower_resx"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1593 nil gc_unused "pass_lower_eh_dispatch"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1594 nil gc_unused "pass_cleanup_eh"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1595 nil gc_used "mem_addr_template" - (!srcfileloc "tree-ssa-address.cc" 95) - (!fields 3 - (!pair "ref" - (!type already_seen 100) - (!srcfileloc "tree-ssa-address.cc" 83) - nil ) - (!pair "step_p" - (!type already_seen 101) - (!srcfileloc "tree-ssa-address.cc" 84) - (!options - (!option skip string "") - ) - ) - (!pair "off_p" - (!type already_seen 101) - (!srcfileloc "tree-ssa-address.cc" 86) - (!options - (!option skip string "") - ) - ) - ) - nil 4095 nil nil ) - - (!type user_struct 1596 - (!type pointer 1597 nil gc_used - (!type already_seen 1596) - ) - gc_pointed_to "vec" - (!srcfileloc "tree-ssa-address.cc" 95) - (!fields 2 - (!pair "va_gc" - (!type already_seen 80) - (!srcfileloc "tree-ssa-address.cc" 95) - nil ) - (!pair "mem_addr_template" - (!type already_seen 1595) - (!srcfileloc "tree-ssa-address.cc" 95) - nil ) - ) - ) - - (!type struct 1598 nil gc_unused "mem_address"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1599 nil gc_unused "cfg_stats_d"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1600 nil gc_unused "replace_decls_d"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1601 nil gc_unused "locus_discrim_map"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1602 nil gc_unused "locus_discrim_hasher"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1603 nil gc_unused "pass_build_cfg"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1604 nil gc_unused "omp_region"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1605 nil gc_unused "label_record"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1606 nil gc_unused "walk_stmt_info"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1607 nil gc_unused "move_stmt_d"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1608 nil gc_unused "profile_record"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1609 nil gc_unused "pass_split_crit_edges"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1610 nil gc_unused "pass_warn_function_return"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1611 nil gc_unused "pass_warn_unused_result"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1612 nil gc_unused "pass_fixup_cfg"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1613 nil gc_unused "iv_use"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1614 nil gc_unused "iv"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1615 nil gc_unused "version_info"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1616 nil gc_unused "comp_cost"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1617 nil gc_unused "iv_inv_expr_ent"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1618 nil gc_unused "cost_pair"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1619 nil gc_unused "iv_group"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1620 nil gc_unused "iv_cand"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1621 nil gc_unused "iv_common_cand"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1622 nil gc_unused "iv_common_cand_hasher"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1623 nil gc_unused "iv_inv_expr_hasher"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1624 nil gc_unused "ivopts_data"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1625 nil gc_unused "iv_ca"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1626 nil gc_unused "iv_ca_delta"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1627 nil gc_unused "tree_niter_desc"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1628 nil gc_unused "ifs_ivopts_data"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1629 nil gc_unused "walk_tree_data"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1630 nil gc_unused "aff_tree"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1631 nil gc_unused "ainc_cost_data"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1632 nil gc_unused "dfa_stats_d"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1633 nil gc_unused "numbered_tree" - (!srcfileloc "tree-dfa.cc" 960) - (!fields 2 - (!pair "t" - (!type already_seen 23) - (!srcfileloc "tree-dfa.cc" 958) - nil ) - (!pair "num" - (!type already_seen 2) - (!srcfileloc "tree-dfa.cc" 959) - nil ) - ) - nil 4095 nil nil ) - - (!type struct 1634 nil gc_pointed_to "scev_info_str" - (!srcfileloc "tree-scalar-evolution.cc" 300) - (!fields 3 - (!pair "name_version" - (!type already_seen 2) - (!srcfileloc "tree-scalar-evolution.cc" 297) - nil ) - (!pair "instantiated_below" - (!type already_seen 2) - (!srcfileloc "tree-scalar-evolution.cc" 298) - nil ) - (!pair "chrec" - (!type already_seen 23) - (!srcfileloc "tree-scalar-evolution.cc" 299) - nil ) - ) - (!options - (!option for_user string "") - ) - 4095 nil nil ) - - (!type struct 1635 nil gc_used "scev_info_hasher" - (!srcfileloc "tree-scalar-evolution.cc" 312) - (!fields 0 ) - nil 4095 nil nil ) - - (!type user_struct 1636 - (!type pointer 1637 nil gc_used - (!type already_seen 1636) - ) - gc_pointed_to "hash_table" - (!srcfileloc "tree-scalar-evolution.cc" 312) - (!fields 1 - (!pair "scev_info_hasher" - (!type already_seen 1635) - (!srcfileloc "tree-scalar-evolution.cc" 312) - nil ) - ) - ) - - (!type struct 1638 nil gc_unused "instantiate_cache_type"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1639 nil gc_unused "scev_dfs"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1640 nil gc_unused "chrec_stats"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type already_seen 401) - - (!type struct 1641 nil gc_unused "pass_ipa_tree_profile"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1642 nil gc_unused "nesting_info"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1643 nil gc_unused "nesting_copy_body_data"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1644 nil gc_unused "omp_for_data_loop"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1645 nil gc_unused "known_properties"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1646 nil gc_unused "declare_variant_simd_data"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1647 nil gc_used "omp_declare_variant_entry" - (!srcfileloc "omp-general.cc" 2071) - (!fields 5 - (!pair "variant" - (!type already_seen 817) - (!srcfileloc "omp-general.cc" 2052) - nil ) - (!pair "score" - (!type already_seen 2) - (!srcfileloc "omp-general.cc" 2054) - nil ) - (!pair "score_in_declare_simd_clone" - (!type already_seen 2) - (!srcfileloc "omp-general.cc" 2056) - nil ) - (!pair "ctx" - (!type already_seen 23) - (!srcfileloc "omp-general.cc" 2058) - nil ) - (!pair "matches" - (!type already_seen 2) - (!srcfileloc "omp-general.cc" 2060) - nil ) - ) - nil 4095 nil nil ) - - (!type user_struct 1648 - (!type pointer 1649 nil gc_used - (!type already_seen 1648) - ) - gc_pointed_to "vec" - (!srcfileloc "omp-general.cc" 2071) - (!fields 2 - (!pair "va_gc" - (!type already_seen 80) - (!srcfileloc "omp-general.cc" 2071) - nil ) - (!pair "omp_declare_variant_entry" - (!type already_seen 1647) - (!srcfileloc "omp-general.cc" 2071) - nil ) - ) - ) - - (!type struct 1650 nil gc_pointed_to "omp_declare_variant_base_entry" - (!srcfileloc "omp-general.cc" 2072) - (!fields 3 - (!pair "base" - (!type already_seen 817) - (!srcfileloc "omp-general.cc" 2066) - nil ) - (!pair "node" - (!type already_seen 817) - (!srcfileloc "omp-general.cc" 2069) - nil ) - (!pair "variants" - (!type already_seen 1649) - (!srcfileloc "omp-general.cc" 2071) - nil ) - ) - (!options - (!option for_user string "") - ) - 4095 nil nil ) - - (!type struct 1651 nil gc_used "omp_declare_variant_hasher" - (!srcfileloc "omp-general.cc" 2120) - (!fields 0 ) - nil 4095 nil nil ) - - (!type user_struct 1652 - (!type pointer 1653 nil gc_used - (!type already_seen 1652) - ) - gc_pointed_to "hash_table" - (!srcfileloc "omp-general.cc" 2120) - (!fields 1 - (!pair "omp_declare_variant_hasher" - (!type already_seen 1651) - (!srcfileloc "omp-general.cc" 2120) - nil ) - ) - ) - - (!type struct 1654 nil gc_used "omp_declare_variant_alt_hasher" - (!srcfileloc "omp-general.cc" 2142) - (!fields 0 ) - nil 4095 nil nil ) - - (!type user_struct 1655 - (!type pointer 1656 nil gc_used - (!type already_seen 1655) - ) - gc_pointed_to "hash_table" - (!srcfileloc "omp-general.cc" 2142) - (!fields 1 - (!pair "omp_declare_variant_alt_hasher" - (!type already_seen 1654) - (!srcfileloc "omp-general.cc" 2142) - nil ) - ) - ) - - (!type struct 1657 nil gc_unused "omp_context"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1658 nil gc_unused "omp_for_data"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1659 nil gc_unused "omplow_simd_context"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1660 nil gc_unused "omp_taskcopy_context"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1661 nil gc_unused "lower_omp_regimplify_operands_data"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1662 nil gc_unused "pass_lower_omp"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1663 nil gc_unused "pass_diagnose_omp_blocks"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1664 nil gc_unused "cl_option_state"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1665 nil gc_unused "m68k_frame"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1666 nil gc_unused "m68k_address"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1667 nil gc_unused "gcc_target"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1668 nil gc_unused "m68k_target_selection"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1669 nil gc_unused "_sched_ib"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1670 nil gc_unused "dump_file_info"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1671 nil gc_unused "pass_build_ssa_passes"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1672 nil gc_unused "pass_local_optimization_passes"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1673 nil gc_unused "pass_ipa_remove_symbols"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1674 nil gc_unused "pass_all_early_optimizations"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1675 nil gc_unused "pass_all_optimizations"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1676 nil gc_unused "pass_all_optimizations_g"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1677 nil gc_unused "pass_rest_of_compilation"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1678 nil gc_unused "pass_postreload"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1679 nil gc_unused "pass_late_compilation"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1680 nil gc_unused "pass_pre_slp_scalar_cleanup"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1681 - (!type pointer 1682 nil gc_unused - (!type already_seen 1681) - ) - gc_unused "uid_range"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1683 nil gc_unused "pass_list_node"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1684 - (!type pointer 1685 nil gc_unused - (!type already_seen 1684) - ) - gc_unused "lto_out_decl_state"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type user_struct 1686 - (!type pointer 1687 nil gc_used - (!type already_seen 1686) - ) - gc_pointed_to "hash_map" - (!srcfileloc "cgraphclones.cc" 479) - (!fields 1 - (!pair "unsigned" - (!type already_seen 1403) - (!srcfileloc "cgraphclones.cc" 479) - nil ) - ) - ) - - (!type user_struct 1688 - (!type pointer 1689 nil gc_used - (!type already_seen 1688) - ) - gc_pointed_to "vec" - (!srcfileloc "tree-phinodes.cc" 70) - (!fields 2 - (!pair "va_gc" - (!type already_seen 80) - (!srcfileloc "tree-phinodes.cc" 70) - nil ) - (!pair "gimple" - (!type already_seen 282) - (!srcfileloc "tree-phinodes.cc" 70) - nil ) - ) - ) - - (!type struct 1690 nil gc_unused "ao_ref"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type user_struct 1691 nil gc_unused "irange" - (!srcfileloc "value-range.h" 220) - (!fields 0 ) - ) - - (!type struct 1692 nil gc_unused "vrange"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type user_struct 1693 nil gc_unused "int_range" - (!srcfileloc "value-range.h" 251) - (!fields 0 ) - ) - - (!type struct 1694 nil gc_unused "unsupported_range"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1695 nil gc_unused "nan_state"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1696 nil gc_unused "frange"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1697 nil gc_unused "vrange_visitor"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type already_seen 1140) - - (!type already_seen 1141) - - (!type user_struct 1698 nil gc_unused "int_range<255>" - (!srcfileloc "value-range.h" 495) - (!fields 1 - (!pair "255" - (!type undefined 1699 nil gc_unused "255" - (!srcfileloc "value-range.h" 495) - ) - (!srcfileloc "value-range.h" 495) - nil ) - ) - ) - - (!type already_seen 1699) - - (!type struct 1700 nil gc_unused "Value_Range"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1701 nil gc_unused "vrange_allocator"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1702 nil gc_unused "vrange_storage"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type undefined 1703 nil gc_unused "DISABLE_COPY_AND_ASSIGN" - (!srcfileloc "value-range-storage.h" 78) - ) - - (!type already_seen 553) - - (!type already_seen 554) - - (!type struct 1704 nil gc_unused "obstack_vrange_allocator"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1705 nil gc_unused "ggc_vrange_allocator"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type already_seen 1143) - - (!type already_seen 1135) - - (!type already_seen 1144) - - (!type already_seen 1134) - - (!type already_seen 1132) - - (!type already_seen 1130) - - (!type struct 1706 - (!type pointer 1707 nil gc_used - (!type already_seen 1706) - ) - gc_pointed_to "ipcp_transformation" - (!srcfileloc "ipa-prop.h" 934) - (!fields 3 - (!pair "m_agg_values" - (!type pointer 1708 nil gc_used - (!type user_struct 1709 - (!type already_seen 1708) - gc_pointed_to "vec" - (!srcfileloc "ipa-prop.h" 916) - (!fields 2 - (!pair "va_gc" - (!type already_seen 80) - (!srcfileloc "ipa-prop.h" 916) - nil ) - (!pair "ipa_argagg_value" - (!type already_seen 1201) - (!srcfileloc "ipa-prop.h" 916) - nil ) - ) - ) - ) - (!srcfileloc "ipa-prop.h" 916) - nil ) - (!pair "bits" - (!type pointer 1710 nil gc_used - (!type user_struct 1711 - (!type already_seen 1710) - gc_pointed_to "vec" - (!srcfileloc "ipa-prop.h" 918) - (!fields 2 - (!pair "va_gc" - (!type already_seen 80) - (!srcfileloc "ipa-prop.h" 918) - nil ) - (!pair "ipa_bits" - (!type already_seen 1137) - (!srcfileloc "ipa-prop.h" 918) - nil ) - ) - ) - ) - (!srcfileloc "ipa-prop.h" 918) - nil ) - (!pair "m_vr" - (!type pointer 1712 nil gc_used - (!type user_struct 1713 - (!type already_seen 1712) - gc_pointed_to "vec" - (!srcfileloc "ipa-prop.h" 920) - (!fields 2 - (!pair "va_gc" - (!type already_seen 80) - (!srcfileloc "ipa-prop.h" 920) - nil ) - (!pair "ipa_vr" - (!type struct 1714 nil gc_used "ipa_vr" - (!srcfileloc "ipa-prop.h" 920) - (!fields 4 - (!pair "known" - (!type already_seen 2) - (!srcfileloc "ipa-prop.h" 313) - nil ) - (!pair "type" - (!type already_seen 2) - (!srcfileloc "ipa-prop.h" 314) - nil ) - (!pair "min" - (!type already_seen 494) - (!srcfileloc "ipa-prop.h" 315) - nil ) - (!pair "max" - (!type already_seen 494) - (!srcfileloc "ipa-prop.h" 316) - nil ) - ) - nil 4095 nil nil ) - (!srcfileloc "ipa-prop.h" 920) - nil ) - ) - ) - ) - (!srcfileloc "ipa-prop.h" 920) - nil ) - ) - nil 4095 nil nil ) - - (!type struct 1715 nil gc_unused "ipa_auto_call_arg_values"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1716 nil gc_unused "ipa_call_arg_values"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1717 nil gc_unused "ipa_argagg_value_list"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type already_seen 1138) - - (!type already_seen 1714) - - (!type already_seen 1142) - - (!type already_seen 1151) - - (!type already_seen 1150) - - (!type already_seen 1154) - - (!type already_seen 1155) - - (!type already_seen 1709) - - (!type already_seen 1711) - - (!type already_seen 1713) - - (!type already_seen 1161) - - (!type already_seen 1163) - - (!type user_struct 1718 - (!type pointer 1719 nil gc_used - (!type already_seen 1718) - ) - gc_pointed_to "ipa_node_params_t" - (!srcfileloc "ipa-prop.h" 1020) - (!fields 0 ) - ) - - (!type user_struct 1720 - (!type pointer 1721 nil gc_used - (!type already_seen 1720) - ) - gc_pointed_to "ipa_edge_args_sum_t" - (!srcfileloc "ipa-prop.h" 1042) - (!fields 0 ) - ) - - (!type struct 1722 nil gc_unused "ipcp_transformation_t"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type user_struct 1723 - (!type pointer 1724 nil gc_used - (!type already_seen 1723) - ) - gc_pointed_to "function_summary" - (!srcfileloc "ipa-prop.h" 1074) - (!fields 1 - (!pair "ipcp_transformation" - (!type already_seen 1707) - (!srcfileloc "ipa-prop.h" 1074) - nil ) - ) - ) - - (!type struct 1725 nil gc_used "tm_wrapper_hasher" - (!srcfileloc "trans-mem.cc" 468) - (!fields 0 ) - nil 4095 nil nil ) - - (!type user_struct 1726 - (!type pointer 1727 nil gc_used - (!type already_seen 1726) - ) - gc_pointed_to "hash_table" - (!srcfileloc "trans-mem.cc" 468) - (!fields 1 - (!pair "tm_wrapper_hasher" - (!type already_seen 1725) - (!srcfileloc "trans-mem.cc" 468) - nil ) - ) - ) - - (!type struct 1728 nil gc_unused "diagnose_tm"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1729 nil gc_unused "pass_diagnose_tm_blocks"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1730 nil gc_unused "tm_log_entry"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1731 nil gc_unused "log_entry_hasher"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1732 nil gc_unused "tm_new_mem_map"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1733 nil gc_unused "tm_mem_map_hasher"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1734 nil gc_unused "pass_lower_tm"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1735 nil gc_unused "tm_region"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1736 nil gc_unused "pass_tm_init"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1737 nil gc_unused "bb2reg_stuff"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1738 nil gc_unused "pass_tm_mark"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1739 nil gc_unused "pass_tm_edges"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1740 nil gc_unused "tm_memop"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1741 nil gc_unused "tm_memop_hasher"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1742 nil gc_unused "tm_memopt_bitmaps"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1743 nil gc_unused "pass_tm_memopt"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1744 nil gc_unused "tm_ipa_cg_data"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type user_struct 1745 nil gc_unused "vec" - (!srcfileloc "trans-mem.cc" 4196) - (!fields 1 - (!pair "cgraph_node" - (!type already_seen 817) - (!srcfileloc "trans-mem.cc" 4196) - nil ) - ) - ) - - (!type struct 1746 nil gc_unused "demangle_component"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1747 nil gc_unused "create_version_alias_info"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1748 nil gc_unused "pass_ipa_tm"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1749 nil gc_unused "lto_location_cache"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1750 nil gc_unused "lto_input_block"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type already_seen 341) - - (!type struct 1751 nil gc_unused "lto_simple_header"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1752 nil gc_unused "lto_simple_header_with_strings"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1753 nil gc_unused "lto_function_header"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1754 nil gc_unused "lto_decl_header"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1755 nil gc_unused "lto_stats_d"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1756 nil gc_unused "lto_encoder_entry"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type already_seen 329) - - (!type struct 1757 nil gc_unused "lto_symtab_encoder_iterator"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1758 nil gc_unused "lto_tree_ref_encoder"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type already_seen 332) - - (!type already_seen 336) - - (!type already_seen 331) - - (!type already_seen 335) - - (!type already_seen 337) - - (!type already_seen 339) - - (!type already_seen 340) - - (!type struct 1759 nil gc_unused "lto_char_ptr_base"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1760 nil gc_unused "lto_output_stream"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1761 nil gc_unused "lto_simple_output_block"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1762 nil gc_unused "string_slot"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1763 nil gc_unused "string_slot_hasher"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1764 nil gc_unused "dref_entry"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type already_seen 584) - - (!type already_seen 586) - - (!type already_seen 595) - - (!type already_seen 597) - - (!type already_seen 603) - - (!type already_seen 613) - - (!type already_seen 615) - - (!type already_seen 617) - - (!type already_seen 621) - - (!type already_seen 623) - - (!type already_seen 1185) - - (!type already_seen 1184) - - (!type already_seen 1182) - - (!type struct 1765 nil gc_unused "inline_param_summary"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type already_seen 1181) - - (!type already_seen 1194) - - (!type struct 1766 nil gc_unused "agg_position_info"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type already_seen 1188) - - (!type struct 1767 nil gc_unused "ipa_size_summary"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type already_seen 1192) - - (!type already_seen 1187) - - (!type already_seen 1189) - - (!type already_seen 1191) - - (!type already_seen 1195) - - (!type user_struct 1768 nil gc_unused "ipa_fn_summary_t" - (!srcfileloc "ipa-fnsummary.h" 248) - (!fields 0 ) - ) - - (!type user_struct 1769 - (!type pointer 1770 nil gc_used - (!type already_seen 1769) - ) - gc_pointed_to "fast_function_summary" - (!srcfileloc "ipa-fnsummary.h" 250) - (!fields 2 - (!pair "va_gc" - (!type already_seen 80) - (!srcfileloc "ipa-fnsummary.h" 250) - nil ) - (!pair "ipa_fn_summary" - (!type already_seen 1179) - (!srcfileloc "ipa-fnsummary.h" 250) - nil ) - ) - ) - - (!type struct 1771 nil gc_unused "ipa_size_summary_t"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1772 nil gc_unused "ipa_call_summary_t"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1773 nil gc_unused "ipa_call_estimates"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1774 nil gc_unused "ipa_cached_call_context"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1775 nil gc_unused "ipa_call_context"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1776 nil gc_unused "vtable_registration"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1777 nil gc_unused "vtbl_map_hasher" - (!srcfileloc "vtable-verify.cc" 298) - (!fields 0 ) - nil 4095 nil nil ) - - (!type user_struct 1778 nil gc_unused "hash_table" - (!srcfileloc "vtable-verify.cc" 298) - (!fields 1 - (!pair "vtbl_map_hasher" - (!type already_seen 1777) - (!srcfileloc "vtable-verify.cc" 298) - nil ) - ) - ) - - (!type undefined 1779 nil gc_unused "vtbl_map_table_type::iterator" - (!srcfileloc "vtable-verify.cc" 299) - ) - - (!type struct 1780 nil gc_unused "vtbl_map_node"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1781 nil gc_unused "pass_vtable_verify"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1782 nil gc_unused "hwasan_stack_var"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1783 nil gc_unused "asan_mem_ref"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1784 nil gc_unused "asan_mem_ref_hasher"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1785 nil gc_unused "asan_redzone_buffer"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1786 nil gc_unused "asan_add_string_csts_data"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1787 nil gc_unused "pass_asan"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1788 nil gc_unused "pass_asan_O0"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1789 nil gc_pointed_to "tree_type_map" - (!srcfileloc "ubsan.cc" 58) - (!fields 2 - (!pair "type" - (!type already_seen 977) - (!srcfileloc "ubsan.cc" 56) - nil ) - (!pair "decl" - (!type already_seen 23) - (!srcfileloc "ubsan.cc" 57) - nil ) - ) - (!options - (!option for_user string "") - ) - 4095 nil nil ) - - (!type struct 1790 nil gc_used "tree_type_map_cache_hasher" - (!srcfileloc "ubsan.cc" 82) - (!fields 0 ) - nil 4095 nil nil ) - - (!type user_struct 1791 - (!type pointer 1792 nil gc_used - (!type already_seen 1791) - ) - gc_pointed_to "hash_table" - (!srcfileloc "ubsan.cc" 82) - (!fields 1 - (!pair "tree_type_map_cache_hasher" - (!type already_seen 1790) - (!srcfileloc "ubsan.cc" 82) - nil ) - ) - ) - - (!type struct 1793 nil gc_unused "pass_ubsan"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1794 nil gc_unused "pass_tsan"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1795 nil gc_unused "pass_tsan_O0"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1796 nil gc_unused "sanopt_info"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1797 nil gc_unused "sanopt_tree_triplet"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1798 nil gc_unused "sanopt_tree_triplet_hash"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1799 nil gc_unused "sanopt_tree_couple"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1800 nil gc_unused "sanopt_tree_couple_hash"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1801 nil gc_unused "sanopt_ctx"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1802 nil gc_unused "pass_sanopt"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1803 nil gc_unused "type_pair"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1804 nil gc_unused "default_hash_traits"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type already_seen 1206) - - (!type struct 1805 nil gc_unused "odr_name_hasher" - (!srcfileloc "ipa-devirt.cc" 505) - (!fields 0 ) - nil 4095 nil nil ) - - (!type user_struct 1806 nil gc_unused "hash_table" - (!srcfileloc "ipa-devirt.cc" 505) - (!fields 1 - (!pair "odr_name_hasher" - (!type already_seen 1805) - (!srcfileloc "ipa-devirt.cc" 505) - nil ) - ) - ) - - (!type user_struct 1807 - (!type pointer 1808 nil gc_used - (!type already_seen 1807) - ) - gc_pointed_to "vec" - (!srcfileloc "ipa-devirt.cc" 512) - (!fields 2 - (!pair "va_gc" - (!type already_seen 80) - (!srcfileloc "ipa-devirt.cc" 512) - nil ) - (!pair "odr_type" - (!type already_seen 1205) - (!srcfileloc "ipa-devirt.cc" 512) - nil ) - ) - ) - - (!type struct 1809 nil gc_unused "odr_enum_val"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1810 nil gc_unused "odr_enum"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1811 nil gc_unused "polymorphic_call_target_d"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1812 nil gc_unused "polymorphic_call_target_hasher" - (!srcfileloc "ipa-devirt.cc" 2746) - (!fields 0 ) - nil 4095 nil nil ) - - (!type user_struct 1813 nil gc_unused "hash_table" - (!srcfileloc "ipa-devirt.cc" 2746) - (!fields 1 - (!pair "polymorphic_call_target_hasher" - (!type already_seen 1812) - (!srcfileloc "ipa-devirt.cc" 2746) - nil ) - ) - ) - - (!type struct 1814 nil gc_unused "odr_type_warn_count"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1815 nil gc_unused "decl_warn_count"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1816 nil gc_unused "final_warning_record"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1817 nil gc_unused "pass_ipa_devirt"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1818 nil gc_unused "pass_ipa_odr"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1819 nil gc_unused "direct_internal_fn_info"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1820 nil gc_unused "arg_data"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1821 nil gc_unused "arg"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1822 nil gc_unused "File_Info_Type"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1823 nil gc_unused "Elist_Header"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1824 nil gc_unused "Elmt_Item"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1825 nil gc_unused "String_Entry"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1826 nil gc_unused "List_Header"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1827 nil gc_unused "attrib"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1828 nil gc_unused "incomplete"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1829 nil gc_unused "subst_pair_d"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1830 nil gc_unused "variant_desc_d"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1831 nil gc_used "value_annotation_hasher" - (!srcfileloc "ada/gcc-interface/decl.cc" 157) - (!fields 0 ) - nil 1 nil nil ) - - (!type user_struct 1832 - (!type pointer 1833 nil gc_used - (!type already_seen 1832) - ) - gc_pointed_to "hash_table" - (!srcfileloc "ada/gcc-interface/decl.cc" 157) - (!fields 1 - (!pair "value_annotation_hasher" - (!type already_seen 1831) - (!srcfileloc "ada/gcc-interface/decl.cc" 157) - nil ) - ) - ) - - (!type user_struct 1834 - (!type pointer 1835 nil gc_used - (!type already_seen 1834) - ) - gc_pointed_to "vec" - (!srcfileloc "ada/gcc-interface/decl.cc" 163) - (!fields 2 - (!pair "va_gc_atomic" - (!type undefined 1836 nil gc_unused "va_gc_atomic" - (!srcfileloc "ada/gcc-interface/decl.cc" 163) - ) - (!srcfileloc "ada/gcc-interface/decl.cc" 163) - nil ) - (!pair "Entity_Id" - (!type undefined 1837 nil gc_unused "Entity_Id" - (!srcfileloc "ada/gcc-interface/decl.cc" 163) - ) - (!srcfileloc "ada/gcc-interface/decl.cc" 163) - nil ) - ) - ) - - (!type already_seen 1837) - - (!type already_seen 1836) - - (!type struct 1838 nil gc_pointed_to "tree_entity_vec_map" - (!srcfileloc "ada/gcc-interface/decl.cc" 164) - (!fields 2 - (!pair "base" - (!type already_seen 977) - (!srcfileloc "ada/gcc-interface/decl.cc" 162) - nil ) - (!pair "to" - (!type already_seen 1835) - (!srcfileloc "ada/gcc-interface/decl.cc" 163) - nil ) - ) - (!options - (!option for_user string "") - ) - 1 nil nil ) - - (!type struct 1839 nil gc_used "dummy_type_hasher" - (!srcfileloc "ada/gcc-interface/decl.cc" 198) - (!fields 0 ) - nil 1 nil nil ) - - (!type user_struct 1840 - (!type pointer 1841 nil gc_used - (!type already_seen 1840) - ) - gc_pointed_to "hash_table" - (!srcfileloc "ada/gcc-interface/decl.cc" 198) - (!fields 1 - (!pair "dummy_type_hasher" - (!type already_seen 1839) - (!srcfileloc "ada/gcc-interface/decl.cc" 198) - nil ) - ) - ) - - (!type struct 1842 nil gc_unused "anonymous:../../gcc/gcc/ada/gcc-interface/decl.cc:262"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1843 nil gc_unused "er_data"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1844 nil gc_unused "vinfo"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type already_seen 464) - - (!type already_seen 462) - - (!type struct 1845 - (!type pointer 1846 nil gc_used - (!type already_seen 1845) - ) - gc_pointed_to "stmt_group" - (!srcfileloc "ada/gcc-interface/trans.cc" 145) - (!fields 4 - (!pair "previous" - (!type already_seen 1846) - (!srcfileloc "ada/gcc-interface/trans.cc" 141) - nil ) - (!pair "stmt_list" - (!type already_seen 23) - (!srcfileloc "ada/gcc-interface/trans.cc" 142) - nil ) - (!pair "block" - (!type already_seen 23) - (!srcfileloc "ada/gcc-interface/trans.cc" 143) - nil ) - (!pair "cleanups" - (!type already_seen 23) - (!srcfileloc "ada/gcc-interface/trans.cc" 144) - nil ) - ) - (!options - (!option chain_next string "%h.previous") - ) - 1 nil nil ) - - (!type struct 1847 - (!type pointer 1848 nil gc_used - (!type already_seen 1847) - ) - gc_pointed_to "elab_info" - (!srcfileloc "ada/gcc-interface/trans.cc" 161) - (!fields 3 - (!pair "next" - (!type already_seen 1848) - (!srcfileloc "ada/gcc-interface/trans.cc" 158) - nil ) - (!pair "elab_proc" - (!type already_seen 23) - (!srcfileloc "ada/gcc-interface/trans.cc" 159) - nil ) - (!pair "gnat_node" - (!type already_seen 2) - (!srcfileloc "ada/gcc-interface/trans.cc" 160) - nil ) - ) - (!options - (!option chain_next string "%h.next") - ) - 1 nil nil ) - - (!type struct 1849 - (!type pointer 1850 nil gc_used - (!type already_seen 1849) - ) - gc_pointed_to "range_check_info_d" - (!srcfileloc "ada/gcc-interface/trans.cc" 193) - (!fields 7 - (!pair "low_bound" - (!type already_seen 23) - (!srcfileloc "ada/gcc-interface/trans.cc" 186) - nil ) - (!pair "high_bound" - (!type already_seen 23) - (!srcfileloc "ada/gcc-interface/trans.cc" 187) - nil ) - (!pair "disp" - (!type already_seen 23) - (!srcfileloc "ada/gcc-interface/trans.cc" 188) - nil ) - (!pair "neg_p" - (!type already_seen 2) - (!srcfileloc "ada/gcc-interface/trans.cc" 189) - nil ) - (!pair "type" - (!type already_seen 23) - (!srcfileloc "ada/gcc-interface/trans.cc" 190) - nil ) - (!pair "invariant_cond" - (!type already_seen 23) - (!srcfileloc "ada/gcc-interface/trans.cc" 191) - nil ) - (!pair "inserted_cond" - (!type already_seen 23) - (!srcfileloc "ada/gcc-interface/trans.cc" 192) - nil ) - ) - nil 1 nil nil ) - - (!type user_struct 1851 - (!type pointer 1852 nil gc_used - (!type already_seen 1851) - ) - gc_pointed_to "vec" - (!srcfileloc "ada/gcc-interface/trans.cc" 207) - (!fields 2 - (!pair "va_gc" - (!type already_seen 80) - (!srcfileloc "ada/gcc-interface/trans.cc" 207) - nil ) - (!pair "range_check_info" - (!type already_seen 1850) - (!srcfileloc "ada/gcc-interface/trans.cc" 207) - nil ) - ) - ) - - (!type struct 1853 - (!type pointer 1854 nil gc_used - (!type already_seen 1853) - ) - gc_pointed_to "loop_info_d" - (!srcfileloc "ada/gcc-interface/trans.cc" 209) - (!fields 10 - (!pair "fndecl" - (!type already_seen 23) - (!srcfileloc "ada/gcc-interface/trans.cc" 199) - nil ) - (!pair "stmt" - (!type already_seen 23) - (!srcfileloc "ada/gcc-interface/trans.cc" 200) - nil ) - (!pair "loop_var" - (!type already_seen 23) - (!srcfileloc "ada/gcc-interface/trans.cc" 201) - nil ) - (!pair "low_bound" - (!type already_seen 23) - (!srcfileloc "ada/gcc-interface/trans.cc" 202) - nil ) - (!pair "high_bound" - (!type already_seen 23) - (!srcfileloc "ada/gcc-interface/trans.cc" 203) - nil ) - (!pair "omp_loop_clauses" - (!type already_seen 23) - (!srcfileloc "ada/gcc-interface/trans.cc" 204) - nil ) - (!pair "omp_construct_clauses" - (!type already_seen 23) - (!srcfileloc "ada/gcc-interface/trans.cc" 205) - nil ) - (!pair "omp_code" - (!type already_seen 2) - (!srcfileloc "ada/gcc-interface/trans.cc" 206) - nil ) - (!pair "checks" - (!type already_seen 1852) - (!srcfileloc "ada/gcc-interface/trans.cc" 207) - nil ) - (!pair "invariants" - (!type already_seen 85) - (!srcfileloc "ada/gcc-interface/trans.cc" 208) - nil ) - ) - nil 1 nil nil ) - - (!type user_struct 1855 - (!type pointer 1856 nil gc_used - (!type already_seen 1855) - ) - gc_pointed_to "vec" - (!srcfileloc "ada/gcc-interface/trans.cc" 214) - (!fields 2 - (!pair "va_gc" - (!type already_seen 80) - (!srcfileloc "ada/gcc-interface/trans.cc" 214) - nil ) - (!pair "loop_info" - (!type already_seen 1854) - (!srcfileloc "ada/gcc-interface/trans.cc" 214) - nil ) - ) - ) - - (!type struct 1857 nil gc_unused "nrv_data"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1858 - (!type pointer 1859 nil gc_used - (!type already_seen 1858) - ) - gc_pointed_to "gnat_binding_level" - (!srcfileloc "ada/gcc-interface/utils.cc" 267) - (!fields 2 - (!pair "chain" - (!type already_seen 1859) - (!srcfileloc "ada/gcc-interface/utils.cc" 264) - nil ) - (!pair "block" - (!type already_seen 23) - (!srcfileloc "ada/gcc-interface/utils.cc" 266) - nil ) - ) - (!options - (!option chain_next string "%h.chain") - ) - 1 nil nil ) - - (!type struct 1860 nil gc_pointed_to "packable_type_hash" - (!srcfileloc "ada/gcc-interface/utils.cc" 294) - (!fields 2 - (!pair "hash" - (!type already_seen 2) - (!srcfileloc "ada/gcc-interface/utils.cc" 292) - nil ) - (!pair "type" - (!type already_seen 23) - (!srcfileloc "ada/gcc-interface/utils.cc" 293) - nil ) - ) - (!options - (!option for_user string "") - ) - 1 nil nil ) - - (!type struct 1861 nil gc_used "packable_type_hasher" - (!srcfileloc "ada/gcc-interface/utils.cc" 308) - (!fields 0 ) - nil 1 nil nil ) - - (!type user_struct 1862 - (!type pointer 1863 nil gc_used - (!type already_seen 1862) - ) - gc_pointed_to "hash_table" - (!srcfileloc "ada/gcc-interface/utils.cc" 308) - (!fields 1 - (!pair "packable_type_hasher" - (!type already_seen 1861) - (!srcfileloc "ada/gcc-interface/utils.cc" 308) - nil ) - ) - ) - - (!type struct 1864 nil gc_pointed_to "pad_type_hash" - (!srcfileloc "ada/gcc-interface/utils.cc" 317) - (!fields 2 - (!pair "hash" - (!type already_seen 2) - (!srcfileloc "ada/gcc-interface/utils.cc" 315) - nil ) - (!pair "type" - (!type already_seen 23) - (!srcfileloc "ada/gcc-interface/utils.cc" 316) - nil ) - ) - (!options - (!option for_user string "") - ) - 1 nil nil ) - - (!type struct 1865 nil gc_used "pad_type_hasher" - (!srcfileloc "ada/gcc-interface/utils.cc" 331) - (!fields 0 ) - nil 1 nil nil ) - - (!type user_struct 1866 - (!type pointer 1867 nil gc_used - (!type already_seen 1866) - ) - gc_pointed_to "hash_table" - (!srcfileloc "ada/gcc-interface/utils.cc" 331) - (!fields 1 - (!pair "pad_type_hasher" - (!type already_seen 1865) - (!srcfileloc "ada/gcc-interface/utils.cc" 331) - nil ) - ) - ) - - (!type struct 1868 nil gc_unused "deferred_decl_context_node"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1869 nil gc_unused "lang_hooks"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1870 nil gc_unused "c_expr"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1871 nil gc_unused "c_typespec"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1872 nil gc_unused "c_declspecs"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1873 nil gc_unused "c_arg_tag"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type already_seen 459) - - (!type struct 1874 nil gc_unused "c_declarator"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1875 nil gc_unused "c_type_name"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1876 nil gc_unused "c_parm"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1877 nil gc_unused "c_enum_contents"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type already_seen 646) - - (!type struct 1878 nil gc_unused "c_struct_parse_info"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type already_seen 450) - - (!type already_seen 645) - - (!type already_seen 643) - - (!type already_seen 642) - - (!type already_seen 639) - - (!type already_seen 628) - - (!type already_seen 648) - - (!type already_seen 652) - - (!type already_seen 650) - - (!type struct 1879 - (!type pointer 1880 nil gc_used - (!type already_seen 1879) - ) - gc_pointed_to "c_inline_static" - (!srcfileloc "c/c-decl.cc" 567) - (!fields 5 - (!pair "location" - (!type already_seen 2) - (!srcfileloc "c/c-decl.cc" 554) - nil ) - (!pair "function" - (!type already_seen 23) - (!srcfileloc "c/c-decl.cc" 557) - nil ) - (!pair "static_decl" - (!type already_seen 23) - (!srcfileloc "c/c-decl.cc" 560) - nil ) - (!pair "type" - (!type already_seen 2) - (!srcfileloc "c/c-decl.cc" 563) - nil ) - (!pair "next" - (!type already_seen 1880) - (!srcfileloc "c/c-decl.cc" 566) - nil ) - ) - (!options - (!option chain_next string "%h.next") - ) - 514 nil nil ) - - (!type already_seen 540) - - (!type struct 1881 nil gc_unused "fname_var_t"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1882 nil gc_unused "visibility_flags"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1883 nil gc_unused "tlist"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1884 nil gc_unused "tlist_cache"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1885 nil gc_unused "disabled_builtin"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1886 nil gc_unused "nonnull_arg_ctx"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type user_struct 1887 - (!type pointer 1888 nil gc_used - (!type already_seen 1887) - ) - gc_pointed_to "vec" - (!srcfileloc "c-family/c-common.cc" 5869) - (!fields 2 - (!pair "va_gc" - (!type already_seen 80) - (!srcfileloc "c-family/c-common.cc" 5869) - nil ) - (!pair "const_char_p" - (!type already_seen 11) - (!srcfileloc "c-family/c-common.cc" 5869) - nil ) - ) - ) - - (!type user_struct 1889 - (!type pointer 1890 nil gc_used - (!type already_seen 1889) - ) - gc_pointed_to "vec" - (!srcfileloc "c-family/c-common.cc" 8285) - (!fields 2 - (!pair "va_gc" - (!type already_seen 80) - (!srcfileloc "c-family/c-common.cc" 8285) - nil ) - (!pair "tree_gc_vec" - (!type already_seen 85) - (!srcfileloc "c-family/c-common.cc" 8285) - nil ) - ) - ) - - (!type user_struct 1891 nil gc_unused "hash_set" - (!srcfileloc "c-family/c-common.cc" 9258) - (!fields 2 - (!pair "nofree_string_hash" - (!type undefined 1892 nil gc_unused "nofree_string_hash" - (!srcfileloc "c-family/c-common.cc" 9258) - ) - (!srcfileloc "c-family/c-common.cc" 9258) - nil ) - (!pair "false" - (!type already_seen 873) - (!srcfileloc "c-family/c-common.cc" 9258) - nil ) - ) - ) - - (!type already_seen 1892) - - (!type user_struct 1893 nil gc_unused "hash_map" - (!srcfileloc "c-family/c-common.cc" 9263) - (!fields 1 - (!pair "per_file_includes_t" - (!type pointer 1894 nil gc_unused - (!type struct 1895 - (!type already_seen 1894) - gc_unused "per_file_includes_t"nil - (!fields 0 ) - nil 0 nil nil ) - ) - (!srcfileloc "c-family/c-common.cc" 9263) - nil ) - ) - ) - - (!type already_seen 1895) - - (!type struct 1896 nil gc_unused "c_common_resword"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type already_seen 449) - - (!type struct 1897 nil gc_unused "c_fileinfo"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1898 nil gc_unused "substring_loc"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1899 nil gc_unused "bc_state"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type undefined 1900 nil gc_unused "wide_int_bitmask" - (!srcfileloc "c-family/c-common.h" 1248) - ) - - (!type struct 1901 nil gc_unused "c_omp_directive"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type already_seen 683) - - (!type struct 1902 nil gc_unused "property_attribute_info"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1903 nil gc_used "lazy_hex_fp_value_struct" - (!srcfileloc "c-family/c-cppbuiltin.cc" 1780) - (!fields 4 - (!pair "hex_str" - (!type already_seen 11) - (!srcfileloc "c-family/c-cppbuiltin.cc" 1776) - nil ) - (!pair "mode" - (!type already_seen 2) - (!srcfileloc "c-family/c-cppbuiltin.cc" 1777) - nil ) - (!pair "digits" - (!type already_seen 2) - (!srcfileloc "c-family/c-cppbuiltin.cc" 1778) - nil ) - (!pair "fp_suffix" - (!type already_seen 11) - (!srcfileloc "c-family/c-cppbuiltin.cc" 1779) - nil ) - ) - nil 1542 nil nil ) - - (!type union 1904 nil gc_unused "gen_pragma_handler"nil - (!fields 0 ) - nil 0 nil ) - - (!type struct 1905 nil gc_unused "internal_pragma_handler"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1906 - (!type pointer 1907 nil gc_used - (!type already_seen 1906) - ) - gc_pointed_to "align_stack" - (!srcfileloc "c-family/c-pragma.cc" 51) - (!fields 3 - (!pair "alignment" - (!type already_seen 2) - (!srcfileloc "c-family/c-pragma.cc" 48) - nil ) - (!pair "id" - (!type already_seen 23) - (!srcfileloc "c-family/c-pragma.cc" 49) - nil ) - (!pair "prev" - (!type already_seen 1907) - (!srcfileloc "c-family/c-pragma.cc" 50) - nil ) - ) - nil 1542 nil nil ) - - (!type struct 1908 nil gc_used "pending_weak" - (!srcfileloc "c-family/c-pragma.cc" 248) - (!fields 2 - (!pair "name" - (!type already_seen 23) - (!srcfileloc "c-family/c-pragma.cc" 243) - nil ) - (!pair "value" - (!type already_seen 23) - (!srcfileloc "c-family/c-pragma.cc" 244) - nil ) - ) - nil 1542 nil nil ) - - (!type user_struct 1909 - (!type pointer 1910 nil gc_used - (!type already_seen 1909) - ) - gc_pointed_to "vec" - (!srcfileloc "c-family/c-pragma.cc" 248) - (!fields 2 - (!pair "va_gc" - (!type already_seen 80) - (!srcfileloc "c-family/c-pragma.cc" 248) - nil ) - (!pair "pending_weak" - (!type already_seen 1908) - (!srcfileloc "c-family/c-pragma.cc" 248) - nil ) - ) - ) - - (!type struct 1911 nil gc_used "pending_redefinition" - (!srcfileloc "c-family/c-pragma.cc" 496) - (!fields 2 - (!pair "oldname" - (!type already_seen 23) - (!srcfileloc "c-family/c-pragma.cc" 491) - nil ) - (!pair "newname" - (!type already_seen 23) - (!srcfileloc "c-family/c-pragma.cc" 492) - nil ) - ) - nil 1542 nil nil ) - - (!type user_struct 1912 - (!type pointer 1913 nil gc_used - (!type already_seen 1912) - ) - gc_pointed_to "vec" - (!srcfileloc "c-family/c-pragma.cc" 496) - (!fields 2 - (!pair "va_gc" - (!type already_seen 80) - (!srcfileloc "c-family/c-pragma.cc" 496) - nil ) - (!pair "pending_redefinition" - (!type already_seen 1911) - (!srcfileloc "c-family/c-pragma.cc" 496) - nil ) - ) - ) - - (!type struct 1914 nil gc_unused "pragma_diagnostic_data"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1915 - (!type pointer 1916 nil gc_used - (!type already_seen 1915) - ) - gc_pointed_to "opt_stack" - (!srcfileloc "c-family/c-pragma.cc" 1237) - (!fields 6 - (!pair "prev" - (!type already_seen 1916) - (!srcfileloc "c-family/c-pragma.cc" 1231) - nil ) - (!pair "target_binary" - (!type already_seen 23) - (!srcfileloc "c-family/c-pragma.cc" 1232) - nil ) - (!pair "target_strings" - (!type already_seen 23) - (!srcfileloc "c-family/c-pragma.cc" 1233) - nil ) - (!pair "optimize_binary" - (!type already_seen 23) - (!srcfileloc "c-family/c-pragma.cc" 1234) - nil ) - (!pair "optimize_strings" - (!type already_seen 23) - (!srcfileloc "c-family/c-pragma.cc" 1235) - nil ) - (!pair "saved_global_options" - (!type already_seen 839) - (!srcfileloc "c-family/c-pragma.cc" 1236) - (!options - (!option skip string "") - ) - ) - ) - nil 1542 nil nil ) - - (!type struct 1917 nil gc_unused "pragma_pp_data"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1918 nil gc_unused "omp_pragma_def"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1919 nil gc_unused "function_format_info"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1920 nil gc_unused "format_wanted_type"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1921 nil gc_unused "format_check_results"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1922 nil gc_unused "format_check_context"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1923 nil gc_unused "flag_chars_t"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1924 nil gc_unused "length_modifier"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1925 nil gc_unused "argument_parser"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1926 nil gc_unused "baltoks_t"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1927 nil gc_unused "token_t"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1928 nil gc_unused "indirection_suffix"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1929 nil gc_unused "range_label_for_format_type_mismatch"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1930 - (!type pointer 1931 nil gc_unused - (!type already_seen 1930) - ) - gc_used "c_token" - (!srcfileloc "c/c-parser.cc" 190) - (!fields 7 - (!pair "type" - (!type already_seen 2) - (!srcfileloc "c/c-parser.h" 55) - nil ) - (!pair "id_kind" - (!type already_seen 2) - (!srcfileloc "c/c-parser.h" 58) - nil ) - (!pair "keyword" - (!type already_seen 2) - (!srcfileloc "c/c-parser.h" 61) - nil ) - (!pair "pragma_kind" - (!type already_seen 2) - (!srcfileloc "c/c-parser.h" 64) - nil ) - (!pair "location" - (!type already_seen 2) - (!srcfileloc "c/c-parser.h" 66) - nil ) - (!pair "value" - (!type already_seen 23) - (!srcfileloc "c/c-parser.h" 68) - nil ) - (!pair "flags" - (!type already_seen 8) - (!srcfileloc "c/c-parser.h" 70) - nil ) - ) - nil 514 nil nil ) - - (!type struct 1932 - (!type pointer 1933 nil gc_used - (!type already_seen 1932) - ) - gc_pointed_to "c_parser" - (!srcfileloc "c/c-parser.cc" 282) - (!fields 17 - (!pair "tokens" - (!type already_seen 1931) - (!srcfileloc "c/c-parser.cc" 190) - (!options - (!option skip string "") - ) - ) - (!pair "tokens_buf" - (!type array 1934 nil gc_used "4" - (!type already_seen 1930) - ) - (!srcfileloc "c/c-parser.cc" 192) - nil ) - (!pair "tokens_avail" - (!type already_seen 2) - (!srcfileloc "c/c-parser.cc" 195) - nil ) - (!pair "raw_tokens" - (!type pointer 1935 nil gc_used - (!type user_struct 1936 - (!type already_seen 1935) - gc_pointed_to "vec" - (!srcfileloc "c/c-parser.cc" 198) - (!fields 2 - (!pair "va_gc" - (!type already_seen 80) - (!srcfileloc "c/c-parser.cc" 198) - nil ) - (!pair "c_token" - (!type already_seen 1930) - (!srcfileloc "c/c-parser.cc" 198) - nil ) - ) - ) - ) - (!srcfileloc "c/c-parser.cc" 198) - nil ) - (!pair "raw_tokens_used" - (!type already_seen 2) - (!srcfileloc "c/c-parser.cc" 201) - nil ) - (!pair "error" - (!type already_seen 2) - (!srcfileloc "c/c-parser.cc" 205) - nil ) - (!pair "in_pragma" - (!type already_seen 2) - (!srcfileloc "c/c-parser.cc" 208) - nil ) - (!pair "in_if_block" - (!type already_seen 2) - (!srcfileloc "c/c-parser.cc" 210) - nil ) - (!pair "lex_joined_string" - (!type already_seen 2) - (!srcfileloc "c/c-parser.cc" 215) - nil ) - (!pair "translate_strings_p" - (!type already_seen 2) - (!srcfileloc "c/c-parser.cc" 219) - nil ) - (!pair "objc_pq_context" - (!type already_seen 2) - (!srcfileloc "c/c-parser.cc" 225) - nil ) - (!pair "objc_could_be_foreach_context" - (!type already_seen 2) - (!srcfileloc "c/c-parser.cc" 230) - nil ) - (!pair "objc_need_raw_identifier" - (!type already_seen 2) - (!srcfileloc "c/c-parser.cc" 235) - nil ) - (!pair "in_transaction" - (!type already_seen 2) - (!srcfileloc "c/c-parser.cc" 238) - nil ) - (!pair "objc_property_attr_context" - (!type already_seen 2) - (!srcfileloc "c/c-parser.cc" 241) - nil ) - (!pair "seen_string_literal" - (!type already_seen 2) - (!srcfileloc "c/c-parser.cc" 248) - nil ) - (!pair "last_token_location" - (!type already_seen 2) - (!srcfileloc "c/c-parser.cc" 251) - nil ) - ) - nil 514 nil nil ) - - (!type already_seen 1936) - - (!type struct 1937 nil gc_unused "token_pair"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1938 nil gc_unused "matching_paren_traits" - (!srcfileloc "c/c-parser.cc" 1148) - (!fields 0 ) - nil 514 nil nil ) - - (!type user_struct 1939 nil gc_unused "token_pair" - (!srcfileloc "c/c-parser.cc" 1148) - (!fields 1 - (!pair "matching_paren_traits" - (!type already_seen 1938) - (!srcfileloc "c/c-parser.cc" 1148) - nil ) - ) - ) - - (!type struct 1940 nil gc_unused "matching_brace_traits" - (!srcfileloc "c/c-parser.cc" 1166) - (!fields 0 ) - nil 514 nil nil ) - - (!type user_struct 1941 nil gc_unused "token_pair" - (!srcfileloc "c/c-parser.cc" 1166) - (!fields 1 - (!pair "matching_brace_traits" - (!type already_seen 1940) - (!srcfileloc "c/c-parser.cc" 1166) - nil ) - ) - ) - - (!type struct 1942 nil gc_unused "oacc_routine_data"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1943 nil gc_unused "c_translation_unit"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1944 nil gc_unused "anonymous:../../gcc/gcc/c/c-parser.cc:8328"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1945 nil gc_unused "c_generic_association"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1946 nil gc_unused "omp_dim"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type already_seen 457) - - (!type struct 1947 nil gc_used "c_omp_declare_target_attr" - (!srcfileloc "c/c-lang.h" 69) - (!fields 1 - (!pair "device_type" - (!type already_seen 2) - (!srcfileloc "c/c-lang.h" 64) - nil ) - ) - nil 514 nil nil ) - - (!type user_struct 1948 - (!type pointer 1949 nil gc_used - (!type already_seen 1948) - ) - gc_pointed_to "vec" - (!srcfileloc "c/c-lang.h" 69) - (!fields 2 - (!pair "va_gc" - (!type already_seen 80) - (!srcfileloc "c/c-lang.h" 69) - nil ) - (!pair "c_omp_declare_target_attr" - (!type already_seen 1947) - (!srcfileloc "c/c-lang.h" 69) - nil ) - ) - ) - - (!type already_seen 84) - - (!type already_seen 91) - - (!type struct 1950 nil gc_used "cxx_saved_binding" - (!srcfileloc "cp/cp-tree.h" 1837) - (!fields 3 - (!pair "identifier" - (!type already_seen 23) - (!srcfileloc "cp/name-lookup.h" 65) - nil ) - (!pair "binding" - (!type already_seen 90) - (!srcfileloc "cp/name-lookup.h" 67) - nil ) - (!pair "real_type_value" - (!type already_seen 23) - (!srcfileloc "cp/name-lookup.h" 68) - nil ) - ) - nil 1028 nil nil ) - - (!type already_seen 672) - - (!type already_seen 671) - - (!type already_seen 669) - - (!type already_seen 667) - - (!type already_seen 665) - - (!type already_seen 89) - - (!type already_seen 88) - - (!type struct 1951 nil gc_unused "cp_expr"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type already_seen 661) - - (!type already_seen 662) - - (!type already_seen 664) - - (!type struct 1952 nil gc_unused "ovl_iterator"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1953 nil gc_unused "ovl_range"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1954 nil gc_unused "lkp_iterator"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1955 nil gc_unused "lkp_range"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type already_seen 94) - - (!type struct 1956 nil gc_unused "releasing_vec"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type already_seen 674) - - (!type already_seen 673) - - (!type already_seen 72) - - (!type already_seen 675) - - (!type already_seen 676) - - (!type already_seen 677) - - (!type already_seen 678) - - (!type already_seen 679) - - (!type already_seen 680) - - (!type already_seen 81) - - (!type already_seen 79) - - (!type already_seen 681) - - (!type already_seen 682) - - (!type struct 1957 nil gc_used "cp_omp_declare_target_attr" - (!srcfileloc "cp/cp-tree.h" 1881) - (!fields 2 - (!pair "attr_syntax" - (!type already_seen 2) - (!srcfileloc "cp/cp-tree.h" 1826) - nil ) - (!pair "device_type" - (!type already_seen 2) - (!srcfileloc "cp/cp-tree.h" 1827) - nil ) - ) - nil 1028 nil nil ) - - (!type struct 1958 nil gc_used "cp_omp_begin_assumes_data" - (!srcfileloc "cp/cp-tree.h" 1882) - (!fields 1 - (!pair "attr_syntax" - (!type already_seen 2) - (!srcfileloc "cp/cp-tree.h" 1831) - nil ) - ) - nil 1028 nil nil ) - - (!type user_struct 1959 - (!type pointer 1960 nil gc_used - (!type already_seen 1959) - ) - gc_pointed_to "vec" - (!srcfileloc "cp/cp-tree.h" 1837) - (!fields 2 - (!pair "va_gc" - (!type already_seen 80) - (!srcfileloc "cp/cp-tree.h" 1837) - nil ) - (!pair "cxx_saved_binding" - (!type already_seen 1950) - (!srcfileloc "cp/cp-tree.h" 1837) - nil ) - ) - ) - - (!type user_struct 1961 - (!type pointer 1962 nil gc_used - (!type already_seen 1961) - ) - gc_pointed_to "vec" - (!srcfileloc "cp/cp-tree.h" 1881) - (!fields 2 - (!pair "va_gc" - (!type already_seen 80) - (!srcfileloc "cp/cp-tree.h" 1881) - nil ) - (!pair "cp_omp_declare_target_attr" - (!type already_seen 1957) - (!srcfileloc "cp/cp-tree.h" 1881) - nil ) - ) - ) - - (!type user_struct 1963 - (!type pointer 1964 nil gc_used - (!type already_seen 1963) - ) - gc_pointed_to "vec" - (!srcfileloc "cp/cp-tree.h" 1882) - (!fields 2 - (!pair "va_gc" - (!type already_seen 80) - (!srcfileloc "cp/cp-tree.h" 1882) - nil ) - (!pair "cp_omp_begin_assumes_data" - (!type already_seen 1958) - (!srcfileloc "cp/cp-tree.h" 1882) - nil ) - ) - ) - - (!type struct 1965 - (!type pointer 1966 nil gc_used - (!type already_seen 1965) - ) - gc_pointed_to "saved_scope" - (!srcfileloc "cp/cp-tree.h" 1885) - (!fields 34 - (!pair "old_bindings" - (!type already_seen 1960) - (!srcfileloc "cp/cp-tree.h" 1837) - nil ) - (!pair "old_namespace" - (!type already_seen 23) - (!srcfileloc "cp/cp-tree.h" 1838) - nil ) - (!pair "decl_ns_list" - (!type already_seen 85) - (!srcfileloc "cp/cp-tree.h" 1839) - nil ) - (!pair "class_name" - (!type already_seen 23) - (!srcfileloc "cp/cp-tree.h" 1840) - nil ) - (!pair "class_type" - (!type already_seen 23) - (!srcfileloc "cp/cp-tree.h" 1841) - nil ) - (!pair "access_specifier" - (!type already_seen 23) - (!srcfileloc "cp/cp-tree.h" 1842) - nil ) - (!pair "function_decl" - (!type already_seen 23) - (!srcfileloc "cp/cp-tree.h" 1843) - nil ) - (!pair "lang_base" - (!type already_seen 85) - (!srcfileloc "cp/cp-tree.h" 1844) - nil ) - (!pair "lang_name" - (!type already_seen 23) - (!srcfileloc "cp/cp-tree.h" 1845) - nil ) - (!pair "template_parms" - (!type already_seen 23) - (!srcfileloc "cp/cp-tree.h" 1846) - nil ) - (!pair "x_previous_class_level" - (!type already_seen 83) - (!srcfileloc "cp/cp-tree.h" 1847) - nil ) - (!pair "x_saved_tree" - (!type already_seen 23) - (!srcfileloc "cp/cp-tree.h" 1848) - nil ) - (!pair "x_current_class_ptr" - (!type already_seen 23) - (!srcfileloc "cp/cp-tree.h" 1851) - nil ) - (!pair "x_current_class_ref" - (!type already_seen 23) - (!srcfileloc "cp/cp-tree.h" 1852) - nil ) - (!pair "x_processing_template_decl" - (!type already_seen 2) - (!srcfileloc "cp/cp-tree.h" 1854) - nil ) - (!pair "x_processing_specialization" - (!type already_seen 2) - (!srcfileloc "cp/cp-tree.h" 1855) - nil ) - (!pair "x_processing_constraint" - (!type already_seen 2) - (!srcfileloc "cp/cp-tree.h" 1856) - nil ) - (!pair "x_processing_contract_condition" - (!type already_seen 2) - (!srcfileloc "cp/cp-tree.h" 1857) - nil ) - (!pair "suppress_location_wrappers" - (!type already_seen 2) - (!srcfileloc "cp/cp-tree.h" 1858) - nil ) - (!pair "x_processing_explicit_instantiation" - (!type already_seen 2) - (!srcfileloc "cp/cp-tree.h" 1859) - nil ) - (!pair "need_pop_function_context" - (!type already_seen 2) - (!srcfileloc "cp/cp-tree.h" 1860) - nil ) - (!pair "discarded_stmt" - (!type already_seen 2) - (!srcfileloc "cp/cp-tree.h" 1864) - nil ) - (!pair "consteval_if_p" - (!type already_seen 2) - (!srcfileloc "cp/cp-tree.h" 1868) - nil ) - (!pair "unevaluated_operand" - (!type already_seen 2) - (!srcfileloc "cp/cp-tree.h" 1870) - nil ) - (!pair "inhibit_evaluation_warnings" - (!type already_seen 2) - (!srcfileloc "cp/cp-tree.h" 1871) - nil ) - (!pair "noexcept_operand" - (!type already_seen 2) - (!srcfileloc "cp/cp-tree.h" 1872) - nil ) - (!pair "ref_temp_count" - (!type already_seen 2) - (!srcfileloc "cp/cp-tree.h" 1873) - nil ) - (!pair "x_stmt_tree" - (!type already_seen 450) - (!srcfileloc "cp/cp-tree.h" 1875) - nil ) - (!pair "class_bindings" - (!type already_seen 83) - (!srcfileloc "cp/cp-tree.h" 1877) - nil ) - (!pair "bindings" - (!type already_seen 83) - (!srcfileloc "cp/cp-tree.h" 1878) - nil ) - (!pair "x_local_specializations" - (!type already_seen 394) - (!srcfileloc "cp/cp-tree.h" 1880) - (!options - (!option skip string "") - ) - ) - (!pair "omp_declare_target_attribute" - (!type already_seen 1962) - (!srcfileloc "cp/cp-tree.h" 1881) - nil ) - (!pair "omp_begin_assumes" - (!type already_seen 1964) - (!srcfileloc "cp/cp-tree.h" 1882) - nil ) - (!pair "prev" - (!type already_seen 1966) - (!srcfileloc "cp/cp-tree.h" 1884) - nil ) - ) - nil 1028 nil nil ) - - (!type struct 1967 nil gc_unused "processing_template_decl_sentinel"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1968 nil gc_unused "warning_sentinel"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1969 nil gc_unused "iloc_sentinel"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1970 nil gc_unused "temp_override"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1971 nil gc_unused "type_identity"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1972 nil gc_unused "in_consteval_if_p_temp_override"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1973 - (!type pointer 1974 nil gc_used - (!type already_seen 1973) - ) - gc_pointed_to "named_label_entry" - (!srcfileloc "cp/decl.cc" 227) - (!fields 14 - (!pair "name" - (!type already_seen 23) - (!srcfileloc "cp/decl.cc" 194) - nil ) - (!pair "label_decl" - (!type already_seen 23) - (!srcfileloc "cp/decl.cc" 196) - nil ) - (!pair "outer" - (!type already_seen 1974) - (!srcfileloc "cp/decl.cc" 198) - nil ) - (!pair "binding_level" - (!type already_seen 83) - (!srcfileloc "cp/decl.cc" 203) - nil ) - (!pair "names_in_scope" - (!type already_seen 23) - (!srcfileloc "cp/decl.cc" 208) - nil ) - (!pair "bad_decls" - (!type already_seen 85) - (!srcfileloc "cp/decl.cc" 212) - nil ) - (!pair "uses" - (!type pointer 1975 nil gc_used - (!type struct 1976 - (!type already_seen 1975) - gc_pointed_to "named_label_use_entry" - (!srcfileloc "cp/decl.cc" 215) - (!fields 5 - (!pair "next" - (!type already_seen 1975) - (!srcfileloc "cp/decl.cc" 171) - nil ) - (!pair "binding_level" - (!type already_seen 83) - (!srcfileloc "cp/decl.cc" 175) - nil ) - (!pair "names_in_scope" - (!type already_seen 23) - (!srcfileloc "cp/decl.cc" 179) - nil ) - (!pair "o_goto_locus" - (!type already_seen 2) - (!srcfileloc "cp/decl.cc" 181) - nil ) - (!pair "in_omp_scope" - (!type already_seen 2) - (!srcfileloc "cp/decl.cc" 185) - nil ) - ) - (!options - (!option chain_next string "%h.next") - ) - 1028 nil nil ) - ) - (!srcfileloc "cp/decl.cc" 215) - nil ) - (!pair "in_try_scope" - (!type already_seen 2) - (!srcfileloc "cp/decl.cc" 220) - nil ) - (!pair "in_catch_scope" - (!type already_seen 2) - (!srcfileloc "cp/decl.cc" 221) - nil ) - (!pair "in_omp_scope" - (!type already_seen 2) - (!srcfileloc "cp/decl.cc" 222) - nil ) - (!pair "in_transaction_scope" - (!type already_seen 2) - (!srcfileloc "cp/decl.cc" 223) - nil ) - (!pair "in_constexpr_if" - (!type already_seen 2) - (!srcfileloc "cp/decl.cc" 224) - nil ) - (!pair "in_consteval_if" - (!type already_seen 2) - (!srcfileloc "cp/decl.cc" 225) - nil ) - (!pair "in_stmt_expr" - (!type already_seen 2) - (!srcfileloc "cp/decl.cc" 226) - nil ) - ) - (!options - (!option for_user string "") - ) - 1028 nil nil ) - - (!type already_seen 454) - - (!type already_seen 453) - - (!type already_seen 536) - - (!type already_seen 535) - - (!type already_seen 66) - - (!type already_seen 67) - - (!type already_seen 69) - - (!type already_seen 70) - - (!type already_seen 68) - - (!type already_seen 93) - - (!type already_seen 82) - - (!type already_seen 95) - - (!type already_seen 96) - - (!type already_seen 65) - - (!type struct 1977 nil gc_unused "aggr_init_expr_arg_iterator"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1978 nil gc_unused "cp_unevaluated"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1979 nil gc_unused "cp_evaluated"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1980 nil gc_unused "local_specialization_stack"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1981 nil gc_pointed_to "spec_entry" - (!srcfileloc "cp/cp-tree.h" 5726) - (!fields 3 - (!pair "tmpl" - (!type already_seen 23) - (!srcfileloc "cp/cp-tree.h" 5723) - nil ) - (!pair "args" - (!type already_seen 23) - (!srcfileloc "cp/cp-tree.h" 5724) - nil ) - (!pair "spec" - (!type already_seen 23) - (!srcfileloc "cp/cp-tree.h" 5725) - nil ) - ) - (!options - (!option for_user string "") - ) - 1028 nil nil ) - - (!type struct 1982 nil gc_used "ovl_op_info_t" - (!srcfileloc "cp/cp-tree.h" 6148) - (!fields 6 - (!pair "identifier" - (!type already_seen 23) - (!srcfileloc "cp/cp-tree.h" 6134) - nil ) - (!pair "name" - (!type already_seen 11) - (!srcfileloc "cp/cp-tree.h" 6136) - nil ) - (!pair "mangled_name" - (!type already_seen 11) - (!srcfileloc "cp/cp-tree.h" 6138) - nil ) - (!pair "tree_code" - (!type already_seen 2) - (!srcfileloc "cp/cp-tree.h" 6140) - nil ) - (!pair "ovl_op_code" - (!type already_seen 2) - (!srcfileloc "cp/cp-tree.h" 6142) - nil ) - (!pair "flags" - (!type already_seen 2) - (!srcfileloc "cp/cp-tree.h" 6144) - nil ) - ) - nil 1028 nil nil ) - - (!type struct 1983 nil gc_unused "cp_decl_specifier_seq"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1984 nil gc_unused "cp_declarator"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1985 nil gc_unused "cp_parameter_declarator"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1986 - (!type pointer 1987 nil gc_used - (!type already_seen 1986) - ) - gc_pointed_to "tinst_level" - (!srcfileloc "cp/pt.cc" 9549) - (!fields 8 - (!pair "next" - (!type already_seen 1987) - (!srcfileloc "cp/cp-tree.h" 6430) - nil ) - (!pair "tldcl" - (!type already_seen 23) - (!srcfileloc "cp/cp-tree.h" 6442) - nil ) - (!pair "targs" - (!type already_seen 23) - (!srcfileloc "cp/cp-tree.h" 6442) - nil ) - (!pair "path" - (!type already_seen 387) - (!srcfileloc "cp/cp-tree.h" 6448) - nil ) - (!pair "visible" - (!type already_seen 387) - (!srcfileloc "cp/cp-tree.h" 6449) - nil ) - (!pair "locus" - (!type already_seen 2) - (!srcfileloc "cp/cp-tree.h" 6494) - nil ) - (!pair "errors" - (!type already_seen 2) - (!srcfileloc "cp/cp-tree.h" 6497) - nil ) - (!pair "refcount" - (!type already_seen 2) - (!srcfileloc "cp/cp-tree.h" 6505) - nil ) - ) - (!options - (!option chain_next string "%h.next") - ) - 1028 nil nil ) - - (!type struct 1988 nil gc_unused "access_failure_info"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 1989 - (!type pointer 1990 nil gc_used - (!type already_seen 1989) - ) - gc_pointed_to "module_state" - (!srcfileloc "cp/module.cc" 3762) - (!fields 28 - (!pair "imports" - (!type already_seen 387) - (!srcfileloc "cp/module.cc" 3510) - nil ) - (!pair "exports" - (!type already_seen 387) - (!srcfileloc "cp/module.cc" 3511) - nil ) - (!pair "parent" - (!type already_seen 1990) - (!srcfileloc "cp/module.cc" 3513) - nil ) - (!pair "name" - (!type already_seen 23) - (!srcfileloc "cp/module.cc" 3514) - nil ) - (!pair "slurp" - (!type pointer 1991 nil gc_used - (!type struct 1992 - (!type already_seen 1991) - gc_pointed_to "slurping" - (!srcfileloc "cp/module.cc" 3439) - (!fields 9 - (!pair "remap" - (!type pointer 1993 nil gc_unused - (!type user_struct 1994 - (!type already_seen 1993) - gc_unused "vec" - (!srcfileloc "cp/module.cc" 3371) - (!fields 3 - (!pair "vl_embed" - (!type undefined 1995 nil gc_unused "vl_embed" - (!srcfileloc "cp/module.cc" 3371) - ) - (!srcfileloc "cp/module.cc" 3371) - nil ) - (!pair "va_heap" - (!type already_seen 832) - (!srcfileloc "cp/module.cc" 3371) - nil ) - (!pair "unsigned" - (!type already_seen 1403) - (!srcfileloc "cp/module.cc" 3371) - nil ) - ) - ) - ) - (!srcfileloc "cp/module.cc" 3372) - (!options - (!option skip string "") - ) - ) - (!pair "from" - (!type pointer 1996 nil gc_unused - (!type struct 1997 - (!type already_seen 1996) - gc_unused "elf_in" - (!srcfileloc "cp/module.cc" 3374) - (!fields 0 ) - nil 1028 nil nil ) - ) - (!srcfileloc "cp/module.cc" 3374) - (!options - (!option skip string "") - ) - ) - (!pair "headers" - (!type already_seen 387) - (!srcfileloc "cp/module.cc" 3378) - nil ) - (!pair "macro_defs" - (!type struct 1998 nil gc_used "bytes_in" - (!srcfileloc "cp/module.cc" 3385) - (!fields 0 ) - nil 1028 nil nil ) - (!srcfileloc "cp/module.cc" 3385) - nil ) - (!pair "macro_tbl" - (!type already_seen 1998) - (!srcfileloc "cp/module.cc" 3386) - nil ) - (!pair "loc_deltas" - (!type user_struct 1999 nil gc_unused "std::pair" - (!srcfileloc "cp/module.cc" 3154) - (!fields 2 - (!pair "unsigned" - (!type already_seen 1403) - (!srcfileloc "cp/module.cc" 3154) - nil ) - (!pair "unsigned" - (!type already_seen 1403) - (!srcfileloc "cp/module.cc" 3154) - nil ) - ) - ) - (!srcfileloc "cp/module.cc" 3389) - (!options - (!option skip string "") - ) - ) - (!pair "current" - (!type already_seen 2) - (!srcfileloc "cp/module.cc" 3391) - nil ) - (!pair "remaining" - (!type already_seen 2) - (!srcfileloc "cp/module.cc" 3392) - nil ) - (!pair "lru" - (!type already_seen 2) - (!srcfileloc "cp/module.cc" 3393) - nil ) - ) - nil 1028 nil nil ) - ) - (!srcfileloc "cp/module.cc" 3516) - nil ) - (!pair "flatname" - (!type already_seen 11) - (!srcfileloc "cp/module.cc" 3518) - nil ) - (!pair "filename" - (!type already_seen 11) - (!srcfileloc "cp/module.cc" 3519) - nil ) - (!pair "entity_lwm" - (!type already_seen 2) - (!srcfileloc "cp/module.cc" 3522) - nil ) - (!pair "entity_num" - (!type already_seen 2) - (!srcfileloc "cp/module.cc" 3523) - nil ) - (!pair "ordinary_locs" - (!type user_struct 2000 nil gc_unused "std::pair" - (!srcfileloc "cp/module.cc" 3157) - (!fields 2 - (!pair "location_t" - (!type already_seen 2) - (!srcfileloc "cp/module.cc" 3157) - nil ) - (!pair "location_t" - (!type already_seen 2) - (!srcfileloc "cp/module.cc" 3157) - nil ) - ) - ) - (!srcfileloc "cp/module.cc" 3527) - (!options - (!option skip string "") - ) - ) - (!pair "macro_locs" - (!type already_seen 2000) - (!srcfileloc "cp/module.cc" 3528) - (!options - (!option skip string "") - ) - ) - (!pair "loc" - (!type already_seen 2) - (!srcfileloc "cp/module.cc" 3533) - nil ) - (!pair "crc" - (!type already_seen 2) - (!srcfileloc "cp/module.cc" 3534) - nil ) - (!pair "mod" - (!type already_seen 2) - (!srcfileloc "cp/module.cc" 3536) - nil ) - (!pair "remap" - (!type already_seen 2) - (!srcfileloc "cp/module.cc" 3537) - nil ) - (!pair "subst" - (!type already_seen 2) - (!srcfileloc "cp/module.cc" 3539) - nil ) - (!pair "loadedness" - (!type already_seen 2) - (!srcfileloc "cp/module.cc" 3542) - nil ) - (!pair "module_p" - (!type already_seen 2) - (!srcfileloc "cp/module.cc" 3544) - nil ) - (!pair "header_p" - (!type already_seen 2) - (!srcfileloc "cp/module.cc" 3545) - nil ) - (!pair "interface_p" - (!type already_seen 2) - (!srcfileloc "cp/module.cc" 3546) - nil ) - (!pair "partition_p" - (!type already_seen 2) - (!srcfileloc "cp/module.cc" 3547) - nil ) - (!pair "directness" - (!type already_seen 2) - (!srcfileloc "cp/module.cc" 3550) - nil ) - (!pair "exported_p" - (!type already_seen 2) - (!srcfileloc "cp/module.cc" 3552) - nil ) - (!pair "cmi_noted_p" - (!type already_seen 2) - (!srcfileloc "cp/module.cc" 3553) - nil ) - (!pair "active_init_p" - (!type already_seen 2) - (!srcfileloc "cp/module.cc" 3555) - nil ) - (!pair "inform_cmi_p" - (!type already_seen 2) - (!srcfileloc "cp/module.cc" 3557) - nil ) - (!pair "visited_p" - (!type already_seen 2) - (!srcfileloc "cp/module.cc" 3558) - nil ) - (!pair "extensions" - (!type already_seen 2) - (!srcfileloc "cp/module.cc" 3560) - nil ) - ) - (!options - (!option for_user string "") - (!option chain_next string "%h.parent") - ) - 1028 nil nil ) - - (!type struct 2001 nil gc_unused "conversion"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 2002 nil gc_unused "deferring_access_check_sentinel"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 2003 nil gc_unused "diagnostic_info"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 2004 nil gc_unused "diagnosing_failed_constraint"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 2005 nil gc_unused "processing_constraint_expression_sentinel"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 2006 nil gc_used "atom_hasher" - (!srcfileloc "cp/constraint.cc" 814) - (!fields 0 ) - nil 1028 nil nil ) - - (!type struct 2007 - (!type pointer 2008 nil gc_used - (!type already_seen 2007) - ) - gc_pointed_to "constexpr_fundef" - (!srcfileloc "cp/constexpr.cc" 1112) - (!fields 4 - (!pair "decl" - (!type already_seen 23) - (!srcfileloc "cp/cp-tree.h" 8450) - nil ) - (!pair "body" - (!type already_seen 23) - (!srcfileloc "cp/cp-tree.h" 8451) - nil ) - (!pair "parms" - (!type already_seen 23) - (!srcfileloc "cp/cp-tree.h" 8452) - nil ) - (!pair "result" - (!type already_seen 23) - (!srcfileloc "cp/cp-tree.h" 8453) - nil ) - ) - (!options - (!option for_user string "") - ) - 1028 nil nil ) - - (!type struct 2009 nil gc_unused "constexpr_ctx"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 2010 nil gc_unused "uid_sensitive_constexpr_evaluation_sentinel"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 2011 nil gc_unused "uid_sensitive_constexpr_evaluation_checker"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 2012 nil gc_unused "push_access_scope_guard"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type already_seen 77) - - (!type already_seen 75) - - (!type already_seen 74) - - (!type user_struct 2013 - (!type pointer 2014 nil gc_used - (!type already_seen 2013) - ) - gc_pointed_to "vec" - (!srcfileloc "cp/parser.h" 87) - (!fields 2 - (!pair "va_gc" - (!type already_seen 80) - (!srcfileloc "cp/parser.h" 87) - nil ) - (!pair "cp_token" - (!type already_seen 74) - (!srcfileloc "cp/parser.h" 87) - nil ) - ) - ) - - (!type user_struct 2015 nil gc_unused "vec" - (!srcfileloc "cp/parser.h" 101) - (!fields 1 - (!pair "cp_token_position" - (!type already_seen 73) - (!srcfileloc "cp/parser.h" 101) - nil ) - ) - ) - - (!type struct 2016 - (!type pointer 2017 nil gc_used - (!type already_seen 2016) - ) - gc_pointed_to "cp_lexer" - (!srcfileloc "cp/parser.h" 236) - (!fields 11 - (!pair "buffer" - (!type already_seen 2014) - (!srcfileloc "cp/parser.h" 87) - nil ) - (!pair "last_token" - (!type already_seen 73) - (!srcfileloc "cp/parser.h" 91) - (!options - (!option skip string "") - ) - ) - (!pair "next_token" - (!type already_seen 73) - (!srcfileloc "cp/parser.h" 95) - (!options - (!option skip string "") - ) - ) - (!pair "saved_tokens" - (!type already_seen 2015) - (!srcfileloc "cp/parser.h" 101) - (!options - (!option skip string "") - ) - ) - (!pair "saved_type" - (!type already_seen 2) - (!srcfileloc "cp/parser.h" 104) - nil ) - (!pair "saved_keyword" - (!type already_seen 2) - (!srcfileloc "cp/parser.h" 105) - nil ) - (!pair "next" - (!type already_seen 2017) - (!srcfileloc "cp/parser.h" 108) - nil ) - (!pair "debugging_p" - (!type already_seen 2) - (!srcfileloc "cp/parser.h" 111) - nil ) - (!pair "in_pragma" - (!type already_seen 2) - (!srcfileloc "cp/parser.h" 115) - nil ) - (!pair "in_omp_attribute_pragma" - (!type already_seen 2) - (!srcfileloc "cp/parser.h" 119) - nil ) - (!pair "orphan_p" - (!type already_seen 2) - (!srcfileloc "cp/parser.h" 123) - nil ) - ) - nil 1028 nil nil ) - - (!type struct 2018 nil gc_unused "cp_token_ident"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 2019 nil gc_used "cp_default_arg_entry" - (!srcfileloc "cp/parser.h" 169) - (!fields 2 - (!pair "class_type" - (!type already_seen 23) - (!srcfileloc "cp/parser.h" 157) - nil ) - (!pair "decl" - (!type already_seen 23) - (!srcfileloc "cp/parser.h" 160) - nil ) - ) - nil 1028 nil nil ) - - (!type user_struct 2020 - (!type pointer 2021 nil gc_used - (!type already_seen 2020) - ) - gc_pointed_to "vec" - (!srcfileloc "cp/parser.h" 169) - (!fields 2 - (!pair "va_gc" - (!type already_seen 80) - (!srcfileloc "cp/parser.h" 169) - nil ) - (!pair "cp_default_arg_entry" - (!type already_seen 2019) - (!srcfileloc "cp/parser.h" 169) - nil ) - ) - ) - - (!type struct 2022 nil gc_used "cp_unparsed_functions_entry" - (!srcfileloc "cp/parser.h" 380) - (!fields 5 - (!pair "funs_with_default_args" - (!type already_seen 2021) - (!srcfileloc "cp/parser.h" 169) - nil ) - (!pair "funs_with_definitions" - (!type already_seen 85) - (!srcfileloc "cp/parser.h" 173) - nil ) - (!pair "nsdmis" - (!type already_seen 85) - (!srcfileloc "cp/parser.h" 177) - nil ) - (!pair "noexcepts" - (!type already_seen 85) - (!srcfileloc "cp/parser.h" 180) - nil ) - (!pair "contracts" - (!type already_seen 85) - (!srcfileloc "cp/parser.h" 183) - nil ) - ) - nil 1028 nil nil ) - - (!type struct 2023 - (!type pointer 2024 nil gc_used - (!type already_seen 2023) - ) - gc_pointed_to "cp_parser_context" - (!srcfileloc "cp/parser.h" 270) - (!fields 3 - (!pair "status" - (!type already_seen 2) - (!srcfileloc "cp/parser.h" 205) - nil ) - (!pair "object_type" - (!type already_seen 23) - (!srcfileloc "cp/parser.h" 210) - nil ) - (!pair "next" - (!type already_seen 2024) - (!srcfileloc "cp/parser.h" 213) - nil ) - ) - nil 1028 nil nil ) - - (!type struct 2025 - (!type pointer 2026 nil gc_unused - (!type already_seen 2025) - ) - gc_unused "cp_omp_declare_simd_data" - (!srcfileloc "cp/parser.h" 392) - (!fields 0 ) - nil 1028 nil nil ) - - (!type struct 2027 - (!type pointer 2028 nil gc_unused - (!type already_seen 2027) - ) - gc_unused "cp_oacc_routine_data" - (!srcfileloc "cp/parser.h" 396) - (!fields 0 ) - nil 1028 nil nil ) - - (!type user_struct 2029 - (!type pointer 2030 nil gc_used - (!type already_seen 2029) - ) - gc_pointed_to "vec" - (!srcfileloc "cp/parser.h" 380) - (!fields 2 - (!pair "va_gc" - (!type already_seen 80) - (!srcfileloc "cp/parser.h" 380) - nil ) - (!pair "cp_unparsed_functions_entry" - (!type already_seen 2022) - (!srcfileloc "cp/parser.h" 380) - nil ) - ) - ) - - (!type struct 2031 - (!type pointer 2032 nil gc_used - (!type already_seen 2031) - ) - gc_pointed_to "cp_parser" - (!srcfileloc "cp/parser.cc" 695) - (!fields 39 - (!pair "lexer" - (!type already_seen 2017) - (!srcfileloc "cp/parser.h" 236) - nil ) - (!pair "scope" - (!type already_seen 23) - (!srcfileloc "cp/parser.h" 251) - nil ) - (!pair "object_scope" - (!type already_seen 23) - (!srcfileloc "cp/parser.h" 258) - nil ) - (!pair "qualifying_scope" - (!type already_seen 23) - (!srcfileloc "cp/parser.h" 259) - nil ) - (!pair "context" - (!type already_seen 2024) - (!srcfileloc "cp/parser.h" 270) - nil ) - (!pair "allow_gnu_extensions_p" - (!type already_seen 2) - (!srcfileloc "cp/parser.h" 274) - nil ) - (!pair "greater_than_is_operator_p" - (!type already_seen 2) - (!srcfileloc "cp/parser.h" 281) - nil ) - (!pair "default_arg_ok_p" - (!type already_seen 2) - (!srcfileloc "cp/parser.h" 286) - nil ) - (!pair "integral_constant_expression_p" - (!type already_seen 2) - (!srcfileloc "cp/parser.h" 290) - nil ) - (!pair "allow_non_integral_constant_expression_p" - (!type already_seen 2) - (!srcfileloc "cp/parser.h" 296) - nil ) - (!pair "non_integral_constant_expression_p" - (!type already_seen 2) - (!srcfileloc "cp/parser.h" 300) - nil ) - (!pair "local_variables_forbidden_p" - (!type already_seen 8) - (!srcfileloc "cp/parser.h" 307) - nil ) - (!pair "in_unbraced_linkage_specification_p" - (!type already_seen 2) - (!srcfileloc "cp/parser.h" 312) - nil ) - (!pair "in_declarator_p" - (!type already_seen 2) - (!srcfileloc "cp/parser.h" 316) - nil ) - (!pair "in_template_argument_list_p" - (!type already_seen 2) - (!srcfileloc "cp/parser.h" 319) - nil ) - (!pair "in_statement" - (!type already_seen 8) - (!srcfileloc "cp/parser.h" 331) - nil ) - (!pair "in_switch_statement_p" - (!type already_seen 2) - (!srcfileloc "cp/parser.h" 337) - nil ) - (!pair "in_type_id_in_expr_p" - (!type already_seen 2) - (!srcfileloc "cp/parser.h" 342) - nil ) - (!pair "translate_strings_p" - (!type already_seen 2) - (!srcfileloc "cp/parser.h" 346) - nil ) - (!pair "in_function_body" - (!type already_seen 2) - (!srcfileloc "cp/parser.h" 350) - nil ) - (!pair "in_transaction" - (!type already_seen 8) - (!srcfileloc "cp/parser.h" 354) - nil ) - (!pair "colon_corrects_to_scope_p" - (!type already_seen 2) - (!srcfileloc "cp/parser.h" 357) - nil ) - (!pair "colon_doesnt_start_class_def_p" - (!type already_seen 2) - (!srcfileloc "cp/parser.h" 363) - nil ) - (!pair "objective_c_message_context_p" - (!type already_seen 2) - (!srcfileloc "cp/parser.h" 367) - nil ) - (!pair "type_definition_forbidden_message" - (!type already_seen 11) - (!srcfileloc "cp/parser.h" 372) - nil ) - (!pair "type_definition_forbidden_message_arg" - (!type already_seen 11) - (!srcfileloc "cp/parser.h" 375) - nil ) - (!pair "unparsed_queues" - (!type already_seen 2030) - (!srcfileloc "cp/parser.h" 380) - nil ) - (!pair "num_classes_being_defined" - (!type already_seen 2) - (!srcfileloc "cp/parser.h" 384) - nil ) - (!pair "num_template_parameter_lists" - (!type already_seen 2) - (!srcfileloc "cp/parser.h" 388) - nil ) - (!pair "omp_declare_simd" - (!type already_seen 2026) - (!srcfileloc "cp/parser.h" 392) - (!options - (!option skip string "") - ) - ) - (!pair "oacc_routine" - (!type already_seen 2028) - (!srcfileloc "cp/parser.h" 396) - (!options - (!option skip string "") - ) - ) - (!pair "auto_is_implicit_function_template_parm_p" - (!type already_seen 2) - (!srcfileloc "cp/parser.h" 400) - nil ) - (!pair "fully_implicit_function_template_p" - (!type already_seen 2) - (!srcfileloc "cp/parser.h" 405) - nil ) - (!pair "omp_attrs_forbidden_p" - (!type already_seen 2) - (!srcfileloc "cp/parser.h" 408) - nil ) - (!pair "implicit_template_parms" - (!type already_seen 23) - (!srcfileloc "cp/parser.h" 416) - nil ) - (!pair "implicit_template_scope" - (!type already_seen 83) - (!srcfileloc "cp/parser.h" 423) - nil ) - (!pair "in_result_type_constraint_p" - (!type already_seen 2) - (!srcfileloc "cp/parser.h" 428) - nil ) - (!pair "prevent_constrained_type_specifiers" - (!type already_seen 2) - (!srcfileloc "cp/parser.h" 432) - nil ) - (!pair "innermost_linkage_specification_location" - (!type already_seen 2) - (!srcfileloc "cp/parser.h" 436) - nil ) - ) - nil 1028 nil nil ) - - (!type struct 2033 nil gc_unused "rejection_reason"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 2034 nil gc_unused "z_candidate"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 2035 nil gc_unused "candidate_warning"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 2036 nil gc_unused "conversion_info"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 2037 nil gc_unused "conversion_obstack_sentinel"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 2038 nil gc_unused "dealloc_info"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 2039 nil gc_unused "NonPublicField"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 2040 nil gc_unused "NonTrivialField"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 2041 - (!type pointer 2042 nil gc_unused - (!type already_seen 2041) - ) - gc_unused "class_stack_node"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 2043 nil gc_unused "vtbl_init_data"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 2044 nil gc_unused "flexmems_t"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 2045 nil gc_unused "abi_tag_data"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 2046 nil gc_unused "find_final_overrider_data"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type user_struct 2047 - (!type pointer 2048 nil gc_used - (!type already_seen 2047) - ) - gc_pointed_to "hash_map" - (!srcfileloc "cp/class.cc" 3407) - (!fields 2 - (!pair "int" - (!type already_seen 374) - (!srcfileloc "cp/class.cc" 3407) - nil ) - (!pair "tree" - (!type already_seen 23) - (!srcfileloc "cp/class.cc" 3407) - nil ) - ) - ) - - (!type struct 2049 nil gc_unused "secondary_vptr_vtt_init_data"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 2050 nil gc_used "constexpr_fundef_hasher" - (!srcfileloc "cp/constexpr.cc" 189) - (!fields 0 ) - nil 1028 nil nil ) - - (!type user_struct 2051 - (!type pointer 2052 nil gc_used - (!type already_seen 2051) - ) - gc_pointed_to "hash_table" - (!srcfileloc "cp/constexpr.cc" 189) - (!fields 1 - (!pair "constexpr_fundef_hasher" - (!type already_seen 2050) - (!srcfileloc "cp/constexpr.cc" 189) - nil ) - ) - ) - - (!type struct 2053 nil gc_pointed_to "constexpr_call" - (!srcfileloc "cp/constexpr.cc" 1125) - (!fields 5 - (!pair "fundef" - (!type already_seen 2008) - (!srcfileloc "cp/constexpr.cc" 1112) - nil ) - (!pair "bindings" - (!type already_seen 23) - (!srcfileloc "cp/constexpr.cc" 1114) - nil ) - (!pair "result" - (!type already_seen 23) - (!srcfileloc "cp/constexpr.cc" 1119) - nil ) - (!pair "hash" - (!type already_seen 2) - (!srcfileloc "cp/constexpr.cc" 1122) - nil ) - (!pair "manifestly_const_eval" - (!type already_seen 2) - (!srcfileloc "cp/constexpr.cc" 1124) - nil ) - ) - (!options - (!option for_user string "") - ) - 1028 nil nil ) - - (!type struct 2054 nil gc_used "constexpr_call_hasher" - (!srcfileloc "cp/constexpr.cc" 1317) - (!fields 0 ) - nil 1028 nil nil ) - - (!type struct 2055 nil gc_unused "constexpr_global_ctx"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 2056 nil gc_unused "modifiable_tracker"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type user_struct 2057 - (!type pointer 2058 nil gc_used - (!type already_seen 2057) - ) - gc_pointed_to "hash_table" - (!srcfileloc "cp/constexpr.cc" 1317) - (!fields 1 - (!pair "constexpr_call_hasher" - (!type already_seen 2054) - (!srcfileloc "cp/constexpr.cc" 1317) - nil ) - ) - ) - - (!type struct 2059 nil gc_unused "replace_decl_data"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 2060 nil gc_unused "free_bindings"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 2061 nil gc_unused "check_for_return_continue_data"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 2062 nil gc_unused "subst_info"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 2063 nil gc_unused "sat_info"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 2064 nil gc_unused "norm_info"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 2065 nil gc_pointed_to "norm_entry" - (!srcfileloc "cp/constraint.cc" 712) - (!fields 3 - (!pair "tmpl" - (!type already_seen 23) - (!srcfileloc "cp/constraint.cc" 707) - nil ) - (!pair "args" - (!type already_seen 23) - (!srcfileloc "cp/constraint.cc" 709) - nil ) - (!pair "norm" - (!type already_seen 23) - (!srcfileloc "cp/constraint.cc" 711) - nil ) - ) - (!options - (!option for_user string "") - ) - 1028 nil nil ) - - (!type struct 2066 nil gc_used "norm_hasher" - (!srcfileloc "cp/constraint.cc" 735) - (!fields 0 ) - nil 1028 nil nil ) - - (!type user_struct 2067 - (!type pointer 2068 nil gc_used - (!type already_seen 2067) - ) - gc_pointed_to "hash_table" - (!srcfileloc "cp/constraint.cc" 735) - (!fields 1 - (!pair "norm_hasher" - (!type already_seen 2066) - (!srcfileloc "cp/constraint.cc" 735) - nil ) - ) - ) - - (!type user_struct 2069 - (!type pointer 2070 nil gc_used - (!type already_seen 2069) - ) - gc_pointed_to "hash_table" - (!srcfileloc "cp/constraint.cc" 814) - (!fields 1 - (!pair "atom_hasher" - (!type already_seen 2006) - (!srcfileloc "cp/constraint.cc" 814) - nil ) - ) - ) - - (!type struct 2071 nil gc_pointed_to "sat_entry" - (!srcfileloc "cp/constraint.cc" 2536) - (!fields 8 - (!pair "atom" - (!type already_seen 23) - (!srcfileloc "cp/constraint.cc" 2506) - nil ) - (!pair "args" - (!type already_seen 23) - (!srcfileloc "cp/constraint.cc" 2509) - nil ) - (!pair "result" - (!type already_seen 23) - (!srcfileloc "cp/constraint.cc" 2516) - nil ) - (!pair "location" - (!type already_seen 2) - (!srcfileloc "cp/constraint.cc" 2520) - nil ) - (!pair "ftc_begin" - (!type already_seen 2) - (!srcfileloc "cp/constraint.cc" 2525) - nil ) - (!pair "ftc_end" - (!type already_seen 2) - (!srcfileloc "cp/constraint.cc" 2525) - nil ) - (!pair "diagnose_instability" - (!type already_seen 2) - (!srcfileloc "cp/constraint.cc" 2530) - nil ) - (!pair "evaluating" - (!type already_seen 2) - (!srcfileloc "cp/constraint.cc" 2535) - nil ) - ) - (!options - (!option for_user string "") - ) - 1028 nil nil ) - - (!type struct 2072 nil gc_used "sat_hasher" - (!srcfileloc "cp/constraint.cc" 2614) - (!fields 0 ) - nil 1028 nil nil ) - - (!type user_struct 2073 - (!type pointer 2074 nil gc_used - (!type already_seen 2073) - ) - gc_pointed_to "hash_table" - (!srcfileloc "cp/constraint.cc" 2614) - (!fields 1 - (!pair "sat_hasher" - (!type already_seen 2072) - (!srcfileloc "cp/constraint.cc" 2614) - nil ) - ) - ) - - (!type struct 2075 nil gc_unused "satisfaction_cache"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 2076 nil gc_pointed_to "coroutine_info" - (!srcfileloc "cp/coroutines.cc" 100) - (!fields 12 - (!pair "function_decl" - (!type already_seen 23) - (!srcfileloc "cp/coroutines.cc" 84) - nil ) - (!pair "actor_decl" - (!type already_seen 23) - (!srcfileloc "cp/coroutines.cc" 85) - nil ) - (!pair "destroy_decl" - (!type already_seen 23) - (!srcfileloc "cp/coroutines.cc" 86) - nil ) - (!pair "promise_type" - (!type already_seen 23) - (!srcfileloc "cp/coroutines.cc" 87) - nil ) - (!pair "handle_type" - (!type already_seen 23) - (!srcfileloc "cp/coroutines.cc" 88) - nil ) - (!pair "self_h_proxy" - (!type already_seen 23) - (!srcfileloc "cp/coroutines.cc" 89) - nil ) - (!pair "promise_proxy" - (!type already_seen 23) - (!srcfileloc "cp/coroutines.cc" 92) - nil ) - (!pair "return_void" - (!type already_seen 23) - (!srcfileloc "cp/coroutines.cc" 93) - nil ) - (!pair "first_coro_keyword" - (!type already_seen 2) - (!srcfileloc "cp/coroutines.cc" 94) - nil ) - (!pair "coro_ret_type_error_emitted" - (!type already_seen 2) - (!srcfileloc "cp/coroutines.cc" 97) - nil ) - (!pair "coro_promise_error_emitted" - (!type already_seen 2) - (!srcfileloc "cp/coroutines.cc" 98) - nil ) - (!pair "coro_co_return_error_emitted" - (!type already_seen 2) - (!srcfileloc "cp/coroutines.cc" 99) - nil ) - ) - (!options - (!option for_user string "") - ) - 1028 nil nil ) - - (!type struct 2077 nil gc_used "coroutine_info_hasher" - (!srcfileloc "cp/coroutines.cc" 114) - (!fields 0 ) - nil 1028 nil nil ) - - (!type user_struct 2078 - (!type pointer 2079 nil gc_used - (!type already_seen 2078) - ) - gc_pointed_to "hash_table" - (!srcfileloc "cp/coroutines.cc" 114) - (!fields 1 - (!pair "coroutine_info_hasher" - (!type already_seen 2077) - (!srcfileloc "cp/coroutines.cc" 114) - nil ) - ) - ) - - (!type struct 2080 nil gc_unused "proxy_replace"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 2081 nil gc_unused "coro_aw_data"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 2082 nil gc_unused "suspend_point_info"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 2083 nil gc_unused "await_xform_data"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 2084 nil gc_unused "param_info"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 2085 nil gc_unused "local_var_info"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 2086 nil gc_unused "local_vars_transform"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 2087 nil gc_unused "susp_frame_data"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 2088 nil gc_unused "coro_interesting_subtree"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 2089 nil gc_unused "var_nest_node"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 2090 nil gc_unused "truth_if_transform"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 2091 nil gc_unused "param_frame_data"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 2092 nil gc_unused "local_vars_frame_data"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 2093 nil gc_unused "cp_genericize_omp_taskreg"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 2094 nil gc_unused "cp_genericize_data"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 2095 nil gc_unused "cp_fold_data"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 2096 nil gc_pointed_to "source_location_table_entry" - (!srcfileloc "cp/cp-gimplify.cc" 3375) - (!fields 3 - (!pair "loc" - (!type already_seen 2) - (!srcfileloc "cp/cp-gimplify.cc" 3372) - nil ) - (!pair "uid" - (!type already_seen 2) - (!srcfileloc "cp/cp-gimplify.cc" 3373) - nil ) - (!pair "var" - (!type already_seen 23) - (!srcfileloc "cp/cp-gimplify.cc" 3374) - nil ) - ) - (!options - (!option for_user string "") - ) - 1028 nil nil ) - - (!type struct 2097 nil gc_used "source_location_table_entry_hash" - (!srcfileloc "cp/cp-gimplify.cc" 3451) - (!fields 0 ) - nil 1028 nil nil ) - - (!type user_struct 2098 - (!type pointer 2099 nil gc_used - (!type already_seen 2098) - ) - gc_pointed_to "hash_table" - (!srcfileloc "cp/cp-gimplify.cc" 3451) - (!fields 1 - (!pair "source_location_table_entry_hash" - (!type already_seen 2097) - (!srcfileloc "cp/cp-gimplify.cc" 3451) - nil ) - ) - ) - - (!type already_seen 1976) - - (!type struct 2100 nil gc_used "incomplete_var" - (!srcfileloc "cp/decl.cc" 255) - (!fields 2 - (!pair "decl" - (!type already_seen 23) - (!srcfileloc "cp/decl.cc" 250) - nil ) - (!pair "incomplete_type" - (!type already_seen 23) - (!srcfileloc "cp/decl.cc" 251) - nil ) - ) - nil 1028 nil nil ) - - (!type user_struct 2101 - (!type pointer 2102 nil gc_used - (!type already_seen 2101) - ) - gc_pointed_to "vec" - (!srcfileloc "cp/decl.cc" 255) - (!fields 2 - (!pair "va_gc" - (!type already_seen 80) - (!srcfileloc "cp/decl.cc" 255) - nil ) - (!pair "incomplete_var" - (!type already_seen 2100) - (!srcfileloc "cp/decl.cc" 255) - nil ) - ) - ) - - (!type struct 2103 nil gc_unused "cp_switch"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 2104 nil gc_unused "typename_info"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 2105 nil gc_used "typename_hasher" - (!srcfileloc "cp/decl.cc" 4176) - (!fields 0 ) - nil 1028 nil nil ) - - (!type user_struct 2106 - (!type pointer 2107 nil gc_used - (!type already_seen 2106) - ) - gc_pointed_to "hash_table" - (!srcfileloc "cp/decl.cc" 4176) - (!fields 1 - (!pair "typename_hasher" - (!type already_seen 2105) - (!srcfileloc "cp/decl.cc" 4176) - nil ) - ) - ) - - (!type struct 2108 nil gc_unused "predefined_identifier"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 2109 nil gc_unused "reshape_iter"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 2110 nil gc_used "mangled_decl_hash" - (!srcfileloc "cp/decl2.cc" 125) - (!fields 0 ) - nil 1028 nil nil ) - - (!type user_struct 2111 - (!type pointer 2112 nil gc_used - (!type already_seen 2111) - ) - gc_pointed_to "hash_table" - (!srcfileloc "cp/decl2.cc" 125) - (!fields 1 - (!pair "mangled_decl_hash" - (!type already_seen 2110) - (!srcfileloc "cp/decl2.cc" 125) - nil ) - ) - ) - - (!type struct 2113 nil gc_used "priority_map_traits" - (!srcfileloc "cp/decl2.cc" 166) - (!fields 0 ) - nil 1028 nil nil ) - - (!type user_struct 2114 - (!type pointer 2115 nil gc_used - (!type already_seen 2114) - ) - gc_pointed_to "hash_map" - (!srcfileloc "cp/decl2.cc" 166) - (!fields 3 - (!pair "priority_map_traits" - (!type already_seen 2113) - (!srcfileloc "cp/decl2.cc" 166) - nil ) - (!pair "tree" - (!type already_seen 23) - (!srcfileloc "cp/decl2.cc" 166) - nil ) - (!pair "unsigned" - (!type already_seen 1403) - (!srcfileloc "cp/decl2.cc" 166) - nil ) - ) - ) - - (!type struct 2116 nil gc_used "pending_noexcept" - (!srcfileloc "cp/except.cc" 1102) - (!fields 2 - (!pair "fn" - (!type already_seen 23) - (!srcfileloc "cp/except.cc" 1099) - nil ) - (!pair "loc" - (!type already_seen 2) - (!srcfileloc "cp/except.cc" 1100) - nil ) - ) - nil 1028 nil nil ) - - (!type user_struct 2117 - (!type pointer 2118 nil gc_used - (!type already_seen 2117) - ) - gc_pointed_to "vec" - (!srcfileloc "cp/except.cc" 1102) - (!fields 2 - (!pair "va_gc" - (!type already_seen 80) - (!srcfileloc "cp/except.cc" 1102) - nil ) - (!pair "pending_noexcept" - (!type already_seen 2116) - (!srcfileloc "cp/except.cc" 1102) - nil ) - ) - ) - - (!type struct 2119 nil gc_unused "find_uninit_data"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 2120 nil gc_used "lambda_sig_count" - (!srcfileloc "cp/lambda.cc" 1464) - (!fields 2 - (!pair "fn" - (!type already_seen 23) - (!srcfileloc "cp/lambda.cc" 1455) - nil ) - (!pair "count" - (!type already_seen 2) - (!srcfileloc "cp/lambda.cc" 1456) - nil ) - ) - nil 1028 nil nil ) - - (!type user_struct 2121 - (!type pointer 2122 nil gc_used - (!type already_seen 2121) - ) - gc_pointed_to "vec" - (!srcfileloc "cp/lambda.cc" 1464) - (!fields 2 - (!pair "va_gc" - (!type already_seen 80) - (!srcfileloc "cp/lambda.cc" 1464) - nil ) - (!pair "lambda_sig_count" - (!type already_seen 2120) - (!srcfileloc "cp/lambda.cc" 1464) - nil ) - ) - ) - - (!type struct 2123 nil gc_used "lambda_discriminator" - (!srcfileloc "cp/lambda.cc" 1467) - (!fields 4 - (!pair "scope" - (!type already_seen 23) - (!srcfileloc "cp/lambda.cc" 1460) - nil ) - (!pair "nesting" - (!type already_seen 2) - (!srcfileloc "cp/lambda.cc" 1461) - nil ) - (!pair "count" - (!type already_seen 2) - (!srcfileloc "cp/lambda.cc" 1463) - nil ) - (!pair "discriminators" - (!type already_seen 2122) - (!srcfileloc "cp/lambda.cc" 1464) - nil ) - ) - nil 1028 nil nil ) - - (!type user_struct 2124 - (!type pointer 2125 nil gc_used - (!type already_seen 2124) - ) - gc_pointed_to "vec" - (!srcfileloc "cp/lambda.cc" 1469) - (!fields 2 - (!pair "va_gc" - (!type already_seen 80) - (!srcfileloc "cp/lambda.cc" 1469) - nil ) - (!pair "lambda_discriminator" - (!type already_seen 2123) - (!srcfileloc "cp/lambda.cc" 1469) - nil ) - ) - ) - - (!type struct 2126 nil gc_unused "impl_files"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 2127 nil gc_unused "module_token_filter"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 2128 nil gc_used "conv_type_hasher" - (!srcfileloc "cp/lex.cc" 821) - (!fields 0 ) - nil 1028 nil nil ) - - (!type user_struct 2129 - (!type pointer 2130 nil gc_used - (!type already_seen 2129) - ) - gc_pointed_to "hash_table" - (!srcfileloc "cp/lex.cc" 821) - (!fields 1 - (!pair "conv_type_hasher" - (!type already_seen 2128) - (!srcfileloc "cp/lex.cc" 821) - nil ) - ) - ) - - (!type struct 2131 nil gc_unused "clause"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 2132 nil gc_unused "formula"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 2133 nil gc_pointed_to "subsumption_entry" - (!srcfileloc "cp/logic.cc" 725) - (!fields 3 - (!pair "lhs" - (!type already_seen 23) - (!srcfileloc "cp/logic.cc" 722) - nil ) - (!pair "rhs" - (!type already_seen 23) - (!srcfileloc "cp/logic.cc" 723) - nil ) - (!pair "result" - (!type already_seen 2) - (!srcfileloc "cp/logic.cc" 724) - nil ) - ) - (!options - (!option for_user string "") - ) - 1028 nil nil ) - - (!type struct 2134 nil gc_used "subsumption_hasher" - (!srcfileloc "cp/logic.cc" 751) - (!fields 0 ) - nil 1028 nil nil ) - - (!type user_struct 2135 - (!type pointer 2136 nil gc_used - (!type already_seen 2135) - ) - gc_pointed_to "hash_table" - (!srcfileloc "cp/logic.cc" 751) - (!fields 1 - (!pair "subsumption_hasher" - (!type already_seen 2134) - (!srcfileloc "cp/logic.cc" 751) - nil ) - ) - ) - - (!type struct 2137 nil gc_used "globals" - (!srcfileloc "cp/mangle.cc" 126) - (!fields 6 - (!pair "substitutions" - (!type already_seen 85) - (!srcfileloc "cp/mangle.cc" 107) - nil ) - (!pair "entity" - (!type already_seen 23) - (!srcfileloc "cp/mangle.cc" 110) - (!options - (!option skip string "") - ) - ) - (!pair "parm_depth" - (!type already_seen 2) - (!srcfileloc "cp/mangle.cc" 113) - nil ) - (!pair "need_abi_warning" - (!type already_seen 2) - (!srcfileloc "cp/mangle.cc" 117) - nil ) - (!pair "need_cxx17_warning" - (!type already_seen 2) - (!srcfileloc "cp/mangle.cc" 120) - nil ) - (!pair "mod" - (!type already_seen 2) - (!srcfileloc "cp/mangle.cc" 123) - nil ) - ) - nil 1028 nil nil ) - - (!type struct 2138 nil gc_unused "comp_cat_info_t"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 2139 nil gc_unused "comp_info"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 2140 nil gc_unused "nodel_ptr_hash"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type user_struct 2141 nil gc_unused "simple_hashmap_traits,int>" - (!srcfileloc "cp/module.cc" 335) - (!fields 2 - (!pair "int" - (!type already_seen 374) - (!srcfileloc "cp/module.cc" 335) - nil ) - (!pair "nodel_ptr_hash" - (!srcfileloc "cp/module.cc" 336) - (!fields 3 - (!pair "ptr_int_traits" - (!type already_seen 2141) - (!srcfileloc "cp/module.cc" 336) - nil ) - (!pair "signed" - (!type undefined 2144 nil gc_unused "signed" - (!srcfileloc "cp/module.cc" 336) - ) - (!srcfileloc "cp/module.cc" 336) - nil ) - (!pair "void" - (!type pointer 2145 nil gc_unused - (!type struct 2146 - (!type already_seen 2145) - gc_unused "void"nil - (!fields 0 ) - nil 0 nil nil ) - ) - (!srcfileloc "cp/module.cc" 336) - nil ) - ) - ) - - (!type already_seen 2146) - - (!type already_seen 2144) - - (!type struct 2147 nil gc_unused "data"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 2148 nil gc_unused "bytes"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type already_seen 1997) - - (!type already_seen 1998) - - (!type struct 2149 nil gc_unused "elf_out"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 2150 nil gc_unused "bytes_out"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 2151 nil gc_unused "elf"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 2152 nil gc_unused "stat"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 2153 nil gc_unused "depset"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 2154 nil gc_unused "pending_key" - (!srcfileloc "cp/module.cc" 2695) - (!fields 0 ) - nil 1028 nil nil ) - - (!type user_struct 2155 nil gc_unused "hash_map>" - (!srcfileloc "cp/module.cc" 2695) - (!fields 2 - (!pair "auto_vec>" - (!srcfileloc "cp/module.cc" 2708) - (!fields 2 - (!pair "auto_vec,uintptr_t>>" - (!srcfileloc "cp/module.cc" 2837) - (!fields 4 - (!pair "uintptr_t" - (!type already_seen 2) - (!srcfileloc "cp/module.cc" 2837) - nil ) - (!pair "simple_hashmap_traits" - (!srcfileloc "cp/module.cc" 3734) - (!fields 1 - (!pair "cpp_hashnode" - (!type already_seen 13) - (!srcfileloc "cp/module.cc" 3734) - nil ) - ) - ) - - (!type struct 2174 nil gc_used "module_state_hash" - (!srcfileloc "cp/module.cc" 3935) - (!fields 0 ) - nil 1028 nil nil ) - - (!type user_struct 2175 - (!type pointer 2176 nil gc_used - (!type already_seen 2175) - ) - gc_pointed_to "vec" - (!srcfileloc "cp/module.cc" 3932) - (!fields 2 - (!pair "va_gc" - (!type already_seen 80) - (!srcfileloc "cp/module.cc" 3932) - nil ) - (!pair "module_state" - (!type already_seen 1990) - (!srcfileloc "cp/module.cc" 3932) - nil ) - ) - ) - - (!type user_struct 2177 - (!type pointer 2178 nil gc_used - (!type already_seen 2177) - ) - gc_pointed_to "hash_table" - (!srcfileloc "cp/module.cc" 3935) - (!fields 1 - (!pair "module_state_hash" - (!type already_seen 2174) - (!srcfileloc "cp/module.cc" 3935) - nil ) - ) - ) - - (!type user_struct 2179 nil gc_unused "hash_map,unsigned>>" - (!srcfileloc "cp/module.cc" 3941) - (!fields 5 - (!pair "unsigned" - (!type already_seen 1403) - (!srcfileloc "cp/module.cc" 3941) - nil ) - (!pair "0" - (!type undefined 2180 nil gc_unused "0" - (!srcfileloc "cp/module.cc" 3941) - ) - (!srcfileloc "cp/module.cc" 3941) - nil ) - (!pair "simple_hashmap_traits" - (!srcfileloc "cp/module.cc" 4599) - (!fields 1 - (!pair "note_def_cache_hasher" - (!type already_seen 2184) - (!srcfileloc "cp/module.cc" 4599) - nil ) - ) - ) - - (!type struct 2187 nil gc_unused "add_binding_data"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 2188 nil gc_unused "tm"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 2189 nil gc_used "macro_export" - (!srcfileloc "cp/module.cc" 16778) - (!fields 2 - (!pair "def" - (!type already_seen 19) - (!srcfileloc "cp/module.cc" 16771) - nil ) - (!pair "undef_loc" - (!type already_seen 2) - (!srcfileloc "cp/module.cc" 16772) - nil ) - ) - nil 1028 nil nil ) - - (!type struct 2190 nil gc_unused "macro_import"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type user_struct 2191 - (!type pointer 2192 nil gc_used - (!type already_seen 2191) - ) - gc_pointed_to "vec" - (!srcfileloc "cp/module.cc" 16935) - (!fields 2 - (!pair "va_gc" - (!type already_seen 80) - (!srcfileloc "cp/module.cc" 16935) - nil ) - (!pair "macro_export" - (!type already_seen 2189) - (!srcfileloc "cp/module.cc" 16935) - nil ) - ) - ) - - (!type struct 2193 nil gc_unused "rlimit"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 2194 nil gc_unused "module_processing_cookie"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 2195 nil gc_unused "name_lookup"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 2196 nil gc_unused "namespace_limit_reached"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 2197 nil gc_unused "show_candidate_location"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 2198 nil gc_unused "suggest_alternatives"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 2199 nil gc_unused "namespace_hints"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 2200 nil gc_unused "missing_std_header"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 2201 nil gc_unused "macro_use_before_def"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 2202 nil gc_unused "type_id_in_expr_sentinel"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 2203 nil gc_unused "saved_token_sentinel"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 2204 nil gc_unused "cp_parser_binary_operations_map_node"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 2205 nil gc_unused "cp_parser_expression_stack_entry"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 2206 nil gc_unused "tentative_firewall"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 2207 nil gc_unused "cp_omp_attribute_data"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 2208 nil gc_unused "scope_sentinel"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 2209 nil gc_unused "class_decl_loc_t"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type undefined 2210 nil gc_unused "class_to_loc_map_t::iterator" - (!srcfileloc "cp/parser.cc" 34632) - ) - - (!type struct 2211 - (!type pointer 2212 nil gc_used - (!type already_seen 2211) - ) - gc_pointed_to "pending_template" - (!srcfileloc "cp/pt.cc" 9558) - (!fields 2 - (!pair "next" - (!type already_seen 2212) - (!srcfileloc "cp/pt.cc" 59) - nil ) - (!pair "tinst" - (!type already_seen 1987) - (!srcfileloc "cp/pt.cc" 60) - nil ) - ) - (!options - (!option chain_next string "%h.next") - ) - 1028 nil nil ) - - (!type struct 2213 nil gc_used "spec_hasher" - (!srcfileloc "cp/pt.cc" 116) - (!fields 0 ) - nil 1028 nil nil ) - - (!type user_struct 2214 - (!type pointer 2215 nil gc_used - (!type already_seen 2214) - ) - gc_pointed_to "hash_table" - (!srcfileloc "cp/pt.cc" 116) - (!fields 1 - (!pair "spec_hasher" - (!type already_seen 2213) - (!srcfileloc "cp/pt.cc" 116) - nil ) - ) - ) - - (!type struct 2216 nil gc_unused "find_parameter_pack_data"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 2217 nil gc_used "ctp_hasher" - (!srcfileloc "cp/pt.cc" 4524) - (!fields 0 ) - nil 1028 nil nil ) - - (!type user_struct 2218 - (!type pointer 2219 nil gc_used - (!type already_seen 2218) - ) - gc_pointed_to "hash_table" - (!srcfileloc "cp/pt.cc" 4524) - (!fields 1 - (!pair "ctp_hasher" - (!type already_seen 2217) - (!srcfileloc "cp/pt.cc" 4524) - nil ) - ) - ) - - (!type struct 2220 nil gc_unused "template_parm_data"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 2221 nil gc_unused "uses_all_template_parms_data"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 2222 nil gc_unused "freelist"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 2223 nil gc_unused "pair_fn_data"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 2224 nil gc_unused "find_template_parameter_info"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 2225 nil gc_unused "el_data"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 2226 nil gc_unused "auto_hash"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type user_struct 2227 - (!type pointer 2228 nil gc_used - (!type already_seen 2227) - ) - gc_pointed_to "hash_map" - (!srcfileloc "cp/pt.cc" 30444) - (!fields 2 - (!pair "tree_pair_p" - (!type already_seen 537) - (!srcfileloc "cp/pt.cc" 30444) - nil ) - (!pair "tree" - (!type already_seen 23) - (!srcfileloc "cp/pt.cc" 30444) - nil ) - ) - ) - - (!type struct 2229 nil gc_used "tinfo_s" - (!srcfileloc "cp/rtti.cc" 122) - (!fields 3 - (!pair "type" - (!type already_seen 23) - (!srcfileloc "cp/rtti.cc" 65) - nil ) - (!pair "vtable" - (!type already_seen 23) - (!srcfileloc "cp/rtti.cc" 67) - nil ) - (!pair "name" - (!type already_seen 23) - (!srcfileloc "cp/rtti.cc" 70) - nil ) - ) - nil 1028 nil nil ) - - (!type user_struct 2230 - (!type pointer 2231 nil gc_used - (!type already_seen 2230) - ) - gc_pointed_to "vec" - (!srcfileloc "cp/rtti.cc" 122) - (!fields 2 - (!pair "va_gc" - (!type already_seen 80) - (!srcfileloc "cp/rtti.cc" 122) - nil ) - (!pair "tinfo_s" - (!type already_seen 2229) - (!srcfileloc "cp/rtti.cc" 122) - nil ) - ) - ) - - (!type struct 2232 nil gc_used "deferred_access" - (!srcfileloc "cp/semantics.cc" 137) - (!fields 2 - (!pair "deferred_access_checks" - (!type already_seen 78) - (!srcfileloc "cp/semantics.cc" 130) - nil ) - (!pair "deferring_access_checks_kind" - (!type already_seen 2) - (!srcfileloc "cp/semantics.cc" 133) - nil ) - ) - nil 1028 nil nil ) - - (!type user_struct 2233 - (!type pointer 2234 nil gc_used - (!type already_seen 2233) - ) - gc_pointed_to "vec" - (!srcfileloc "cp/semantics.cc" 137) - (!fields 2 - (!pair "va_gc" - (!type already_seen 80) - (!srcfileloc "cp/semantics.cc" 137) - nil ) - (!pair "deferred_access" - (!type already_seen 2232) - (!srcfileloc "cp/semantics.cc" 137) - nil ) - ) - ) - - (!type struct 2235 nil gc_unused "cp_check_omp_declare_reduction_data"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 2236 nil gc_unused "omp_target_walk_data"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 2237 nil gc_unused "cplus_array_info"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 2238 nil gc_used "cplus_array_hasher" - (!srcfileloc "cp/tree.cc" 1042) - (!fields 0 ) - nil 1028 nil nil ) - - (!type user_struct 2239 - (!type pointer 2240 nil gc_used - (!type already_seen 2239) - ) - gc_pointed_to "hash_table" - (!srcfileloc "cp/tree.cc" 1042) - (!fields 1 - (!pair "cplus_array_hasher" - (!type already_seen 2238) - (!srcfileloc "cp/tree.cc" 1042) - nil ) - ) - ) - - (!type struct 2241 nil gc_unused "list_proxy"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 2242 nil gc_used "list_hasher" - (!srcfileloc "cp/tree.cc" 2178) - (!fields 0 ) - nil 1028 nil nil ) - - (!type user_struct 2243 - (!type pointer 2244 nil gc_used - (!type already_seen 2243) - ) - gc_pointed_to "hash_table" - (!srcfileloc "cp/tree.cc" 2178) - (!fields 1 - (!pair "list_hasher" - (!type already_seen 2242) - (!srcfileloc "cp/tree.cc" 2178) - nil ) - ) - ) - - (!type struct 2245 nil gc_unused "bot_data"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 2246 nil gc_unused "replace_placeholders_t"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 2247 nil gc_unused "work_node"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 2248 nil gc_unused "vtv_graph_node"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 2249 nil gc_unused "Dsymbol"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type already_seen 63) - - (!type already_seen 637) - - (!type struct 2250 nil gc_unused "ClassDeclaration"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 2251 nil gc_unused "EnumDeclaration"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type already_seen 438) - - (!type struct 2252 nil gc_unused "StructDeclaration"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 2253 nil gc_unused "TypeInfoDeclaration"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 2254 nil gc_unused "VarDeclaration"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 2255 - (!type pointer 2256 nil gc_unused - (!type already_seen 2255) - ) - gc_unused "Expression"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 2257 nil gc_unused "ClassReferenceExp"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 2258 nil gc_unused "IndexExp"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 2259 nil gc_unused "SliceExp"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type already_seen 440) - - (!type already_seen 445) - - (!type already_seen 532) - - (!type struct 2260 nil gc_unused "TypeFunction"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 2261 nil gc_unused "Parameter"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 2262 nil gc_unused "BaseClass"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 2263 nil gc_unused "Scope"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 2264 nil gc_unused "Loc"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type user_struct 2265 nil gc_unused "Array" - (!srcfileloc "d/d-tree.h" 46) - (!fields 1 - (!pair "Expression" - (!type already_seen 2256) - (!srcfileloc "d/d-tree.h" 46) - nil ) - ) - ) - - (!type already_seen 432) - - (!type already_seen 447) - - (!type already_seen 443) - - (!type already_seen 659) - - (!type already_seen 442) - - (!type struct 2266 nil gc_unused "builtin_data"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 2267 nil gc_unused "d_option_data"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 2268 nil gc_unused "TypeInfoVisitor"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 2269 nil gc_unused "TypeInfoDeclVisitor"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 2270 nil gc_unused "SpeculativeTypeVisitor"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 2271 nil gc_used "module_hasher" - (!srcfileloc "fortran/trans-decl.cc" 5114) - (!fields 0 ) - nil 16 nil nil ) - - (!type user_struct 2272 - (!type pointer 2273 nil gc_used - (!type already_seen 2272) - ) - gc_pointed_to "hash_table" - (!srcfileloc "fortran/trans-decl.cc" 5114) - (!fields 1 - (!pair "module_hasher" - (!type already_seen 2271) - (!srcfileloc "fortran/trans-decl.cc" 5114) - nil ) - ) - ) - - (!type struct 2274 nil gc_pointed_to "module_htab_entry" - (!srcfileloc "fortran/trans.h" 711) - (!fields 3 - (!pair "name" - (!type already_seen 11) - (!srcfileloc "fortran/trans.h" 708) - nil ) - (!pair "namespace_decl" - (!type already_seen 23) - (!srcfileloc "fortran/trans.h" 709) - nil ) - (!pair "decls" - (!type pointer 2275 nil gc_used - (!type user_struct 2276 - (!type already_seen 2275) - gc_pointed_to "hash_table" - (!srcfileloc "fortran/trans.h" 710) - (!fields 1 - (!pair "module_decl_hasher" - (!type struct 2277 nil gc_used "module_decl_hasher" - (!srcfileloc "fortran/trans.h" 710) - (!fields 0 ) - nil 16 nil nil ) - (!srcfileloc "fortran/trans.h" 710) - nil ) - ) - ) - ) - (!srcfileloc "fortran/trans.h" 710) - nil ) - ) - (!options - (!option for_user string "") - ) - 16 nil nil ) - - (!type struct 2278 nil gc_used "gfc_intrinsic_map_t" - (!srcfileloc "fortran/trans-intrinsic.cc" 87) - (!fields 19 - (!pair "id" - (!type already_seen 2) - (!srcfileloc "fortran/trans-intrinsic.cc" 53) - nil ) - (!pair "float_built_in" - (!type already_seen 2) - (!srcfileloc "fortran/trans-intrinsic.cc" 57) - nil ) - (!pair "double_built_in" - (!type already_seen 2) - (!srcfileloc "fortran/trans-intrinsic.cc" 58) - nil ) - (!pair "long_double_built_in" - (!type already_seen 2) - (!srcfileloc "fortran/trans-intrinsic.cc" 59) - nil ) - (!pair "complex_float_built_in" - (!type already_seen 2) - (!srcfileloc "fortran/trans-intrinsic.cc" 60) - nil ) - (!pair "complex_double_built_in" - (!type already_seen 2) - (!srcfileloc "fortran/trans-intrinsic.cc" 61) - nil ) - (!pair "complex_long_double_built_in" - (!type already_seen 2) - (!srcfileloc "fortran/trans-intrinsic.cc" 62) - nil ) - (!pair "libm_name" - (!type already_seen 2) - (!srcfileloc "fortran/trans-intrinsic.cc" 67) - nil ) - (!pair "complex_available" - (!type already_seen 2) - (!srcfileloc "fortran/trans-intrinsic.cc" 70) - nil ) - (!pair "is_constant" - (!type already_seen 2) - (!srcfileloc "fortran/trans-intrinsic.cc" 73) - nil ) - (!pair "name" - (!type already_seen 11) - (!srcfileloc "fortran/trans-intrinsic.cc" 76) - nil ) - (!pair "real4_decl" - (!type already_seen 23) - (!srcfileloc "fortran/trans-intrinsic.cc" 79) - nil ) - (!pair "real8_decl" - (!type already_seen 23) - (!srcfileloc "fortran/trans-intrinsic.cc" 80) - nil ) - (!pair "real10_decl" - (!type already_seen 23) - (!srcfileloc "fortran/trans-intrinsic.cc" 81) - nil ) - (!pair "real16_decl" - (!type already_seen 23) - (!srcfileloc "fortran/trans-intrinsic.cc" 82) - nil ) - (!pair "complex4_decl" - (!type already_seen 23) - (!srcfileloc "fortran/trans-intrinsic.cc" 83) - nil ) - (!pair "complex8_decl" - (!type already_seen 23) - (!srcfileloc "fortran/trans-intrinsic.cc" 84) - nil ) - (!pair "complex10_decl" - (!type already_seen 23) - (!srcfileloc "fortran/trans-intrinsic.cc" 85) - nil ) - (!pair "complex16_decl" - (!type already_seen 23) - (!srcfileloc "fortran/trans-intrinsic.cc" 86) - nil ) - ) - nil 16 nil nil ) - - (!type struct 2279 nil gc_used "gfc_st_parameter_field" - (!srcfileloc "fortran/trans-io.cc" 73) - (!fields 6 - (!pair "name" - (!type already_seen 11) - (!srcfileloc "fortran/trans-io.cc" 67) - nil ) - (!pair "mask" - (!type already_seen 2) - (!srcfileloc "fortran/trans-io.cc" 68) - nil ) - (!pair "param_type" - (!type already_seen 2) - (!srcfileloc "fortran/trans-io.cc" 69) - nil ) - (!pair "type" - (!type already_seen 2) - (!srcfileloc "fortran/trans-io.cc" 70) - nil ) - (!pair "field" - (!type already_seen 23) - (!srcfileloc "fortran/trans-io.cc" 71) - nil ) - (!pair "field_len" - (!type already_seen 23) - (!srcfileloc "fortran/trans-io.cc" 72) - nil ) - ) - nil 16 nil nil ) - - (!type struct 2280 nil gc_used "gfc_st_parameter" - (!srcfileloc "fortran/trans-io.cc" 79) - (!fields 2 - (!pair "name" - (!type already_seen 11) - (!srcfileloc "fortran/trans-io.cc" 77) - nil ) - (!pair "type" - (!type already_seen 23) - (!srcfileloc "fortran/trans-io.cc" 78) - nil ) - ) - nil 16 nil nil ) - - (!type struct 2281 nil gc_unused "iter_info"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 2282 nil gc_unused "forall_info"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 2283 nil gc_unused "anonymous:../../gcc/gcc/fortran/trans.h:33"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 2284 nil gc_unused "gfc_se"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 2285 nil gc_unused "gfc_co_subroutines_args"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 2286 nil gc_unused "gfc_array_info"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 2287 nil gc_unused "gfc_ss_info"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 2288 nil gc_unused "gfc_ss"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 2289 nil gc_unused "gfc_loopinfo"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 2290 nil gc_unused "anonymous:../../gcc/gcc/fortran/trans.h:408"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 2291 nil gc_unused "anonymous:../../gcc/gcc/fortran/trans.h:420"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type already_seen 2277) - - (!type already_seen 2276) - - (!type struct 2292 nil gc_unused "gimplify_omp_ctx"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 2293 nil gc_used "gfc_powdecl_list" - (!srcfileloc "fortran/trans.h" 917) - (!fields 3 - (!pair "integer" - (!type already_seen 23) - (!srcfileloc "fortran/trans.h" 914) - nil ) - (!pair "real" - (!type already_seen 23) - (!srcfileloc "fortran/trans.h" 915) - nil ) - (!pair "cmplx" - (!type already_seen 23) - (!srcfileloc "fortran/trans.h" 916) - nil ) - ) - nil 16 nil nil ) - - (!type struct 2294 nil gc_unused "gfc_interface_sym_mapping"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 2295 nil gc_unused "gfc_interface_mapping"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 2296 nil gc_unused "go_create_gogo_args"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 2297 nil gc_unused "Linemap"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 2298 nil gc_unused "Backend"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 2299 nil gc_unused "ggc_root_tab"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 2300 nil gc_unused "lto_file"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 2301 nil gc_unused "lto_section_list"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 2302 nil gc_unused "lto_section_slot"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 2303 nil gc_unused "tree_scc"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 2304 nil gc_unused "tree_scc_hasher"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 2305 nil gc_unused "streamer_tree_cache_d"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type user_struct 2306 nil gc_unused "int_hash" - (!srcfileloc "lto/lto-common.cc" 1805) - (!fields 3 - (!pair "UINT_MAX" - (!type undefined 2307 nil gc_unused "UINT_MAX" - (!srcfileloc "lto/lto-common.cc" 1805) - ) - (!srcfileloc "lto/lto-common.cc" 1805) - nil ) - (!pair "0" - (!type already_seen 2180) - (!srcfileloc "lto/lto-common.cc" 1805) - nil ) - (!pair "unsigned" - (!type already_seen 1403) - (!srcfileloc "lto/lto-common.cc" 1805) - nil ) - ) - ) - - (!type already_seen 2307) - - (!type struct 2308 nil gc_unused "file_data_list"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 2309 nil gc_unused "symbol_entry"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 2310 nil gc_unused "variable_entry"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 2311 nil gc_unused "function_entry"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 2312 nil gc_unused "named_path_s"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 2313 - (!type pointer 2314 nil gc_used - (!type already_seen 2313) - ) - gc_pointed_to "rtenode" - (!srcfileloc "m2/gm2-gcc/rtegraph.cc" 61) - (!fields 11 - (!pair "constructor_reachable" - (!type already_seen 2) - (!srcfileloc "m2/gm2-gcc/rtegraph.cc" 39) - nil ) - (!pair "export_reachable" - (!type already_seen 2) - (!srcfileloc "m2/gm2-gcc/rtegraph.cc" 40) - nil ) - (!pair "exception_routine" - (!type already_seen 2) - (!srcfileloc "m2/gm2-gcc/rtegraph.cc" 41) - nil ) - (!pair "constructor_final" - (!type already_seen 2) - (!srcfileloc "m2/gm2-gcc/rtegraph.cc" 42) - nil ) - (!pair "export_final" - (!type already_seen 2) - (!srcfileloc "m2/gm2-gcc/rtegraph.cc" 43) - nil ) - (!pair "is_call" - (!type already_seen 2) - (!srcfileloc "m2/gm2-gcc/rtegraph.cc" 44) - nil ) - (!pair "grtenode" - (!type already_seen 282) - (!srcfileloc "m2/gm2-gcc/rtegraph.cc" 45) - nil ) - (!pair "func" - (!type already_seen 23) - (!srcfileloc "m2/gm2-gcc/rtegraph.cc" 46) - nil ) - (!pair "reachable_src" - (!type already_seen 2314) - (!srcfileloc "m2/gm2-gcc/rtegraph.cc" 47) - nil ) - (!pair "function_call" - (!type pointer 2315 nil gc_used - (!type user_struct 2316 - (!type already_seen 2315) - gc_pointed_to "vec" - (!srcfileloc "m2/gm2-gcc/rtegraph.cc" 49) - (!fields 2 - (!pair "va_gc" - (!type already_seen 80) - (!srcfileloc "m2/gm2-gcc/rtegraph.cc" 49) - nil ) - (!pair "rtenode" - (!type already_seen 2314) - (!srcfileloc "m2/gm2-gcc/rtegraph.cc" 49) - nil ) - ) - ) - ) - (!srcfileloc "m2/gm2-gcc/rtegraph.cc" 49) - nil ) - (!pair "rts_call" - (!type already_seen 2315) - (!srcfileloc "m2/gm2-gcc/rtegraph.cc" 50) - nil ) - ) - nil 256 nil nil ) - - (!type already_seen 2316) - - (!type struct 2317 nil gc_unused "builtin_function_entry"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 2318 nil gc_unused "builtin_type_info"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 2319 - (!type pointer 2320 nil gc_used - (!type already_seen 2319) - ) - gc_pointed_to "struct_constructor" - (!srcfileloc "m2/gm2-gcc/m2type.cc" 60) - (!fields 5 - (!pair "constructor_type" - (!type already_seen 23) - (!srcfileloc "m2/gm2-gcc/m2type.cc" 48) - (!options - (!option skip string "") - ) - ) - (!pair "constructor_fields" - (!type already_seen 23) - (!srcfileloc "m2/gm2-gcc/m2type.cc" 51) - (!options - (!option skip string "") - ) - ) - (!pair "constructor_element_list" - (!type already_seen 23) - (!srcfileloc "m2/gm2-gcc/m2type.cc" 54) - (!options - (!option skip string "") - ) - ) - (!pair "constructor_elements" - (!type already_seen 568) - (!srcfileloc "m2/gm2-gcc/m2type.cc" 57) - nil ) - (!pair "level" - (!type already_seen 2320) - (!srcfileloc "m2/gm2-gcc/m2type.cc" 59) - nil ) - ) - nil 256 nil nil ) - - (!type struct 2321 - (!type pointer 2322 nil gc_used - (!type already_seen 2321) - ) - gc_pointed_to "array_desc" - (!srcfileloc "m2/gm2-gcc/m2type.cc" 70) - (!fields 4 - (!pair "type" - (!type already_seen 2) - (!srcfileloc "m2/gm2-gcc/m2type.cc" 66) - nil ) - (!pair "index" - (!type already_seen 23) - (!srcfileloc "m2/gm2-gcc/m2type.cc" 67) - nil ) - (!pair "array" - (!type already_seen 23) - (!srcfileloc "m2/gm2-gcc/m2type.cc" 68) - nil ) - (!pair "next" - (!type already_seen 2322) - (!srcfileloc "m2/gm2-gcc/m2type.cc" 69) - nil ) - ) - nil 256 nil nil ) - - (!type struct 2323 - (!type pointer 2324 nil gc_used - (!type already_seen 2323) - ) - gc_pointed_to "objc_map_private" - (!srcfileloc "objc/objc-map.h" 79) - (!fields 7 - (!pair "number_of_slots" - (!type already_seen 2) - (!srcfileloc "objc/objc-map.h" 54) - nil ) - (!pair "mask" - (!type already_seen 2) - (!srcfileloc "objc/objc-map.h" 57) - nil ) - (!pair "number_of_non_empty_slots" - (!type already_seen 2) - (!srcfileloc "objc/objc-map.h" 62) - nil ) - (!pair "max_number_of_non_empty_slots" - (!type already_seen 2) - (!srcfileloc "objc/objc-map.h" 68) - nil ) - (!pair "maximum_load_factor" - (!type already_seen 2) - (!srcfileloc "objc/objc-map.h" 71) - nil ) - (!pair "slots" - (!type already_seen 24) - (!srcfileloc "objc/objc-map.h" 74) - (!options - (!option length string "%h.number_of_slots") - ) - ) - (!pair "values" - (!type already_seen 24) - (!srcfileloc "objc/objc-map.h" 78) - (!options - (!option length string "%h.number_of_slots") - ) - ) - ) - nil 1536 nil nil ) - - (!type struct 2325 - (!type pointer 2326 - (!type pointer 2327 nil gc_used - (!type already_seen 2326) - ) - gc_pointed_to - (!type already_seen 2325) - ) - gc_pointed_to "hashed_entry" - (!srcfileloc "objc/objc-act.h" 286) - (!fields 3 - (!pair "list" - (!type pointer 2328 nil gc_used - (!type struct 2329 - (!type already_seen 2328) - gc_pointed_to "hashed_attribute" - (!srcfileloc "objc/objc-act.h" 280) - (!fields 2 - (!pair "next" - (!type already_seen 2328) - (!srcfileloc "objc/objc-act.h" 278) - nil ) - (!pair "value" - (!type already_seen 23) - (!srcfileloc "objc/objc-act.h" 279) - nil ) - ) - nil 1536 nil nil ) - ) - (!srcfileloc "objc/objc-act.h" 283) - nil ) - (!pair "next" - (!type already_seen 2326) - (!srcfileloc "objc/objc-act.h" 284) - nil ) - (!pair "key" - (!type already_seen 23) - (!srcfileloc "objc/objc-act.h" 285) - nil ) - ) - nil 1536 nil nil ) - - (!type already_seen 2329) - - (!type struct 2330 - (!type pointer 2331 nil gc_used - (!type already_seen 2330) - ) - gc_pointed_to "imp_entry" - (!srcfileloc "objc/objc-act.h" 303) - (!fields 6 - (!pair "next" - (!type already_seen 2331) - (!srcfileloc "objc/objc-act.h" 297) - nil ) - (!pair "imp_context" - (!type already_seen 23) - (!srcfileloc "objc/objc-act.h" 298) - nil ) - (!pair "imp_template" - (!type already_seen 23) - (!srcfileloc "objc/objc-act.h" 299) - nil ) - (!pair "class_decl" - (!type already_seen 23) - (!srcfileloc "objc/objc-act.h" 300) - nil ) - (!pair "meta_decl" - (!type already_seen 23) - (!srcfileloc "objc/objc-act.h" 301) - nil ) - (!pair "has_cxx_cdtors" - (!type already_seen 2) - (!srcfileloc "objc/objc-act.h" 302) - nil ) - ) - nil 1536 nil nil ) - - (!type struct 2332 nil gc_unused "objc_try_context"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 2333 nil gc_pointed_to "string_descriptor" - (!srcfileloc "objc/objc-act.cc" 250) - (!fields 2 - (!pair "literal" - (!type already_seen 23) - (!srcfileloc "objc/objc-act.cc" 246) - nil ) - (!pair "constructor" - (!type already_seen 23) - (!srcfileloc "objc/objc-act.cc" 249) - nil ) - ) - (!options - (!option for_user string "") - ) - 1536 nil nil ) - - (!type struct 2334 nil gc_used "objc_string_hasher" - (!srcfileloc "objc/objc-act.cc" 258) - (!fields 0 ) - nil 1536 nil nil ) - - (!type user_struct 2335 - (!type pointer 2336 nil gc_used - (!type already_seen 2335) - ) - gc_pointed_to "hash_table" - (!srcfileloc "objc/objc-act.cc" 258) - (!fields 1 - (!pair "objc_string_hasher" - (!type already_seen 2334) - (!srcfileloc "objc/objc-act.cc" 258) - nil ) - ) - ) - - (!type struct 2337 nil gc_unused "decl_name_hash"nil - (!fields 0 ) - nil 0 nil nil ) - - (!type struct 2338 nil gc_used "ident_data_tuple" - (!srcfileloc "objc/objc-next-runtime-abi-02.cc" 1092) - (!fields 2 - (!pair "ident" - (!type already_seen 23) - (!srcfileloc "objc/objc-next-runtime-abi-02.cc" 1068) - nil ) - (!pair "data" - (!type already_seen 23) - (!srcfileloc "objc/objc-next-runtime-abi-02.cc" 1069) - nil ) - ) - nil 1536 nil nil ) - - (!type user_struct 2339 - (!type pointer 2340 nil gc_used - (!type already_seen 2339) - ) - gc_pointed_to "vec" - (!srcfileloc "objc/objc-next-runtime-abi-02.cc" 1092) - (!fields 2 - (!pair "va_gc" - (!type already_seen 80) - (!srcfileloc "objc/objc-next-runtime-abi-02.cc" 1092) - nil ) - (!pair "ident_data_tuple" - (!type already_seen 2338) - (!srcfileloc "objc/objc-next-runtime-abi-02.cc" 1092) - nil ) - ) - ) - - (!type struct 2341 nil gc_used "msgref_entry" - (!srcfileloc "objc/objc-next-runtime-abi-02.cc" 1259) - (!fields 3 - (!pair "func" - (!type already_seen 23) - (!srcfileloc "objc/objc-next-runtime-abi-02.cc" 1254) - nil ) - (!pair "selname" - (!type already_seen 23) - (!srcfileloc "objc/objc-next-runtime-abi-02.cc" 1255) - nil ) - (!pair "refdecl" - (!type already_seen 23) - (!srcfileloc "objc/objc-next-runtime-abi-02.cc" 1256) - nil ) - ) - nil 1536 nil nil ) - - (!type user_struct 2342 - (!type pointer 2343 nil gc_used - (!type already_seen 2342) - ) - gc_pointed_to "vec" - (!srcfileloc "objc/objc-next-runtime-abi-02.cc" 1259) - (!fields 2 - (!pair "va_gc" - (!type already_seen 80) - (!srcfileloc "objc/objc-next-runtime-abi-02.cc" 1259) - nil ) - (!pair "msgref_entry" - (!type already_seen 2341) - (!srcfileloc "objc/objc-next-runtime-abi-02.cc" 1259) - nil ) - ) - ) - - (!type struct 2344 nil gc_used "prot_list_entry" - (!srcfileloc "objc/objc-next-runtime-abi-02.cc" 1313) - (!fields 2 - (!pair "id" - (!type already_seen 23) - (!srcfileloc "objc/objc-next-runtime-abi-02.cc" 1310) - nil ) - (!pair "refdecl" - (!type already_seen 23) - (!srcfileloc "objc/objc-next-runtime-abi-02.cc" 1311) - nil ) - ) - nil 1536 nil nil ) - - (!type user_struct 2345 - (!type pointer 2346 nil gc_used - (!type already_seen 2345) - ) - gc_pointed_to "vec" - (!srcfileloc "objc/objc-next-runtime-abi-02.cc" 1313) - (!fields 2 - (!pair "va_gc" - (!type already_seen 80) - (!srcfileloc "objc/objc-next-runtime-abi-02.cc" 1313) - nil ) - (!pair "prot_list_entry" - (!type already_seen 2344) - (!srcfileloc "objc/objc-next-runtime-abi-02.cc" 1313) - nil ) - ) - ) - - (!type struct 2347 nil gc_used "ivarref_entry" - (!srcfileloc "objc/objc-next-runtime-abi-02.cc" 2997) - (!fields 2 - (!pair "decl" - (!type already_seen 23) - (!srcfileloc "objc/objc-next-runtime-abi-02.cc" 2993) - nil ) - (!pair "offset" - (!type already_seen 23) - (!srcfileloc "objc/objc-next-runtime-abi-02.cc" 2994) - nil ) - ) - nil 1536 nil nil ) - - (!type user_struct 2348 - (!type pointer 2349 nil gc_used - (!type already_seen 2348) - ) - gc_pointed_to "vec" - (!srcfileloc "objc/objc-next-runtime-abi-02.cc" 2997) - (!fields 2 - (!pair "va_gc" - (!type already_seen 80) - (!srcfileloc "objc/objc-next-runtime-abi-02.cc" 2997) - nil ) - (!pair "ivarref_entry" - (!type already_seen 2347) - (!srcfileloc "objc/objc-next-runtime-abi-02.cc" 2997) - nil ) - ) - ) -) -(!typedefs 941 - (!pair "ivarref_entry" - (!type already_seen 2347) - (!srcfileloc "objc/objc-next-runtime-abi-02.cc" 2997) - nil ) - (!pair "vec" - (!type already_seen 2348) - (!srcfileloc "objc/objc-next-runtime-abi-02.cc" 2997) - nil ) - (!pair "prot_list_entry" - (!type already_seen 2344) - (!srcfileloc "objc/objc-next-runtime-abi-02.cc" 1313) - nil ) - (!pair "vec" - (!type already_seen 2345) - (!srcfileloc "objc/objc-next-runtime-abi-02.cc" 1313) - nil ) - (!pair "msgref_entry" - (!type already_seen 2341) - (!srcfileloc "objc/objc-next-runtime-abi-02.cc" 1259) - nil ) - (!pair "vec" - (!type already_seen 2342) - (!srcfileloc "objc/objc-next-runtime-abi-02.cc" 1259) - nil ) - (!pair "ident_data_tuple" - (!type already_seen 2338) - (!srcfileloc "objc/objc-next-runtime-abi-02.cc" 1092) - nil ) - (!pair "vec" - (!type already_seen 2339) - (!srcfileloc "objc/objc-next-runtime-abi-02.cc" 1092) - nil ) - (!pair "objc_string_hasher" - (!type already_seen 2334) - (!srcfileloc "objc/objc-act.cc" 258) - nil ) - (!pair "hash_table" - (!type already_seen 2335) - (!srcfileloc "objc/objc-act.cc" 258) - nil ) - (!pair "attr" - (!type already_seen 2328) - (!srcfileloc "objc/objc-act.h" 275) - nil ) - (!pair "hash" - (!type already_seen 2326) - (!srcfileloc "objc/objc-act.h" 274) - nil ) - (!pair "objc_map_iterator_t" - (!type already_seen 2) - (!srcfileloc "objc/objc-map.h" 241) - nil ) - (!pair "objc_map_t" - (!type already_seen 2324) - (!srcfileloc "objc/objc-map.h" 90) - nil ) - (!pair "objc_map_private_hash_t" - (!type already_seen 2) - (!srcfileloc "objc/objc-map.h" 40) - nil ) - (!pair "array_desc" - (!type already_seen 2321) - (!srcfileloc "m2/gm2-gcc/m2type.cc" 70) - nil ) - (!pair "builtin_prototype" - (!type already_seen 2) - (!srcfileloc "m2/gm2-gcc/m2builtins.cc" 108) - nil ) - (!pair "stmt_tree_t" - (!type already_seen 451) - (!srcfileloc "m2/gm2-gcc/m2block.cc" 110) - nil ) - (!pair "rtevec" - (!type already_seen 2316) - (!srcfileloc "m2/gm2-gcc/rtegraph.cc" 64) - nil ) - (!pair "vec" - (!type already_seen 2316) - (!srcfileloc "m2/gm2-gcc/rtegraph.cc" 49) - nil ) - (!pair "rtenode" - (!type already_seen 2313) - (!srcfileloc "m2/gm2-gcc/rtegraph.cc" 47) - nil ) - (!pair "named_path" - (!type already_seen 2312) - (!srcfileloc "m2/gm2-lang.cc" 55) - nil ) - (!pair "code_id_hash" - (!type already_seen 2306) - (!srcfileloc "lto/lto-common.cc" 1805) - nil ) - (!pair "UINT_MAX" - (!type already_seen 2307) - (!srcfileloc "lto/lto-common.cc" 1805) - nil ) - (!pair "int_hash" - (!type already_seen 2306) - (!srcfileloc "lto/lto-common.cc" 1805) - nil ) - (!pair "go_char_p" - (!type already_seen 9) - (!srcfileloc "go/go-lang.cc" 196) - nil ) - (!pair "gfc_interface_mapping" - (!type already_seen 2295) - (!srcfileloc "fortran/trans.h" 1167) - nil ) - (!pair "gfc_interface_sym_mapping" - (!type already_seen 2294) - (!srcfileloc "fortran/trans.h" 1152) - nil ) - (!pair "gfc_powdecl_list" - (!type already_seen 2293) - (!srcfileloc "fortran/trans.h" 918) - nil ) - (!pair "module_decl_hasher" - (!type already_seen 2277) - (!srcfileloc "fortran/trans.h" 710) - nil ) - (!pair "hash_table" - (!type already_seen 2276) - (!srcfileloc "fortran/trans.h" 710) - nil ) - (!pair "gfc_wrapped_block" - (!type already_seen 2291) - (!srcfileloc "fortran/trans.h" 425) - nil ) - (!pair "gfc_saved_var" - (!type already_seen 2290) - (!srcfileloc "fortran/trans.h" 412) - nil ) - (!pair "gfc_loopinfo" - (!type already_seen 2289) - (!srcfileloc "fortran/trans.h" 402) - nil ) - (!pair "gfc_ss" - (!type already_seen 2288) - (!srcfileloc "fortran/trans.h" 353) - nil ) - (!pair "gfc_ss_info" - (!type already_seen 2287) - (!srcfileloc "fortran/trans.h" 312) - nil ) - (!pair "gfc_array_info" - (!type already_seen 2286) - (!srcfileloc "fortran/trans.h" 213) - nil ) - (!pair "gfc_co_subroutines_args" - (!type already_seen 2285) - (!srcfileloc "fortran/trans.h" 124) - nil ) - (!pair "gfc_se" - (!type already_seen 2284) - (!srcfileloc "fortran/trans.h" 115) - nil ) - (!pair "stmtblock_t" - (!type already_seen 2283) - (!srcfileloc "fortran/trans.h" 37) - nil ) - (!pair "forall_info" - (!type already_seen 2282) - (!srcfileloc "fortran/trans-stmt.cc" 58) - nil ) - (!pair "iter_info" - (!type already_seen 2281) - (!srcfileloc "fortran/trans-stmt.cc" 46) - nil ) - (!pair "gfc_st_parameter" - (!type already_seen 2280) - (!srcfileloc "fortran/trans-io.cc" 80) - nil ) - (!pair "gfc_st_parameter_field" - (!type already_seen 2279) - (!srcfileloc "fortran/trans-io.cc" 74) - nil ) - (!pair "gfc_intrinsic_map_t" - (!type already_seen 2278) - (!srcfileloc "fortran/trans-intrinsic.cc" 88) - nil ) - (!pair "module_hasher" - (!type already_seen 2271) - (!srcfileloc "fortran/trans-decl.cc" 5114) - nil ) - (!pair "hash_table" - (!type already_seen 2272) - (!srcfileloc "fortran/trans-decl.cc" 5114) - nil ) - (!pair "tree_frame_info" - (!type already_seen 659) - (!srcfileloc "d/d-tree.h" 352) - nil ) - (!pair "lang_identifier" - (!type already_seen 628) - (!srcfileloc "d/d-tree.h" 351) - nil ) - (!pair "Type" - (!type already_seen 532) - (!srcfileloc "d/d-tree.h" 325) - nil ) - (!pair "d_label_entry" - (!type already_seen 443) - (!srcfileloc "d/d-tree.h" 257) - nil ) - (!pair "hash_map" - (!type already_seen 442) - (!srcfileloc "d/d-tree.h" 257) - nil ) - (!pair "Module" - (!type already_seen 440) - (!srcfileloc "d/d-tree.h" 244) - nil ) - (!pair "FuncDeclaration" - (!type already_seen 438) - (!srcfileloc "d/d-tree.h" 243) - nil ) - (!pair "AggregateDeclaration" - (!type already_seen 637) - (!srcfileloc "d/d-tree.h" 220) - nil ) - (!pair "Declaration" - (!type already_seen 63) - (!srcfileloc "d/d-tree.h" 219) - nil ) - (!pair "Statement" - (!type already_seen 445) - (!srcfileloc "d/d-tree.h" 145) - nil ) - (!pair "d_label_use_entry" - (!type already_seen 447) - (!srcfileloc "d/d-tree.h" 142) - nil ) - (!pair "binding_level" - (!type already_seen 432) - (!srcfileloc "d/d-tree.h" 127) - nil ) - (!pair "Expressions" - (!type already_seen 2265) - (!srcfileloc "d/d-tree.h" 46) - nil ) - (!pair "Array" - (!type already_seen 2265) - (!srcfileloc "d/d-tree.h" 46) - nil ) - (!pair "list_hasher" - (!type already_seen 2242) - (!srcfileloc "cp/tree.cc" 2178) - nil ) - (!pair "hash_table" - (!type already_seen 2243) - (!srcfileloc "cp/tree.cc" 2178) - nil ) - (!pair "cplus_array_hasher" - (!type already_seen 2238) - (!srcfileloc "cp/tree.cc" 1042) - nil ) - (!pair "hash_table" - (!type already_seen 2239) - (!srcfileloc "cp/tree.cc" 1042) - nil ) - (!pair "deferred_access" - (!type already_seen 2232) - (!srcfileloc "cp/semantics.cc" 137) - nil ) - (!pair "vec" - (!type already_seen 2233) - (!srcfileloc "cp/semantics.cc" 137) - nil ) - (!pair "tinfo_s" - (!type already_seen 2229) - (!srcfileloc "cp/rtti.cc" 122) - nil ) - (!pair "vec" - (!type already_seen 2230) - (!srcfileloc "cp/rtti.cc" 122) - nil ) - (!pair "hash_map" - (!type already_seen 2227) - (!srcfileloc "cp/pt.cc" 30444) - nil ) - (!pair "pending_template" - (!type already_seen 2211) - (!srcfileloc "cp/pt.cc" 9558) - nil ) - (!pair "tinst_level" - (!type already_seen 1986) - (!srcfileloc "cp/pt.cc" 9549) - nil ) - (!pair "ctp_hasher" - (!type already_seen 2217) - (!srcfileloc "cp/pt.cc" 4524) - nil ) - (!pair "hash_table" - (!type already_seen 2218) - (!srcfileloc "cp/pt.cc" 4524) - nil ) - (!pair "spec_hash_table" - (!type already_seen 2214) - (!srcfileloc "cp/pt.cc" 116) - nil ) - (!pair "spec_hasher" - (!type already_seen 2213) - (!srcfileloc "cp/pt.cc" 116) - nil ) - (!pair "hash_table" - (!type already_seen 2214) - (!srcfileloc "cp/pt.cc" 116) - nil ) - (!pair "tree_fn_t" - (!type already_seen 2) - (!srcfileloc "cp/pt.cc" 52) - nil ) - (!pair "iter_t" - (!type already_seen 2210) - (!srcfileloc "cp/parser.cc" 34632) - nil ) - (!pair "class_to_loc_map_t::iterator" - (!type already_seen 2210) - (!srcfileloc "cp/parser.cc" 34632) - nil ) - (!pair "cp_parser_expression_stack" - (!type array 2350 nil gc_unused "NUM_PREC_VALUES" - (!type already_seen 2205) - ) - (!srcfileloc "cp/parser.cc" 2092) - nil ) - (!pair "cp_parser_flags" - (!type already_seen 2) - (!srcfileloc "cp/parser.cc" 2021) - nil ) - (!pair "cp_parser" - (!type already_seen 2031) - (!srcfileloc "cp/parser.cc" 695) - nil ) - (!pair "vec" - (!type already_seen 2191) - (!srcfileloc "cp/module.cc" 16935) - nil ) - (!pair "macro_export" - (!type already_seen 2189) - (!srcfileloc "cp/module.cc" 16774) - nil ) - (!pair "note_defs_table_t" - (!type already_seen 2185) - (!srcfileloc "cp/module.cc" 4599) - nil ) - (!pair "note_def_cache_hasher" - (!type already_seen 2184) - (!srcfileloc "cp/module.cc" 4599) - nil ) - (!pair "hash_table" - (!type already_seen 2185) - (!srcfileloc "cp/module.cc" 4599) - nil ) - (!pair "entity_map_t" - (!type already_seen 2179) - (!srcfileloc "cp/module.cc" 3941) - nil ) - (!pair "0" - (!type already_seen 2180) - (!srcfileloc "cp/module.cc" 3941) - nil ) - (!pair "int_hash,unsigned>>" - (!type already_seen 2179) - (!srcfileloc "cp/module.cc" 3941) - nil ) - (!pair "module_state_hash" - (!type already_seen 2174) - (!srcfileloc "cp/module.cc" 3935) - nil ) - (!pair "hash_table" - (!type already_seen 2177) - (!srcfileloc "cp/module.cc" 3935) - nil ) - (!pair "vec" - (!type already_seen 2175) - (!srcfileloc "cp/module.cc" 3932) - nil ) - (!pair "vec" - (!type already_seen 2172) - (!srcfileloc "cp/module.cc" 3734) - nil ) - (!pair "module_state" - (!type already_seen 1989) - (!srcfileloc "cp/module.cc" 3513) - nil ) - (!pair "slurping" - (!type already_seen 1992) - (!srcfileloc "cp/module.cc" 3396) - nil ) - (!pair "bytes_in" - (!type already_seen 1998) - (!srcfileloc "cp/module.cc" 3385) - nil ) - (!pair "elf_in" - (!type already_seen 1997) - (!srcfileloc "cp/module.cc" 3374) - nil ) - (!pair "vl_embed" - (!type already_seen 1995) - (!srcfileloc "cp/module.cc" 3371) - nil ) - (!pair "vec" - (!type already_seen 1994) - (!srcfileloc "cp/module.cc" 3371) - nil ) - (!pair "loc_range_t" - (!type already_seen 2000) - (!srcfileloc "cp/module.cc" 3157) - nil ) - (!pair "std::pair" - (!type already_seen 2000) - (!srcfileloc "cp/module.cc" 3157) - nil ) - (!pair "range_t" - (!type already_seen 1999) - (!srcfileloc "cp/module.cc" 3154) - nil ) - (!pair "std::pair" - (!type already_seen 1999) - (!srcfileloc "cp/module.cc" 3154) - nil ) - (!pair "duplicate_hash_map" - (!type already_seen 2160) - (!srcfileloc "cp/module.cc" 2838) - nil ) - (!pair "tree_node" - (!type already_seen 2163) - (!srcfileloc "cp/module.cc" 2837) - nil ) - (!pair "nodel_ptr_hash,uintptr_t>>" - (!type already_seen 2160) - (!srcfileloc "cp/module.cc" 2837) - nil ) - (!pair "keyed_map_t" - (!type already_seen 2157) - (!srcfileloc "cp/module.cc" 2708) - nil ) - (!pair "auto_vec>" - (!type already_seen 2157) - (!srcfileloc "cp/module.cc" 2708) - nil ) - (!pair "pending_map_t" - (!type already_seen 2155) - (!srcfileloc "cp/module.cc" 2695) - nil ) - (!pair "auto_vec>" - (!type already_seen 2155) - (!srcfileloc "cp/module.cc" 2695) - nil ) - (!pair "ptr_int_hash_map" - (!type already_seen 2143) - (!srcfileloc "cp/module.cc" 336) - nil ) - (!pair "signed" - (!type already_seen 2144) - (!srcfileloc "cp/module.cc" 336) - nil ) - (!pair "hash_map" - (!type already_seen 2143) - (!srcfileloc "cp/module.cc" 336) - nil ) - (!pair "ptr_int_traits" - (!type already_seen 2141) - (!srcfileloc "cp/module.cc" 335) - nil ) - (!pair "nodel_ptr_hash,int>" - (!type already_seen 2141) - (!srcfileloc "cp/module.cc" 335) - nil ) - (!pair "verstr_t" - (!type array 2351 nil gc_unused "32" - (!type already_seen 8) - ) - (!srcfileloc "cp/module.cc" 303) - nil ) - (!pair "substitution_identifier_index_t" - (!type already_seen 2) - (!srcfileloc "cp/mangle.cc" 151) - nil ) - (!pair "globals" - (!type already_seen 2137) - (!srcfileloc "cp/mangle.cc" 126) - nil ) - (!pair "subsumption_hasher" - (!type already_seen 2134) - (!srcfileloc "cp/logic.cc" 751) - nil ) - (!pair "hash_table" - (!type already_seen 2135) - (!srcfileloc "cp/logic.cc" 751) - nil ) - (!pair "conv_type_hasher" - (!type already_seen 2128) - (!srcfileloc "cp/lex.cc" 821) - nil ) - (!pair "hash_table" - (!type already_seen 2129) - (!srcfileloc "cp/lex.cc" 821) - nil ) - (!pair "vec" - (!type already_seen 2124) - (!srcfileloc "cp/lambda.cc" 1469) - nil ) - (!pair "lambda_discriminator" - (!type already_seen 2123) - (!srcfileloc "cp/lambda.cc" 1467) - nil ) - (!pair "lambda_sig_count" - (!type already_seen 2120) - (!srcfileloc "cp/lambda.cc" 1464) - nil ) - (!pair "vec" - (!type already_seen 2121) - (!srcfileloc "cp/lambda.cc" 1464) - nil ) - (!pair "pending_noexcept" - (!type already_seen 2116) - (!srcfileloc "cp/except.cc" 1102) - nil ) - (!pair "vec" - (!type already_seen 2117) - (!srcfileloc "cp/except.cc" 1102) - nil ) - (!pair "priority_map_t" - (!type already_seen 2114) - (!srcfileloc "cp/decl2.cc" 166) - nil ) - (!pair "priority_map_traits" - (!type already_seen 2113) - (!srcfileloc "cp/decl2.cc" 166) - nil ) - (!pair "hash_map" - (!type already_seen 2114) - (!srcfileloc "cp/decl2.cc" 166) - nil ) - (!pair "mangled_decl_hash" - (!type already_seen 2110) - (!srcfileloc "cp/decl2.cc" 125) - nil ) - (!pair "hash_table" - (!type already_seen 2111) - (!srcfileloc "cp/decl2.cc" 125) - nil ) - (!pair "typename_hasher" - (!type already_seen 2105) - (!srcfileloc "cp/decl.cc" 4176) - nil ) - (!pair "hash_table" - (!type already_seen 2106) - (!srcfileloc "cp/decl.cc" 4176) - nil ) - (!pair "incomplete_var" - (!type already_seen 2100) - (!srcfileloc "cp/decl.cc" 255) - nil ) - (!pair "vec" - (!type already_seen 2101) - (!srcfileloc "cp/decl.cc" 255) - nil ) - (!pair "named_label_use_entry" - (!type already_seen 1976) - (!srcfileloc "cp/decl.cc" 215) - nil ) - (!pair "named_label_entry" - (!type already_seen 1973) - (!srcfileloc "cp/decl.cc" 198) - nil ) - (!pair "source_location_table_entry_hash" - (!type already_seen 2097) - (!srcfileloc "cp/cp-gimplify.cc" 3451) - nil ) - (!pair "hash_table" - (!type already_seen 2098) - (!srcfileloc "cp/cp-gimplify.cc" 3451) - nil ) - (!pair "coroutine_info_hasher" - (!type already_seen 2077) - (!srcfileloc "cp/coroutines.cc" 114) - nil ) - (!pair "hash_table" - (!type already_seen 2078) - (!srcfileloc "cp/coroutines.cc" 114) - nil ) - (!pair "sat_hasher" - (!type already_seen 2072) - (!srcfileloc "cp/constraint.cc" 2614) - nil ) - (!pair "hash_table" - (!type already_seen 2073) - (!srcfileloc "cp/constraint.cc" 2614) - nil ) - (!pair "atom_hasher" - (!type already_seen 2006) - (!srcfileloc "cp/constraint.cc" 814) - nil ) - (!pair "hash_table" - (!type already_seen 2069) - (!srcfileloc "cp/constraint.cc" 814) - nil ) - (!pair "norm_hasher" - (!type already_seen 2066) - (!srcfileloc "cp/constraint.cc" 735) - nil ) - (!pair "hash_table" - (!type already_seen 2067) - (!srcfileloc "cp/constraint.cc" 735) - nil ) - (!pair "constexpr_call_hasher" - (!type already_seen 2054) - (!srcfileloc "cp/constexpr.cc" 1317) - nil ) - (!pair "hash_table" - (!type already_seen 2057) - (!srcfileloc "cp/constexpr.cc" 1317) - nil ) - (!pair "constexpr_fundef" - (!type already_seen 2007) - (!srcfileloc "cp/constexpr.cc" 1112) - nil ) - (!pair "constexpr_fundef_hasher" - (!type already_seen 2050) - (!srcfileloc "cp/constexpr.cc" 189) - nil ) - (!pair "hash_table" - (!type already_seen 2051) - (!srcfileloc "cp/constexpr.cc" 189) - nil ) - (!pair "hash_map" - (!type already_seen 2047) - (!srcfileloc "cp/class.cc" 3407) - nil ) - (!pair "subobject_offset_fn" - (!type already_seen 2) - (!srcfileloc "cp/class.cc" 104) - nil ) - (!pair "class_stack_node_t" - (!type already_seen 2042) - (!srcfileloc "cp/class.cc" 70) - nil ) - (!pair "cp_oacc_routine_data" - (!type already_seen 2027) - (!srcfileloc "cp/parser.h" 396) - nil ) - (!pair "cp_omp_declare_simd_data" - (!type already_seen 2025) - (!srcfileloc "cp/parser.h" 392) - nil ) - (!pair "cp_unparsed_functions_entry" - (!type already_seen 2022) - (!srcfileloc "cp/parser.h" 380) - nil ) - (!pair "vec" - (!type already_seen 2029) - (!srcfileloc "cp/parser.h" 380) - nil ) - (!pair "cp_parser_context" - (!type already_seen 2023) - (!srcfileloc "cp/parser.h" 270) - nil ) - (!pair "cp_lexer" - (!type already_seen 2016) - (!srcfileloc "cp/parser.h" 236) - nil ) - (!pair "cp_default_arg_entry" - (!type already_seen 2019) - (!srcfileloc "cp/parser.h" 169) - nil ) - (!pair "vec" - (!type already_seen 2020) - (!srcfileloc "cp/parser.h" 169) - nil ) - (!pair "cp_token_cache_ptr" - (!type already_seen 71) - (!srcfileloc "cp/parser.h" 141) - nil ) - (!pair "cp_token_cache" - (!type already_seen 72) - (!srcfileloc "cp/parser.h" 141) - nil ) - (!pair "vec" - (!type already_seen 2015) - (!srcfileloc "cp/parser.h" 101) - nil ) - (!pair "cp_token" - (!type already_seen 74) - (!srcfileloc "cp/parser.h" 87) - nil ) - (!pair "vec" - (!type already_seen 2013) - (!srcfileloc "cp/parser.h" 87) - nil ) - (!pair "cp_token_position" - (!type already_seen 73) - (!srcfileloc "cp/parser.h" 77) - nil ) - (!pair "cp_parameter_declarator" - (!type already_seen 1985) - (!srcfileloc "cp/cp-tree.h" 6327) - nil ) - (!pair "cp_declarator" - (!type already_seen 1984) - (!srcfileloc "cp/cp-tree.h" 6325) - nil ) - (!pair "cp_virt_specifiers" - (!type already_seen 2) - (!srcfileloc "cp/cp-tree.h" 6191) - nil ) - (!pair "cp_cv_quals" - (!type already_seen 2) - (!srcfileloc "cp/cp-tree.h" 6175) - nil ) - (!pair "ovl_op_info_t" - (!type already_seen 1982) - (!srcfileloc "cp/cp-tree.h" 6148) - nil ) - (!pair "base_access" - (!type already_seen 2) - (!srcfileloc "cp/cp-tree.h" 5612) - nil ) - (!pair "tsubst_flags_t" - (!type already_seen 2) - (!srcfileloc "cp/cp-tree.h" 5598) - nil ) - (!pair "cp_lvalue_kind" - (!type already_seen 2) - (!srcfileloc "cp/cp-tree.h" 5472) - nil ) - (!pair "named_decl_hash" - (!type already_seen 94) - (!srcfileloc "cp/cp-tree.h" 2984) - nil ) - (!pair "hash_table" - (!type already_seen 93) - (!srcfileloc "cp/cp-tree.h" 2984) - nil ) - (!pair "vec" - (!type already_seen 535) - (!srcfileloc "cp/cp-tree.h" 2406) - nil ) - (!pair "tree_pair_p" - (!type already_seen 537) - (!srcfileloc "cp/cp-tree.h" 2319) - nil ) - (!pair "tree_pair_s" - (!type already_seen 536) - (!srcfileloc "cp/cp-tree.h" 2319) - nil ) - (!pair "named_label_hash" - (!type already_seen 454) - (!srcfileloc "cp/cp-tree.h" 2115) - nil ) - (!pair "hash_table" - (!type already_seen 453) - (!srcfileloc "cp/cp-tree.h" 2115) - nil ) - (!pair "cp_omp_begin_assumes_data" - (!type already_seen 1958) - (!srcfileloc "cp/cp-tree.h" 1882) - nil ) - (!pair "vec" - (!type already_seen 1963) - (!srcfileloc "cp/cp-tree.h" 1882) - nil ) - (!pair "cp_omp_declare_target_attr" - (!type already_seen 1957) - (!srcfileloc "cp/cp-tree.h" 1881) - nil ) - (!pair "vec" - (!type already_seen 1961) - (!srcfileloc "cp/cp-tree.h" 1881) - nil ) - (!pair "cxx_saved_binding" - (!type already_seen 1950) - (!srcfileloc "cp/cp-tree.h" 1837) - nil ) - (!pair "vec" - (!type already_seen 1959) - (!srcfileloc "cp/cp-tree.h" 1837) - nil ) - (!pair "deferred_access_check" - (!type already_seen 81) - (!srcfileloc "cp/cp-tree.h" 1564) - nil ) - (!pair "vec" - (!type already_seen 79) - (!srcfileloc "cp/cp-tree.h" 1564) - nil ) - (!pair "ptrmem_cst_t" - (!type already_seen 663) - (!srcfileloc "cp/cp-tree.h" 711) - nil ) - (!pair "cp_class_binding" - (!type already_seen 89) - (!srcfileloc "cp/name-lookup.h" 258) - nil ) - (!pair "vec" - (!type already_seen 88) - (!srcfileloc "cp/name-lookup.h" 258) - nil ) - (!pair "binding_cluster" - (!type already_seen 667) - (!srcfileloc "cp/name-lookup.h" 148) - nil ) - (!pair "binding_index" - (!type already_seen 669) - (!srcfileloc "cp/name-lookup.h" 129) - nil ) - (!pair "binding_slot" - (!type already_seen 671) - (!srcfileloc "cp/name-lookup.h" 87) - nil ) - (!pair "cp_binding_level" - (!type already_seen 84) - (!srcfileloc "cp/name-lookup.h" 54) - nil ) - (!pair "cxx_binding" - (!type already_seen 91) - (!srcfileloc "cp/name-lookup.h" 48) - nil ) - (!pair "c_omp_declare_target_attr" - (!type already_seen 1947) - (!srcfileloc "c/c-lang.h" 69) - nil ) - (!pair "vec" - (!type already_seen 1948) - (!srcfileloc "c/c-lang.h" 69) - nil ) - (!pair "matching_braces" - (!type already_seen 1941) - (!srcfileloc "c/c-parser.cc" 1166) - nil ) - (!pair "matching_brace_traits" - (!type already_seen 1940) - (!srcfileloc "c/c-parser.cc" 1166) - nil ) - (!pair "token_pair" - (!type already_seen 1941) - (!srcfileloc "c/c-parser.cc" 1166) - nil ) - (!pair "matching_parens" - (!type already_seen 1939) - (!srcfileloc "c/c-parser.cc" 1148) - nil ) - (!pair "matching_paren_traits" - (!type already_seen 1938) - (!srcfileloc "c/c-parser.cc" 1148) - nil ) - (!pair "token_pair" - (!type already_seen 1939) - (!srcfileloc "c/c-parser.cc" 1148) - nil ) - (!pair "c_parser" - (!type already_seen 1932) - (!srcfileloc "c/c-parser.cc" 282) - nil ) - (!pair "vec" - (!type already_seen 1936) - (!srcfileloc "c/c-parser.cc" 198) - nil ) - (!pair "c_token" - (!type already_seen 1930) - (!srcfileloc "c/c-parser.cc" 190) - nil ) - (!pair "gcc_options" - (!type already_seen 838) - (!srcfileloc "c-family/c-pragma.cc" 1236) - nil ) - (!pair "pending_redefinition" - (!type already_seen 1911) - (!srcfileloc "c-family/c-pragma.cc" 496) - nil ) - (!pair "vec" - (!type already_seen 1912) - (!srcfileloc "c-family/c-pragma.cc" 496) - nil ) - (!pair "pending_weak" - (!type already_seen 1908) - (!srcfileloc "c-family/c-pragma.cc" 248) - nil ) - (!pair "vec" - (!type already_seen 1909) - (!srcfileloc "c-family/c-pragma.cc" 248) - nil ) - (!pair "pragma_handler_2arg" - (!type already_seen 2) - (!srcfileloc "c-family/c-pragma.h" 217) - nil ) - (!pair "pragma_handler_1arg" - (!type already_seen 2) - (!srcfileloc "c-family/c-pragma.h" 214) - nil ) - (!pair "omp_clause_mask" - (!type already_seen 1900) - (!srcfileloc "c-family/c-common.h" 1248) - nil ) - (!pair "wide_int_bitmask" - (!type already_seen 1900) - (!srcfileloc "c-family/c-common.h" 1248) - nil ) - (!pair "bc_state_t" - (!type already_seen 1899) - (!srcfileloc "c-family/c-common.h" 1203) - nil ) - (!pair "stmt_tree" - (!type already_seen 451) - (!srcfileloc "c-family/c-common.h" 586) - nil ) - (!pair "added_includes_t" - (!type already_seen 1893) - (!srcfileloc "c-family/c-common.cc" 9263) - nil ) - (!pair "hash_map" - (!type already_seen 1893) - (!srcfileloc "c-family/c-common.cc" 9263) - nil ) - (!pair "per_file_includes_t" - (!type already_seen 1891) - (!srcfileloc "c-family/c-common.cc" 9258) - nil ) - (!pair "nofree_string_hash" - (!type already_seen 1892) - (!srcfileloc "c-family/c-common.cc" 9258) - nil ) - (!pair "hash_set" - (!type already_seen 1891) - (!srcfileloc "c-family/c-common.cc" 9258) - nil ) - (!pair "vec" - (!type already_seen 1889) - (!srcfileloc "c-family/c-common.cc" 8285) - nil ) - (!pair "tree_gc_vec" - (!type already_seen 85) - (!srcfileloc "c-family/c-common.cc" 8284) - nil ) - (!pair "vec" - (!type already_seen 1887) - (!srcfileloc "c-family/c-common.cc" 5869) - nil ) - (!pair "const_char_p" - (!type already_seen 9) - (!srcfileloc "c-family/c-common.cc" 5868) - nil ) - (!pair "c_binding_ptr" - (!type already_seen 641) - (!srcfileloc "c/c-decl.cc" 585) - nil ) - (!pair "vec" - (!type already_seen 650) - (!srcfileloc "c/c-decl.cc" 393) - nil ) - (!pair "c_goto_bindings_p" - (!type already_seen 651) - (!srcfileloc "c/c-decl.cc" 374) - nil ) - (!pair "c_expr_t" - (!type already_seen 1870) - (!srcfileloc "c/c-tree.h" 204) - nil ) - (!pair "builtin_type" - (!type already_seen 2) - (!srcfileloc "ada/gcc-interface/utils.cc" 6152) - nil ) - (!pair "pad_type_hasher" - (!type already_seen 1865) - (!srcfileloc "ada/gcc-interface/utils.cc" 331) - nil ) - (!pair "hash_table" - (!type already_seen 1866) - (!srcfileloc "ada/gcc-interface/utils.cc" 331) - nil ) - (!pair "packable_type_hasher" - (!type already_seen 1861) - (!srcfileloc "ada/gcc-interface/utils.cc" 308) - nil ) - (!pair "hash_table" - (!type already_seen 1862) - (!srcfileloc "ada/gcc-interface/utils.cc" 308) - nil ) - (!pair "atomic_acces_t" - (!type already_seen 2) - (!srcfileloc "ada/gcc-interface/trans.cc" 4174) - nil ) - (!pair "vec" - (!type already_seen 1855) - (!srcfileloc "ada/gcc-interface/trans.cc" 214) - nil ) - (!pair "loop_info" - (!type already_seen 1854) - (!srcfileloc "ada/gcc-interface/trans.cc" 211) - nil ) - (!pair "vec" - (!type already_seen 1851) - (!srcfileloc "ada/gcc-interface/trans.cc" 207) - nil ) - (!pair "range_check_info" - (!type already_seen 1850) - (!srcfileloc "ada/gcc-interface/trans.cc" 195) - nil ) - (!pair "vec" - (!type already_seen 462) - (!srcfileloc "ada/gcc-interface/trans.cc" 117) - nil ) - (!pair "parm_attr" - (!type already_seen 463) - (!srcfileloc "ada/gcc-interface/trans.cc" 113) - nil ) - (!pair "vinfo_t" - (!type already_seen 1844) - (!srcfileloc "ada/gcc-interface/decl.cc" 7917) - nil ) - (!pair "intrin_binding_t" - (!type already_seen 1842) - (!srcfileloc "ada/gcc-interface/decl.cc" 266) - nil ) - (!pair "dummy_type_hasher" - (!type already_seen 1839) - (!srcfileloc "ada/gcc-interface/decl.cc" 198) - nil ) - (!pair "hash_table" - (!type already_seen 1840) - (!srcfileloc "ada/gcc-interface/decl.cc" 198) - nil ) - (!pair "va_gc_atomic" - (!type already_seen 1836) - (!srcfileloc "ada/gcc-interface/decl.cc" 163) - nil ) - (!pair "Entity_Id" - (!type already_seen 1837) - (!srcfileloc "ada/gcc-interface/decl.cc" 163) - nil ) - (!pair "vec" - (!type already_seen 1834) - (!srcfileloc "ada/gcc-interface/decl.cc" 163) - nil ) - (!pair "value_annotation_hasher" - (!type already_seen 1831) - (!srcfileloc "ada/gcc-interface/decl.cc" 157) - nil ) - (!pair "hash_table" - (!type already_seen 1832) - (!srcfileloc "ada/gcc-interface/decl.cc" 157) - nil ) - (!pair "variant_desc" - (!type already_seen 1830) - (!srcfileloc "ada/gcc-interface/decl.cc" 132) - nil ) - (!pair "subst_pair" - (!type already_seen 1829) - (!srcfileloc "ada/gcc-interface/decl.cc" 114) - nil ) - (!pair "rewrite_fn" - (!type already_seen 2) - (!srcfileloc "ada/gcc-interface/gigi.h" 965) - nil ) - (!pair "polymorphic_call_target_hash_type" - (!type already_seen 1813) - (!srcfileloc "ipa-devirt.cc" 2747) - nil ) - (!pair "polymorphic_call_target_hasher" - (!type already_seen 1812) - (!srcfileloc "ipa-devirt.cc" 2746) - nil ) - (!pair "hash_table" - (!type already_seen 1813) - (!srcfileloc "ipa-devirt.cc" 2746) - nil ) - (!pair "vec" - (!type already_seen 1807) - (!srcfileloc "ipa-devirt.cc" 512) - nil ) - (!pair "odr_hash_type" - (!type already_seen 1806) - (!srcfileloc "ipa-devirt.cc" 505) - nil ) - (!pair "odr_name_hasher" - (!type already_seen 1805) - (!srcfileloc "ipa-devirt.cc" 505) - nil ) - (!pair "hash_table" - (!type already_seen 1806) - (!srcfileloc "ipa-devirt.cc" 505) - nil ) - (!pair "vec" - (!type already_seen 1206) - (!srcfileloc "ipa-devirt.cc" 206) - nil ) - (!pair "tree_type_map_cache_hasher" - (!type already_seen 1790) - (!srcfileloc "ubsan.cc" 82) - nil ) - (!pair "hash_table" - (!type already_seen 1791) - (!srcfileloc "ubsan.cc" 82) - nil ) - (!pair "vtbl_map_iterator_type" - (!type already_seen 1779) - (!srcfileloc "vtable-verify.cc" 299) - nil ) - (!pair "vtbl_map_table_type::iterator" - (!type already_seen 1779) - (!srcfileloc "vtable-verify.cc" 299) - nil ) - (!pair "vtbl_map_table_type" - (!type already_seen 1778) - (!srcfileloc "vtable-verify.cc" 298) - nil ) - (!pair "vtbl_map_hasher" - (!type already_seen 1777) - (!srcfileloc "vtable-verify.cc" 298) - nil ) - (!pair "hash_table" - (!type already_seen 1778) - (!srcfileloc "vtable-verify.cc" 298) - nil ) - (!pair "fast_function_summary" - (!type already_seen 1769) - (!srcfileloc "ipa-fnsummary.h" 250) - nil ) - (!pair "ipa_fn_summary_t" - (!type already_seen 1768) - (!srcfileloc "ipa-fnsummary.h" 248) - nil ) - (!pair "vec" - (!type already_seen 1195) - (!srcfileloc "ipa-fnsummary.h" 200) - nil ) - (!pair "ipa_freqcounting_predicate" - (!type already_seen 1192) - (!srcfileloc "ipa-fnsummary.h" 196) - nil ) - (!pair "vec" - (!type already_seen 1191) - (!srcfileloc "ipa-fnsummary.h" 196) - nil ) - (!pair "vec" - (!type already_seen 1189) - (!srcfileloc "ipa-fnsummary.h" 193) - nil ) - (!pair "size_time_entry" - (!type already_seen 1188) - (!srcfileloc "ipa-fnsummary.h" 189) - nil ) - (!pair "auto_vec" - (!type already_seen 1187) - (!srcfileloc "ipa-fnsummary.h" 189) - nil ) - (!pair "ipa_fn_summary" - (!type already_seen 1178) - (!srcfileloc "ipa-fnsummary.h" 126) - nil ) - (!pair "ipa_predicate" - (!type already_seen 1194) - (!srcfileloc "ipa-fnsummary.h" 117) - nil ) - (!pair "ipa_hints" - (!type already_seen 2) - (!srcfileloc "ipa-fnsummary.h" 58) - nil ) - (!pair "clause_t" - (!type already_seen 2) - (!srcfileloc "ipa-predicate.h" 113) - nil ) - (!pair "conditions" - (!type already_seen 1180) - (!srcfileloc "ipa-predicate.h" 94) - nil ) - (!pair "condition" - (!type already_seen 1182) - (!srcfileloc "ipa-predicate.h" 94) - nil ) - (!pair "vec" - (!type already_seen 1181) - (!srcfileloc "ipa-predicate.h" 94) - nil ) - (!pair "expr_eval_ops" - (!type already_seen 1183) - (!srcfileloc "ipa-predicate.h" 46) - nil ) - (!pair "expr_eval_op" - (!type already_seen 1185) - (!srcfileloc "ipa-predicate.h" 46) - nil ) - (!pair "vec" - (!type already_seen 1184) - (!srcfileloc "ipa-predicate.h" 46) - nil ) - (!pair "lto_file_decl_data_ptr" - (!type already_seen 322) - (!srcfileloc "lto-streamer.h" 609) - nil ) - (!pair "lto_section" - (!type already_seen 341) - (!srcfileloc "lto-streamer.h" 602) - nil ) - (!pair "ld_plugin_symbol_resolution" - (!type already_seen 340) - (!srcfileloc "lto-streamer.h" 596) - nil ) - (!pair "hash_map" - (!type already_seen 339) - (!srcfileloc "lto-streamer.h" 596) - nil ) - (!pair "gcov_summary" - (!type already_seen 337) - (!srcfileloc "lto-streamer.h" 593) - nil ) - (!pair "res_pair" - (!type already_seen 336) - (!srcfileloc "lto-streamer.h" 590) - nil ) - (!pair "vec" - (!type already_seen 335) - (!srcfileloc "lto-streamer.h" 590) - nil ) - (!pair "decl_state_hasher" - (!type already_seen 332) - (!srcfileloc "lto-streamer.h" 569) - nil ) - (!pair "hash_table" - (!type already_seen 331) - (!srcfileloc "lto-streamer.h" 569) - nil ) - (!pair "lto_out_decl_state_ptr" - (!type already_seen 1685) - (!srcfileloc "lto-streamer.h" 540) - nil ) - (!pair "lto_in_decl_state_ptr" - (!type already_seen 325) - (!srcfileloc "lto-streamer.h" 504) - nil ) - (!pair "lto_symtab_encoder_t" - (!type already_seen 328) - (!srcfileloc "lto-streamer.h" 470) - nil ) - (!pair "lto_free_section_data_f" - (!type already_seen 2) - (!srcfileloc "lto-streamer.h" 263) - nil ) - (!pair "lto_get_section_data_f" - (!type already_seen 2) - (!srcfileloc "lto-streamer.h" 254) - nil ) - (!pair "ld_plugin_symbol_resolution_t" - (!type already_seen 2) - (!srcfileloc "lto-streamer.h" 242) - nil ) - (!pair "lto_decl_flags_t" - (!type already_seen 8) - (!srcfileloc "lto-streamer.h" 127) - nil ) - (!pair "cgraph_node_queue" - (!type already_seen 1745) - (!srcfileloc "trans-mem.cc" 4196) - nil ) - (!pair "vec" - (!type already_seen 1745) - (!srcfileloc "trans-mem.cc" 4196) - nil ) - (!pair "tm_wrapper_hasher" - (!type already_seen 1725) - (!srcfileloc "trans-mem.cc" 468) - nil ) - (!pair "hash_table" - (!type already_seen 1726) - (!srcfileloc "trans-mem.cc" 468) - nil ) - (!pair "function_summary" - (!type already_seen 1723) - (!srcfileloc "ipa-prop.h" 1074) - nil ) - (!pair "ipa_edge_args_sum_t" - (!type already_seen 1720) - (!srcfileloc "ipa-prop.h" 1042) - nil ) - (!pair "ipa_node_params_t" - (!type already_seen 1718) - (!srcfileloc "ipa-prop.h" 1020) - nil ) - (!pair "vec" - (!type already_seen 1163) - (!srcfileloc "ipa-prop.h" 971) - nil ) - (!pair "ipa_jump_func" - (!type already_seen 1129) - (!srcfileloc "ipa-prop.h" 970) - nil ) - (!pair "vec" - (!type already_seen 1161) - (!srcfileloc "ipa-prop.h" 970) - nil ) - (!pair "ipa_edge_args" - (!type already_seen 1159) - (!srcfileloc "ipa-prop.h" 954) - nil ) - (!pair "ipcp_transformation" - (!type already_seen 1706) - (!srcfileloc "ipa-prop.h" 923) - nil ) - (!pair "ipa_vr" - (!type already_seen 1714) - (!srcfileloc "ipa-prop.h" 920) - nil ) - (!pair "vec" - (!type already_seen 1713) - (!srcfileloc "ipa-prop.h" 920) - nil ) - (!pair "vec" - (!type already_seen 1711) - (!srcfileloc "ipa-prop.h" 918) - nil ) - (!pair "ipa_argagg_value" - (!type already_seen 1201) - (!srcfileloc "ipa-prop.h" 916) - nil ) - (!pair "vec" - (!type already_seen 1709) - (!srcfileloc "ipa-prop.h" 916) - nil ) - (!pair "vec" - (!type already_seen 1155) - (!srcfileloc "ipa-prop.h" 636) - nil ) - (!pair "vec" - (!type already_seen 1154) - (!srcfileloc "ipa-prop.h" 633) - nil ) - (!pair "ipa_param_descriptor" - (!type already_seen 1151) - (!srcfileloc "ipa-prop.h" 624) - nil ) - (!pair "vec" - (!type already_seen 1150) - (!srcfileloc "ipa-prop.h" 624) - nil ) - (!pair "ipa_node_params" - (!type already_seen 1148) - (!srcfileloc "ipa-prop.h" 617) - nil ) - (!pair "ipa_agg_jf_item" - (!type already_seen 1133) - (!srcfileloc "ipa-prop.h" 190) - nil ) - (!pair "vec" - (!type already_seen 1132) - (!srcfileloc "ipa-prop.h" 190) - nil ) - (!pair "frange_storage_slot" - (!type already_seen 556) - (!srcfileloc "value-range-storage.h" 113) - nil ) - (!pair "MAX_INTS" - (!type already_seen 554) - (!srcfileloc "value-range-storage.h" 100) - nil ) - (!pair "trailing_wide_ints" - (!type already_seen 553) - (!srcfileloc "value-range-storage.h" 100) - nil ) - (!pair "irange_storage_slot" - (!type already_seen 552) - (!srcfileloc "value-range-storage.h" 96) - nil ) - (!pair "DISABLE_COPY_AND_ASSIGN" - (!type already_seen 1703) - (!srcfileloc "value-range-storage.h" 78) - nil ) - (!pair "int_range_max" - (!type already_seen 1698) - (!srcfileloc "value-range.h" 495) - nil ) - (!pair "255" - (!type already_seen 1699) - (!srcfileloc "value-range.h" 495) - nil ) - (!pair "int_range<255>" - (!type already_seen 1698) - (!srcfileloc "value-range.h" 495) - nil ) - (!pair "value_range" - (!type already_seen 1140) - (!srcfileloc "value-range.h" 491) - nil ) - (!pair "1" - (!type already_seen 1141) - (!srcfileloc "value-range.h" 491) - nil ) - (!pair "int_range<1>" - (!type already_seen 1140) - (!srcfileloc "value-range.h" 491) - nil ) - (!pair "int_range" - (!type already_seen 1693) - (!srcfileloc "value-range.h" 251) - nil ) - (!pair "irange" - (!type already_seen 1691) - (!srcfileloc "value-range.h" 220) - nil ) - (!pair "vec" - (!type already_seen 1688) - (!srcfileloc "tree-phinodes.cc" 70) - nil ) - (!pair "hash_map" - (!type already_seen 1686) - (!srcfileloc "cgraphclones.cc" 479) - nil ) - (!pair "uid_range_p" - (!type already_seen 1682) - (!srcfileloc "passes.cc" 1043) - nil ) - (!pair "char_ptr" - (!type already_seen 9) - (!srcfileloc "passes.cc" 923) - nil ) - (!pair "omp_declare_variant_alt_hasher" - (!type already_seen 1654) - (!srcfileloc "omp-general.cc" 2142) - nil ) - (!pair "hash_table" - (!type already_seen 1655) - (!srcfileloc "omp-general.cc" 2142) - nil ) - (!pair "omp_declare_variant_hasher" - (!type already_seen 1651) - (!srcfileloc "omp-general.cc" 2120) - nil ) - (!pair "hash_table" - (!type already_seen 1652) - (!srcfileloc "omp-general.cc" 2120) - nil ) - (!pair "omp_declare_variant_entry" - (!type already_seen 1647) - (!srcfileloc "omp-general.cc" 2071) - nil ) - (!pair "vec" - (!type already_seen 1648) - (!srcfileloc "omp-general.cc" 2071) - nil ) - (!pair "use_optype_p" - (!type already_seen 403) - (!srcfileloc "tree-ssa-operands.h" 42) - nil ) - (!pair "use_operand_p" - (!type already_seen 560) - (!srcfileloc "tree-ssa-operands.h" 30) - nil ) - (!pair "ssa_use_operand_t" - (!type already_seen 559) - (!srcfileloc "tree-ssa-operands.h" 30) - nil ) - (!pair "def_operand_p" - (!type already_seen 24) - (!srcfileloc "tree-ssa-operands.h" 27) - nil ) - (!pair "scev_info_hasher" - (!type already_seen 1635) - (!srcfileloc "tree-scalar-evolution.cc" 312) - nil ) - (!pair "hash_table" - (!type already_seen 1636) - (!srcfileloc "tree-scalar-evolution.cc" 312) - nil ) - (!pair "mem_addr_template" - (!type already_seen 1595) - (!srcfileloc "tree-ssa-address.cc" 95) - nil ) - (!pair "vec" - (!type already_seen 1596) - (!srcfileloc "tree-ssa-address.cc" 95) - nil ) - (!pair "treemple" - (!type already_seen 1583) - (!srcfileloc "tree-eh.cc" 53) - nil ) - (!pair "tm_restart_hasher" - (!type already_seen 407) - (!srcfileloc "gimple-ssa.h" 114) - nil ) - (!pair "hash_table" - (!type already_seen 406) - (!srcfileloc "gimple-ssa.h" 114) - nil ) - (!pair "ssa_name_hasher" - (!type already_seen 398) - (!srcfileloc "gimple-ssa.h" 96) - nil ) - (!pair "hash_table" - (!type already_seen 397) - (!srcfileloc "gimple-ssa.h" 96) - nil ) - (!pair "hash_map" - (!type already_seen 395) - (!srcfileloc "gimple-ssa.h" 84) - nil ) - (!pair "elt_t" - (!type already_seen 1580) - (!srcfileloc "gimple.h" 1701) - nil ) - (!pair "gimple_seq_node" - (!type already_seen 282) - (!srcfileloc "gimple.h" 28) - nil ) - (!pair "tm_clone_hasher" - (!type already_seen 1572) - (!srcfileloc "varasm.cc" 6353) - nil ) - (!pair "hash_table" - (!type already_seen 1573) - (!srcfileloc "varasm.cc" 6353) - nil ) - (!pair "const_rtx_desc_hasher" - (!type already_seen 1012) - (!srcfileloc "varasm.cc" 3743) - nil ) - (!pair "hash_table" - (!type already_seen 1011) - (!srcfileloc "varasm.cc" 3743) - nil ) - (!pair "tree_descriptor_hasher" - (!type already_seen 1096) - (!srcfileloc "varasm.cc" 3072) - nil ) - (!pair "hash_table" - (!type already_seen 1566) - (!srcfileloc "varasm.cc" 3072) - nil ) - (!pair "object_block_hasher" - (!type already_seen 1562) - (!srcfileloc "varasm.cc" 200) - nil ) - (!pair "hash_table" - (!type already_seen 1563) - (!srcfileloc "varasm.cc" 200) - nil ) - (!pair "section_hasher" - (!type already_seen 1559) - (!srcfileloc "varasm.cc" 189) - nil ) - (!pair "hash_table" - (!type already_seen 1560) - (!srcfileloc "varasm.cc" 189) - nil ) - (!pair "tree_vec_map_cache_hasher" - (!type already_seen 932) - (!srcfileloc "tree.cc" 224) - nil ) - (!pair "hash_table" - (!type already_seen 1556) - (!srcfileloc "tree.cc" 224) - nil ) - (!pair "tree_decl_map_cache_hasher" - (!type already_seen 931) - (!srcfileloc "tree.cc" 218) - nil ) - (!pair "hash_table" - (!type already_seen 1554) - (!srcfileloc "tree.cc" 218) - nil ) - (!pair "cl_option_hasher" - (!type already_seen 1551) - (!srcfileloc "tree.cc" 212) - nil ) - (!pair "hash_table" - (!type already_seen 1552) - (!srcfileloc "tree.cc" 212) - nil ) - (!pair "poly_int_cst_hasher" - (!type already_seen 1548) - (!srcfileloc "tree.cc" 196) - nil ) - (!pair "hash_table" - (!type already_seen 1549) - (!srcfileloc "tree.cc" 196) - nil ) - (!pair "int_cst_hasher" - (!type already_seen 1545) - (!srcfileloc "tree.cc" 185) - nil ) - (!pair "hash_table" - (!type already_seen 1546) - (!srcfileloc "tree.cc" 185) - nil ) - (!pair "type_cache_hasher" - (!type already_seen 1542) - (!srcfileloc "tree.cc" 174) - nil ) - (!pair "hash_table" - (!type already_seen 1543) - (!srcfileloc "tree.cc" 174) - nil ) - (!pair "block_info" - (!type already_seen 1532) - (!srcfileloc "reg-stack.cc" 220) - nil ) - (!pair "stack_ptr" - (!type already_seen 1530) - (!srcfileloc "reg-stack.cc" 207) - nil ) - (!pair "fixup_vertex_p" - (!type already_seen 1524) - (!srcfileloc "mcf.cc" 103) - nil ) - (!pair "fixup_vertex_type" - (!type already_seen 1523) - (!srcfileloc "mcf.cc" 103) - nil ) - (!pair "fixup_edge_p" - (!type already_seen 1522) - (!srcfileloc "mcf.cc" 94) - nil ) - (!pair "fixup_edge_type" - (!type already_seen 1521) - (!srcfileloc "mcf.cc" 94) - nil ) - (!pair "libfunc_decl_hasher" - (!type already_seen 1513) - (!srcfileloc "optabs-libfuncs.cc" 720) - nil ) - (!pair "hash_table" - (!type already_seen 1514) - (!srcfileloc "optabs-libfuncs.cc" 720) - nil ) - (!pair "vec_modify_pair_heap" - (!type already_seen 1502) - (!srcfileloc "gcse.cc" 621) - nil ) - (!pair "modify_pair" - (!type already_seen 1503) - (!srcfileloc "gcse.cc" 621) - nil ) - (!pair "vec" - (!type already_seen 1502) - (!srcfileloc "gcse.cc" 621) - nil ) - (!pair "vec_rtx_heap" - (!type already_seen 1501) - (!srcfileloc "gcse.cc" 620) - nil ) - (!pair "vec" - (!type already_seen 1501) - (!srcfileloc "gcse.cc" 620) - nil ) - (!pair "occr_t" - (!type already_seen 1496) - (!srcfileloc "gcse.cc" 306) - nil ) - (!pair "user_struct" - (!type already_seen 1492) - (!srcfileloc "ggc-tests.cc" 388) - nil ) - (!pair "test_node" - (!type already_seen 1490) - (!srcfileloc "ggc-tests.cc" 323) - nil ) - (!pair "some_other_subclass" - (!type already_seen 1488) - (!srcfileloc "ggc-tests.cc" 261) - nil ) - (!pair "some_subclass" - (!type already_seen 1486) - (!srcfileloc "ggc-tests.cc" 250) - nil ) - (!pair "example_base" - (!type already_seen 1484) - (!srcfileloc "ggc-tests.cc" 225) - nil ) - (!pair "test_of_union" - (!type already_seen 1481) - (!srcfileloc "ggc-tests.cc" 134) - nil ) - (!pair "test_other" - (!type already_seen 915) - (!srcfileloc "ggc-tests.cc" 128) - nil ) - (!pair "test_of_length" - (!type already_seen 1478) - (!srcfileloc "ggc-tests.cc" 68) - nil ) - (!pair "test_struct" - (!type already_seen 913) - (!srcfileloc "ggc-tests.cc" 42) - nil ) - (!pair "ehspec_hash_type" - (!type already_seen 1475) - (!srcfileloc "except.cc" 764) - nil ) - (!pair "ehspec_hasher" - (!type already_seen 1474) - (!srcfileloc "except.cc" 764) - nil ) - (!pair "hash_table" - (!type already_seen 1475) - (!srcfileloc "except.cc" 764) - nil ) - (!pair "ttypes_hash_type" - (!type already_seen 1473) - (!srcfileloc "except.cc" 729) - nil ) - (!pair "ttypes_filter_hasher" - (!type already_seen 1472) - (!srcfileloc "except.cc" 729) - nil ) - (!pair "hash_table" - (!type already_seen 1473) - (!srcfileloc "except.cc" 729) - nil ) - (!pair "action_hash_type" - (!type already_seen 1469) - (!srcfileloc "except.cc" 210) - nil ) - (!pair "action_record_hasher" - (!type already_seen 1468) - (!srcfileloc "except.cc" 210) - nil ) - (!pair "hash_table" - (!type already_seen 1469) - (!srcfileloc "except.cc" 210) - nil ) - (!pair "tree_hash" - (!type already_seen 936) - (!srcfileloc "except.cc" 151) - nil ) - (!pair "hash_map" - (!type already_seen 1465) - (!srcfileloc "except.cc" 151) - nil ) - (!pair "initial_value_pair" - (!type already_seen 1419) - (!srcfileloc "function.cc" 1265) - nil ) - (!pair "temp_address_hasher" - (!type already_seen 1455) - (!srcfileloc "function.cc" 608) - nil ) - (!pair "hash_table" - (!type already_seen 1456) - (!srcfileloc "function.cc" 608) - nil ) - (!pair "insn_cache_hasher" - (!type already_seen 1451) - (!srcfileloc "function.cc" 131) - nil ) - (!pair "hash_table" - (!type already_seen 1452) - (!srcfileloc "function.cc" 131) - nil ) - (!pair "by_pieces_constfn" - (!type already_seen 2) - (!srcfileloc "expr.h" 120) - nil ) - (!pair "sepops" - (!type already_seen 1449) - (!srcfileloc "expr.h" 55) - nil ) - (!pair "duplicate_eh_regions_map" - (!type already_seen 2) - (!srcfileloc "except.h" 247) - nil ) - (!pair "hash_map" - (!type already_seen 373) - (!srcfileloc "except.h" 204) - nil ) - (!pair "vec" - (!type already_seen 371) - (!srcfileloc "except.h" 200) - nil ) - (!pair "vec" - (!type already_seen 369) - (!srcfileloc "except.h" 197) - nil ) - (!pair "eh_region" - (!type already_seen 356) - (!srcfileloc "except.h" 184) - nil ) - (!pair "eh_catch" - (!type already_seen 360) - (!srcfileloc "except.h" 183) - nil ) - (!pair "eh_landing_pad" - (!type already_seen 364) - (!srcfileloc "except.h" 182) - nil ) - (!pair "twi" - (!type already_seen 908) - (!srcfileloc "emit-rtl.cc" 774) - nil ) - (!pair "const_fixed_hasher" - (!type already_seen 1438) - (!srcfileloc "emit-rtl.cc" 190) - nil ) - (!pair "hash_table" - (!type already_seen 1439) - (!srcfileloc "emit-rtl.cc" 190) - nil ) - (!pair "const_double_hasher" - (!type already_seen 1435) - (!srcfileloc "emit-rtl.cc" 181) - nil ) - (!pair "hash_table" - (!type already_seen 1436) - (!srcfileloc "emit-rtl.cc" 181) - nil ) - (!pair "reg_attr_hasher" - (!type already_seen 1432) - (!srcfileloc "emit-rtl.cc" 172) - nil ) - (!pair "hash_table" - (!type already_seen 1433) - (!srcfileloc "emit-rtl.cc" 172) - nil ) - (!pair "const_poly_int_hasher" - (!type already_seen 1429) - (!srcfileloc "emit-rtl.cc" 163) - nil ) - (!pair "hash_table" - (!type already_seen 1430) - (!srcfileloc "emit-rtl.cc" 163) - nil ) - (!pair "const_wide_int_hasher" - (!type already_seen 1426) - (!srcfileloc "emit-rtl.cc" 153) - nil ) - (!pair "hash_table" - (!type already_seen 1427) - (!srcfileloc "emit-rtl.cc" 153) - nil ) - (!pair "const_int_hasher" - (!type already_seen 1423) - (!srcfileloc "emit-rtl.cc" 145) - nil ) - (!pair "hash_table" - (!type already_seen 1424) - (!srcfileloc "emit-rtl.cc" 145) - nil ) - (!pair "vec" - (!type already_seen 1420) - (!srcfileloc "emit-rtl.h" 148) - nil ) - (!pair "rtx_note" - (!type already_seen 759) - (!srcfileloc "emit-rtl.h" 128) - nil ) - (!pair "rtl_ssa::function_info" - (!type already_seen 1414) - (!srcfileloc "emit-rtl.h" 77) - nil ) - (!pair "predefined_function_abi" - (!type already_seen 903) - (!srcfileloc "emit-rtl.h" 75) - nil ) - (!pair "temp_slot_p" - (!type already_seen 1412) - (!srcfileloc "emit-rtl.h" 24) - nil ) - (!pair "elem_op_func" - (!type already_seen 2) - (!srcfileloc "tree-vect-generic.cc" 159) - nil ) - (!pair "vec" - (!type already_seen 1405) - (!srcfileloc "btfout.cc" 105) - nil ) - (!pair "btf_datasec_t" - (!type already_seen 1404) - (!srcfileloc "btfout.cc" 86) - nil ) - (!pair "unsigned" - (!type already_seen 1403) - (!srcfileloc "btfout.cc" 73) - nil ) - (!pair "hash_map" - (!type already_seen 1401) - (!srcfileloc "btfout.cc" 73) - nil ) - (!pair "ctf_dvd_preprocess_arg_t" - (!type already_seen 1400) - (!srcfileloc "ctfout.cc" 72) - nil ) - (!pair "ctf_dtd_preprocess_arg_t" - (!type already_seen 1399) - (!srcfileloc "ctfout.cc" 66) - nil ) - (!pair "ctf_container_ref" - (!type already_seen 1398) - (!srcfileloc "ctfc.h" 341) - nil ) - (!pair "ctf_container_t" - (!type already_seen 1397) - (!srcfileloc "ctfc.h" 334) - nil ) - (!pair "ctfc_dvd_hasher" - (!type already_seen 1392) - (!srcfileloc "ctfc.h" 278) - nil ) - (!pair "hash_table" - (!type already_seen 1395) - (!srcfileloc "ctfc.h" 278) - nil ) - (!pair "ctfc_dtd_hasher" - (!type already_seen 1391) - (!srcfileloc "ctfc.h" 276) - nil ) - (!pair "hash_table" - (!type already_seen 1393) - (!srcfileloc "ctfc.h" 276) - nil ) - (!pair "ctf_srcloc_ref" - (!type already_seen 1390) - (!srcfileloc "ctfc.h" 208) - nil ) - (!pair "ctf_srcloc_t" - (!type already_seen 1389) - (!srcfileloc "ctfc.h" 206) - nil ) - (!pair "ctf_dtdef_ref" - (!type already_seen 1384) - (!srcfileloc "ctfc.h" 197) - nil ) - (!pair "ctf_dvdef_ref" - (!type already_seen 1387) - (!srcfileloc "ctfc.h" 196) - nil ) - (!pair "ctf_dvdef_t" - (!type already_seen 1386) - (!srcfileloc "ctfc.h" 194) - nil ) - (!pair "ctf_dtdef_t" - (!type already_seen 1383) - (!srcfileloc "ctfc.h" 181) - nil ) - (!pair "ctf_func_arg_t" - (!type already_seen 1380) - (!srcfileloc "ctfc.h" 150) - nil ) - (!pair "ctf_dmdef_t" - (!type already_seen 1378) - (!srcfileloc "ctfc.h" 138) - nil ) - (!pair "ctf_itype_t" - (!type already_seen 1377) - (!srcfileloc "ctfc.h" 119) - nil ) - (!pair "ctf_sliceinfo_t" - (!type already_seen 1375) - (!srcfileloc "ctfc.h" 103) - nil ) - (!pair "ctf_funcinfo_t" - (!type already_seen 1374) - (!srcfileloc "ctfc.h" 96) - nil ) - (!pair "ctf_arinfo_t" - (!type already_seen 1373) - (!srcfileloc "ctfc.h" 87) - nil ) - (!pair "ctf_encoding_t" - (!type already_seen 1372) - (!srcfileloc "ctfc.h" 78) - nil ) - (!pair "ctf_strtable_t" - (!type already_seen 1371) - (!srcfileloc "ctfc.h" 68) - nil ) - (!pair "ctf_string_t" - (!type already_seen 1369) - (!srcfileloc "ctfc.h" 57) - nil ) - (!pair "ctf_id_t" - (!type already_seen 2) - (!srcfileloc "ctfc.h" 49) - nil ) - (!pair "loc_list_hash_type" - (!type already_seen 1368) - (!srcfileloc "dwarf2out.cc" 31932) - nil ) - (!pair "loc_list_hasher" - (!type already_seen 1367) - (!srcfileloc "dwarf2out.cc" 31932) - nil ) - (!pair "hash_table" - (!type already_seen 1368) - (!srcfileloc "dwarf2out.cc" 31932) - nil ) - (!pair "macinfo_hash_type" - (!type already_seen 1365) - (!srcfileloc "dwarf2out.cc" 28877) - nil ) - (!pair "macinfo_entry_hasher" - (!type already_seen 1364) - (!srcfileloc "dwarf2out.cc" 28877) - nil ) - (!pair "hash_table" - (!type already_seen 1365) - (!srcfileloc "dwarf2out.cc" 28877) - nil ) - (!pair "inline_entry_data_hasher" - (!type already_seen 1361) - (!srcfileloc "dwarf2out.cc" 24312) - nil ) - (!pair "hash_table" - (!type already_seen 1362) - (!srcfileloc "dwarf2out.cc" 24312) - nil ) - (!pair "external_ref_hash_type" - (!type already_seen 1354) - (!srcfileloc "dwarf2out.cc" 9096) - nil ) - (!pair "external_ref_hasher" - (!type already_seen 1353) - (!srcfileloc "dwarf2out.cc" 9096) - nil ) - (!pair "hash_table" - (!type already_seen 1354) - (!srcfileloc "dwarf2out.cc" 9096) - nil ) - (!pair "decl_hash_type" - (!type already_seen 1351) - (!srcfileloc "dwarf2out.cc" 8338) - nil ) - (!pair "decl_table_entry_hasher" - (!type already_seen 1350) - (!srcfileloc "dwarf2out.cc" 8338) - nil ) - (!pair "hash_table" - (!type already_seen 1351) - (!srcfileloc "dwarf2out.cc" 8338) - nil ) - (!pair "sym_off_pair" - (!type already_seen 1346) - (!srcfileloc "dwarf2out.cc" 5950) - nil ) - (!pair "hash_map" - (!type already_seen 1347) - (!srcfileloc "dwarf2out.cc" 5950) - nil ) - (!pair "addr_hasher" - (!type already_seen 1343) - (!srcfileloc "dwarf2out.cc" 5072) - nil ) - (!pair "hash_table" - (!type already_seen 1344) - (!srcfileloc "dwarf2out.cc" 5072) - nil ) - (!pair "vec" - (!type already_seen 1337) - (!srcfileloc "dwarf2out.cc" 3707) - nil ) - (!pair "dw_ranges_by_label" - (!type already_seen 1295) - (!srcfileloc "dwarf2out.cc" 3690) - nil ) - (!pair "vec" - (!type already_seen 1335) - (!srcfileloc "dwarf2out.cc" 3690) - nil ) - (!pair "dw_ranges" - (!type already_seen 1293) - (!srcfileloc "dwarf2out.cc" 3687) - nil ) - (!pair "vec" - (!type already_seen 1333) - (!srcfileloc "dwarf2out.cc" 3687) - nil ) - (!pair "vec" - (!type already_seen 1331) - (!srcfileloc "dwarf2out.cc" 3677) - nil ) - (!pair "vec" - (!type already_seen 1329) - (!srcfileloc "dwarf2out.cc" 3669) - nil ) - (!pair "vec" - (!type already_seen 1327) - (!srcfileloc "dwarf2out.cc" 3661) - nil ) - (!pair "dw_line_info_table" - (!type already_seen 1289) - (!srcfileloc "dwarf2out.cc" 3654) - nil ) - (!pair "dw_loc_list_hasher" - (!type already_seen 1324) - (!srcfileloc "dwarf2out.cc" 3636) - nil ) - (!pair "hash_table" - (!type already_seen 1325) - (!srcfileloc "dwarf2out.cc" 3636) - nil ) - (!pair "cached_dw_loc_list" - (!type already_seen 1323) - (!srcfileloc "dwarf2out.cc" 3624) - nil ) - (!pair "decl_loc_hasher" - (!type already_seen 1320) - (!srcfileloc "dwarf2out.cc" 3605) - nil ) - (!pair "hash_table" - (!type already_seen 1321) - (!srcfileloc "dwarf2out.cc" 3605) - nil ) - (!pair "var_loc_list" - (!type already_seen 1317) - (!srcfileloc "dwarf2out.cc" 3583) - nil ) - (!pair "die_arg_entry" - (!type already_seen 1314) - (!srcfileloc "dwarf2out.cc" 3544) - nil ) - (!pair "block_die_hasher" - (!type already_seen 1311) - (!srcfileloc "dwarf2out.cc" 3539) - nil ) - (!pair "hash_table" - (!type already_seen 1312) - (!srcfileloc "dwarf2out.cc" 3539) - nil ) - (!pair "variable_value_hasher" - (!type already_seen 1308) - (!srcfileloc "dwarf2out.cc" 3529) - nil ) - (!pair "hash_table" - (!type already_seen 1309) - (!srcfileloc "dwarf2out.cc" 3529) - nil ) - (!pair "vec" - (!type already_seen 1305) - (!srcfileloc "dwarf2out.cc" 3516) - nil ) - (!pair "decl_die_hasher" - (!type already_seen 1302) - (!srcfileloc "dwarf2out.cc" 3512) - nil ) - (!pair "hash_table" - (!type already_seen 1303) - (!srcfileloc "dwarf2out.cc" 3512) - nil ) - (!pair "dwarf_file_hasher" - (!type already_seen 1299) - (!srcfileloc "dwarf2out.cc" 3501) - nil ) - (!pair "hash_table" - (!type already_seen 1300) - (!srcfileloc "dwarf2out.cc" 3501) - nil ) - (!pair "skeleton_chain_node" - (!type already_seen 1298) - (!srcfileloc "dwarf2out.cc" 3293) - nil ) - (!pair "limbo_die_node" - (!type already_seen 1296) - (!srcfileloc "dwarf2out.cc" 3285) - nil ) - (!pair "macinfo_entry" - (!type already_seen 1294) - (!srcfileloc "dwarf2out.cc" 3257) - nil ) - (!pair "pubname_entry" - (!type already_seen 1292) - (!srcfileloc "dwarf2out.cc" 3229) - nil ) - (!pair "die_node" - (!type already_seen 485) - (!srcfileloc "dwarf2out.cc" 3198) - nil ) - (!pair "vec" - (!type already_seen 491) - (!srcfileloc "dwarf2out.cc" 3176) - nil ) - (!pair "comdat_type_node" - (!type already_seen 488) - (!srcfileloc "dwarf2out.cc" 3173) - nil ) - (!pair "vec" - (!type already_seen 1287) - (!srcfileloc "dwarf2out.cc" 3123) - nil ) - (!pair "dw_line_info_entry" - (!type already_seen 1286) - (!srcfileloc "dwarf2out.cc" 3081) - nil ) - (!pair "dw_offset" - (!type already_seen 2) - (!srcfileloc "dwarf2out.cc" 3035) - nil ) - (!pair "dw_loc_list_node" - (!type already_seen 483) - (!srcfileloc "dwarf2out.cc" 1391) - nil ) - (!pair "addr_table_entry" - (!type already_seen 479) - (!srcfileloc "dwarf2out.cc" 1364) - nil ) - (!pair "var_loc_view" - (!type already_seen 2) - (!srcfileloc "dwarf2out.cc" 1356) - nil ) - (!pair "vec" - (!type already_seen 1284) - (!srcfileloc "dwarf2out.cc" 275) - nil ) - (!pair "indirect_string_hasher" - (!type already_seen 1281) - (!srcfileloc "dwarf2out.cc" 233) - nil ) - (!pair "hash_table" - (!type already_seen 1282) - (!srcfileloc "dwarf2out.cc" 233) - nil ) - (!pair "vec" - (!type already_seen 1279) - (!srcfileloc "dwarf2out.cc" 215) - nil ) - (!pair "reg_saved_in_data" - (!type already_seen 1272) - (!srcfileloc "dwarf2cfi.cc" 195) - nil ) - (!pair "dw_cfi_row" - (!type already_seen 1270) - (!srcfileloc "dwarf2cfi.cc" 193) - nil ) - (!pair "dw_cfa_location" - (!type already_seen 510) - (!srcfileloc "dwarf2cfi.cc" 66) - nil ) - (!pair "hash_map" - (!type already_seen 1268) - (!srcfileloc "dwarf2asm.cc" 911) - nil ) - (!pair "dw_attr_node" - (!type already_seen 492) - (!srcfileloc "dwarf2out.h" 435) - nil ) - (!pair "dw_val_node" - (!type already_seen 476) - (!srcfileloc "dwarf2out.h" 297) - nil ) - (!pair "dw_discr_value" - (!type already_seen 505) - (!srcfileloc "dwarf2out.h" 276) - nil ) - (!pair "dw_vec_const" - (!type already_seen 497) - (!srcfileloc "dwarf2out.h" 256) - nil ) - (!pair "cfa_reg" - (!type already_seen 511) - (!srcfileloc "dwarf2out.h" 133) - nil ) - (!pair "dw_fde_ref" - (!type already_seen 467) - (!srcfileloc "dwarf2out.h" 70) - nil ) - (!pair "cfi_vec" - (!type already_seen 469) - (!srcfileloc "dwarf2out.h" 68) - nil ) - (!pair "vec" - (!type already_seen 470) - (!srcfileloc "dwarf2out.h" 68) - nil ) - (!pair "dw_cfi_oprnd" - (!type already_seen 473) - (!srcfileloc "dwarf2out.h" 57) - nil ) - (!pair "wide_int_ptr" - (!type already_seen 493) - (!srcfileloc "dwarf2out.h" 33) - nil ) - (!pair "dw_discr_list_ref" - (!type already_seen 507) - (!srcfileloc "dwarf2out.h" 32) - nil ) - (!pair "dw_loc_list_ref" - (!type already_seen 482) - (!srcfileloc "dwarf2out.h" 31) - nil ) - (!pair "dw_loc_descr_ref" - (!type already_seen 474) - (!srcfileloc "dwarf2out.h" 30) - nil ) - (!pair "dw_cfi_ref" - (!type already_seen 471) - (!srcfileloc "dwarf2out.h" 29) - nil ) - (!pair "dw_val_ref" - (!type already_seen 477) - (!srcfileloc "dwarf2out.h" 28) - nil ) - (!pair "const_dw_die_ref" - (!type already_seen 484) - (!srcfileloc "dwarf2out.h" 26) - nil ) - (!pair "dw_die_ref" - (!type already_seen 484) - (!srcfileloc "dwarf2out.h" 25) - nil ) - (!pair "nowarn_map_t" - (!type already_seen 1264) - (!srcfileloc "diagnostic-spec.h" 137) - nil ) - (!pair "nowarn_spec_t" - (!type already_seen 1263) - (!srcfileloc "diagnostic-spec.h" 137) - nil ) - (!pair "hash_map" - (!type already_seen 1264) - (!srcfileloc "diagnostic-spec.h" 137) - nil ) - (!pair "modref_tree" - (!type already_seen 1262) - (!srcfileloc "ipa-modref-tree.h" 738) - nil ) - (!pair "modref_base_node" - (!type already_seen 1261) - (!srcfileloc "ipa-modref-tree.h" 288) - nil ) - (!pair "modref_ref_node" - (!type already_seen 1260) - (!srcfileloc "ipa-modref-tree.h" 205) - nil ) - (!pair "modref_summary_lto" - (!type already_seen 1240) - (!srcfileloc "ipa-modref.cc" 368) - nil ) - (!pair "modref_records_lto" - (!type already_seen 1243) - (!srcfileloc "ipa-modref.cc" 350) - nil ) - (!pair "modref_tree" - (!type already_seen 1243) - (!srcfileloc "ipa-modref.cc" 350) - nil ) - (!pair "fast_function_summary" - (!type already_seen 1247) - (!srcfileloc "ipa-modref.cc" 272) - nil ) - (!pair "fast_function_summary" - (!type already_seen 1245) - (!srcfileloc "ipa-modref.cc" 260) - nil ) - (!pair "modref_summaries_lto" - (!type already_seen 1244) - (!srcfileloc "ipa-modref.cc" 255) - nil ) - (!pair "modref_summaries" - (!type already_seen 1239) - (!srcfileloc "ipa-modref.cc" 230) - nil ) - (!pair "modref_summary" - (!type already_seen 1232) - (!srcfileloc "ipa-modref.h" 67) - nil ) - (!pair "auto_vec" - (!type already_seen 1231) - (!srcfileloc "ipa-modref.h" 34) - nil ) - (!pair "modref_access_node" - (!type already_seen 1230) - (!srcfileloc "ipa-modref.h" 33) - nil ) - (!pair "auto_vec" - (!type already_seen 1229) - (!srcfileloc "ipa-modref.h" 33) - nil ) - (!pair "eaf_flags_t" - (!type already_seen 2) - (!srcfileloc "ipa-modref.h" 24) - nil ) - (!pair "modref_records" - (!type already_seen 1227) - (!srcfileloc "ipa-modref.h" 23) - nil ) - (!pair "modref_tree" - (!type already_seen 1227) - (!srcfileloc "ipa-modref.h" 23) - nil ) - (!pair "ipa_sra_function_summaries" - (!type already_seen 1221) - (!srcfileloc "ipa-sra.cc" 415) - nil ) - (!pair "isra_param_desc" - (!type already_seen 1214) - (!srcfileloc "ipa-sra.cc" 282) - nil ) - (!pair "vec" - (!type already_seen 1218) - (!srcfileloc "ipa-sra.cc" 282) - nil ) - (!pair "isra_func_summary" - (!type already_seen 1216) - (!srcfileloc "ipa-sra.cc" 266) - nil ) - (!pair "vec" - (!type already_seen 1212) - (!srcfileloc "ipa-sra.cc" 170) - nil ) - (!pair "ipa_adjusted_param" - (!type already_seen 1080) - (!srcfileloc "ipa-param-manipulation.h" 247) - nil ) - (!pair "vec" - (!type already_seen 1079) - (!srcfileloc "ipa-param-manipulation.h" 247) - nil ) - (!pair "odr_type" - (!type already_seen 1205) - (!srcfileloc "ipa-utils.h" 64) - nil ) - (!pair "odr_type_d" - (!type already_seen 1204) - (!srcfileloc "ipa-utils.h" 64) - nil ) - (!pair "ipa_vr_ggc_hash_traits" - (!type already_seen 1124) - (!srcfileloc "ipa-prop.cc" 156) - nil ) - (!pair "hash_table" - (!type already_seen 1125) - (!srcfileloc "ipa-prop.cc" 156) - nil ) - (!pair "ipa_bit_ggc_hash_traits" - (!type already_seen 1121) - (!srcfileloc "ipa-prop.cc" 109) - nil ) - (!pair "hash_table" - (!type already_seen 1122) - (!srcfileloc "ipa-prop.cc" 109) - nil ) - (!pair "function_version_hasher" - (!type already_seen 1117) - (!srcfileloc "cgraph.cc" 122) - nil ) - (!pair "hash_table" - (!type already_seen 1118) - (!srcfileloc "cgraph.cc" 122) - nil ) - (!pair "vec" - (!type already_seen 1111) - (!srcfileloc "alias.cc" 280) - nil ) - (!pair "alias_set_hash" - (!type already_seen 1106) - (!srcfileloc "alias.cc" 148) - nil ) - (!pair "hash_map" - (!type already_seen 1107) - (!srcfileloc "alias.cc" 148) - nil ) - (!pair "ipa_param_adjustments" - (!type already_seen 1077) - (!srcfileloc "symtab-clones.h" 36) - nil ) - (!pair "vec" - (!type already_seen 1075) - (!srcfileloc "symtab-clones.h" 34) - nil ) - (!pair "clone_info" - (!type already_seen 1072) - (!srcfileloc "symtab-clones.h" 27) - nil ) - (!pair "thunk_infos_t" - (!type already_seen 1101) - (!srcfileloc "symtab-thunks.cc" 78) - nil ) - (!pair "unprocessed_thunk" - (!type already_seen 1098) - (!srcfileloc "symtab-thunks.cc" 62) - nil ) - (!pair "vec" - (!type already_seen 1099) - (!srcfileloc "symtab-thunks.cc" 62) - nil ) - (!pair "thunk_info" - (!type already_seen 1068) - (!srcfileloc "symtab-thunks.h" 38) - nil ) - (!pair "hash_set" - (!type already_seen 1094) - (!srcfileloc "cgraph.h" 2504) - nil ) - (!pair "FILE" - (!type already_seen 1093) - (!srcfileloc "cgraph.h" 2500) - nil ) - (!pair "symbol_priority_map" - (!type already_seen 1041) - (!srcfileloc "cgraph.h" 2498) - nil ) - (!pair "hash_map" - (!type already_seen 1091) - (!srcfileloc "cgraph.h" 2498) - nil ) - (!pair "asmname_hasher" - (!type already_seen 1067) - (!srcfileloc "cgraph.h" 2495) - nil ) - (!pair "hash_table" - (!type already_seen 1089) - (!srcfileloc "cgraph.h" 2495) - nil ) - (!pair "section_name_hasher" - (!type already_seen 1039) - (!srcfileloc "cgraph.h" 2492) - nil ) - (!pair "hash_table" - (!type already_seen 1087) - (!srcfileloc "cgraph.h" 2492) - nil ) - (!pair "vec" - (!type already_seen 1085) - (!srcfileloc "cgraph.h" 2462) - nil ) - (!pair "cgraph_2node_hook_list" - (!type already_seen 1065) - (!srcfileloc "cgraph.h" 2382) - nil ) - (!pair "cgraph_2edge_hook_list" - (!type already_seen 1063) - (!srcfileloc "cgraph.h" 2376) - nil ) - (!pair "varpool_node_hook_list" - (!type already_seen 1061) - (!srcfileloc "cgraph.h" 2355) - nil ) - (!pair "cgraph_node_hook_list" - (!type already_seen 1059) - (!srcfileloc "cgraph.h" 2348) - nil ) - (!pair "cgraph_edge_hook_list" - (!type already_seen 1057) - (!srcfileloc "cgraph.h" 2341) - nil ) - (!pair "symbol_table" - (!type already_seen 1083) - (!srcfileloc "cgraph.h" 2215) - nil ) - (!pair "clone_summary" - (!type already_seen 1081) - (!srcfileloc "cgraph.h" 2206) - nil ) - (!pair "function_summary" - (!type already_seen 1081) - (!srcfileloc "cgraph.h" 2206) - nil ) - (!pair "thunk_summary" - (!type already_seen 1070) - (!srcfileloc "cgraph.h" 2202) - nil ) - (!pair "function_summary" - (!type already_seen 1070) - (!srcfileloc "cgraph.h" 2202) - nil ) - (!pair "cgraph_2node_hook" - (!type already_seen 2) - (!srcfileloc "cgraph.h" 2155) - nil ) - (!pair "cgraph_2edge_hook" - (!type already_seen 2) - (!srcfileloc "cgraph.h" 2154) - nil ) - (!pair "varpool_node_hook" - (!type already_seen 2) - (!srcfileloc "cgraph.h" 2153) - nil ) - (!pair "cgraph_node_hook" - (!type already_seen 2) - (!srcfileloc "cgraph.h" 2152) - nil ) - (!pair "cgraph_edge_hook" - (!type already_seen 2) - (!srcfileloc "cgraph.h" 2151) - nil ) - (!pair "asm_node" - (!type already_seen 1055) - (!srcfileloc "cgraph.h" 2124) - nil ) - (!pair "availability" - (!type already_seen 1054) - (!srcfileloc "cgraph.h" 2008) - nil ) - (!pair "cgraph_indirect_call_info" - (!type already_seen 821) - (!srcfileloc "cgraph.h" 1898) - nil ) - (!pair "gcall" - (!type already_seen 779) - (!srcfileloc "cgraph.h" 1895) - nil ) - (!pair "ipa_polymorphic_call_context" - (!type already_seen 822) - (!srcfileloc "cgraph.h" 1570) - nil ) - (!pair "varpool_node_set" - (!type already_seen 1051) - (!srcfileloc "cgraph.h" 1517) - nil ) - (!pair "cgraph_node_set" - (!type already_seen 1049) - (!srcfileloc "cgraph.h" 1516) - nil ) - (!pair "cgraph_node_set_def" - (!type already_seen 1048) - (!srcfileloc "cgraph.h" 1516) - nil ) - (!pair "vl_ptr" - (!type already_seen 831) - (!srcfileloc "cgraph.h" 1407) - nil ) - (!pair "va_heap" - (!type already_seen 832) - (!srcfileloc "cgraph.h" 1407) - nil ) - (!pair "vec" - (!type already_seen 830) - (!srcfileloc "cgraph.h" 1407) - nil ) - (!pair "cgraph_simd_clone" - (!type already_seen 827) - (!srcfileloc "cgraph.h" 1400) - nil ) - (!pair "cgraph_edge_hasher" - (!type already_seen 825) - (!srcfileloc "cgraph.h" 1394) - nil ) - (!pair "hash_table" - (!type already_seen 824) - (!srcfileloc "cgraph.h" 1394) - nil ) - (!pair "auto_vec" - (!type already_seen 1047) - (!srcfileloc "cgraph.h" 1150) - nil ) - (!pair "cgraph_edge" - (!type already_seen 819) - (!srcfileloc "cgraph.h" 1125) - nil ) - (!pair "cgraph_function_version_info" - (!type already_seen 1045) - (!srcfileloc "cgraph.h" 828) - nil ) - (!pair "cgraph_simd_clone_arg" - (!type already_seen 829) - (!srcfileloc "cgraph.h" 818) - nil ) - (!pair "cgraph_node" - (!type already_seen 816) - (!srcfileloc "cgraph.h" 812) - nil ) - (!pair "section_hash_entry" - (!type already_seen 343) - (!srcfileloc "cgraph.h" 641) - nil ) - (!pair "ipa_ref_list" - (!type already_seen 321) - (!srcfileloc "cgraph.h" 625) - nil ) - (!pair "symtab_node" - (!type already_seen 320) - (!srcfileloc "cgraph.h" 296) - nil ) - (!pair "ipa_ref" - (!type already_seen 1037) - (!srcfileloc "cgraph.h" 173) - nil ) - (!pair "explicit" - (!type already_seen 1040) - (!srcfileloc "cgraph.h" 113) - nil ) - (!pair "ipa_opt_pass" - (!type already_seen 833) - (!srcfileloc "cgraph.h" 38) - nil ) - (!pair "ipa_opt_pass_d" - (!type already_seen 834) - (!srcfileloc "cgraph.h" 38) - nil ) - (!pair "ipa_ref_t" - (!type already_seen 1037) - (!srcfileloc "ipa-ref.h" 70) - nil ) - (!pair "vec" - (!type already_seen 272) - (!srcfileloc "basic-block.h" 119) - nil ) - (!pair "edge_def" - (!type already_seen 274) - (!srcfileloc "basic-block.h" 53) - nil ) - (!pair "cselib_expand_callback" - (!type already_seen 2) - (!srcfileloc "cselib.h" 89) - nil ) - (!pair "sreal" - (!type already_seen 1031) - (!srcfileloc "profile-count.h" 1253) - nil ) - (!pair "profile_probability" - (!type already_seen 1032) - (!srcfileloc "profile-count.h" 659) - nil ) - (!pair "profile_count" - (!type already_seen 301) - (!srcfileloc "cfg.h" 76) - nil ) - (!pair "vec" - (!type already_seen 381) - (!srcfileloc "cfg.h" 45) - nil ) - (!pair "loop_exit_hasher" - (!type already_seen 412) - (!srcfileloc "cfgloop.h" 331) - nil ) - (!pair "hash_table" - (!type already_seen 411) - (!srcfileloc "cfgloop.h" 331) - nil ) - (!pair "vec" - (!type already_seen 279) - (!srcfileloc "cfgloop.h" 142) - nil ) - (!pair "loop_p" - (!type already_seen 275) - (!srcfileloc "cfgloop.h" 95) - nil ) - (!pair "noswitch_section_callback" - (!type already_seen 2) - (!srcfileloc "output.h" 495) - nil ) - (!pair "unnamed_section_callback" - (!type already_seen 2) - (!srcfileloc "output.h" 469) - nil ) - (!pair "__gcc_host_wide_int__" - (!type already_seen 2) - (!srcfileloc "hwint.h" 77) - nil ) - (!pair "used_type_hasher" - (!type already_seen 1018) - (!srcfileloc "function.h" 495) - nil ) - (!pair "hash_table" - (!type already_seen 1019) - (!srcfileloc "function.h" 495) - nil ) - (!pair "range_query" - (!type already_seen 513) - (!srcfileloc "function.h" 310) - nil ) - (!pair "hash_set" - (!type already_seen 466) - (!srcfileloc "function.h" 299) - nil ) - (!pair "callinfo_dalloc" - (!type already_seen 420) - (!srcfileloc "function.h" 234) - nil ) - (!pair "vec" - (!type already_seen 419) - (!srcfileloc "function.h" 234) - nil ) - (!pair "callinfo_callee" - (!type already_seen 417) - (!srcfileloc "function.h" 230) - nil ) - (!pair "vec" - (!type already_seen 416) - (!srcfileloc "function.h" 230) - nil ) - (!pair "vec" - (!type already_seen 1004) - (!srcfileloc "function.h" 147) - nil ) - (!pair "vec" - (!type already_seen 377) - (!srcfileloc "function.h" 145) - nil ) - (!pair "rtx_code_label" - (!type already_seen 367) - (!srcfileloc "function.h" 140) - nil ) - (!pair "call_site_record" - (!type already_seen 1003) - (!srcfileloc "function.h" 134) - nil ) - (!pair "vec" - (!type already_seen 999) - (!srcfileloc "function.h" 131) - nil ) - (!pair "ht_cb" - (!type already_seen 2) - (!srcfileloc "../libcpp/include/symtab.h" 92) - nil ) - (!pair "hashnode" - (!type already_seen 16) - (!srcfileloc "../libcpp/include/symtab.h" 44) - nil ) - (!pair "cpp_hash_table" - (!type already_seen 991) - (!srcfileloc "../libcpp/include/symtab.h" 43) - nil ) - (!pair "ht_identifier_ptr" - (!type already_seen 16) - (!srcfileloc "../libcpp/include/symtab.h" 30) - nil ) - (!pair "ht_identifier" - (!type already_seen 15) - (!srcfileloc "../libcpp/include/symtab.h" 29) - nil ) - (!pair "libfunc_hasher" - (!type already_seen 609) - (!srcfileloc "libfuncs.h" 61) - nil ) - (!pair "hash_table" - (!type already_seen 608) - (!srcfileloc "libfuncs.h" 61) - nil ) - (!pair "builtin_info_type" - (!type already_seen 984) - (!srcfileloc "tree-core.h" 2375) - nil ) - (!pair "alias_pair" - (!type already_seen 972) - (!srcfileloc "tree-core.h" 2339) - nil ) - (!pair "vec" - (!type already_seen 988) - (!srcfileloc "tree-core.h" 2339) - nil ) - (!pair "record_layout_info" - (!type already_seen 975) - (!srcfileloc "tree-core.h" 2204) - nil ) - (!pair "vec" - (!type already_seen 86) - (!srcfileloc "tree-core.h" 1670) - nil ) - (!pair "constructor_elt" - (!type already_seen 570) - (!srcfileloc "tree-core.h" 1528) - nil ) - (!pair "vec" - (!type already_seen 569) - (!srcfileloc "tree-core.h" 1528) - nil ) - (!pair "walk_tree_lh" - (!type already_seen 2) - (!srcfileloc "tree-core.h" 1007) - nil ) - (!pair "walk_tree_fn" - (!type already_seen 2) - (!srcfileloc "tree-core.h" 1003) - nil ) - (!pair "priority_type" - (!type already_seen 2) - (!srcfileloc "tree-core.h" 1000) - nil ) - (!pair "poly_int_traits" - (!type already_seen 968) - (!srcfileloc "tree.h" 6413) - nil ) - (!pair "typename" - (!type already_seen 968) - (!srcfileloc "tree.h" 6413) - nil ) - (!pair "widest2_int_cst" - (!type already_seen 965) - (!srcfileloc "tree.h" 6163) - nil ) - (!pair "generic_wide_int>" - (!type already_seen 965) - (!srcfileloc "tree.h" 6162) - nil ) - (!pair "unextended" - (!type already_seen 964) - (!srcfileloc "tree.h" 6155) - nil ) - (!pair "generic_wide_int" - (!type already_seen 964) - (!srcfileloc "tree.h" 6155) - nil ) - (!pair "extended" - (!type already_seen 961) - (!srcfileloc "tree.h" 6148) - nil ) - (!pair "N" - (!type already_seen 963) - (!srcfileloc "tree.h" 6148) - nil ) - (!pair "extended_tree>" - (!type already_seen 961) - (!srcfileloc "tree.h" 6148) - nil ) - (!pair "tree_to_poly_wide_ref" - (!type already_seen 959) - (!srcfileloc "tree.h" 6139) - nil ) - (!pair "unextended_tree" - (!type already_seen 948) - (!srcfileloc "tree.h" 6138) - nil ) - (!pair "generic_wide_int>" - (!type already_seen 959) - (!srcfileloc "tree.h" 6138) - nil ) - (!pair "tree_to_poly_offset_ref" - (!type already_seen 957) - (!srcfileloc "tree.h" 6136) - nil ) - (!pair "generic_wide_int>" - (!type already_seen 957) - (!srcfileloc "tree.h" 6135) - nil ) - (!pair "tree_to_poly_widest_ref" - (!type already_seen 955) - (!srcfileloc "tree.h" 6133) - nil ) - (!pair "generic_wide_int>" - (!type already_seen 955) - (!srcfileloc "tree.h" 6132) - nil ) - (!pair "tree_to_wide_ref" - (!type already_seen 954) - (!srcfileloc "tree.h" 6124) - nil ) - (!pair "generic_wide_int>" - (!type already_seen 954) - (!srcfileloc "tree.h" 6123) - nil ) - (!pair "tree_to_offset_ref" - (!type already_seen 953) - (!srcfileloc "tree.h" 6122) - nil ) - (!pair "generic_wide_int" - (!type already_seen 953) - (!srcfileloc "tree.h" 6122) - nil ) - (!pair "tree_to_widest_ref" - (!type already_seen 952) - (!srcfileloc "tree.h" 6121) - nil ) - (!pair "generic_wide_int" - (!type already_seen 952) - (!srcfileloc "tree.h" 6121) - nil ) - (!pair "offset_extended_tree" - (!type already_seen 951) - (!srcfileloc "tree.h" 6119) - nil ) - (!pair "extended_tree" - (!type already_seen 951) - (!srcfileloc "tree.h" 6119) - nil ) - (!pair "widest_extended_tree" - (!type already_seen 950) - (!srcfileloc "tree.h" 6118) - nil ) - (!pair "extended_tree" - (!type already_seen 950) - (!srcfileloc "tree.h" 6118) - nil ) - (!pair "decl_tree_map" - (!type already_seen 946) - (!srcfileloc "tree.h" 5785) - nil ) - (!pair "decl_tree_traits" - (!type already_seen 945) - (!srcfileloc "tree.h" 5785) - nil ) - (!pair "hash_map" - (!type already_seen 946) - (!srcfileloc "tree.h" 5785) - nil ) - (!pair "type_tree_cache_map" - (!type already_seen 943) - (!srcfileloc "tree.h" 5780) - nil ) - (!pair "type_tree_cache_traits" - (!type already_seen 942) - (!srcfileloc "tree.h" 5780) - nil ) - (!pair "hash_map" - (!type already_seen 943) - (!srcfileloc "tree.h" 5780) - nil ) - (!pair "decl_tree_cache_map" - (!type already_seen 940) - (!srcfileloc "tree.h" 5774) - nil ) - (!pair "decl_tree_cache_traits" - (!type already_seen 939) - (!srcfileloc "tree.h" 5774) - nil ) - (!pair "hash_map" - (!type already_seen 940) - (!srcfileloc "tree.h" 5774) - nil ) - (!pair "tree_cache_map" - (!type already_seen 938) - (!srcfileloc "tree.h" 5768) - nil ) - (!pair "tree_cache_traits" - (!type already_seen 937) - (!srcfileloc "tree.h" 5768) - nil ) - (!pair "hash_map" - (!type already_seen 938) - (!srcfileloc "tree.h" 5768) - nil ) - (!pair "hash_rtx_callback_function" - (!type already_seen 2) - (!srcfileloc "rtl.h" 3709) - nil ) - (!pair "rtx_equal_p_callback_function" - (!type already_seen 2) - (!srcfileloc "rtl.h" 3704) - nil ) - (!pair "for_each_inc_dec_fn" - (!type already_seen 2) - (!srcfileloc "rtl.h" 3700) - nil ) - (!pair "rtx_to_poly_wide_ref" - (!type already_seen 921) - (!srcfileloc "rtl.h" 2341) - nil ) - (!pair "generic_wide_int>>" - (!type already_seen 921) - (!srcfileloc "rtl.h" 2340) - nil ) - (!pair "rtx_mode_t" - (!type already_seen 920) - (!srcfileloc "rtl.h" 2252) - nil ) - (!pair "std::pair" - (!type already_seen 920) - (!srcfileloc "rtl.h" 2252) - nil ) - (!pair "rtx_insn" - (!type already_seen 298) - (!srcfileloc "rtl.h" 496) - nil ) - (!pair "rtx_insn_list" - (!type already_seen 750) - (!srcfileloc "rtl.h" 493) - nil ) - (!pair "rtx_expr_list" - (!type already_seen 748) - (!srcfileloc "rtl.h" 464) - nil ) - (!pair "NUM_POLY_INT_COEFFS" - (!type already_seen 909) - (!srcfileloc "rtl.h" 291) - nil ) - (!pair "trailing_wide_ints" - (!type already_seen 908) - (!srcfileloc "rtl.h" 291) - nil ) - (!pair "va_gc" - (!type already_seen 80) - (!srcfileloc "rtl.h" 267) - nil ) - (!pair "vec" - (!type already_seen 222) - (!srcfileloc "rtl.h" 267) - nil ) - (!pair "rtunion" - (!type already_seen 211) - (!srcfileloc "rtl.h" 237) - nil ) - (!pair "reg_attrs" - (!type already_seen 240) - (!srcfileloc "rtl.h" 229) - nil ) - (!pair "mem_attrs" - (!type already_seen 229) - (!srcfileloc "rtl.h" 153) - nil ) - (!pair "trailing_wide_ints" - (!type already_seen 893) - (!srcfileloc "wide-int.h" 1417) - nil ) - (!pair "trailing_wide_int" - (!type already_seen 892) - (!srcfileloc "wide-int.h" 1366) - nil ) - (!pair "trailing_wide_int_storage" - (!type already_seen 891) - (!srcfileloc "wide-int.h" 1366) - nil ) - (!pair "generic_wide_int" - (!type already_seen 892) - (!srcfileloc "wide-int.h" 1366) - nil ) - (!pair "fixed_wide_int_storage" - (!type already_seen 889) - (!srcfileloc "wide-int.h" 1221) - nil ) - (!pair "ASSIGNMENT_OPERATOR" - (!type already_seen 887) - (!srcfileloc "wide-int.h" 754) - nil ) - (!pair "generic_wide_int" - (!type already_seen 886) - (!srcfileloc "wide-int.h" 715) - nil ) - (!pair "T1" - (!type already_seen 883) - (!srcfileloc "wide-int.h" 459) - nil ) - (!pair "int_traitsprecision>>" - (!type already_seen 880) - (!srcfileloc "wide-int.h" 459) - nil ) - (!pair "signed_predicate_result" - (!type already_seen 2) - (!srcfileloc "wide-int.h" 442) - nil ) - (!pair "signed_shift_result_type" - (!type already_seen 2) - (!srcfileloc "wide-int.h" 441) - nil ) - (!pair "precision" - (!type already_seen 876) - (!srcfileloc "wide-int.h" 438) - nil ) - (!pair "T2" - (!type already_seen 879) - (!srcfileloc "wide-int.h" 438) - nil ) - (!pair "int_traitsprecision>>" - (!type already_seen 875) - (!srcfileloc "wide-int.h" 438) - nil ) - (!pair "predicate_result" - (!type already_seen 2) - (!srcfileloc "wide-int.h" 429) - nil ) - (!pair "operator_result" - (!type already_seen 2) - (!srcfileloc "wide-int.h" 428) - nil ) - (!pair "result_type" - (!type already_seen 2) - (!srcfileloc "wide-int.h" 420) - nil ) - (!pair "wide_int_ref" - (!type already_seen 871) - (!srcfileloc "wide-int.h" 334) - nil ) - (!pair "false" - (!type already_seen 873) - (!srcfileloc "wide-int.h" 334) - nil ) - (!pair "wide_int_ref_storage>" - (!type already_seen 871) - (!srcfileloc "wide-int.h" 334) - nil ) - (!pair "widest2_int" - (!type already_seen 867) - (!srcfileloc "wide-int.h" 327) - nil ) - (!pair "generic_wide_int>" - (!type already_seen 867) - (!srcfileloc "wide-int.h" 327) - nil ) - (!pair "WIDE_INT_MAX_PRECISION" - (!type already_seen 866) - (!srcfileloc "wide-int.h" 324) - nil ) - (!pair "ADDR_MAX_PRECISION" - (!type already_seen 866) - (!srcfileloc "wide-int.h" 323) - nil ) - (!pair "FIXED_WIDE_INT" - (!type already_seen 866) - (!srcfileloc "wide-int.h" 323) - nil ) - (!pair "wide_int" - (!type already_seen 494) - (!srcfileloc "wide-int.h" 322) - nil ) - (!pair "wide_int_storage" - (!type already_seen 495) - (!srcfileloc "wide-int.h" 322) - nil ) - (!pair "generic_wide_int" - (!type already_seen 494) - (!srcfileloc "wide-int.h" 322) - nil ) - (!pair "bitmap_obstack" - (!type already_seen 393) - (!srcfileloc "bitmap.h" 349) - nil ) - (!pair "bitmap_element" - (!type already_seen 390) - (!srcfileloc "bitmap.h" 345) - nil ) - (!pair "BITMAP_WORD" - (!type already_seen 2) - (!srcfileloc "bitmap.h" 276) - nil ) - (!pair "splay_tree" - (!type already_seen 861) - (!srcfileloc "../include/splay-tree.h" 127) - nil ) - (!pair "splay_tree_deallocate_fn" - (!type already_seen 2) - (!srcfileloc "../include/splay-tree.h" 88) - nil ) - (!pair "splay_tree_allocate_fn" - (!type already_seen 2) - (!srcfileloc "../include/splay-tree.h" 82) - nil ) - (!pair "splay_tree_foreach_fn" - (!type already_seen 2) - (!srcfileloc "../include/splay-tree.h" 76) - nil ) - (!pair "splay_tree_delete_value_fn" - (!type already_seen 2) - (!srcfileloc "../include/splay-tree.h" 73) - nil ) - (!pair "splay_tree_delete_key_fn" - (!type already_seen 2) - (!srcfileloc "../include/splay-tree.h" 67) - nil ) - (!pair "splay_tree_compare_fn" - (!type already_seen 2) - (!srcfileloc "../include/splay-tree.h" 58) - nil ) - (!pair "splay_tree_node" - (!type already_seen 859) - (!srcfileloc "../include/splay-tree.h" 54) - nil ) - (!pair "splay_tree_value" - (!type already_seen 2) - (!srcfileloc "../include/splay-tree.h" 51) - nil ) - (!pair "splay_tree_key" - (!type already_seen 2) - (!srcfileloc "../include/splay-tree.h" 50) - nil ) - (!pair "htab_t" - (!type already_seen 333) - (!srcfileloc "../include/hashtab.h" 139) - nil ) - (!pair "htab_free_with_arg" - (!type already_seen 2) - (!srcfileloc "../include/hashtab.h" 78) - nil ) - (!pair "htab_alloc_with_arg" - (!type already_seen 2) - (!srcfileloc "../include/hashtab.h" 77) - nil ) - (!pair "htab_free" - (!type already_seen 2) - (!srcfileloc "../include/hashtab.h" 73) - nil ) - (!pair "htab_alloc" - (!type already_seen 2) - (!srcfileloc "../include/hashtab.h" 70) - nil ) - (!pair "htab_trav" - (!type already_seen 2) - (!srcfileloc "../include/hashtab.h" 64) - nil ) - (!pair "htab_del" - (!type already_seen 2) - (!srcfileloc "../include/hashtab.h" 58) - nil ) - (!pair "htab_eq" - (!type already_seen 2) - (!srcfileloc "../include/hashtab.h" 54) - nil ) - (!pair "htab_hash" - (!type already_seen 2) - (!srcfileloc "../include/hashtab.h" 47) - nil ) - (!pair "hashval_t" - (!type already_seen 2) - (!srcfileloc "../include/hashtab.h" 42) - nil ) - (!pair "target_unit" - (!type already_seen 857) - (!srcfileloc "defaults.h" 1461) - nil ) - (!pair "TARGET_UNIT" - (!type already_seen 857) - (!srcfileloc "defaults.h" 1461) - nil ) - (!pair "M68K_CONST_METHOD" - (!type already_seen 2) - (!srcfileloc "config/m68k/m68k.h" 913) - nil ) - (!pair "uchar" - (!type already_seen 8) - (!srcfileloc "coretypes.h" 453) - nil ) - (!pair "gt_pointer_operator" - (!type already_seen 2) - (!srcfileloc "coretypes.h" 450) - nil ) - (!pair "complex_mode" - (!type already_seen 741) - (!srcfileloc "coretypes.h" 390) - nil ) - (!pair "string_int_pair" - (!type already_seen 850) - (!srcfileloc "coretypes.h" 363) - nil ) - (!pair "int" - (!type already_seen 374) - (!srcfileloc "coretypes.h" 363) - nil ) - (!pair "std::pair" - (!type already_seen 850) - (!srcfileloc "coretypes.h" 363) - nil ) - (!pair "tree_pair" - (!type already_seen 849) - (!srcfileloc "coretypes.h" 362) - nil ) - (!pair "std::pair" - (!type already_seen 849) - (!srcfileloc "coretypes.h" 362) - nil ) - (!pair "reg_class_t" - (!type already_seen 2) - (!srcfileloc "coretypes.h" 354) - nil ) - (!pair "const_basic_block" - (!type already_seen 269) - (!srcfileloc "coretypes.h" 334) - nil ) - (!pair "basic_block" - (!type already_seen 269) - (!srcfileloc "coretypes.h" 333) - nil ) - (!pair "const_edge" - (!type already_seen 273) - (!srcfileloc "coretypes.h" 331) - nil ) - (!pair "edge" - (!type already_seen 273) - (!srcfileloc "coretypes.h" 330) - nil ) - (!pair "alias_set_type" - (!type already_seen 2) - (!srcfileloc "coretypes.h" 327) - nil ) - (!pair "addr_space_t" - (!type already_seen 8) - (!srcfileloc "coretypes.h" 168) - nil ) - (!pair "diagnostic_input_charset_callback" - (!type already_seen 2) - (!srcfileloc "coretypes.h" 157) - nil ) - (!pair "section" - (!type already_seen 215) - (!srcfileloc "coretypes.h" 147) - nil ) - (!pair "gimple_seq" - (!type already_seen 282) - (!srcfileloc "coretypes.h" 100) - nil ) - (!pair "gimple" - (!type already_seen 283) - (!srcfileloc "coretypes.h" 100) - nil ) - (!pair "const_tree" - (!type already_seen 23) - (!srcfileloc "coretypes.h" 98) - nil ) - (!pair "tree" - (!type already_seen 23) - (!srcfileloc "coretypes.h" 97) - nil ) - (!pair "const_hwivec" - (!type already_seen 762) - (!srcfileloc "coretypes.h" 95) - nil ) - (!pair "hwivec" - (!type already_seen 762) - (!srcfileloc "coretypes.h" 94) - nil ) - (!pair "const_rtvec" - (!type already_seen 231) - (!srcfileloc "coretypes.h" 92) - nil ) - (!pair "rtvec" - (!type already_seen 231) - (!srcfileloc "coretypes.h" 91) - nil ) - (!pair "fixed_size_mode_pod" - (!type already_seen 747) - (!srcfileloc "coretypes.h" 71) - nil ) - (!pair "pod_mode" - (!type already_seen 747) - (!srcfileloc "coretypes.h" 71) - nil ) - (!pair "scalar_int_mode_pod" - (!type already_seen 746) - (!srcfileloc "coretypes.h" 70) - nil ) - (!pair "pod_mode" - (!type already_seen 746) - (!srcfileloc "coretypes.h" 70) - nil ) - (!pair "scalar_mode_pod" - (!type already_seen 43) - (!srcfileloc "coretypes.h" 69) - nil ) - (!pair "pod_mode" - (!type already_seen 43) - (!srcfileloc "coretypes.h" 69) - nil ) - (!pair "opt_scalar_float_mode" - (!type already_seen 745) - (!srcfileloc "coretypes.h" 67) - nil ) - (!pair "scalar_float_mode" - (!type already_seen 740) - (!srcfileloc "coretypes.h" 67) - nil ) - (!pair "opt_mode" - (!type already_seen 745) - (!srcfileloc "coretypes.h" 67) - nil ) - (!pair "opt_scalar_int_mode" - (!type already_seen 744) - (!srcfileloc "coretypes.h" 66) - nil ) - (!pair "scalar_int_mode" - (!type already_seen 290) - (!srcfileloc "coretypes.h" 66) - nil ) - (!pair "opt_mode" - (!type already_seen 744) - (!srcfileloc "coretypes.h" 66) - nil ) - (!pair "opt_scalar_mode" - (!type already_seen 743) - (!srcfileloc "coretypes.h" 65) - nil ) - (!pair "scalar_mode" - (!type already_seen 44) - (!srcfileloc "coretypes.h" 65) - nil ) - (!pair "opt_mode" - (!type already_seen 743) - (!srcfileloc "coretypes.h" 65) - nil ) - (!pair "const_rtx" - (!type already_seen 100) - (!srcfileloc "coretypes.h" 58) - nil ) - (!pair "rtx" - (!type already_seen 100) - (!srcfileloc "coretypes.h" 57) - nil ) - (!pair "const_sbitmap" - (!type already_seen 739) - (!srcfileloc "coretypes.h" 55) - nil ) - (!pair "sbitmap" - (!type already_seen 739) - (!srcfileloc "coretypes.h" 54) - nil ) - (!pair "const_bitmap" - (!type already_seen 387) - (!srcfileloc "coretypes.h" 52) - nil ) - (!pair "bitmap" - (!type already_seen 387) - (!srcfileloc "coretypes.h" 51) - nil ) - (!pair "gcov_type_unsigned" - (!type already_seen 2) - (!srcfileloc "coretypes.h" 47) - nil ) - (!pair "gcov_type" - (!type already_seen 2) - (!srcfileloc "coretypes.h" 46) - nil ) - (!pair "location_hash" - (!type already_seen 737) - (!srcfileloc "input.h" 289) - nil ) - (!pair "hash_map" - (!type already_seen 736) - (!srcfileloc "input.h" 289) - nil ) - (!pair "string_concat_db" - (!type already_seen 733) - (!srcfileloc "input.h" 270) - nil ) - (!pair "string_concat" - (!type already_seen 731) - (!srcfileloc "input.h" 261) - nil ) - (!pair "cpp_cb" - (!type already_seen 2) - (!srcfileloc "../libcpp/include/cpplib.h" 1427) - nil ) - (!pair "cpp_comment_table" - (!type already_seen 722) - (!srcfileloc "../libcpp/include/cpplib.h" 1414) - nil ) - (!pair "cpp_comment" - (!type already_seen 721) - (!srcfileloc "../libcpp/include/cpplib.h" 1400) - nil ) - (!pair "cpp_num" - (!type already_seen 720) - (!srcfileloc "../libcpp/include/cpplib.h" 1236) - nil ) - (!pair "cpp_num_part" - (!type already_seen 2) - (!srcfileloc "../libcpp/include/cpplib.h" 1235) - nil ) - (!pair "missing_header_cb" - (!type already_seen 2) - (!srcfileloc "../libcpp/include/cpplib.h" 703) - nil ) - (!pair "cppchar_signed_t" - (!type already_seen 2) - (!srcfileloc "../libcpp/include/cpplib.h" 300) - nil ) - (!pair "cppchar_t" - (!type already_seen 2) - (!srcfileloc "../libcpp/include/cpplib.h" 299) - nil ) - (!pair "cpp_dir" - (!type already_seen 716) - (!srcfileloc "../libcpp/include/cpplib.h" 37) - nil ) - (!pair "cpp_callbacks" - (!type already_seen 715) - (!srcfileloc "../libcpp/include/cpplib.h" 36) - nil ) - (!pair "cpp_macro" - (!type already_seen 20) - (!srcfileloc "../libcpp/include/cpplib.h" 35) - nil ) - (!pair "cpp_hashnode" - (!type already_seen 12) - (!srcfileloc "../libcpp/include/cpplib.h" 34) - nil ) - (!pair "cpp_string" - (!type already_seen 692) - (!srcfileloc "../libcpp/include/cpplib.h" 33) - nil ) - (!pair "cpp_token" - (!type already_seen 688) - (!srcfileloc "../libcpp/include/cpplib.h" 32) - nil ) - (!pair "cpp_options" - (!type already_seen 714) - (!srcfileloc "../libcpp/include/cpplib.h" 31) - nil ) - (!pair "cpp_buffer" - (!type already_seen 713) - (!srcfileloc "../libcpp/include/cpplib.h" 30) - nil ) - (!pair "cpp_reader" - (!type already_seen 712) - (!srcfileloc "../libcpp/include/cpplib.h" 29) - nil ) - (!pair "expanded_location" - (!type already_seen 703) - (!srcfileloc "../libcpp/include/line-map.h" 1319) - nil ) - (!pair "maps_info_macro" - (!type already_seen 697) - (!srcfileloc "../libcpp/include/line-map.h" 790) - nil ) - (!pair "maps_info_ordinary" - (!type already_seen 696) - (!srcfileloc "../libcpp/include/line-map.h" 788) - nil ) - (!pair "source_range" - (!type already_seen 1) - (!srcfileloc "../libcpp/include/line-map.h" 758) - nil ) - (!pair "line_map_macro" - (!type already_seen 694) - (!srcfileloc "../libcpp/include/line-map.h" 742) - nil ) - (!pair "line_map_ordinary" - (!type already_seen 6) - (!srcfileloc "../libcpp/include/line-map.h" 727) - nil ) - (!pair "line_map_round_alloc_size_func" - (!type already_seen 2) - (!srcfileloc "../libcpp/include/line-map.h" 356) - nil ) - (!pair "line_map_realloc" - (!type already_seen 2) - (!srcfileloc "../libcpp/include/line-map.h" 352) - nil ) - (!pair "location_t" - (!type already_seen 2) - (!srcfileloc "../libcpp/include/line-map.h" 294) - nil ) - (!pair "linenum_arith_t" - (!type already_seen 2) - (!srcfileloc "../libcpp/include/line-map.h" 55) - nil ) - (!pair "linenum_type" - (!type already_seen 2) - (!srcfileloc "../libcpp/include/line-map.h" 52) - nil ) - (!pair "void *" - (!type already_seen 3) - (!srcfileloc "gengtype.cc" 5250) - nil ) - (!pair "CONSTEXPR" - (!type already_seen 2) - (!srcfileloc "gengtype.cc" 5247) - nil ) - (!pair "fixed_size_mode" - (!type already_seen 2) - (!srcfileloc "gengtype.cc" 5246) - nil ) - (!pair "machine_mode" - (!type already_seen 2) - (!srcfileloc "gengtype.cc" 5245) - nil ) - (!pair "void" - (!type already_seen 2) - (!srcfileloc "gengtype.cc" 5244) - nil ) - (!pair "JCF_u2" - (!type already_seen 2) - (!srcfileloc "gengtype.cc" 5243) - nil ) - (!pair "jword" - (!type already_seen 2) - (!srcfileloc "gengtype.cc" 5242) - nil ) - (!pair "uintptr_t" - (!type already_seen 2) - (!srcfileloc "gengtype.cc" 5241) - nil ) - (!pair "uint8" - (!type already_seen 2) - (!srcfileloc "gengtype.cc" 5240) - nil ) - (!pair "uint32_t" - (!type already_seen 2) - (!srcfileloc "gengtype.cc" 5239) - nil ) - (!pair "uint64_t" - (!type already_seen 2) - (!srcfileloc "gengtype.cc" 5238) - nil ) - (!pair "poly_uint64" - (!type already_seen 2) - (!srcfileloc "gengtype.cc" 5237) - nil ) - (!pair "poly_int64" - (!type already_seen 2) - (!srcfileloc "gengtype.cc" 5236) - nil ) - (!pair "int64_t" - (!type already_seen 2) - (!srcfileloc "gengtype.cc" 5235) - nil ) - (!pair "widest_int" - (!type already_seen 2) - (!srcfileloc "gengtype.cc" 5234) - nil ) - (!pair "offset_int" - (!type already_seen 2) - (!srcfileloc "gengtype.cc" 5233) - nil ) - (!pair "poly_int64_pod" - (!type already_seen 2) - (!srcfileloc "gengtype.cc" 5232) - nil ) - (!pair "double_int" - (!type already_seen 2) - (!srcfileloc "gengtype.cc" 5231) - nil ) - (!pair "FIXED_VALUE_TYPE" - (!type already_seen 2) - (!srcfileloc "gengtype.cc" 5230) - nil ) - (!pair "REAL_VALUE_TYPE" - (!type already_seen 2) - (!srcfileloc "gengtype.cc" 5229) - nil ) - (!pair "CUMULATIVE_ARGS" - (!type already_seen 2) - (!srcfileloc "gengtype.cc" 5228) - nil ) -) -(!variables 822 - (!pair "rust_gc_root" - (!type already_seen 23) - (!srcfileloc "rust/rust-lang.cc" 385) - nil ) - (!pair "objc_eh_personality_decl" - (!type already_seen 23) - (!srcfileloc "objc/objc-next-runtime-abi-02.cc" 3840) - nil ) - (!pair "next_v2_EHTYPE_id_decl" - (!type already_seen 23) - (!srcfileloc "objc/objc-next-runtime-abi-02.cc" 3630) - nil ) - (!pair "next_v2_ehvtable_decl" - (!type already_seen 23) - (!srcfileloc "objc/objc-next-runtime-abi-02.cc" 3629) - nil ) - (!pair "objc_v2_ehtype_template" - (!type already_seen 23) - (!srcfileloc "objc/objc-next-runtime-abi-02.cc" 3628) - nil ) - (!pair "ehtype_list" - (!type already_seen 2340) - (!srcfileloc "objc/objc-next-runtime-abi-02.cc" 3287) - nil ) - (!pair "ivar_offset_refs" - (!type already_seen 2349) - (!srcfileloc "objc/objc-next-runtime-abi-02.cc" 2997) - nil ) - (!pair "protlist" - (!type already_seen 2346) - (!srcfileloc "objc/objc-next-runtime-abi-02.cc" 2277) - nil ) - (!pair "nonlazy_category_list" - (!type already_seen 85) - (!srcfileloc "objc/objc-next-runtime-abi-02.cc" 2189) - nil ) - (!pair "category_list" - (!type already_seen 85) - (!srcfileloc "objc/objc-next-runtime-abi-02.cc" 2178) - nil ) - (!pair "nonlazy_class_list" - (!type already_seen 85) - (!srcfileloc "objc/objc-next-runtime-abi-02.cc" 2167) - nil ) - (!pair "class_list" - (!type already_seen 85) - (!srcfileloc "objc/objc-next-runtime-abi-02.cc" 2159) - nil ) - (!pair "metaclass_super_refs" - (!type already_seen 2340) - (!srcfileloc "objc/objc-next-runtime-abi-02.cc" 1485) - nil ) - (!pair "class_super_refs" - (!type already_seen 2340) - (!srcfileloc "objc/objc-next-runtime-abi-02.cc" 1484) - nil ) - (!pair "protrefs" - (!type already_seen 2346) - (!srcfileloc "objc/objc-next-runtime-abi-02.cc" 1313) - nil ) - (!pair "msgrefs" - (!type already_seen 2343) - (!srcfileloc "objc/objc-next-runtime-abi-02.cc" 1259) - nil ) - (!pair "classrefs" - (!type already_seen 2340) - (!srcfileloc "objc/objc-next-runtime-abi-02.cc" 1092) - nil ) - (!pair "extern_names" - (!type already_seen 2327) - (!srcfileloc "objc/objc-next-runtime-abi-02.cc" 235) - (!options - (!option length string "SIZEHASHTABLE") - ) - ) - (!pair "objc_v2_global_trees" - (!type array 2352 nil gc_used "OCTI_V2_MAX" - (!type already_seen 23) - ) - (!srcfileloc "objc/objc-next-runtime-abi-02.cc" 185) - nil ) - (!pair "objc_eh_personality_decl" - (!type already_seen 23) - (!srcfileloc "objc/objc-next-runtime-abi-01.cc" 2788) - nil ) - (!pair "V1_Property_decl" - (!type already_seen 23) - (!srcfileloc "objc/objc-next-runtime-abi-01.cc" 1518) - nil ) - (!pair "V1_ProtocolExt_decl" - (!type already_seen 23) - (!srcfileloc "objc/objc-next-runtime-abi-01.cc" 1517) - nil ) - (!pair "V1_Protocol_OPT_CLS_METHODS_decl" - (!type already_seen 23) - (!srcfileloc "objc/objc-next-runtime-abi-01.cc" 1516) - nil ) - (!pair "V1_Protocol_OPT_NST_METHODS_decl" - (!type already_seen 23) - (!srcfileloc "objc/objc-next-runtime-abi-01.cc" 1515) - nil ) - (!pair "objc_class_ext_template" - (!type already_seen 23) - (!srcfileloc "objc/objc-next-runtime-abi-01.cc" 1110) - nil ) - (!pair "objc_protocol_extension_template" - (!type already_seen 23) - (!srcfileloc "objc/objc-next-runtime-abi-01.cc" 1076) - nil ) - (!pair "objc_v1_property_template" - (!type already_seen 23) - (!srcfileloc "objc/objc-next-runtime-abi-01.cc" 1046) - nil ) - (!pair "class_reference_idx" - (!type already_seen 2) - (!srcfileloc "objc/objc-next-runtime-abi-01.cc" 678) - nil ) - (!pair "objc_eh_personality_decl" - (!type already_seen 23) - (!srcfileloc "objc/objc-gnu-runtime-abi-01.cc" 2129) - nil ) - (!pair "num_static_inst" - (!type already_seen 2) - (!srcfileloc "objc/objc-gnu-runtime-abi-01.cc" 870) - nil ) - (!pair "meta_base" - (!type already_seen 23) - (!srcfileloc "objc/objc-gnu-runtime-abi-01.cc" 193) - nil ) - (!pair "objc_meta" - (!type already_seen 23) - (!srcfileloc "objc/objc-gnu-runtime-abi-01.cc" 192) - nil ) - (!pair "property_name_attr_idx" - (!type already_seen 2) - (!srcfileloc "objc/objc-runtime-shared-support.cc" 290) - nil ) - (!pair "meth_var_types_idx" - (!type already_seen 2) - (!srcfileloc "objc/objc-runtime-shared-support.cc" 289) - nil ) - (!pair "meth_var_names_idx" - (!type already_seen 2) - (!srcfileloc "objc/objc-runtime-shared-support.cc" 288) - nil ) - (!pair "objc_rt_trees" - (!type array 2353 nil gc_used "OCTI_RT_META_MAX" - (!type already_seen 23) - ) - (!srcfileloc "objc/objc-runtime-shared-support.cc" 51) - nil ) - (!pair "objc_parmlist" - (!type already_seen 23) - (!srcfileloc "objc/objc-act.cc" 8434) - nil ) - (!pair "interface_map" - (!type already_seen 2324) - (!srcfileloc "objc/objc-act.cc" 3940) - nil ) - (!pair "string_layout_checked" - (!type already_seen 2) - (!srcfileloc "objc/objc-act.cc" 3226) - nil ) - (!pair "string_htab" - (!type already_seen 2336) - (!srcfileloc "objc/objc-act.cc" 258) - nil ) - (!pair "alias_name_map" - (!type already_seen 2324) - (!srcfileloc "objc/objc-act.cc" 163) - nil ) - (!pair "class_name_map" - (!type already_seen 2324) - (!srcfileloc "objc/objc-act.cc" 162) - nil ) - (!pair "class_method_map" - (!type already_seen 2324) - (!srcfileloc "objc/objc-act.cc" 158) - nil ) - (!pair "instance_method_map" - (!type already_seen 2324) - (!srcfileloc "objc/objc-act.cc" 157) - nil ) - (!pair "objc_global_trees" - (!type array 2354 nil gc_used "OCTI_MAX" - (!type already_seen 23) - ) - (!srcfileloc "objc/objc-act.h" 438) - nil ) - (!pair "objc_ivar_visibility" - (!type already_seen 2) - (!srcfileloc "objc/objc-act.h" 309) - nil ) - (!pair "cat_count" - (!type already_seen 2) - (!srcfileloc "objc/objc-act.h" 307) - nil ) - (!pair "imp_count" - (!type already_seen 2) - (!srcfileloc "objc/objc-act.h" 306) - nil ) - (!pair "imp_list" - (!type already_seen 2331) - (!srcfileloc "objc/objc-act.h" 305) - nil ) - (!pair "local_variables_to_volatilize" - (!type already_seen 85) - (!srcfileloc "objc/objc-act.h" 292) - nil ) - (!pair "m2_cardinal_address_type_node" - (!type already_seen 23) - (!srcfileloc "m2/gm2-gcc/m2type.cc" 120) - nil ) - (!pair "m2_packed_boolean_type_node" - (!type already_seen 23) - (!srcfileloc "m2/gm2-gcc/m2type.cc" 119) - nil ) - (!pair "m2_complex128_type_node" - (!type already_seen 23) - (!srcfileloc "m2/gm2-gcc/m2type.cc" 118) - nil ) - (!pair "m2_complex96_type_node" - (!type already_seen 23) - (!srcfileloc "m2/gm2-gcc/m2type.cc" 117) - nil ) - (!pair "m2_complex64_type_node" - (!type already_seen 23) - (!srcfileloc "m2/gm2-gcc/m2type.cc" 116) - nil ) - (!pair "m2_complex32_type_node" - (!type already_seen 23) - (!srcfileloc "m2/gm2-gcc/m2type.cc" 115) - nil ) - (!pair "m2_c_type_node" - (!type already_seen 23) - (!srcfileloc "m2/gm2-gcc/m2type.cc" 114) - nil ) - (!pair "m2_short_complex_type_node" - (!type already_seen 23) - (!srcfileloc "m2/gm2-gcc/m2type.cc" 113) - nil ) - (!pair "m2_long_complex_type_node" - (!type already_seen 23) - (!srcfileloc "m2/gm2-gcc/m2type.cc" 112) - nil ) - (!pair "m2_complex_type_node" - (!type already_seen 23) - (!srcfileloc "m2/gm2-gcc/m2type.cc" 111) - nil ) - (!pair "m2_real128_type_node" - (!type already_seen 23) - (!srcfileloc "m2/gm2-gcc/m2type.cc" 110) - nil ) - (!pair "m2_real96_type_node" - (!type already_seen 23) - (!srcfileloc "m2/gm2-gcc/m2type.cc" 109) - nil ) - (!pair "m2_real64_type_node" - (!type already_seen 23) - (!srcfileloc "m2/gm2-gcc/m2type.cc" 108) - nil ) - (!pair "m2_real32_type_node" - (!type already_seen 23) - (!srcfileloc "m2/gm2-gcc/m2type.cc" 107) - nil ) - (!pair "m2_bitset32_type_node" - (!type already_seen 23) - (!srcfileloc "m2/gm2-gcc/m2type.cc" 106) - nil ) - (!pair "m2_bitset16_type_node" - (!type already_seen 23) - (!srcfileloc "m2/gm2-gcc/m2type.cc" 105) - nil ) - (!pair "m2_bitset8_type_node" - (!type already_seen 23) - (!srcfileloc "m2/gm2-gcc/m2type.cc" 104) - nil ) - (!pair "m2_word64_type_node" - (!type already_seen 23) - (!srcfileloc "m2/gm2-gcc/m2type.cc" 103) - nil ) - (!pair "m2_word32_type_node" - (!type already_seen 23) - (!srcfileloc "m2/gm2-gcc/m2type.cc" 102) - nil ) - (!pair "m2_word16_type_node" - (!type already_seen 23) - (!srcfileloc "m2/gm2-gcc/m2type.cc" 101) - nil ) - (!pair "m2_cardinal64_type_node" - (!type already_seen 23) - (!srcfileloc "m2/gm2-gcc/m2type.cc" 100) - nil ) - (!pair "m2_cardinal32_type_node" - (!type already_seen 23) - (!srcfileloc "m2/gm2-gcc/m2type.cc" 99) - nil ) - (!pair "m2_cardinal16_type_node" - (!type already_seen 23) - (!srcfileloc "m2/gm2-gcc/m2type.cc" 98) - nil ) - (!pair "m2_cardinal8_type_node" - (!type already_seen 23) - (!srcfileloc "m2/gm2-gcc/m2type.cc" 97) - nil ) - (!pair "m2_integer64_type_node" - (!type already_seen 23) - (!srcfileloc "m2/gm2-gcc/m2type.cc" 96) - nil ) - (!pair "m2_integer32_type_node" - (!type already_seen 23) - (!srcfileloc "m2/gm2-gcc/m2type.cc" 95) - nil ) - (!pair "m2_integer16_type_node" - (!type already_seen 23) - (!srcfileloc "m2/gm2-gcc/m2type.cc" 94) - nil ) - (!pair "m2_integer8_type_node" - (!type already_seen 23) - (!srcfileloc "m2/gm2-gcc/m2type.cc" 93) - nil ) - (!pair "m2_iso_word_type_node" - (!type already_seen 23) - (!srcfileloc "m2/gm2-gcc/m2type.cc" 92) - nil ) - (!pair "m2_iso_byte_type_node" - (!type already_seen 23) - (!srcfileloc "m2/gm2-gcc/m2type.cc" 91) - nil ) - (!pair "m2_iso_loc_type_node" - (!type already_seen 23) - (!srcfileloc "m2/gm2-gcc/m2type.cc" 90) - nil ) - (!pair "m2_z_type_node" - (!type already_seen 23) - (!srcfileloc "m2/gm2-gcc/m2type.cc" 89) - nil ) - (!pair "m2_short_card_type_node" - (!type already_seen 23) - (!srcfileloc "m2/gm2-gcc/m2type.cc" 88) - nil ) - (!pair "m2_short_int_type_node" - (!type already_seen 23) - (!srcfileloc "m2/gm2-gcc/m2type.cc" 87) - nil ) - (!pair "m2_long_card_type_node" - (!type already_seen 23) - (!srcfileloc "m2/gm2-gcc/m2type.cc" 86) - nil ) - (!pair "m2_long_int_type_node" - (!type already_seen 23) - (!srcfileloc "m2/gm2-gcc/m2type.cc" 85) - nil ) - (!pair "m2_long_real_type_node" - (!type already_seen 23) - (!srcfileloc "m2/gm2-gcc/m2type.cc" 84) - nil ) - (!pair "m2_real_type_node" - (!type already_seen 23) - (!srcfileloc "m2/gm2-gcc/m2type.cc" 83) - nil ) - (!pair "m2_short_real_type_node" - (!type already_seen 23) - (!srcfileloc "m2/gm2-gcc/m2type.cc" 82) - nil ) - (!pair "m2_cardinal_type_node" - (!type already_seen 23) - (!srcfileloc "m2/gm2-gcc/m2type.cc" 81) - nil ) - (!pair "m2_integer_type_node" - (!type already_seen 23) - (!srcfileloc "m2/gm2-gcc/m2type.cc" 80) - nil ) - (!pair "m2_char_type_node" - (!type already_seen 23) - (!srcfileloc "m2/gm2-gcc/m2type.cc" 79) - nil ) - (!pair "bitnum_type_node" - (!type already_seen 23) - (!srcfileloc "m2/gm2-gcc/m2type.cc" 78) - nil ) - (!pair "bitset_type_node" - (!type already_seen 23) - (!srcfileloc "m2/gm2-gcc/m2type.cc" 77) - nil ) - (!pair "proc_type_node" - (!type already_seen 23) - (!srcfileloc "m2/gm2-gcc/m2type.cc" 76) - nil ) - (!pair "param_type_list" - (!type already_seen 23) - (!srcfileloc "m2/gm2-gcc/m2type.cc" 74) - nil ) - (!pair "list_of_arrays" - (!type already_seen 2322) - (!srcfileloc "m2/gm2-gcc/m2type.cc" 72) - nil ) - (!pair "top_constructor" - (!type already_seen 2320) - (!srcfileloc "m2/gm2-gcc/m2type.cc" 62) - nil ) - (!pair "last_function" - (!type already_seen 23) - (!srcfileloc "m2/gm2-gcc/m2statement.cc" 42) - nil ) - (!pair "param_list" - (!type already_seen 23) - (!srcfileloc "m2/gm2-gcc/m2statement.cc" 40) - nil ) - (!pair "set_full_complement" - (!type already_seen 23) - (!srcfileloc "m2/gm2-gcc/m2expr.cc" 58) - nil ) - (!pair "gm2_eh_int_type" - (!type already_seen 23) - (!srcfileloc "m2/gm2-gcc/m2except.cc" 77) - nil ) - (!pair "fn_free_exception_tree" - (!type already_seen 23) - (!srcfileloc "m2/gm2-gcc/m2except.cc" 76) - nil ) - (!pair "fn_allocate_exception_tree" - (!type already_seen 23) - (!srcfileloc "m2/gm2-gcc/m2except.cc" 75) - nil ) - (!pair "cleanup_type" - (!type already_seen 23) - (!srcfileloc "m2/gm2-gcc/m2except.cc" 74) - nil ) - (!pair "fn_rethrow_tree" - (!type already_seen 23) - (!srcfileloc "m2/gm2-gcc/m2except.cc" 73) - nil ) - (!pair "fn_throw_tree" - (!type already_seen 23) - (!srcfileloc "m2/gm2-gcc/m2except.cc" 72) - nil ) - (!pair "fn_end_catch_tree" - (!type already_seen 23) - (!srcfileloc "m2/gm2-gcc/m2except.cc" 71) - nil ) - (!pair "fn_begin_catch_tree" - (!type already_seen 23) - (!srcfileloc "m2/gm2-gcc/m2except.cc" 70) - nil ) - (!pair "param_list" - (!type already_seen 23) - (!srcfileloc "m2/gm2-gcc/m2decl.cc" 41) - nil ) - (!pair "param_type_list" - (!type already_seen 23) - (!srcfileloc "m2/gm2-gcc/m2decl.cc" 40) - nil ) - (!pair "current_function_decl" - (!type already_seen 23) - (!srcfileloc "m2/gm2-gcc/m2decl.cc" 37) - nil ) - (!pair "builtin_ftype_int_var" - (!type already_seen 23) - (!srcfileloc "m2/gm2-gcc/m2builtins.cc" 406) - nil ) - (!pair "floatptr_type_node" - (!type already_seen 23) - (!srcfileloc "m2/gm2-gcc/m2builtins.cc" 405) - nil ) - (!pair "doubleptr_type_node" - (!type already_seen 23) - (!srcfileloc "m2/gm2-gcc/m2builtins.cc" 404) - nil ) - (!pair "long_doubleptr_type_node" - (!type already_seen 23) - (!srcfileloc "m2/gm2-gcc/m2builtins.cc" 403) - nil ) - (!pair "gm2_huge_vall_node" - (!type already_seen 23) - (!srcfileloc "m2/gm2-gcc/m2builtins.cc" 402) - nil ) - (!pair "gm2_huge_val_node" - (!type already_seen 23) - (!srcfileloc "m2/gm2-gcc/m2builtins.cc" 401) - nil ) - (!pair "gm2_huge_valf_node" - (!type already_seen 23) - (!srcfileloc "m2/gm2-gcc/m2builtins.cc" 400) - nil ) - (!pair "gm2_isfinite_node" - (!type already_seen 23) - (!srcfileloc "m2/gm2-gcc/m2builtins.cc" 399) - nil ) - (!pair "gm2_memcpy_node" - (!type already_seen 23) - (!srcfileloc "m2/gm2-gcc/m2builtins.cc" 398) - nil ) - (!pair "gm2_alloca_node" - (!type already_seen 23) - (!srcfileloc "m2/gm2-gcc/m2builtins.cc" 397) - nil ) - (!pair "ldouble_ftype_ldouble" - (!type already_seen 23) - (!srcfileloc "m2/gm2-gcc/m2builtins.cc" 396) - nil ) - (!pair "double_ftype_double" - (!type already_seen 23) - (!srcfileloc "m2/gm2-gcc/m2builtins.cc" 395) - nil ) - (!pair "float_ftype_float" - (!type already_seen 23) - (!srcfileloc "m2/gm2-gcc/m2builtins.cc" 394) - nil ) - (!pair "ldouble_ftype_void" - (!type already_seen 23) - (!srcfileloc "m2/gm2-gcc/m2builtins.cc" 393) - nil ) - (!pair "float_ftype_void" - (!type already_seen 23) - (!srcfileloc "m2/gm2-gcc/m2builtins.cc" 392) - nil ) - (!pair "double_ftype_void" - (!type already_seen 23) - (!srcfileloc "m2/gm2-gcc/m2builtins.cc" 391) - nil ) - (!pair "const_ptr_endlink" - (!type already_seen 23) - (!srcfileloc "m2/gm2-gcc/m2builtins.cc" 390) - nil ) - (!pair "ptr_endlink" - (!type already_seen 23) - (!srcfileloc "m2/gm2-gcc/m2builtins.cc" 389) - nil ) - (!pair "int_endlink" - (!type already_seen 23) - (!srcfileloc "m2/gm2-gcc/m2builtins.cc" 388) - nil ) - (!pair "math_endlink" - (!type already_seen 23) - (!srcfileloc "m2/gm2-gcc/m2builtins.cc" 387) - nil ) - (!pair "endlink" - (!type already_seen 23) - (!srcfileloc "m2/gm2-gcc/m2builtins.cc" 386) - nil ) - (!pair "unsigned_endlink" - (!type already_seen 23) - (!srcfileloc "m2/gm2-gcc/m2builtins.cc" 385) - nil ) - (!pair "sizetype_endlink" - (!type already_seen 23) - (!srcfileloc "m2/gm2-gcc/m2builtins.cc" 384) - nil ) - (!pair "head_binding_level" - (!type already_seen 431) - (!srcfileloc "m2/gm2-gcc/m2block.cc" 106) - nil ) - (!pair "global_binding_level" - (!type already_seen 431) - (!srcfileloc "m2/gm2-gcc/m2block.cc" 103) - nil ) - (!pair "current_binding_level" - (!type already_seen 431) - (!srcfileloc "m2/gm2-gcc/m2block.cc" 97) - nil ) - (!pair "rtegraph_current_function" - (!type already_seen 2314) - (!srcfileloc "m2/gm2-gcc/rtegraph.cc" 77) - nil ) - (!pair "constructors" - (!type already_seen 2315) - (!srcfileloc "m2/gm2-gcc/rtegraph.cc" 69) - nil ) - (!pair "externs" - (!type already_seen 2315) - (!srcfileloc "m2/gm2-gcc/rtegraph.cc" 68) - nil ) - (!pair "candidates" - (!type already_seen 2315) - (!srcfileloc "m2/gm2-gcc/rtegraph.cc" 67) - nil ) - (!pair "allnodes" - (!type already_seen 2315) - (!srcfileloc "m2/gm2-gcc/rtegraph.cc" 66) - nil ) - (!pair "gm2_eh_personality_decl" - (!type already_seen 23) - (!srcfileloc "m2/gm2-lang.cc" 1004) - nil ) - (!pair "real_file_decl_data" - (!type already_seen 323) - (!srcfileloc "lto/lto-common.cc" 2714) - (!options - (!option length string "real_file_count + 1") - ) - ) - (!pair "all_file_decl_data" - (!type already_seen 323) - (!srcfileloc "lto/lto-common.cc" 2681) - (!options - (!option length string "lto_stats.num_input_files + 1") - ) - ) - (!pair "types_to_register" - (!type already_seen 85) - (!srcfileloc "lto/lto-common.cc" 228) - nil ) - (!pair "tree_with_vars" - (!type already_seen 85) - (!srcfileloc "lto/lto-common.h" 28) - nil ) - (!pair "registered_builtin_types" - (!type already_seen 23) - (!srcfileloc "lto/lto-lang.cc" 790) - nil ) - (!pair "signed_size_type_node" - (!type already_seen 23) - (!srcfileloc "lto/lto-lang.cc" 244) - nil ) - (!pair "uintmax_type_node" - (!type already_seen 23) - (!srcfileloc "lto/lto-lang.cc" 243) - nil ) - (!pair "intmax_type_node" - (!type already_seen 23) - (!srcfileloc "lto/lto-lang.cc" 242) - nil ) - (!pair "wint_type_node" - (!type already_seen 23) - (!srcfileloc "lto/lto-lang.cc" 241) - nil ) - (!pair "const_string_type_node" - (!type already_seen 23) - (!srcfileloc "lto/lto-lang.cc" 240) - nil ) - (!pair "string_type_node" - (!type already_seen 23) - (!srcfileloc "lto/lto-lang.cc" 239) - nil ) - (!pair "builtin_types" - (!type array 2355 nil gc_used "(int) BT_LAST + 1" - (!type already_seen 23) - ) - (!srcfileloc "lto/lto-lang.cc" 237) - nil ) - (!pair "built_in_attributes" - (!type array 2356 nil gc_used "(int) ATTR_LAST" - (!type already_seen 23) - ) - (!srcfileloc "lto/lto-lang.cc" 172) - nil ) - (!pair "go_non_zero_struct" - (!type already_seen 23) - (!srcfileloc "go/go-c.h" 81) - nil ) - (!pair "go_gc_root" - (!type already_seen 23) - (!srcfileloc "go/go-lang.cc" 592) - nil ) - (!pair "gfc_rank_cst" - (!type array 2357 nil gc_used "GFC_MAX_DIMENSIONS + 1" - (!type already_seen 23) - ) - (!srcfileloc "fortran/trans-const.h" 65) - nil ) - (!pair "gfor_fndecl_caf_random_init" - (!type already_seen 23) - (!srcfileloc "fortran/trans.h" 976) - nil ) - (!pair "gfor_fndecl_random_init" - (!type already_seen 23) - (!srcfileloc "fortran/trans.h" 975) - nil ) - (!pair "gfor_fndecl_ieee_procedure_exit" - (!type already_seen 23) - (!srcfileloc "fortran/trans.h" 972) - nil ) - (!pair "gfor_fndecl_ieee_procedure_entry" - (!type already_seen 23) - (!srcfileloc "fortran/trans.h" 971) - nil ) - (!pair "gfor_fndecl_sr_kind" - (!type already_seen 23) - (!srcfileloc "fortran/trans.h" 968) - nil ) - (!pair "gfor_fndecl_si_kind" - (!type already_seen 23) - (!srcfileloc "fortran/trans.h" 967) - nil ) - (!pair "gfor_fndecl_sc_kind" - (!type already_seen 23) - (!srcfileloc "fortran/trans.h" 966) - nil ) - (!pair "gfor_fndecl_is_contiguous0" - (!type already_seen 23) - (!srcfileloc "fortran/trans.h" 963) - nil ) - (!pair "gfor_fndecl_kill_sub" - (!type already_seen 23) - (!srcfileloc "fortran/trans.h" 962) - nil ) - (!pair "gfor_fndecl_kill" - (!type already_seen 23) - (!srcfileloc "fortran/trans.h" 961) - nil ) - (!pair "gfor_fndecl_iargc" - (!type already_seen 23) - (!srcfileloc "fortran/trans.h" 960) - nil ) - (!pair "gfor_fndecl_convert_char4_to_char1" - (!type already_seen 23) - (!srcfileloc "fortran/trans.h" 957) - nil ) - (!pair "gfor_fndecl_convert_char1_to_char4" - (!type already_seen 23) - (!srcfileloc "fortran/trans.h" 956) - nil ) - (!pair "gfor_fndecl_select_string_char4" - (!type already_seen 23) - (!srcfileloc "fortran/trans.h" 953) - nil ) - (!pair "gfor_fndecl_adjustr_char4" - (!type already_seen 23) - (!srcfileloc "fortran/trans.h" 952) - nil ) - (!pair "gfor_fndecl_adjustl_char4" - (!type already_seen 23) - (!srcfileloc "fortran/trans.h" 951) - nil ) - (!pair "gfor_fndecl_string_minmax_char4" - (!type already_seen 23) - (!srcfileloc "fortran/trans.h" 950) - nil ) - (!pair "gfor_fndecl_string_trim_char4" - (!type already_seen 23) - (!srcfileloc "fortran/trans.h" 949) - nil ) - (!pair "gfor_fndecl_string_verify_char4" - (!type already_seen 23) - (!srcfileloc "fortran/trans.h" 948) - nil ) - (!pair "gfor_fndecl_string_scan_char4" - (!type already_seen 23) - (!srcfileloc "fortran/trans.h" 947) - nil ) - (!pair "gfor_fndecl_string_index_char4" - (!type already_seen 23) - (!srcfileloc "fortran/trans.h" 946) - nil ) - (!pair "gfor_fndecl_string_len_trim_char4" - (!type already_seen 23) - (!srcfileloc "fortran/trans.h" 945) - nil ) - (!pair "gfor_fndecl_concat_string_char4" - (!type already_seen 23) - (!srcfileloc "fortran/trans.h" 944) - nil ) - (!pair "gfor_fndecl_compare_string_char4" - (!type already_seen 23) - (!srcfileloc "fortran/trans.h" 943) - nil ) - (!pair "gfor_fndecl_select_string" - (!type already_seen 23) - (!srcfileloc "fortran/trans.h" 942) - nil ) - (!pair "gfor_fndecl_adjustr" - (!type already_seen 23) - (!srcfileloc "fortran/trans.h" 941) - nil ) - (!pair "gfor_fndecl_adjustl" - (!type already_seen 23) - (!srcfileloc "fortran/trans.h" 940) - nil ) - (!pair "gfor_fndecl_string_minmax" - (!type already_seen 23) - (!srcfileloc "fortran/trans.h" 939) - nil ) - (!pair "gfor_fndecl_string_trim" - (!type already_seen 23) - (!srcfileloc "fortran/trans.h" 938) - nil ) - (!pair "gfor_fndecl_string_verify" - (!type already_seen 23) - (!srcfileloc "fortran/trans.h" 937) - nil ) - (!pair "gfor_fndecl_string_scan" - (!type already_seen 23) - (!srcfileloc "fortran/trans.h" 936) - nil ) - (!pair "gfor_fndecl_string_index" - (!type already_seen 23) - (!srcfileloc "fortran/trans.h" 935) - nil ) - (!pair "gfor_fndecl_string_len_trim" - (!type already_seen 23) - (!srcfileloc "fortran/trans.h" 934) - nil ) - (!pair "gfor_fndecl_concat_string" - (!type already_seen 23) - (!srcfileloc "fortran/trans.h" 933) - nil ) - (!pair "gfor_fndecl_compare_string" - (!type already_seen 23) - (!srcfileloc "fortran/trans.h" 932) - nil ) - (!pair "gfor_fndecl_zgemm" - (!type already_seen 23) - (!srcfileloc "fortran/trans.h" 929) - nil ) - (!pair "gfor_fndecl_cgemm" - (!type already_seen 23) - (!srcfileloc "fortran/trans.h" 928) - nil ) - (!pair "gfor_fndecl_dgemm" - (!type already_seen 23) - (!srcfileloc "fortran/trans.h" 927) - nil ) - (!pair "gfor_fndecl_sgemm" - (!type already_seen 23) - (!srcfileloc "fortran/trans.h" 926) - nil ) - (!pair "gfor_fndecl_math_ishftc16" - (!type already_seen 23) - (!srcfileloc "fortran/trans.h" 923) - nil ) - (!pair "gfor_fndecl_math_ishftc8" - (!type already_seen 23) - (!srcfileloc "fortran/trans.h" 922) - nil ) - (!pair "gfor_fndecl_math_ishftc4" - (!type already_seen 23) - (!srcfileloc "fortran/trans.h" 921) - nil ) - (!pair "gfor_fndecl_math_powi" - (!type array 2358 nil gc_used "4" - (!type array 2359 nil gc_used "3" - (!type already_seen 2293) - ) - ) - (!srcfileloc "fortran/trans.h" 920) - nil ) - (!pair "gfor_fndecl_caf_is_present" - (!type already_seen 23) - (!srcfileloc "fortran/trans.h" 908) - nil ) - (!pair "gfor_fndecl_co_sum" - (!type already_seen 23) - (!srcfileloc "fortran/trans.h" 907) - nil ) - (!pair "gfor_fndecl_co_reduce" - (!type already_seen 23) - (!srcfileloc "fortran/trans.h" 906) - nil ) - (!pair "gfor_fndecl_co_min" - (!type already_seen 23) - (!srcfileloc "fortran/trans.h" 905) - nil ) - (!pair "gfor_fndecl_co_max" - (!type already_seen 23) - (!srcfileloc "fortran/trans.h" 904) - nil ) - (!pair "gfor_fndecl_co_broadcast" - (!type already_seen 23) - (!srcfileloc "fortran/trans.h" 903) - nil ) - (!pair "gfor_fndecl_caf_team_number" - (!type already_seen 23) - (!srcfileloc "fortran/trans.h" 902) - nil ) - (!pair "gfor_fndecl_caf_sync_team" - (!type already_seen 23) - (!srcfileloc "fortran/trans.h" 901) - nil ) - (!pair "gfor_fndecl_caf_get_team" - (!type already_seen 23) - (!srcfileloc "fortran/trans.h" 900) - nil ) - (!pair "gfor_fndecl_caf_end_team" - (!type already_seen 23) - (!srcfileloc "fortran/trans.h" 899) - nil ) - (!pair "gfor_fndecl_caf_change_team" - (!type already_seen 23) - (!srcfileloc "fortran/trans.h" 898) - nil ) - (!pair "gfor_fndecl_caf_form_team" - (!type already_seen 23) - (!srcfileloc "fortran/trans.h" 897) - nil ) - (!pair "gfor_fndecl_caf_stopped_images" - (!type already_seen 23) - (!srcfileloc "fortran/trans.h" 896) - nil ) - (!pair "gfor_fndecl_caf_image_status" - (!type already_seen 23) - (!srcfileloc "fortran/trans.h" 895) - nil ) - (!pair "gfor_fndecl_caf_failed_images" - (!type already_seen 23) - (!srcfileloc "fortran/trans.h" 894) - nil ) - (!pair "gfor_fndecl_caf_fail_image" - (!type already_seen 23) - (!srcfileloc "fortran/trans.h" 893) - nil ) - (!pair "gfor_fndecl_caf_event_query" - (!type already_seen 23) - (!srcfileloc "fortran/trans.h" 892) - nil ) - (!pair "gfor_fndecl_caf_event_wait" - (!type already_seen 23) - (!srcfileloc "fortran/trans.h" 891) - nil ) - (!pair "gfor_fndecl_caf_event_post" - (!type already_seen 23) - (!srcfileloc "fortran/trans.h" 890) - nil ) - (!pair "gfor_fndecl_caf_unlock" - (!type already_seen 23) - (!srcfileloc "fortran/trans.h" 889) - nil ) - (!pair "gfor_fndecl_caf_lock" - (!type already_seen 23) - (!srcfileloc "fortran/trans.h" 888) - nil ) - (!pair "gfor_fndecl_caf_atomic_op" - (!type already_seen 23) - (!srcfileloc "fortran/trans.h" 887) - nil ) - (!pair "gfor_fndecl_caf_atomic_cas" - (!type already_seen 23) - (!srcfileloc "fortran/trans.h" 886) - nil ) - (!pair "gfor_fndecl_caf_atomic_ref" - (!type already_seen 23) - (!srcfileloc "fortran/trans.h" 885) - nil ) - (!pair "gfor_fndecl_caf_atomic_def" - (!type already_seen 23) - (!srcfileloc "fortran/trans.h" 884) - nil ) - (!pair "gfor_fndecl_caf_error_stop_str" - (!type already_seen 23) - (!srcfileloc "fortran/trans.h" 883) - nil ) - (!pair "gfor_fndecl_caf_error_stop" - (!type already_seen 23) - (!srcfileloc "fortran/trans.h" 882) - nil ) - (!pair "gfor_fndecl_caf_stop_str" - (!type already_seen 23) - (!srcfileloc "fortran/trans.h" 881) - nil ) - (!pair "gfor_fndecl_caf_stop_numeric" - (!type already_seen 23) - (!srcfileloc "fortran/trans.h" 880) - nil ) - (!pair "gfor_fndecl_caf_sync_images" - (!type already_seen 23) - (!srcfileloc "fortran/trans.h" 879) - nil ) - (!pair "gfor_fndecl_caf_sync_memory" - (!type already_seen 23) - (!srcfileloc "fortran/trans.h" 878) - nil ) - (!pair "gfor_fndecl_caf_sync_all" - (!type already_seen 23) - (!srcfileloc "fortran/trans.h" 877) - nil ) - (!pair "gfor_fndecl_caf_sendget_by_ref" - (!type already_seen 23) - (!srcfileloc "fortran/trans.h" 876) - nil ) - (!pair "gfor_fndecl_caf_send_by_ref" - (!type already_seen 23) - (!srcfileloc "fortran/trans.h" 875) - nil ) - (!pair "gfor_fndecl_caf_get_by_ref" - (!type already_seen 23) - (!srcfileloc "fortran/trans.h" 874) - nil ) - (!pair "gfor_fndecl_caf_sendget" - (!type already_seen 23) - (!srcfileloc "fortran/trans.h" 873) - nil ) - (!pair "gfor_fndecl_caf_send" - (!type already_seen 23) - (!srcfileloc "fortran/trans.h" 872) - nil ) - (!pair "gfor_fndecl_caf_get" - (!type already_seen 23) - (!srcfileloc "fortran/trans.h" 871) - nil ) - (!pair "gfor_fndecl_caf_deregister" - (!type already_seen 23) - (!srcfileloc "fortran/trans.h" 870) - nil ) - (!pair "gfor_fndecl_caf_register" - (!type already_seen 23) - (!srcfileloc "fortran/trans.h" 869) - nil ) - (!pair "gfor_fndecl_caf_num_images" - (!type already_seen 23) - (!srcfileloc "fortran/trans.h" 868) - nil ) - (!pair "gfor_fndecl_caf_this_image" - (!type already_seen 23) - (!srcfileloc "fortran/trans.h" 867) - nil ) - (!pair "gfor_fndecl_caf_finalize" - (!type already_seen 23) - (!srcfileloc "fortran/trans.h" 866) - nil ) - (!pair "gfor_fndecl_caf_init" - (!type already_seen 23) - (!srcfileloc "fortran/trans.h" 865) - nil ) - (!pair "gfor_fndecl_system_clock8" - (!type already_seen 23) - (!srcfileloc "fortran/trans.h" 861) - nil ) - (!pair "gfor_fndecl_system_clock4" - (!type already_seen 23) - (!srcfileloc "fortran/trans.h" 860) - nil ) - (!pair "gfor_fndecl_associated" - (!type already_seen 23) - (!srcfileloc "fortran/trans.h" 859) - nil ) - (!pair "gfor_fndecl_in_unpack" - (!type already_seen 23) - (!srcfileloc "fortran/trans.h" 858) - nil ) - (!pair "gfor_fndecl_in_pack" - (!type already_seen 23) - (!srcfileloc "fortran/trans.h" 857) - nil ) - (!pair "gfor_fndecl_fdate" - (!type already_seen 23) - (!srcfileloc "fortran/trans.h" 856) - nil ) - (!pair "gfor_fndecl_ctime" - (!type already_seen 23) - (!srcfileloc "fortran/trans.h" 855) - nil ) - (!pair "gfor_fndecl_ttynam" - (!type already_seen 23) - (!srcfileloc "fortran/trans.h" 854) - nil ) - (!pair "gfor_fndecl_set_options" - (!type already_seen 23) - (!srcfileloc "fortran/trans.h" 853) - nil ) - (!pair "gfor_fndecl_set_fpe" - (!type already_seen 23) - (!srcfileloc "fortran/trans.h" 852) - nil ) - (!pair "gfor_fndecl_generate_error" - (!type already_seen 23) - (!srcfileloc "fortran/trans.h" 851) - nil ) - (!pair "gfor_fndecl_os_error_at" - (!type already_seen 23) - (!srcfileloc "fortran/trans.h" 850) - nil ) - (!pair "gfor_fndecl_runtime_warning_at" - (!type already_seen 23) - (!srcfileloc "fortran/trans.h" 849) - nil ) - (!pair "gfor_fndecl_runtime_error_at" - (!type already_seen 23) - (!srcfileloc "fortran/trans.h" 848) - nil ) - (!pair "gfor_fndecl_runtime_error" - (!type already_seen 23) - (!srcfileloc "fortran/trans.h" 847) - nil ) - (!pair "gfor_fndecl_error_stop_string" - (!type already_seen 23) - (!srcfileloc "fortran/trans.h" 846) - nil ) - (!pair "gfor_fndecl_error_stop_numeric" - (!type already_seen 23) - (!srcfileloc "fortran/trans.h" 845) - nil ) - (!pair "gfor_fndecl_stop_string" - (!type already_seen 23) - (!srcfileloc "fortran/trans.h" 844) - nil ) - (!pair "gfor_fndecl_stop_numeric" - (!type already_seen 23) - (!srcfileloc "fortran/trans.h" 843) - nil ) - (!pair "gfor_fndecl_pause_string" - (!type already_seen 23) - (!srcfileloc "fortran/trans.h" 842) - nil ) - (!pair "gfor_fndecl_pause_numeric" - (!type already_seen 23) - (!srcfileloc "fortran/trans.h" 841) - nil ) - (!pair "gfc_static_ctors" - (!type already_seen 23) - (!srcfileloc "fortran/trans.h" 722) - nil ) - (!pair "gfc_charlen_type_node" - (!type already_seen 23) - (!srcfileloc "fortran/trans-types.h" 53) - nil ) - (!pair "logical_false_node" - (!type already_seen 23) - (!srcfileloc "fortran/trans-types.h" 49) - nil ) - (!pair "logical_true_node" - (!type already_seen 23) - (!srcfileloc "fortran/trans-types.h" 48) - nil ) - (!pair "logical_type_node" - (!type already_seen 23) - (!srcfileloc "fortran/trans-types.h" 47) - nil ) - (!pair "gfc_complex_float128_type_node" - (!type already_seen 23) - (!srcfileloc "fortran/trans-types.h" 35) - nil ) - (!pair "gfc_float128_type_node" - (!type already_seen 23) - (!srcfileloc "fortran/trans-types.h" 34) - nil ) - (!pair "pchar_type_node" - (!type already_seen 23) - (!srcfileloc "fortran/trans-types.h" 33) - nil ) - (!pair "prvoid_type_node" - (!type already_seen 23) - (!srcfileloc "fortran/trans-types.h" 32) - nil ) - (!pair "pvoid_type_node" - (!type already_seen 23) - (!srcfileloc "fortran/trans-types.h" 31) - nil ) - (!pair "ppvoid_type_node" - (!type already_seen 23) - (!srcfileloc "fortran/trans-types.h" 30) - nil ) - (!pair "gfc_character1_type_node" - (!type already_seen 23) - (!srcfileloc "fortran/trans-types.h" 29) - nil ) - (!pair "gfc_array_range_type" - (!type already_seen 23) - (!srcfileloc "fortran/trans-types.h" 28) - nil ) - (!pair "gfc_array_index_type" - (!type already_seen 23) - (!srcfileloc "fortran/trans-types.h" 27) - nil ) - (!pair "gfc_pcharacter_types" - (!type array 2360 nil gc_used "MAX_CHARACTER_KINDS + 1" - (!type already_seen 23) - ) - (!srcfileloc "fortran/trans-types.cc" 100) - nil ) - (!pair "gfc_character_types" - (!type array 2361 nil gc_used "MAX_CHARACTER_KINDS + 1" - (!type already_seen 23) - ) - (!srcfileloc "fortran/trans-types.cc" 99) - nil ) - (!pair "gfc_complex_types" - (!type array 2362 nil gc_used "MAX_REAL_KINDS + 1" - (!type already_seen 23) - ) - (!srcfileloc "fortran/trans-types.cc" 95) - nil ) - (!pair "gfc_real_types" - (!type array 2363 nil gc_used "MAX_REAL_KINDS + 1" - (!type already_seen 23) - ) - (!srcfileloc "fortran/trans-types.cc" 94) - nil ) - (!pair "gfc_logical_types" - (!type array 2364 nil gc_used "MAX_INT_KINDS + 1" - (!type already_seen 23) - ) - (!srcfileloc "fortran/trans-types.cc" 90) - nil ) - (!pair "gfc_integer_types" - (!type array 2365 nil gc_used "MAX_INT_KINDS + 1" - (!type already_seen 23) - ) - (!srcfileloc "fortran/trans-types.cc" 89) - nil ) - (!pair "gfc_cfi_descriptor_base" - (!type array 2366 nil gc_used "2 * (CFI_MAX_RANK + 2)" - (!type already_seen 23) - ) - (!srcfileloc "fortran/trans-types.cc" 81) - nil ) - (!pair "gfc_array_descriptor_base_caf" - (!type array 2367 nil gc_used "2 * (GFC_MAX_DIMENSIONS+1)" - (!type already_seen 23) - ) - (!srcfileloc "fortran/trans-types.cc" 80) - nil ) - (!pair "gfc_array_descriptor_base" - (!type array 2368 nil gc_used "2 * (GFC_MAX_DIMENSIONS+1)" - (!type already_seen 23) - ) - (!srcfileloc "fortran/trans-types.cc" 79) - nil ) - (!pair "gfc_max_array_element_size" - (!type already_seen 23) - (!srcfileloc "fortran/trans-types.cc" 78) - nil ) - (!pair "gfc_desc_dim_type" - (!type already_seen 23) - (!srcfileloc "fortran/trans-types.cc" 77) - nil ) - (!pair "select_struct" - (!type array 2369 nil gc_used "2" - (!type already_seen 23) - ) - (!srcfileloc "fortran/trans-stmt.cc" 3290) - nil ) - (!pair "dt_parm" - (!type already_seen 23) - (!srcfileloc "fortran/trans-io.cc" 162) - nil ) - (!pair "iocall" - (!type array 2370 nil gc_used "IOCALL_NUM" - (!type already_seen 23) - ) - (!srcfileloc "fortran/trans-io.cc" 153) - nil ) - (!pair "st_parameter_field" - (!type array 2371 nil gc_used "" - (!type already_seen 2279) - ) - (!srcfileloc "fortran/trans-io.cc" 101) - nil ) - (!pair "st_parameter" - (!type array 2372 nil gc_used "" - (!type already_seen 2280) - ) - (!srcfileloc "fortran/trans-io.cc" 90) - nil ) - (!pair "gfc_intrinsic_map" - (!type array 2373 nil gc_used "" - (!type already_seen 2278) - ) - (!srcfileloc "fortran/trans-intrinsic.cc" 117) - nil ) - (!pair "module_htab" - (!type already_seen 2273) - (!srcfileloc "fortran/trans-decl.cc" 5114) - nil ) - (!pair "saved_local_decls" - (!type already_seen 23) - (!srcfileloc "fortran/trans-decl.cc" 68) - nil ) - (!pair "saved_parent_function_decls" - (!type already_seen 23) - (!srcfileloc "fortran/trans-decl.cc" 64) - nil ) - (!pair "saved_function_decls" - (!type already_seen 23) - (!srcfileloc "fortran/trans-decl.cc" 63) - nil ) - (!pair "parent_fake_result_decl" - (!type already_seen 23) - (!srcfileloc "fortran/trans-decl.cc" 58) - nil ) - (!pair "current_fake_result_decl" - (!type already_seen 23) - (!srcfileloc "fortran/trans-decl.cc" 57) - nil ) - (!pair "global_binding_level" - (!type already_seen 431) - (!srcfileloc "fortran/f95-lang.cc" 330) - nil ) - (!pair "current_binding_level" - (!type already_seen 431) - (!srcfileloc "fortran/f95-lang.cc" 326) - nil ) - (!pair "current_translation_unit" - (!type already_seen 23) - (!srcfileloc "fortran/f95-lang.cc" 204) - nil ) - (!pair "free_binding_level" - (!type already_seen 431) - (!srcfileloc "fortran/f95-lang.cc" 198) - nil ) - (!pair "tinfo_types" - (!type array 2374 nil gc_used "TK_END" - (!type already_seen 23) - ) - (!srcfileloc "d/typeinfo.cc" 95) - nil ) - (!pair "d_eh_personality_decl" - (!type already_seen 23) - (!srcfileloc "d/d-lang.cc" 1863) - nil ) - (!pair "d_keep_list" - (!type already_seen 23) - (!srcfileloc "d/d-lang.cc" 1852) - nil ) - (!pair "global_declarations" - (!type already_seen 85) - (!srcfileloc "d/d-lang.cc" 95) - nil ) - (!pair "global_context" - (!type already_seen 23) - (!srcfileloc "d/d-lang.cc" 92) - nil ) - (!pair "builtin_types" - (!type array 2375 nil gc_used "(int) BT_LAST + 1" - (!type already_seen 23) - ) - (!srcfileloc "d/d-builtins.cc" 1133) - nil ) - (!pair "built_in_attributes" - (!type array 2376 nil gc_used "(int) ATTR_LAST" - (!type already_seen 23) - ) - (!srcfileloc "d/d-builtins.cc" 1037) - nil ) - (!pair "signed_size_type_node" - (!type already_seen 23) - (!srcfileloc "d/d-builtins.cc" 886) - nil ) - (!pair "uintmax_type_node" - (!type already_seen 23) - (!srcfileloc "d/d-builtins.cc" 885) - nil ) - (!pair "intmax_type_node" - (!type already_seen 23) - (!srcfileloc "d/d-builtins.cc" 884) - nil ) - (!pair "wint_type_node" - (!type already_seen 23) - (!srcfileloc "d/d-builtins.cc" 883) - nil ) - (!pair "const_string_type_node" - (!type already_seen 23) - (!srcfileloc "d/d-builtins.cc" 882) - nil ) - (!pair "string_type_node" - (!type already_seen 23) - (!srcfileloc "d/d-builtins.cc" 881) - nil ) - (!pair "gcc_builtins_types" - (!type already_seen 85) - (!srcfileloc "d/d-builtins.cc" 48) - nil ) - (!pair "gcc_builtins_functions" - (!type already_seen 85) - (!srcfileloc "d/d-builtins.cc" 47) - nil ) - (!pair "d_global_trees" - (!type array 2377 nil gc_used "DTI_MAX" - (!type already_seen 23) - ) - (!srcfileloc "d/d-tree.h" 444) - nil ) - (!pair "global_binding_level" - (!type already_seen 431) - (!srcfileloc "d/d-tree.h" 135) - nil ) - (!pair "current_binding_level" - (!type already_seen 431) - (!srcfileloc "d/d-tree.h" 134) - nil ) - (!pair "vlt_register_set_fndecl" - (!type already_seen 23) - (!srcfileloc "cp/vtable-class-hierarchy.cc" 133) - nil ) - (!pair "vlt_register_pairs_fndecl" - (!type already_seen 23) - (!srcfileloc "cp/vtable-class-hierarchy.cc" 132) - nil ) - (!pair "vlt_saved_class_info" - (!type already_seen 85) - (!srcfileloc "cp/vtable-class-hierarchy.cc" 131) - nil ) - (!pair "deleted_copy_types" - (!type already_seen 465) - (!srcfileloc "cp/tree.cc" 4522) - nil ) - (!pair "list_hash_table" - (!type already_seen 2244) - (!srcfileloc "cp/tree.cc" 2178) - nil ) - (!pair "cplus_array_htab" - (!type already_seen 2240) - (!srcfileloc "cp/tree.cc" 1042) - nil ) - (!pair "deferred_access_no_check" - (!type already_seen 2) - (!srcfileloc "cp/semantics.cc" 138) - nil ) - (!pair "deferred_access_stack" - (!type already_seen 2234) - (!srcfileloc "cp/semantics.cc" 137) - nil ) - (!pair "tinfo_descs" - (!type already_seen 2231) - (!srcfileloc "cp/rtti.cc" 122) - nil ) - (!pair "dguide_cache" - (!type already_seen 2228) - (!srcfileloc "cp/pt.cc" 30444) - (!options - (!option deletable string "") - ) - ) - (!pair "explicit_specifier_map" - (!type already_seen 941) - (!srcfileloc "cp/pt.cc" 14193) - (!options - (!option cache string "") - ) - ) - (!pair "defarg_inst" - (!type already_seen 1557) - (!srcfileloc "cp/pt.cc" 14055) - (!options - (!option cache string "") - ) - ) - (!pair "last_error_tinst_level" - (!type already_seen 1987) - (!srcfileloc "cp/pt.cc" 11088) - nil ) - (!pair "pending_template_freelist_head" - (!type already_seen 2212) - (!srcfileloc "cp/pt.cc" 9558) - (!options - (!option deletable string "") - ) - ) - (!pair "tinst_level_freelist_head" - (!type already_seen 1987) - (!srcfileloc "cp/pt.cc" 9549) - (!options - (!option deletable string "") - ) - ) - (!pair "tree_list_freelist_head" - (!type already_seen 23) - (!srcfileloc "cp/pt.cc" 9540) - (!options - (!option deletable string "") - ) - ) - (!pair "defaulted_ttp_cache" - (!type already_seen 394) - (!srcfileloc "cp/pt.cc" 7901) - (!options - (!option deletable string "") - ) - ) - (!pair "tparm_obj_values" - (!type already_seen 394) - (!srcfileloc "cp/pt.cc" 7266) - nil ) - (!pair "ctp_table" - (!type already_seen 2219) - (!srcfileloc "cp/pt.cc" 4524) - nil ) - (!pair "canonical_template_parms" - (!type already_seen 85) - (!srcfileloc "cp/pt.cc" 124) - nil ) - (!pair "type_specializations" - (!type already_seen 2215) - (!srcfileloc "cp/pt.cc" 118) - nil ) - (!pair "decl_specializations" - (!type already_seen 2215) - (!srcfileloc "cp/pt.cc" 117) - nil ) - (!pair "saved_access_scope" - (!type already_seen 85) - (!srcfileloc "cp/pt.cc" 73) - nil ) - (!pair "current_tinst_level" - (!type already_seen 1987) - (!srcfileloc "cp/pt.cc" 71) - nil ) - (!pair "last_pending_template" - (!type already_seen 2212) - (!srcfileloc "cp/pt.cc" 64) - nil ) - (!pair "pending_templates" - (!type already_seen 2212) - (!srcfileloc "cp/pt.cc" 63) - nil ) - (!pair "generic_parm_count" - (!type already_seen 2) - (!srcfileloc "cp/parser.cc" 49588) - nil ) - (!pair "cp_parser_decl_specs_attrs" - (!type already_seen 85) - (!srcfileloc "cp/parser.cc" 19407) - nil ) - (!pair "cp_parser_context_free_list" - (!type already_seen 2024) - (!srcfileloc "cp/parser.cc" 2103) - (!options - (!option deletable string "") - ) - ) - (!pair "the_parser" - (!type already_seen 2032) - (!srcfileloc "cp/parser.cc" 695) - nil ) - (!pair "free_saved_scope" - (!type already_seen 1966) - (!srcfileloc "cp/name-lookup.cc" 8109) - (!options - (!option deletable string "") - ) - ) - (!pair "free_binding_level" - (!type already_seen 83) - (!srcfileloc "cp/name-lookup.cc" 4236) - (!options - (!option deletable string "") - ) - ) - (!pair "extern_c_decls" - (!type already_seen 92) - (!srcfileloc "cp/name-lookup.cc" 2986) - nil ) - (!pair "free_bindings" - (!type already_seen 90) - (!srcfileloc "cp/name-lookup.cc" 2376) - (!options - (!option deletable string "") - ) - ) - (!pair "headers" - (!type already_seen 387) - (!srcfileloc "cp/module.cc" 16939) - nil ) - (!pair "macro_exports" - (!type already_seen 2192) - (!srcfileloc "cp/module.cc" 16935) - nil ) - (!pair "note_defs" - (!type already_seen 2186) - (!srcfileloc "cp/module.cc" 4600) - (!options - (!option cache string "") - ) - ) - (!pair "partial_specializations" - (!type already_seen 85) - (!srcfileloc "cp/module.cc" 3965) - nil ) - (!pair "class_members" - (!type already_seen 85) - (!srcfileloc "cp/module.cc" 3956) - nil ) - (!pair "modules_hash" - (!type already_seen 2178) - (!srcfileloc "cp/module.cc" 3935) - nil ) - (!pair "modules" - (!type already_seen 2176) - (!srcfileloc "cp/module.cc" 3932) - nil ) - (!pair "fixed_trees" - (!type already_seen 85) - (!srcfileloc "cp/module.cc" 3913) - nil ) - (!pair "comp_cat_cache" - (!type array 2378 nil gc_used "cc_last" - (!type already_seen 23) - ) - (!srcfileloc "cp/method.cc" 933) - (!options - (!option deletable string "") - ) - ) - (!pair "thunk_labelno" - (!type already_seen 2) - (!srcfileloc "cp/method.cc" 183) - nil ) - (!pair "subst_identifiers" - (!type array 2379 nil gc_used "SUBID_MAX" - (!type already_seen 23) - ) - (!srcfileloc "cp/mangle.cc" 155) - nil ) - (!pair "G" - (!type already_seen 2137) - (!srcfileloc "cp/mangle.cc" 126) - nil ) - (!pair "subsumption_cache" - (!type already_seen 2136) - (!srcfileloc "cp/logic.cc" 751) - (!options - (!option deletable string "") - ) - ) - (!pair "conv_type_names" - (!type already_seen 2130) - (!srcfileloc "cp/lex.cc" 821) - nil ) - (!pair "lambda_scope_stack" - (!type already_seen 2125) - (!srcfileloc "cp/lambda.cc" 1469) - nil ) - (!pair "lambda_scope" - (!type already_seen 2123) - (!srcfileloc "cp/lambda.cc" 1467) - nil ) - (!pair "max_id" - (!type already_seen 23) - (!srcfileloc "cp/lambda.cc" 488) - nil ) - (!pair "ptr_id" - (!type already_seen 23) - (!srcfileloc "cp/lambda.cc" 487) - nil ) - (!pair "nsdmi_inst" - (!type already_seen 941) - (!srcfileloc "cp/init.cc" 567) - (!options - (!option cache string "") - ) - ) - (!pair "fn" - (!type already_seen 23) - (!srcfileloc "cp/init.cc" 53) - nil ) - (!pair "global_friend" - (!type already_seen 23) - (!srcfileloc "cp/friend.cc" 35) - nil ) - (!pair "pending_noexcept_checks" - (!type already_seen 2118) - (!srcfileloc "cp/except.cc" 1102) - nil ) - (!pair "static_init_fini_fns" - (!type array 2380 nil gc_used "2" - (!type already_seen 2115) - ) - (!srcfileloc "cp/decl2.cc" 170) - nil ) - (!pair "mangled_decls" - (!type already_seen 2112) - (!srcfileloc "cp/decl2.cc" 125) - nil ) - (!pair "mangling_aliases" - (!type already_seen 85) - (!srcfileloc "cp/decl2.cc" 89) - nil ) - (!pair "no_linkage_decls" - (!type already_seen 85) - (!srcfileloc "cp/decl2.cc" 85) - nil ) - (!pair "deferred_fns" - (!type already_seen 85) - (!srcfileloc "cp/decl2.cc" 81) - nil ) - (!pair "pending_statics" - (!type already_seen 85) - (!srcfileloc "cp/decl2.cc" 77) - nil ) - (!pair "start_cleanup_cnt" - (!type already_seen 2) - (!srcfileloc "cp/decl.cc" 9579) - nil ) - (!pair "decomp_type_table" - (!type already_seen 941) - (!srcfileloc "cp/decl.cc" 9038) - (!options - (!option cache string "") - ) - ) - (!pair "typename_htab" - (!type already_seen 2107) - (!srcfileloc "cp/decl.cc" 4176) - nil ) - (!pair "local_entities" - (!type already_seen 85) - (!srcfileloc "cp/decl.cc" 906) - (!options - (!option deletable string "") - ) - ) - (!pair "incomplete_vars" - (!type already_seen 2102) - (!srcfileloc "cp/decl.cc" 255) - nil ) - (!pair "debug_type_map" - (!type already_seen 944) - (!srcfileloc "cp/cp-objcp-common.cc" 133) - (!options - (!option cache string "") - ) - ) - (!pair "cp_eh_personality_decl" - (!type already_seen 23) - (!srcfileloc "cp/cp-lang.cc" 149) - nil ) - (!pair "source_location_id" - (!type already_seen 2) - (!srcfileloc "cp/cp-gimplify.cc" 3453) - nil ) - (!pair "source_location_table" - (!type already_seen 2099) - (!srcfileloc "cp/cp-gimplify.cc" 3452) - nil ) - (!pair "fold_caches" - (!type array 2381 nil gc_used "2" - (!type already_seen 394) - ) - (!srcfileloc "cp/cp-gimplify.cc" 2514) - (!options - (!option deletable string "") - ) - ) - (!pair "to_ramp" - (!type already_seen 394) - (!srcfileloc "cp/coroutines.cc" 560) - nil ) - (!pair "void_coro_handle_type" - (!type already_seen 23) - (!srcfileloc "cp/coroutines.cc" 272) - nil ) - (!pair "coro_handle_templ" - (!type already_seen 23) - (!srcfileloc "cp/coroutines.cc" 271) - nil ) - (!pair "coro_traits_templ" - (!type already_seen 23) - (!srcfileloc "cp/coroutines.cc" 270) - nil ) - (!pair "coro_frame_i_a_r_c_id" - (!type already_seen 23) - (!srcfileloc "cp/coroutines.cc" 227) - nil ) - (!pair "coro_actor_continue_id" - (!type already_seen 23) - (!srcfileloc "cp/coroutines.cc" 226) - nil ) - (!pair "coro_self_handle_id" - (!type already_seen 23) - (!srcfileloc "cp/coroutines.cc" 225) - nil ) - (!pair "coro_resume_index_id" - (!type already_seen 23) - (!srcfileloc "cp/coroutines.cc" 224) - nil ) - (!pair "coro_frame_needs_free_id" - (!type already_seen 23) - (!srcfileloc "cp/coroutines.cc" 223) - nil ) - (!pair "coro_promise_id" - (!type already_seen 23) - (!srcfileloc "cp/coroutines.cc" 222) - nil ) - (!pair "coro_destroy_fn_id" - (!type already_seen 23) - (!srcfileloc "cp/coroutines.cc" 221) - nil ) - (!pair "coro_resume_fn_id" - (!type already_seen 23) - (!srcfileloc "cp/coroutines.cc" 220) - nil ) - (!pair "coro_await_resume_identifier" - (!type already_seen 23) - (!srcfileloc "cp/coroutines.cc" 216) - nil ) - (!pair "coro_await_suspend_identifier" - (!type already_seen 23) - (!srcfileloc "cp/coroutines.cc" 215) - nil ) - (!pair "coro_await_ready_identifier" - (!type already_seen 23) - (!srcfileloc "cp/coroutines.cc" 214) - nil ) - (!pair "coro_unhandled_exception_identifier" - (!type already_seen 23) - (!srcfileloc "cp/coroutines.cc" 210) - nil ) - (!pair "coro_gro_on_allocation_fail_identifier" - (!type already_seen 23) - (!srcfileloc "cp/coroutines.cc" 209) - nil ) - (!pair "coro_get_return_object_identifier" - (!type already_seen 23) - (!srcfileloc "cp/coroutines.cc" 208) - nil ) - (!pair "coro_from_address_identifier" - (!type already_seen 23) - (!srcfileloc "cp/coroutines.cc" 207) - nil ) - (!pair "coro_address_identifier" - (!type already_seen 23) - (!srcfileloc "cp/coroutines.cc" 206) - nil ) - (!pair "coro_resume_identifier" - (!type already_seen 23) - (!srcfileloc "cp/coroutines.cc" 205) - nil ) - (!pair "coro_yield_value_identifier" - (!type already_seen 23) - (!srcfileloc "cp/coroutines.cc" 204) - nil ) - (!pair "coro_return_value_identifier" - (!type already_seen 23) - (!srcfileloc "cp/coroutines.cc" 203) - nil ) - (!pair "coro_return_void_identifier" - (!type already_seen 23) - (!srcfileloc "cp/coroutines.cc" 202) - nil ) - (!pair "coro_final_suspend_identifier" - (!type already_seen 23) - (!srcfileloc "cp/coroutines.cc" 201) - nil ) - (!pair "coro_initial_suspend_identifier" - (!type already_seen 23) - (!srcfileloc "cp/coroutines.cc" 200) - nil ) - (!pair "coro_await_transform_identifier" - (!type already_seen 23) - (!srcfileloc "cp/coroutines.cc" 199) - nil ) - (!pair "coro_promise_type_identifier" - (!type already_seen 23) - (!srcfileloc "cp/coroutines.cc" 195) - nil ) - (!pair "coro_handle_identifier" - (!type already_seen 23) - (!srcfileloc "cp/coroutines.cc" 194) - nil ) - (!pair "coro_traits_identifier" - (!type already_seen 23) - (!srcfileloc "cp/coroutines.cc" 193) - nil ) - (!pair "coroutine_info_table" - (!type already_seen 2079) - (!srcfileloc "cp/coroutines.cc" 114) - nil ) - (!pair "decl_satisfied_cache" - (!type already_seen 394) - (!srcfileloc "cp/constraint.cc" 2617) - (!options - (!option deletable string "") - ) - ) - (!pair "sat_cache" - (!type already_seen 2074) - (!srcfileloc "cp/constraint.cc" 2614) - (!options - (!option deletable string "") - ) - ) - (!pair "failed_type_completions" - (!type already_seen 85) - (!srcfileloc "cp/constraint.cc" 2466) - (!options - (!option deletable string "") - ) - ) - (!pair "decl_constraints" - (!type already_seen 941) - (!srcfileloc "cp/constraint.cc" 1289) - (!options - (!option cache string "") - ) - ) - (!pair "normalized_map" - (!type already_seen 394) - (!srcfileloc "cp/constraint.cc" 903) - (!options - (!option deletable string "") - ) - ) - (!pair "atom_cache" - (!type already_seen 2070) - (!srcfileloc "cp/constraint.cc" 814) - (!options - (!option deletable string "") - ) - ) - (!pair "norm_cache" - (!type already_seen 2068) - (!srcfileloc "cp/constraint.cc" 735) - (!options - (!option deletable string "") - ) - ) - (!pair "decl_post_fn" - (!type already_seen 394) - (!srcfileloc "cp/contracts.cc" 1301) - nil ) - (!pair "decl_pre_fn" - (!type already_seen 394) - (!srcfileloc "cp/contracts.cc" 1300) - nil ) - (!pair "cv_cache" - (!type already_seen 394) - (!srcfileloc "cp/constexpr.cc" 8562) - (!options - (!option deletable string "") - ) - ) - (!pair "fundef_copies_table" - (!type already_seen 947) - (!srcfileloc "cp/constexpr.cc" 1366) - nil ) - (!pair "constexpr_call_table" - (!type already_seen 2058) - (!srcfileloc "cp/constexpr.cc" 1317) - nil ) - (!pair "constexpr_fundef_table" - (!type already_seen 2052) - (!srcfileloc "cp/constexpr.cc" 189) - nil ) - (!pair "dvirt_fn" - (!type already_seen 23) - (!srcfileloc "cp/class.cc" 9919) - nil ) - (!pair "abort_fndecl_addr" - (!type already_seen 23) - (!srcfileloc "cp/class.cc" 9918) - nil ) - (!pair "enum_to_min_precision" - (!type already_seen 2048) - (!srcfileloc "cp/class.cc" 3407) - (!options - (!option deletable string "") - ) - ) - (!pair "sizeof_biggest_empty_class" - (!type already_seen 23) - (!srcfileloc "cp/class.cc" 112) - nil ) - (!pair "default_arg_context" - (!type already_seen 85) - (!srcfileloc "cp/call.cc" 9147) - nil ) - (!pair "unemitted_tinfo_decls" - (!type already_seen 85) - (!srcfileloc "cp/cp-tree.h" 7498) - nil ) - (!pair "ovl_op_alternate" - (!type array 2382 nil gc_used "OVL_OP_MAX" - (!type already_seen 8) - ) - (!srcfileloc "cp/cp-tree.h" 6152) - nil ) - (!pair "ovl_op_mapping" - (!type array 2383 nil gc_used "MAX_TREE_CODES" - (!type already_seen 8) - ) - (!srcfileloc "cp/cp-tree.h" 6150) - nil ) - (!pair "ovl_op_info" - (!type array 2384 nil gc_used "2" - (!type array 2385 nil gc_used "OVL_OP_MAX" - (!type already_seen 1982) - ) - ) - (!srcfileloc "cp/cp-tree.h" 6148) - nil ) - (!pair "dynamic_initializers" - (!type already_seen 947) - (!srcfileloc "cp/cp-tree.h" 5840) - nil ) - (!pair "tls_aggregates" - (!type already_seen 23) - (!srcfileloc "cp/cp-tree.h" 5836) - nil ) - (!pair "static_aggregates" - (!type already_seen 23) - (!srcfileloc "cp/cp-tree.h" 5834) - nil ) - (!pair "keyed_classes" - (!type already_seen 85) - (!srcfileloc "cp/cp-tree.h" 5739) - nil ) - (!pair "static_decls" - (!type already_seen 85) - (!srcfileloc "cp/cp-tree.h" 5735) - nil ) - (!pair "integer_two_node" - (!type already_seen 23) - (!srcfileloc "cp/cp-tree.h" 5640) - nil ) - (!pair "scope_chain" - (!type already_seen 1966) - (!srcfileloc "cp/cp-tree.h" 1887) - nil ) - (!pair "cp_global_trees" - (!type array 2386 nil gc_used "CPTI_MAX" - (!type already_seen 23) - ) - (!srcfileloc "cp/cp-tree.h" 241) - nil ) - (!pair "current_omp_begin_assumes" - (!type already_seen 2) - (!srcfileloc "c/c-lang.h" 73) - nil ) - (!pair "current_omp_declare_target_attribute" - (!type already_seen 1949) - (!srcfileloc "c/c-lang.h" 70) - nil ) - (!pair "the_parser" - (!type already_seen 1933) - (!srcfileloc "c/c-parser.cc" 282) - nil ) - (!pair "locus" - (!type already_seen 23) - (!srcfileloc "c-family/c-format.cc" 71) - nil ) - (!pair "local_cgraph_node_ptr_node" - (!type already_seen 23) - (!srcfileloc "c-family/c-format.cc" 70) - nil ) - (!pair "local_gimple_ptr_node" - (!type already_seen 23) - (!srcfileloc "c-family/c-format.cc" 69) - nil ) - (!pair "local_event_ptr_node" - (!type already_seen 23) - (!srcfileloc "c-family/c-format.cc" 68) - nil ) - (!pair "local_tree_type_node" - (!type already_seen 23) - (!srcfileloc "c-family/c-format.cc" 67) - nil ) - (!pair "options_stack" - (!type already_seen 1916) - (!srcfileloc "c-family/c-pragma.cc" 1239) - nil ) - (!pair "pending_redefine_extname" - (!type already_seen 1913) - (!srcfileloc "c-family/c-pragma.cc" 496) - nil ) - (!pair "pending_weaks" - (!type already_seen 1910) - (!srcfileloc "c-family/c-pragma.cc" 248) - nil ) - (!pair "alignment_stack" - (!type already_seen 1907) - (!srcfileloc "c-family/c-pragma.cc" 53) - nil ) - (!pair "pragma_extern_prefix" - (!type already_seen 23) - (!srcfileloc "c-family/c-pragma.h" 284) - nil ) - (!pair "lazy_hex_fp_value_count" - (!type already_seen 2) - (!srcfileloc "c-family/c-cppbuiltin.cc" 1789) - nil ) - (!pair "lazy_hex_fp_values" - (!type array 2387 nil gc_used "LAZY_HEX_FP_VALUES_CNT" - (!type already_seen 1903) - ) - (!srcfileloc "c-family/c-cppbuiltin.cc" 1788) - nil ) - (!pair "g_string_concat_db" - (!type already_seen 734) - (!srcfileloc "c-family/c-common.h" 1193) - nil ) - (!pair "registered_builtin_types" - (!type already_seen 23) - (!srcfileloc "c-family/c-common.h" 1176) - nil ) - (!pair "pending_lang_change" - (!type already_seen 2) - (!srcfileloc "c-family/c-common.h" 1129) - nil ) - (!pair "c_global_trees" - (!type array 2388 nil gc_used "CTI_MAX" - (!type already_seen 23) - ) - (!srcfileloc "c-family/c-common.h" 531) - nil ) - (!pair "ridpointers" - (!type already_seen 24) - (!srcfileloc "c-family/c-common.h" 299) - (!options - (!option length string "(int) RID_MAX") - ) - ) - (!pair "tree_vector_cache" - (!type already_seen 1890) - (!srcfileloc "c-family/c-common.cc" 8285) - (!options - (!option deletable string "") - ) - ) - (!pair "optimize_args" - (!type already_seen 1888) - (!srcfileloc "c-family/c-common.cc" 5869) - nil ) - (!pair "compound_literal_number" - (!type already_seen 2) - (!srcfileloc "c-family/c-common.cc" 4737) - nil ) - (!pair "built_in_attributes" - (!type array 2389 nil gc_used "(int) ATTR_LAST" - (!type already_seen 23) - ) - (!srcfileloc "c-family/c-common.cc" 4002) - nil ) - (!pair "ext_block" - (!type already_seen 23) - (!srcfileloc "c/c-decl.cc" 12866) - nil ) - (!pair "last_structptr_types" - (!type array 2390 nil gc_used "builtin_structptr_type_count" - (!type already_seen 23) - ) - (!srcfileloc "c/c-decl.cc" 1740) - nil ) - (!pair "c_inline_statics" - (!type already_seen 1880) - (!srcfileloc "c/c-decl.cc" 571) - nil ) - (!pair "binding_freelist" - (!type already_seen 641) - (!srcfileloc "c/c-decl.cc" 523) - (!options - (!option deletable string "") - ) - ) - (!pair "scope_freelist" - (!type already_seen 647) - (!srcfileloc "c/c-decl.cc" 519) - (!options - (!option deletable string "") - ) - ) - (!pair "external_scope" - (!type already_seen 647) - (!srcfileloc "c/c-decl.cc" 515) - nil ) - (!pair "file_scope" - (!type already_seen 647) - (!srcfileloc "c/c-decl.cc" 510) - nil ) - (!pair "current_function_scope" - (!type already_seen 647) - (!srcfileloc "c/c-decl.cc" 506) - nil ) - (!pair "current_scope" - (!type already_seen 647) - (!srcfileloc "c/c-decl.cc" 500) - nil ) - (!pair "visible_builtins" - (!type already_seen 23) - (!srcfileloc "c/c-decl.cc" 129) - nil ) - (!pair "c_stmt_tree" - (!type already_seen 450) - (!srcfileloc "c/c-decl.cc" 122) - nil ) - (!pair "gnat_eh_personality_decl" - (!type already_seen 23) - (!srcfileloc "ada/gcc-interface/misc.cc" 1283) - nil ) - (!pair "built_in_attributes" - (!type array 2391 nil gc_used "(int) ATTR_LAST" - (!type already_seen 23) - ) - (!srcfileloc "ada/gcc-interface/utils.cc" 6322) - nil ) - (!pair "builtin_types" - (!type array 2392 nil gc_used "(int) BT_LAST + 1" - (!type already_seen 23) - ) - (!srcfileloc "ada/gcc-interface/utils.cc" 6155) - nil ) - (!pair "dummy_global" - (!type already_seen 23) - (!srcfileloc "ada/gcc-interface/utils.cc" 5908) - nil ) - (!pair "pad_type_hash_table" - (!type already_seen 1867) - (!srcfileloc "ada/gcc-interface/utils.cc" 331) - (!options - (!option cache string "") - ) - ) - (!pair "packable_type_hash_table" - (!type already_seen 1863) - (!srcfileloc "ada/gcc-interface/utils.cc" 308) - (!options - (!option cache string "") - ) - ) - (!pair "free_block_chain" - (!type already_seen 23) - (!srcfileloc "ada/gcc-interface/utils.cc" 285) - (!options - (!option deletable string "") - ) - ) - (!pair "builtin_decls" - (!type already_seen 85) - (!srcfileloc "ada/gcc-interface/utils.cc" 282) - nil ) - (!pair "global_decls" - (!type already_seen 85) - (!srcfileloc "ada/gcc-interface/utils.cc" 279) - nil ) - (!pair "global_context" - (!type already_seen 23) - (!srcfileloc "ada/gcc-interface/utils.cc" 276) - nil ) - (!pair "free_binding_level" - (!type already_seen 1859) - (!srcfileloc "ada/gcc-interface/utils.cc" 273) - (!options - (!option deletable string "") - ) - ) - (!pair "current_binding_level" - (!type already_seen 1859) - (!srcfileloc "ada/gcc-interface/utils.cc" 270) - nil ) - (!pair "float_types" - (!type array 2393 nil gc_used "NUM_MACHINE_MODES" - (!type already_seen 23) - ) - (!srcfileloc "ada/gcc-interface/utils.cc" 257) - nil ) - (!pair "signed_and_unsigned_types" - (!type array 2394 nil gc_used "2 * MAX_BITS_PER_WORD + 1" - (!type array 2395 nil gc_used "2" - (!type already_seen 23) - ) - ) - (!srcfileloc "ada/gcc-interface/utils.cc" 254) - nil ) - (!pair "dummy_node_table" - (!type already_seen 24) - (!srcfileloc "ada/gcc-interface/utils.cc" 237) - (!options - (!option length string "max_gnat_nodes") - ) - ) - (!pair "associate_gnat_to_gnu" - (!type already_seen 24) - (!srcfileloc "ada/gcc-interface/utils.cc" 225) - (!options - (!option length string "max_gnat_nodes") - ) - ) - (!pair "thunk_labelno" - (!type already_seen 2) - (!srcfileloc "ada/gcc-interface/trans.cc" 10885) - nil ) - (!pair "gnu_loop_stack" - (!type already_seen 1856) - (!srcfileloc "ada/gcc-interface/trans.cc" 214) - nil ) - (!pair "gnu_return_var_stack" - (!type already_seen 85) - (!srcfileloc "ada/gcc-interface/trans.cc" 182) - nil ) - (!pair "gnu_return_label_stack" - (!type already_seen 85) - (!srcfileloc "ada/gcc-interface/trans.cc" 178) - nil ) - (!pair "gnu_elab_proc_stack" - (!type already_seen 85) - (!srcfileloc "ada/gcc-interface/trans.cc" 174) - nil ) - (!pair "gnu_incoming_exc_ptr" - (!type already_seen 23) - (!srcfileloc "ada/gcc-interface/trans.cc" 171) - nil ) - (!pair "gnu_except_ptr_stack" - (!type already_seen 85) - (!srcfileloc "ada/gcc-interface/trans.cc" 168) - nil ) - (!pair "elab_info_list" - (!type already_seen 1848) - (!srcfileloc "ada/gcc-interface/trans.cc" 163) - nil ) - (!pair "stmt_group_free_list" - (!type already_seen 1846) - (!srcfileloc "ada/gcc-interface/trans.cc" 150) - (!options - (!option deletable string "") - ) - ) - (!pair "current_stmt_group" - (!type already_seen 1846) - (!srcfileloc "ada/gcc-interface/trans.cc" 147) - nil ) - (!pair "dummy_to_subprog_map" - (!type already_seen 1841) - (!srcfileloc "ada/gcc-interface/decl.cc" 198) - (!options - (!option cache string "") - ) - ) - (!pair "annotate_value_cache" - (!type already_seen 1833) - (!srcfileloc "ada/gcc-interface/decl.cc" 157) - (!options - (!option cache string "") - ) - ) - (!pair "gnat_raise_decls_ext" - (!type array 2396 nil gc_used "(int) LAST_REASON_CODE + 1" - (!type already_seen 23) - ) - (!srcfileloc "ada/gcc-interface/gigi.h" 443) - nil ) - (!pair "gnat_raise_decls" - (!type array 2397 nil gc_used "(int) LAST_REASON_CODE + 1" - (!type already_seen 23) - ) - (!srcfileloc "ada/gcc-interface/gigi.h" 442) - nil ) - (!pair "gnat_std_decls" - (!type array 2398 nil gc_used "(int) ADT_LAST" - (!type already_seen 23) - ) - (!srcfileloc "ada/gcc-interface/gigi.h" 441) - nil ) - (!pair "analyzer_stashed_constants" - (!type already_seen 394) - (!srcfileloc "analyzer/analyzer-language.cc" 33) - nil ) - (!pair "omp_requires_mask" - (!type already_seen 2) - (!srcfileloc "omp-general.h" 138) - nil ) - (!pair "internal_fn_fnspec_array" - (!type array 2399 nil gc_used "IFN_LAST + 1" - (!type already_seen 23) - ) - (!srcfileloc "internal-fn.h" 128) - nil ) - (!pair "odr_enums" - (!type already_seen 85) - (!srcfileloc "ipa-devirt.cc" 516) - nil ) - (!pair "odr_types_ptr" - (!type already_seen 1808) - (!srcfileloc "ipa-devirt.cc" 512) - nil ) - (!pair "ubsan_vptr_type_cache_decl" - (!type already_seen 23) - (!srcfileloc "ubsan.cc" 1218) - nil ) - (!pair "ubsan_ids" - (!type array 2400 nil gc_used "2" - (!type already_seen 2) - ) - (!srcfileloc "ubsan.cc" 344) - nil ) - (!pair "ubsan_source_location_type" - (!type already_seen 23) - (!srcfileloc "ubsan.cc" 239) - nil ) - (!pair "ubsan_type_descriptor_type" - (!type already_seen 23) - (!srcfileloc "ubsan.cc" 189) - nil ) - (!pair "decl_tree_for_type" - (!type already_seen 1792) - (!srcfileloc "ubsan.cc" 82) - (!options - (!option cache string "") - ) - ) - (!pair "hwasan_ctor_statements" - (!type already_seen 23) - (!srcfileloc "asan.cc" 4648) - nil ) - (!pair "asan_ctor_statements" - (!type already_seen 23) - (!srcfileloc "asan.cc" 3596) - nil ) - (!pair "asan_detect_stack_use_after_return" - (!type already_seen 23) - (!srcfileloc "asan.cc" 474) - nil ) - (!pair "shadow_ptr_types" - (!type array 2401 nil gc_used "3" - (!type already_seen 23) - ) - (!srcfileloc "asan.cc" 471) - nil ) - (!pair "asan_memfn_rtls" - (!type array 2402 nil gc_used "3" - (!type already_seen 100) - ) - (!srcfileloc "asan.cc" 395) - nil ) - (!pair "hwasan_frame_base_init_seq" - (!type already_seen 297) - (!srcfileloc "asan.cc" 284) - nil ) - (!pair "hwasan_frame_base_ptr" - (!type already_seen 100) - (!srcfileloc "asan.cc" 273) - nil ) - (!pair "vtbl_mangled_name_ids" - (!type already_seen 85) - (!srcfileloc "vtable-verify.cc" 309) - nil ) - (!pair "vtbl_mangled_name_types" - (!type already_seen 85) - (!srcfileloc "vtable-verify.cc" 308) - nil ) - (!pair "verify_vtbl_ptr_fndecl" - (!type already_seen 23) - (!srcfileloc "vtable-verify.cc" 151) - nil ) - (!pair "ipa_fn_summaries" - (!type already_seen 1770) - (!srcfileloc "ipa-fnsummary.h" 251) - nil ) - (!pair "tm_wrap_map" - (!type already_seen 1727) - (!srcfileloc "trans-mem.cc" 468) - (!options - (!option cache string "") - ) - ) - (!pair "ipcp_transformation_sum" - (!type already_seen 1724) - (!srcfileloc "ipa-prop.h" 1074) - nil ) - (!pair "ipa_edge_args_sum" - (!type already_seen 1721) - (!srcfileloc "ipa-prop.h" 1047) - nil ) - (!pair "ipa_node_params_sum" - (!type already_seen 1719) - (!srcfileloc "ipa-prop.h" 1045) - nil ) - (!pair "ipa_escaped_pt" - (!type already_seen 386) - (!srcfileloc "tree-ssa-alias.h" 183) - nil ) - (!pair "free_phinodes" - (!type array 2403 nil gc_used "NUM_BUCKETS - 2" - (!type already_seen 1689) - ) - (!srcfileloc "tree-phinodes.cc" 70) - (!options - (!option deletable string "") - ) - ) - (!pair "clone_fn_ids" - (!type already_seen 1687) - (!srcfileloc "cgraphclones.cc" 479) - nil ) - (!pair "m68k_read_tp" - (!type already_seen 100) - (!srcfileloc "config/m68k/m68k.cc" 2769) - nil ) - (!pair "m68k_tls_get_addr" - (!type already_seen 100) - (!srcfileloc "config/m68k/m68k.cc" 2704) - nil ) - (!pair "stack_chk_fail_decl" - (!type already_seen 23) - (!srcfileloc "targhooks.cc" 916) - nil ) - (!pair "stack_chk_guard_decl" - (!type already_seen 23) - (!srcfileloc "targhooks.cc" 883) - nil ) - (!pair "critical_name_mutexes" - (!type already_seen 394) - (!srcfileloc "omp-low.cc" 10393) - nil ) - (!pair "omp_declare_variant_alt" - (!type already_seen 1656) - (!srcfileloc "omp-general.cc" 2143) - nil ) - (!pair "omp_declare_variants" - (!type already_seen 1653) - (!srcfileloc "omp-general.cc" 2120) - nil ) - (!pair "offload_vars" - (!type already_seen 85) - (!srcfileloc "omp-offload.h" 30) - nil ) - (!pair "offload_funcs" - (!type already_seen 85) - (!srcfileloc "omp-offload.h" 29) - nil ) - (!pair "descriptor_type" - (!type already_seen 23) - (!srcfileloc "tree-nested.cc" 643) - nil ) - (!pair "trampoline_type" - (!type already_seen 23) - (!srcfileloc "tree-nested.cc" 603) - nil ) - (!pair "ic_tuple_callee_field" - (!type already_seen 23) - (!srcfileloc "tree-profile.cc" 74) - nil ) - (!pair "ic_tuple_counters_field" - (!type already_seen 23) - (!srcfileloc "tree-profile.cc" 73) - nil ) - (!pair "ic_tuple_var" - (!type already_seen 23) - (!srcfileloc "tree-profile.cc" 72) - nil ) - (!pair "tree_time_profiler_counter" - (!type already_seen 23) - (!srcfileloc "tree-profile.cc" 69) - nil ) - (!pair "tree_ior_profiler_fn" - (!type already_seen 23) - (!srcfileloc "tree-profile.cc" 68) - nil ) - (!pair "tree_average_profiler_fn" - (!type already_seen 23) - (!srcfileloc "tree-profile.cc" 67) - nil ) - (!pair "tree_indirect_call_profiler_fn" - (!type already_seen 23) - (!srcfileloc "tree-profile.cc" 66) - nil ) - (!pair "tree_topn_values_profiler_fn" - (!type already_seen 23) - (!srcfileloc "tree-profile.cc" 65) - nil ) - (!pair "tree_pow2_profiler_fn" - (!type already_seen 23) - (!srcfileloc "tree-profile.cc" 64) - nil ) - (!pair "tree_interval_profiler_fn" - (!type already_seen 23) - (!srcfileloc "tree-profile.cc" 63) - nil ) - (!pair "gcov_type_node" - (!type already_seen 23) - (!srcfileloc "tree-profile.cc" 62) - nil ) - (!pair "scalar_evolution_info" - (!type already_seen 1637) - (!srcfileloc "tree-scalar-evolution.cc" 312) - nil ) - (!pair "tmp_var_id_num" - (!type already_seen 2) - (!srcfileloc "gimple-expr.cc" 415) - nil ) - (!pair "stmt_list_cache" - (!type already_seen 85) - (!srcfileloc "tree-iterator.cc" 31) - (!options - (!option deletable string "") - ) - ) - (!pair "addr_list" - (!type already_seen 221) - (!srcfileloc "tree-ssa-loop-ivopts.cc" 2594) - nil ) - (!pair "mem_addr_template_list" - (!type already_seen 1597) - (!srcfileloc "tree-ssa-address.cc" 95) - nil ) - (!pair "elf_fini_array_section" - (!type already_seen 214) - (!srcfileloc "varasm.cc" 8397) - nil ) - (!pair "elf_init_array_section" - (!type already_seen 214) - (!srcfileloc "varasm.cc" 8396) - nil ) - (!pair "tm_clone_hash" - (!type already_seen 1574) - (!srcfileloc "varasm.cc" 6353) - (!options - (!option cache string "") - ) - ) - (!pair "weakref_targets" - (!type already_seen 23) - (!srcfileloc "varasm.cc" 6008) - nil ) - (!pair "const_desc_htab" - (!type already_seen 1567) - (!srcfileloc "varasm.cc" 3072) - nil ) - (!pair "initial_trampoline" - (!type already_seen 100) - (!srcfileloc "varasm.cc" 2736) - nil ) - (!pair "weak_decls" - (!type already_seen 23) - (!srcfileloc "varasm.cc" 2531) - nil ) - (!pair "pending_assemble_externals" - (!type already_seen 23) - (!srcfileloc "varasm.cc" 2462) - nil ) - (!pair "shared_constant_pool" - (!type already_seen 1009) - (!srcfileloc "varasm.cc" 206) - nil ) - (!pair "anchor_labelno" - (!type already_seen 2) - (!srcfileloc "varasm.cc" 203) - nil ) - (!pair "object_block_htab" - (!type already_seen 1564) - (!srcfileloc "varasm.cc" 200) - nil ) - (!pair "section_htab" - (!type already_seen 1561) - (!srcfileloc "varasm.cc" 189) - nil ) - (!pair "unnamed_sections" - (!type already_seen 214) - (!srcfileloc "varasm.cc" 174) - nil ) - (!pair "const_labelno" - (!type already_seen 2) - (!srcfileloc "varasm.cc" 81) - nil ) - (!pair "weak_global_object_name" - (!type already_seen 11) - (!srcfileloc "varasm.cc" 67) - nil ) - (!pair "first_global_object_name" - (!type already_seen 11) - (!srcfileloc "varasm.cc" 66) - nil ) - (!pair "gcc_eh_personality_decl" - (!type already_seen 23) - (!srcfileloc "tree.cc" 12099) - nil ) - (!pair "anon_cnt" - (!type already_seen 2) - (!srcfileloc "tree.cc" 8737) - nil ) - (!pair "nonstandard_boolean_type_cache" - (!type array 2404 nil gc_used "MAX_BOOL_CACHED_PREC + 1" - (!type already_seen 23) - ) - (!srcfileloc "tree.cc" 7101) - nil ) - (!pair "nonstandard_integer_type_cache" - (!type array 2405 nil gc_used "2 * MAX_INT_CACHED_PREC + 2" - (!type already_seen 23) - ) - (!srcfileloc "tree.cc" 7052) - nil ) - (!pair "debug_args_for_decl" - (!type already_seen 1557) - (!srcfileloc "tree.cc" 224) - (!options - (!option cache string "") - ) - ) - (!pair "value_expr_for_decl" - (!type already_seen 1555) - (!srcfileloc "tree.cc" 221) - (!options - (!option cache string "") - ) - ) - (!pair "debug_expr_for_decl" - (!type already_seen 1555) - (!srcfileloc "tree.cc" 218) - (!options - (!option cache string "") - ) - ) - (!pair "cl_option_hash_table" - (!type already_seen 1553) - (!srcfileloc "tree.cc" 212) - (!options - (!option cache string "") - ) - ) - (!pair "cl_target_option_node" - (!type already_seen 23) - (!srcfileloc "tree.cc" 204) - nil ) - (!pair "cl_optimization_node" - (!type already_seen 23) - (!srcfileloc "tree.cc" 203) - nil ) - (!pair "poly_int_cst_hash_table" - (!type already_seen 1550) - (!srcfileloc "tree.cc" 196) - (!options - (!option cache string "") - ) - ) - (!pair "int_cst_hash_table" - (!type already_seen 1547) - (!srcfileloc "tree.cc" 185) - (!options - (!option cache string "") - ) - ) - (!pair "int_cst_node" - (!type already_seen 23) - (!srcfileloc "tree.cc" 177) - nil ) - (!pair "type_hash_table" - (!type already_seen 1544) - (!srcfileloc "tree.cc" 174) - (!options - (!option cache string "") - ) - ) - (!pair "next_debug_decl_uid" - (!type already_seen 2) - (!srcfileloc "tree.cc" 142) - nil ) - (!pair "next_type_uid" - (!type already_seen 2) - (!srcfileloc "tree.cc" 139) - nil ) - (!pair "next_decl_uid" - (!type already_seen 2) - (!srcfileloc "tree.cc" 137) - nil ) - (!pair "spd" - (!type already_seen 1540) - (!srcfileloc "stringpool.cc" 253) - nil ) - (!pair "size_functions" - (!type already_seen 85) - (!srcfileloc "stor-layout.cc" 88) - nil ) - (!pair "cfg_layout_function_header" - (!type already_seen 297) - (!srcfileloc "cfgrtl.cc" 78) - nil ) - (!pair "cfg_layout_function_footer" - (!type already_seen 297) - (!srcfileloc "cfgrtl.cc" 77) - nil ) - (!pair "libfunc_decls" - (!type already_seen 1515) - (!srcfileloc "optabs-libfuncs.cc" 720) - nil ) - (!pair "unused_expr_list" - (!type already_seen 100) - (!srcfileloc "lists.cc" 34) - (!options - (!option deletable string "") - ) - ) - (!pair "unused_insn_list" - (!type already_seen 100) - (!srcfileloc "lists.cc" 31) - (!options - (!option deletable string "") - ) - ) - (!pair "queue" - (!type already_seen 85) - (!srcfileloc "godump.cc" 57) - nil ) - (!pair "test_insn" - (!type already_seen 297) - (!srcfileloc "gcse.cc" 823) - nil ) - (!pair "dummy_unittesting_tree" - (!type already_seen 23) - (!srcfileloc "ggc-tests.cc" 443) - nil ) - (!pair "root_user_struct_ptr" - (!type already_seen 1493) - (!srcfileloc "ggc-tests.cc" 390) - nil ) - (!pair "root_test_node" - (!type already_seen 1491) - (!srcfileloc "ggc-tests.cc" 328) - nil ) - (!pair "test_some_other_subclass_as_base_ptr" - (!type already_seen 1485) - (!srcfileloc "ggc-tests.cc" 275) - nil ) - (!pair "test_some_subclass_as_base_ptr" - (!type already_seen 1485) - (!srcfileloc "ggc-tests.cc" 274) - nil ) - (!pair "test_some_other_subclass" - (!type already_seen 1489) - (!srcfileloc "ggc-tests.cc" 273) - nil ) - (!pair "test_some_subclass" - (!type already_seen 1487) - (!srcfileloc "ggc-tests.cc" 272) - nil ) - (!pair "test_example_base" - (!type already_seen 1485) - (!srcfileloc "ggc-tests.cc" 271) - nil ) - (!pair "test_of_deletable" - (!type already_seen 912) - (!srcfileloc "ggc-tests.cc" 205) - (!options - (!option deletable string "") - ) - ) - (!pair "root_test_of_union_2" - (!type already_seen 1482) - (!srcfileloc "ggc-tests.cc" 135) - nil ) - (!pair "root_test_of_union_1" - (!type already_seen 1482) - (!srcfileloc "ggc-tests.cc" 134) - nil ) - (!pair "root_test_of_length" - (!type already_seen 1479) - (!srcfileloc "ggc-tests.cc" 68) - nil ) - (!pair "root_test_struct" - (!type already_seen 912) - (!srcfileloc "ggc-tests.cc" 42) - nil ) - (!pair "sjlj_fc_type_node" - (!type already_seen 23) - (!srcfileloc "except.cc" 156) - nil ) - (!pair "setjmp_fn" - (!type already_seen 23) - (!srcfileloc "except.cc" 153) - nil ) - (!pair "type_to_runtime_map" - (!type already_seen 1466) - (!srcfileloc "except.cc" 151) - nil ) - (!pair "call_site_base" - (!type already_seen 2) - (!srcfileloc "except.cc" 149) - nil ) - (!pair "next_block_index" - (!type already_seen 2) - (!srcfileloc "function.cc" 4640) - nil ) - (!pair "temp_slot_address_table" - (!type already_seen 1457) - (!srcfileloc "function.cc" 608) - nil ) - (!pair "epilogue_insn_hash" - (!type already_seen 1453) - (!srcfileloc "function.cc" 133) - (!options - (!option cache string "") - ) - ) - (!pair "prologue_insn_hash" - (!type already_seen 1453) - (!srcfileloc "function.cc" 131) - (!options - (!option cache string "") - ) - ) - (!pair "funcdef_no" - (!type already_seen 2) - (!srcfileloc "function.cc" 113) - nil ) - (!pair "stack_check_libfunc" - (!type already_seen 100) - (!srcfileloc "explow.cc" 1643) - nil ) - (!pair "hard_reg_clobbers" - (!type array 2406 nil gc_used "NUM_MACHINE_MODES" - (!type array 2407 nil gc_used "FIRST_PSEUDO_REGISTER" - (!type already_seen 100) - ) - ) - (!srcfileloc "emit-rtl.cc" 6479) - (!options - (!option deletable string "") - ) - ) - (!pair "free_sequence_stack" - (!type already_seen 997) - (!srcfileloc "emit-rtl.cc" 5466) - (!options - (!option deletable string "") - ) - ) - (!pair "spill_slot_decl" - (!type already_seen 23) - (!srcfileloc "emit-rtl.cc" 2652) - nil ) - (!pair "const_fixed_htab" - (!type already_seen 1440) - (!srcfileloc "emit-rtl.cc" 190) - (!options - (!option cache string "") - ) - ) - (!pair "const_double_htab" - (!type already_seen 1437) - (!srcfileloc "emit-rtl.cc" 181) - (!options - (!option cache string "") - ) - ) - (!pair "reg_attrs_htab" - (!type already_seen 1434) - (!srcfileloc "emit-rtl.cc" 172) - (!options - (!option cache string "") - ) - ) - (!pair "const_poly_int_htab" - (!type already_seen 1431) - (!srcfileloc "emit-rtl.cc" 163) - (!options - (!option cache string "") - ) - ) - (!pair "const_wide_int_htab" - (!type already_seen 1428) - (!srcfileloc "emit-rtl.cc" 153) - (!options - (!option cache string "") - ) - ) - (!pair "const_int_htab" - (!type already_seen 1425) - (!srcfileloc "emit-rtl.cc" 145) - (!options - (!option cache string "") - ) - ) - (!pair "label_num" - (!type already_seen 2) - (!srcfileloc "emit-rtl.cc" 94) - nil ) - (!pair "x_rtl" - (!type already_seen 1422) - (!srcfileloc "emit-rtl.h" 338) - nil ) - (!pair "shift_test" - (!type already_seen 100) - (!srcfileloc "dojump.cc" 127) - nil ) - (!pair "and_test" - (!type already_seen 100) - (!srcfileloc "dojump.cc" 126) - nil ) - (!pair "and_reg" - (!type already_seen 100) - (!srcfileloc "dojump.cc" 125) - nil ) - (!pair "vector_last_nunits" - (!type already_seen 2) - (!srcfileloc "tree-vect-generic.cc" 137) - nil ) - (!pair "vector_last_type" - (!type already_seen 23) - (!srcfileloc "tree-vect-generic.cc" 136) - nil ) - (!pair "vector_inner_type" - (!type already_seen 23) - (!srcfileloc "tree-vect-generic.cc" 135) - nil ) - (!pair "funcs" - (!type already_seen 1406) - (!srcfileloc "btfout.cc" 105) - nil ) - (!pair "btf_var_ids" - (!type already_seen 1402) - (!srcfileloc "btfout.cc" 73) - nil ) - (!pair "btf_info_section" - (!type already_seen 214) - (!srcfileloc "btfout.cc" 42) - nil ) - (!pair "ctf_info_section" - (!type already_seen 214) - (!srcfileloc "ctfout.cc" 36) - nil ) - (!pair "tu_ctfc" - (!type already_seen 1398) - (!srcfileloc "ctfc.h" 343) - nil ) - (!pair "inline_entry_data_table" - (!type already_seen 1363) - (!srcfileloc "dwarf2out.cc" 24312) - nil ) - (!pair "external_die_map" - (!type already_seen 1348) - (!srcfileloc "dwarf2out.cc" 5950) - nil ) - (!pair "addr_index_table" - (!type already_seen 1345) - (!srcfileloc "dwarf2out.cc" 5072) - nil ) - (!pair "generic_type_instances" - (!type already_seen 85) - (!srcfileloc "dwarf2out.cc" 3713) - nil ) - (!pair "tmpl_value_parm_die_table" - (!type already_seen 1338) - (!srcfileloc "dwarf2out.cc" 3707) - nil ) - (!pair "label_num" - (!type already_seen 2) - (!srcfileloc "dwarf2out.cc" 3705) - nil ) - (!pair "last_emitted_file" - (!type already_seen 501) - (!srcfileloc "dwarf2out.cc" 3702) - nil ) - (!pair "poc_label_num" - (!type already_seen 2) - (!srcfileloc "dwarf2out.cc" 3699) - nil ) - (!pair "loclabel_num" - (!type already_seen 2) - (!srcfileloc "dwarf2out.cc" 3696) - nil ) - (!pair "have_location_lists" - (!type already_seen 2) - (!srcfileloc "dwarf2out.cc" 3693) - nil ) - (!pair "ranges_by_label" - (!type already_seen 1336) - (!srcfileloc "dwarf2out.cc" 3690) - nil ) - (!pair "ranges_table" - (!type already_seen 1334) - (!srcfileloc "dwarf2out.cc" 3687) - nil ) - (!pair "macinfo_table" - (!type already_seen 1332) - (!srcfileloc "dwarf2out.cc" 3677) - nil ) - (!pair "pubtype_table" - (!type already_seen 1330) - (!srcfileloc "dwarf2out.cc" 3673) - nil ) - (!pair "pubname_table" - (!type already_seen 1330) - (!srcfileloc "dwarf2out.cc" 3669) - nil ) - (!pair "separate_line_info" - (!type already_seen 1328) - (!srcfileloc "dwarf2out.cc" 3661) - nil ) - (!pair "cold_text_section_line_info" - (!type already_seen 1290) - (!srcfileloc "dwarf2out.cc" 3658) - nil ) - (!pair "text_section_line_info" - (!type already_seen 1290) - (!srcfileloc "dwarf2out.cc" 3657) - nil ) - (!pair "cur_line_info_table" - (!type already_seen 1290) - (!srcfileloc "dwarf2out.cc" 3654) - nil ) - (!pair "abbrev_die_table" - (!type already_seen 1306) - (!srcfileloc "dwarf2out.cc" 3640) - nil ) - (!pair "cached_dw_loc_list_table" - (!type already_seen 1326) - (!srcfileloc "dwarf2out.cc" 3636) - nil ) - (!pair "call_arg_locations" - (!type already_seen 1319) - (!srcfileloc "dwarf2out.cc" 3608) - nil ) - (!pair "decl_loc_table" - (!type already_seen 1322) - (!srcfileloc "dwarf2out.cc" 3605) - nil ) - (!pair "common_block_die_table" - (!type already_seen 1313) - (!srcfileloc "dwarf2out.cc" 3539) - nil ) - (!pair "variable_value_hash" - (!type already_seen 1310) - (!srcfileloc "dwarf2out.cc" 3529) - nil ) - (!pair "decl_die_table" - (!type already_seen 1304) - (!srcfileloc "dwarf2out.cc" 3512) - nil ) - (!pair "file_table" - (!type already_seen 1301) - (!srcfileloc "dwarf2out.cc" 3501) - nil ) - (!pair "deferred_asm_name" - (!type already_seen 1297) - (!srcfileloc "dwarf2out.cc" 3490) - nil ) - (!pair "limbo_die_list" - (!type already_seen 1297) - (!srcfileloc "dwarf2out.cc" 3486) - nil ) - (!pair "cu_die_list" - (!type already_seen 1297) - (!srcfileloc "dwarf2out.cc" 3483) - nil ) - (!pair "comdat_type_list" - (!type already_seen 487) - (!srcfileloc "dwarf2out.cc" 3480) - nil ) - (!pair "single_comp_unit_die" - (!type already_seen 484) - (!srcfileloc "dwarf2out.cc" 3477) - nil ) - (!pair "zero_view_p" - (!type already_seen 387) - (!srcfileloc "dwarf2out.cc" 3400) - nil ) - (!pair "do_eh_frame" - (!type already_seen 2) - (!srcfileloc "dwarf2out.cc" 293) - nil ) - (!pair "current_unit_personality" - (!type already_seen 100) - (!srcfileloc "dwarf2out.cc" 290) - nil ) - (!pair "decltype_auto_die" - (!type already_seen 484) - (!srcfileloc "dwarf2out.cc" 282) - nil ) - (!pair "auto_die" - (!type already_seen 484) - (!srcfileloc "dwarf2out.cc" 279) - nil ) - (!pair "switch_cold_ranges" - (!type already_seen 1285) - (!srcfileloc "dwarf2out.cc" 276) - nil ) - (!pair "switch_text_ranges" - (!type already_seen 1285) - (!srcfileloc "dwarf2out.cc" 275) - nil ) - (!pair "last_cold_label" - (!type already_seen 11) - (!srcfileloc "dwarf2out.cc" 271) - nil ) - (!pair "last_text_label" - (!type already_seen 11) - (!srcfileloc "dwarf2out.cc" 270) - nil ) - (!pair "in_text_section_p" - (!type already_seen 2) - (!srcfileloc "dwarf2out.cc" 267) - nil ) - (!pair "cold_text_section" - (!type already_seen 214) - (!srcfileloc "dwarf2out.cc" 264) - nil ) - (!pair "have_multiple_function_sections" - (!type already_seen 2) - (!srcfileloc "dwarf2out.cc" 261) - nil ) - (!pair "dw2_string_counter" - (!type already_seen 2) - (!srcfileloc "dwarf2out.cc" 258) - nil ) - (!pair "skeleton_debug_str_hash" - (!type already_seen 1283) - (!srcfileloc "dwarf2out.cc" 256) - nil ) - (!pair "debug_line_str_hash" - (!type already_seen 1283) - (!srcfileloc "dwarf2out.cc" 235) - nil ) - (!pair "debug_str_hash" - (!type already_seen 1283) - (!srcfileloc "dwarf2out.cc" 233) - nil ) - (!pair "fde_vec" - (!type already_seen 1280) - (!srcfileloc "dwarf2out.cc" 215) - nil ) - (!pair "debug_frame_section" - (!type already_seen 214) - (!srcfileloc "dwarf2out.cc" 176) - nil ) - (!pair "debug_ranges_dwo_section" - (!type already_seen 214) - (!srcfileloc "dwarf2out.cc" 175) - nil ) - (!pair "debug_ranges_section" - (!type already_seen 214) - (!srcfileloc "dwarf2out.cc" 174) - nil ) - (!pair "debug_str_offsets_section" - (!type already_seen 214) - (!srcfileloc "dwarf2out.cc" 173) - nil ) - (!pair "debug_str_dwo_section" - (!type already_seen 214) - (!srcfileloc "dwarf2out.cc" 172) - nil ) - (!pair "debug_line_str_section" - (!type already_seen 214) - (!srcfileloc "dwarf2out.cc" 171) - nil ) - (!pair "debug_str_section" - (!type already_seen 214) - (!srcfileloc "dwarf2out.cc" 170) - nil ) - (!pair "debug_pubtypes_section" - (!type already_seen 214) - (!srcfileloc "dwarf2out.cc" 169) - nil ) - (!pair "debug_pubnames_section" - (!type already_seen 214) - (!srcfileloc "dwarf2out.cc" 168) - nil ) - (!pair "debug_loc_section" - (!type already_seen 214) - (!srcfileloc "dwarf2out.cc" 167) - nil ) - (!pair "debug_skeleton_line_section" - (!type already_seen 214) - (!srcfileloc "dwarf2out.cc" 166) - nil ) - (!pair "debug_line_section" - (!type already_seen 214) - (!srcfileloc "dwarf2out.cc" 165) - nil ) - (!pair "debug_macinfo_section" - (!type already_seen 214) - (!srcfileloc "dwarf2out.cc" 162) - nil ) - (!pair "debug_addr_section" - (!type already_seen 214) - (!srcfileloc "dwarf2out.cc" 161) - nil ) - (!pair "debug_aranges_section" - (!type already_seen 214) - (!srcfileloc "dwarf2out.cc" 160) - nil ) - (!pair "debug_skeleton_abbrev_section" - (!type already_seen 214) - (!srcfileloc "dwarf2out.cc" 159) - nil ) - (!pair "debug_abbrev_section" - (!type already_seen 214) - (!srcfileloc "dwarf2out.cc" 158) - nil ) - (!pair "debug_skeleton_info_section" - (!type already_seen 214) - (!srcfileloc "dwarf2out.cc" 157) - nil ) - (!pair "debug_info_section" - (!type already_seen 214) - (!srcfileloc "dwarf2out.cc" 156) - nil ) - (!pair "incomplete_types" - (!type already_seen 85) - (!srcfileloc "dwarf2out.cc" 153) - nil ) - (!pair "used_rtx_array" - (!type already_seen 221) - (!srcfileloc "dwarf2out.cc" 147) - nil ) - (!pair "ctf_unknown_die" - (!type already_seen 484) - (!srcfileloc "dwarf2ctf.cc" 56) - nil ) - (!pair "ctf_array_index_die" - (!type already_seen 484) - (!srcfileloc "dwarf2ctf.cc" 55) - nil ) - (!pair "ctf_void_die" - (!type already_seen 484) - (!srcfileloc "dwarf2ctf.cc" 54) - nil ) - (!pair "saved_do_cfi_asm" - (!type already_seen 2) - (!srcfileloc "dwarf2cfi.cc" 3699) - nil ) - (!pair "dwarf2out_cfi_label_num" - (!type already_seen 2) - (!srcfileloc "dwarf2cfi.cc" 197) - nil ) - (!pair "cie_return_save" - (!type already_seen 1273) - (!srcfileloc "dwarf2cfi.cc" 195) - nil ) - (!pair "cie_cfi_row" - (!type already_seen 1271) - (!srcfileloc "dwarf2cfi.cc" 193) - nil ) - (!pair "dw2_const_labelno" - (!type already_seen 2) - (!srcfileloc "dwarf2asm.cc" 913) - nil ) - (!pair "indirect_pool" - (!type already_seen 1269) - (!srcfileloc "dwarf2asm.cc" 911) - nil ) - (!pair "cie_cfi_vec" - (!type already_seen 469) - (!srcfileloc "dwarf2out.h" 339) - nil ) - (!pair "nowarn_map" - (!type already_seen 1265) - (!srcfileloc "diagnostic-spec.h" 140) - nil ) - (!pair "summaries_lto" - (!type already_seen 1248) - (!srcfileloc "ipa-modref.cc" 273) - nil ) - (!pair "optimization_summaries" - (!type already_seen 1246) - (!srcfileloc "ipa-modref.cc" 267) - nil ) - (!pair "summaries" - (!type already_seen 1246) - (!srcfileloc "ipa-modref.cc" 261) - nil ) - (!pair "func_sums" - (!type already_seen 1222) - (!srcfileloc "ipa-sra.cc" 471) - nil ) - (!pair "ipa_vr_hash_table" - (!type already_seen 1126) - (!srcfileloc "ipa-prop.cc" 156) - (!options - (!option cache string "") - ) - ) - (!pair "ipa_bits_hash_table" - (!type already_seen 1123) - (!srcfileloc "ipa-prop.cc" 109) - (!options - (!option cache string "") - ) - ) - (!pair "version_info_node" - (!type already_seen 1046) - (!srcfileloc "cgraph.cc" 142) - nil ) - (!pair "cgraph_fnver_htab" - (!type already_seen 1119) - (!srcfileloc "cgraph.cc" 122) - nil ) - (!pair "callmem" - (!type already_seen 100) - (!srcfileloc "cselib.cc" 252) - nil ) - (!pair "bitmap_ggc_free" - (!type already_seen 389) - (!srcfileloc "bitmap.cc" 70) - (!options - (!option deletable string "") - ) - ) - (!pair "frame_set" - (!type already_seen 2) - (!srcfileloc "alias.cc" 1373) - nil ) - (!pair "varargs_set" - (!type already_seen 2) - (!srcfileloc "alias.cc" 1351) - nil ) - (!pair "alias_sets" - (!type already_seen 1112) - (!srcfileloc "alias.cc" 280) - nil ) - (!pair "reg_known_value" - (!type already_seen 221) - (!srcfileloc "alias.cc" 258) - nil ) - (!pair "old_reg_base_value" - (!type already_seen 221) - (!srcfileloc "alias.cc" 239) - (!options - (!option deletable string "") - ) - ) - (!pair "arg_base_value" - (!type already_seen 100) - (!srcfileloc "alias.cc" 231) - nil ) - (!pair "reg_base_value" - (!type already_seen 221) - (!srcfileloc "alias.cc" 226) - nil ) - (!pair "restinsn" - (!type already_seen 297) - (!srcfileloc "caller-save.cc" 107) - nil ) - (!pair "saveinsn" - (!type already_seen 297) - (!srcfileloc "caller-save.cc" 106) - nil ) - (!pair "test_mem" - (!type already_seen 100) - (!srcfileloc "caller-save.cc" 105) - nil ) - (!pair "test_reg" - (!type already_seen 100) - (!srcfileloc "caller-save.cc" 104) - nil ) - (!pair "restpat" - (!type already_seen 100) - (!srcfileloc "caller-save.cc" 103) - nil ) - (!pair "savepat" - (!type already_seen 100) - (!srcfileloc "caller-save.cc" 102) - nil ) - (!pair "thunks" - (!type already_seen 1100) - (!srcfileloc "symtab-thunks.cc" 62) - nil ) - (!pair "vtable_entry_type" - (!type already_seen 23) - (!srcfileloc "symtab-thunks.cc" 54) - nil ) - (!pair "saved_symtab" - (!type already_seen 1084) - (!srcfileloc "cgraph.h" 3553) - nil ) - (!pair "symtab" - (!type already_seen 1084) - (!srcfileloc "cgraph.h" 2554) - nil ) - (!pair "in_cold_section_p" - (!type already_seen 2) - (!srcfileloc "output.h" 535) - nil ) - (!pair "in_section" - (!type already_seen 214) - (!srcfileloc "output.h" 534) - nil ) - (!pair "bss_noswitch_section" - (!type already_seen 214) - (!srcfileloc "output.h" 532) - nil ) - (!pair "lcomm_section" - (!type already_seen 214) - (!srcfileloc "output.h" 531) - nil ) - (!pair "comm_section" - (!type already_seen 214) - (!srcfileloc "output.h" 530) - nil ) - (!pair "tls_comm_section" - (!type already_seen 214) - (!srcfileloc "output.h" 529) - nil ) - (!pair "eh_frame_section" - (!type already_seen 214) - (!srcfileloc "output.h" 528) - nil ) - (!pair "exception_section" - (!type already_seen 214) - (!srcfileloc "output.h" 527) - nil ) - (!pair "sbss_section" - (!type already_seen 214) - (!srcfileloc "output.h" 526) - nil ) - (!pair "bss_section" - (!type already_seen 214) - (!srcfileloc "output.h" 525) - nil ) - (!pair "dtors_section" - (!type already_seen 214) - (!srcfileloc "output.h" 524) - nil ) - (!pair "ctors_section" - (!type already_seen 214) - (!srcfileloc "output.h" 523) - nil ) - (!pair "sdata_section" - (!type already_seen 214) - (!srcfileloc "output.h" 522) - nil ) - (!pair "readonly_data_section" - (!type already_seen 214) - (!srcfileloc "output.h" 521) - nil ) - (!pair "data_section" - (!type already_seen 214) - (!srcfileloc "output.h" 520) - nil ) - (!pair "text_section" - (!type already_seen 214) - (!srcfileloc "output.h" 519) - nil ) - (!pair "types_used_by_cur_var_decl" - (!type already_seen 85) - (!srcfileloc "function.h" 501) - nil ) - (!pair "types_used_by_vars_hash" - (!type already_seen 1020) - (!srcfileloc "function.h" 495) - nil ) - (!pair "cfun" - (!type already_seen 352) - (!srcfileloc "function.h" 466) - nil ) - (!pair "regno_reg_rtx" - (!type already_seen 101) - (!srcfileloc "function.h" 87) - (!options - (!option length string "crtl->emit.x_reg_rtx_no") - ) - ) - (!pair "default_target_libfuncs" - (!type already_seen 605) - (!srcfileloc "libfuncs.h" 64) - nil ) - (!pair "current_function_func_begin_label" - (!type already_seen 11) - (!srcfileloc "tree-core.h" 2384) - nil ) - (!pair "current_function_decl" - (!type already_seen 23) - (!srcfileloc "tree-core.h" 2381) - nil ) - (!pair "builtin_info" - (!type array 2408 nil gc_used "(int)END_BUILTINS" - (!type already_seen 984) - ) - (!srcfileloc "tree-core.h" 2375) - nil ) - (!pair "sizetype_tab" - (!type array 2409 nil gc_used "(int) stk_type_kind_last" - (!type already_seen 23) - ) - (!srcfileloc "tree-core.h" 2363) - nil ) - (!pair "integer_types" - (!type array 2410 nil gc_used "itk_none" - (!type already_seen 23) - ) - (!srcfileloc "tree-core.h" 2360) - nil ) - (!pair "global_trees" - (!type array 2411 nil gc_used "TI_MAX" - (!type already_seen 23) - ) - (!srcfileloc "tree-core.h" 2356) - nil ) - (!pair "all_translation_units" - (!type already_seen 85) - (!srcfileloc "tree-core.h" 2353) - nil ) - (!pair "alias_pairs" - (!type already_seen 989) - (!srcfileloc "tree-core.h" 2339) - nil ) - (!pair "int_n_trees" - (!type array 2412 nil gc_used "NUM_INT_N_ENTS" - (!type already_seen 969) - ) - (!srcfileloc "tree.h" 6502) - nil ) - (!pair "stack_limit_rtx" - (!type already_seen 100) - (!srcfileloc "rtl.h" 4488) - nil ) - (!pair "default_target_rtl" - (!type already_seen 588) - (!srcfileloc "rtl.h" 3922) - nil ) - (!pair "invalid_insn_rtx" - (!type already_seen 297) - (!srcfileloc "rtl.h" 3820) - nil ) - (!pair "simple_return_rtx" - (!type already_seen 100) - (!srcfileloc "rtl.h" 3819) - nil ) - (!pair "ret_rtx" - (!type already_seen 100) - (!srcfileloc "rtl.h" 3818) - nil ) - (!pair "pc_rtx" - (!type already_seen 100) - (!srcfileloc "rtl.h" 3817) - nil ) - (!pair "const_tiny_rtx" - (!type array 2413 nil gc_used "4" - (!type array 2414 nil gc_used "(int) MAX_MACHINE_MODE" - (!type already_seen 100) - ) - ) - (!srcfileloc "rtl.h" 3804) - nil ) - (!pair "const_true_rtx" - (!type already_seen 100) - (!srcfileloc "rtl.h" 3802) - nil ) - (!pair "const_int_rtx" - (!type array 2415 nil gc_used "MAX_SAVED_CONST_INT * 2 + 1" - (!type already_seen 100) - ) - (!srcfileloc "rtl.h" 3796) - nil ) - (!pair "gcov_fn_info_ptr_type" - (!type already_seen 23) - (!srcfileloc "coverage.cc" 103) - nil ) - (!pair "gcov_fn_info_type" - (!type already_seen 23) - (!srcfileloc "coverage.cc" 102) - nil ) - (!pair "gcov_info_var" - (!type already_seen 23) - (!srcfileloc "coverage.cc" 101) - nil ) - (!pair "fn_v_ctrs" - (!type array 2416 nil gc_used "GCOV_COUNTERS" - (!type already_seen 23) - ) - (!srcfileloc "coverage.cc" 96) - nil ) - (!pair "functions_head" - (!type already_seen 900) - (!srcfileloc "coverage.cc" 87) - nil ) - (!pair "saved_line_table" - (!type already_seen 702) - (!srcfileloc "input.h" 27) - nil ) - (!pair "line_table" - (!type already_seen 702) - (!srcfileloc "input.h" 26) - nil ) -) - -(!endfile) diff --git a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/ada/gcc-interface/ada-tree.def b/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/ada/gcc-interface/ada-tree.def deleted file mode 100644 index ff88e547..00000000 --- a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/ada/gcc-interface/ada-tree.def +++ /dev/null @@ -1,83 +0,0 @@ -/**************************************************************************** - * * - * GNAT COMPILER COMPONENTS * - * * - * GNAT-SPECIFIC GCC TREE CODES * - * * - * Specification * - * * - * Copyright (C) 1992-2023, Free Software Foundation, Inc. * - * * - * GNAT is free software; you can redistribute it and/or modify it under * - * terms of the GNU General Public License as published by the Free Soft- * - * ware Foundation; either version 3, or (at your option) any later ver- * - * sion. GNAT is distributed in the hope that it will be useful, but WITH- * - * OUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * - * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License * - * for more details. You should have received a copy of the GNU General * - * Public License along with GCC; see the file COPYING3. If not see * - * . * - * * - * GNAT was originally developed by the GNAT team at New York University. * - * Extensive contributions were provided by Ada Core Technologies Inc. * - * * - ****************************************************************************/ - -/* A type that is an unconstrained array. This node is never passed to GCC. - TREE_TYPE is the type of the fat pointer and TYPE_OBJECT_RECORD_TYPE is - the type of a record containing the template and data. */ -DEFTREECODE (UNCONSTRAINED_ARRAY_TYPE, "unconstrained_array_type", tcc_type, 0) - -/* A reference to an unconstrained array. This node only exists as an - intermediate node during the translation of a GNAT tree to a GCC tree; - it is never passed to GCC. The only field used is operand 0, which - is the fat pointer object. */ -DEFTREECODE (UNCONSTRAINED_ARRAY_REF, "unconstrained_array_ref", - tcc_reference, 1) - -/* Same as SAVE_EXPR, but operand 1 contains the statement used to initialize - the temporary instead of using the value of operand 0 directly. */ -DEFTREECODE (LOAD_EXPR, "load_expr", tcc_expression, 2) - -/* An expression that returns an RTL suitable for its type. Operand 0 - is an expression to be evaluated for side effects only. */ -DEFTREECODE (NULL_EXPR, "null_expr", tcc_expression, 1) - -/* Same as PLUS_EXPR, except that no modulo reduction is applied. - This is used for loops and never shows up in the tree. */ -DEFTREECODE (PLUS_NOMOD_EXPR, "plus_nomod_expr", tcc_binary, 2) - -/* Same as MINUS_EXPR, except that no modulo reduction is applied. - This is used for loops and never shows up in the tree. */ -DEFTREECODE (MINUS_NOMOD_EXPR, "minus_nomod_expr", tcc_binary, 2) - -/* An expression that computes an exponentiation. Operand 0 is the base and - Operand 1 is the exponent. This node is never passed to GCC: it is only - used internally to describe fixed point types scale factors. */ -DEFTREECODE (POWER_EXPR, "power_expr", tcc_binary, 2) - -/* Same as ADDR_EXPR, except that if the operand represents a bit field, - return the address of the byte containing the bit. This is used - for the Address attribute and never shows up in the tree. */ -DEFTREECODE (ATTR_ADDR_EXPR, "attr_addr_expr", tcc_reference, 1) - -/* Here are the tree codes for the statement types known to Ada. These - must be at the end of this file to allow IS_ADA_STMT to work. */ - -/* This is how record_code_position and insert_code_for work. The former - makes this tree node, whose operand is a statement. The latter inserts - the actual statements into this node. Gimplification consists of - just returning the inner statement. */ -DEFTREECODE (STMT_STMT, "stmt_stmt", tcc_statement, 1) - -/* A loop. LOOP_STMT_COND is the test to exit the loop. LOOP_STMT_UPDATE - is the statement to update the loop iteration variable at the continue - point. LOOP_STMT_BODY are the statements in the body of the loop. And - LOOP_STMT_LABEL points to the LABEL_DECL of the end label of the loop. */ -DEFTREECODE (LOOP_STMT, "loop_stmt", tcc_statement, 4) - -/* Conditionally exit a loop. EXIT_STMT_COND is the condition, which, if - true, will cause the loop to be exited. If no condition is specified, - the loop is unconditionally exited. EXIT_STMT_LABEL is the end label - corresponding to the loop to exit. */ -DEFTREECODE (EXIT_STMT, "exit_stmt", tcc_statement, 2) diff --git a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/addresses.h b/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/addresses.h deleted file mode 100644 index 3519c241..00000000 --- a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/addresses.h +++ /dev/null @@ -1,90 +0,0 @@ -/* Inline functions to test validity of reg classes for addressing modes. - Copyright (C) 2006-2023 Free Software Foundation, Inc. - -This file is part of GCC. - -GCC is free software; you can redistribute it and/or modify it under -the terms of the GNU General Public License as published by the Free -Software Foundation; either version 3, or (at your option) any later -version. - -GCC is distributed in the hope that it will be useful, but WITHOUT ANY -WARRANTY; without even the implied warranty of MERCHANTABILITY or -FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -for more details. - -You should have received a copy of the GNU General Public License -along with GCC; see the file COPYING3. If not see -. */ - -/* Wrapper function to unify target macros MODE_CODE_BASE_REG_CLASS, - MODE_BASE_REG_REG_CLASS, MODE_BASE_REG_CLASS and BASE_REG_CLASS. - Arguments as for the MODE_CODE_BASE_REG_CLASS macro. */ - -#ifndef GCC_ADDRESSES_H -#define GCC_ADDRESSES_H - -inline enum reg_class -base_reg_class (machine_mode mode ATTRIBUTE_UNUSED, - addr_space_t as ATTRIBUTE_UNUSED, - enum rtx_code outer_code ATTRIBUTE_UNUSED, - enum rtx_code index_code ATTRIBUTE_UNUSED) -{ -#ifdef MODE_CODE_BASE_REG_CLASS - return MODE_CODE_BASE_REG_CLASS (MACRO_MODE (mode), as, outer_code, - index_code); -#else -#ifdef MODE_BASE_REG_REG_CLASS - if (index_code == REG) - return MODE_BASE_REG_REG_CLASS (MACRO_MODE (mode)); -#endif -#ifdef MODE_BASE_REG_CLASS - return MODE_BASE_REG_CLASS (MACRO_MODE (mode)); -#else - return BASE_REG_CLASS; -#endif -#endif -} - -/* Wrapper function to unify target macros REGNO_MODE_CODE_OK_FOR_BASE_P, - REGNO_MODE_OK_FOR_REG_BASE_P, REGNO_MODE_OK_FOR_BASE_P and - REGNO_OK_FOR_BASE_P. - Arguments as for the REGNO_MODE_CODE_OK_FOR_BASE_P macro. */ - -inline bool -ok_for_base_p_1 (unsigned regno ATTRIBUTE_UNUSED, - machine_mode mode ATTRIBUTE_UNUSED, - addr_space_t as ATTRIBUTE_UNUSED, - enum rtx_code outer_code ATTRIBUTE_UNUSED, - enum rtx_code index_code ATTRIBUTE_UNUSED) -{ -#ifdef REGNO_MODE_CODE_OK_FOR_BASE_P - return REGNO_MODE_CODE_OK_FOR_BASE_P (regno, MACRO_MODE (mode), as, - outer_code, index_code); -#else -#ifdef REGNO_MODE_OK_FOR_REG_BASE_P - if (index_code == REG) - return REGNO_MODE_OK_FOR_REG_BASE_P (regno, MACRO_MODE (mode)); -#endif -#ifdef REGNO_MODE_OK_FOR_BASE_P - return REGNO_MODE_OK_FOR_BASE_P (regno, MACRO_MODE (mode)); -#else - return REGNO_OK_FOR_BASE_P (regno); -#endif -#endif -} - -/* Wrapper around ok_for_base_p_1, for use after register allocation is - complete. Arguments as for the called function. */ - -inline bool -regno_ok_for_base_p (unsigned regno, machine_mode mode, addr_space_t as, - enum rtx_code outer_code, enum rtx_code index_code) -{ - if (regno >= FIRST_PSEUDO_REGISTER && reg_renumber[regno] >= 0) - regno = reg_renumber[regno]; - - return ok_for_base_p_1 (regno, mode, as, outer_code, index_code); -} - -#endif /* GCC_ADDRESSES_H */ diff --git a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/alias.h b/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/alias.h deleted file mode 100644 index 0f0787d8..00000000 --- a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/alias.h +++ /dev/null @@ -1,51 +0,0 @@ -/* Exported functions from alias.cc - Copyright (C) 2004-2023 Free Software Foundation, Inc. - -This file is part of GCC. - -GCC is free software; you can redistribute it and/or modify it under -the terms of the GNU General Public License as published by the Free -Software Foundation; either version 3, or (at your option) any later -version. - -GCC is distributed in the hope that it will be useful, but WITHOUT ANY -WARRANTY; without even the implied warranty of MERCHANTABILITY or -FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -for more details. - -You should have received a copy of the GNU General Public License -along with GCC; see the file COPYING3. If not see -. */ - -#ifndef GCC_ALIAS_H -#define GCC_ALIAS_H - -extern alias_set_type new_alias_set (void); -extern alias_set_type get_alias_set (tree); -extern alias_set_type get_deref_alias_set (tree); -extern alias_set_type get_varargs_alias_set (void); -extern alias_set_type get_frame_alias_set (void); -extern tree component_uses_parent_alias_set_from (const_tree); -extern bool ends_tbaa_access_path_p (const_tree); -extern bool alias_set_subset_of (alias_set_type, alias_set_type); -extern void record_alias_subset (alias_set_type, alias_set_type); -extern void record_component_aliases (tree); -extern int alias_sets_conflict_p (alias_set_type, alias_set_type); -extern int alias_sets_must_conflict_p (alias_set_type, alias_set_type); -extern int objects_must_conflict_p (tree, tree); -extern int nonoverlapping_memrefs_p (const_rtx, const_rtx, bool); -extern void dump_alias_stats_in_alias_c (FILE *s); -tree reference_alias_ptr_type (tree); -tree reference_alias_ptr_type_1 (tree *); -bool alias_ptr_types_compatible_p (tree, tree); -int compare_base_decls (tree, tree); -bool refs_same_for_tbaa_p (tree, tree); -bool mems_same_for_tbaa_p (rtx, rtx); - -/* This alias set can be used to force a memory to conflict with all - other memories, creating a barrier across which no memory reference - can move. Note that there are other legacy ways to create such - memory barriers, including an address of SCRATCH. */ -#define ALIAS_SET_MEMORY_BARRIER ((alias_set_type) -1) - -#endif /* GCC_ALIAS_H */ diff --git a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/align.h b/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/align.h deleted file mode 100644 index 5e94bd3e..00000000 --- a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/align.h +++ /dev/null @@ -1,83 +0,0 @@ -/* Alignment-related classes. - Copyright (C) 2018-2023 Free Software Foundation, Inc. - -This file is part of GCC. - -GCC is free software; you can redistribute it and/or modify it under -the terms of the GNU General Public License as published by the Free -Software Foundation; either version 3, or (at your option) any later -version. - -GCC is distributed in the hope that it will be useful, but WITHOUT ANY -WARRANTY; without even the implied warranty of MERCHANTABILITY or -FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -for more details. - -You should have received a copy of the GNU General Public License -along with GCC; see the file COPYING3. If not see -. */ - -/* Align flags tuple with alignment in log form and with a maximum skip. */ - -struct align_flags_tuple -{ - /* Values of the -falign-* flags: how much to align labels in code. - log is "align to 2^log" (so 0 means no alignment). - maxskip is the maximum allowed amount of padding to insert. */ - int log; - int maxskip; - - /* Normalize filled values so that maxskip is not bigger than 1 << log. */ - void normalize () - { - int n = (1 << log); - if (maxskip > n) - maxskip = n - 1; - } - - /* Return original value of an alignment flag. */ - int get_value () - { - return maxskip + 1; - } -}; - -/* Alignment flags is structure used as value of -align-* options. - It's used in target-dependant code. */ - -class align_flags -{ -public: - /* Default constructor. */ - align_flags (int log0 = 0, int maxskip0 = 0, int log1 = 0, int maxskip1 = 0) - { - levels[0].log = log0; - levels[0].maxskip = maxskip0; - levels[1].log = log1; - levels[1].maxskip = maxskip1; - normalize (); - } - - /* Normalize both components of align_flags. */ - void normalize () - { - for (unsigned i = 0; i < 2; i++) - levels[i].normalize (); - } - - /* Get alignment that is common bigger alignment of alignments F0 and F1. */ - static align_flags max (const align_flags f0, const align_flags f1) - { - int log0 = MAX (f0.levels[0].log, f1.levels[0].log); - int maxskip0 = MAX (f0.levels[0].maxskip, f1.levels[0].maxskip); - int log1 = MAX (f0.levels[1].log, f1.levels[1].log); - int maxskip1 = MAX (f0.levels[1].maxskip, f1.levels[1].maxskip); - return align_flags (log0, maxskip0, log1, maxskip1); - } - - align_flags_tuple levels[2]; -}; - -/* Define maximum supported code alignment. */ -#define MAX_CODE_ALIGN 16 -#define MAX_CODE_ALIGN_VALUE (1 << MAX_CODE_ALIGN) diff --git a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/all-tree.def b/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/all-tree.def deleted file mode 100644 index 791c7a8d..00000000 --- a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/all-tree.def +++ /dev/null @@ -1,8 +0,0 @@ -#include "tree.def" -END_OF_BASE_TREE_CODES -#include "c-family/c-common.def" -#include "ada/gcc-interface/ada-tree.def" -#include "cp/cp-tree.def" -#include "d/d-tree.def" -#include "m2/m2-tree.def" -#include "objc/objc-tree.def" diff --git a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/alloc-pool.h b/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/alloc-pool.h deleted file mode 100644 index e56709b7..00000000 --- a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/alloc-pool.h +++ /dev/null @@ -1,576 +0,0 @@ -/* Functions to support a pool of allocatable objects - Copyright (C) 1997-2023 Free Software Foundation, Inc. - Contributed by Daniel Berlin - -This file is part of GCC. - -GCC is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 3, or (at your option) -any later version. - -GCC is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GCC; see the file COPYING3. If not see -. */ -#ifndef ALLOC_POOL_H -#define ALLOC_POOL_H - -#include "memory-block.h" -#include "options.h" // for flag_checking - -extern void dump_alloc_pool_statistics (void); - -/* Flag indicates whether memory statistics are gathered any longer. */ -extern bool after_memory_report; - -typedef unsigned long ALLOC_POOL_ID_TYPE; - -/* Last used ID. */ -extern ALLOC_POOL_ID_TYPE last_id; - -/* Pool allocator memory usage. */ -class pool_usage: public mem_usage -{ -public: - /* Default contructor. */ - pool_usage (): m_element_size (0), m_pool_name ("") {} - /* Constructor. */ - pool_usage (size_t allocated, size_t times, size_t peak, - size_t instances, size_t element_size, - const char *pool_name) - : mem_usage (allocated, times, peak, instances), - m_element_size (element_size), - m_pool_name (pool_name) {} - - /* Sum the usage with SECOND usage. */ - pool_usage - operator+ (const pool_usage &second) - { - return pool_usage (m_allocated + second.m_allocated, - m_times + second.m_times, - m_peak + second.m_peak, - m_instances + second.m_instances, - m_element_size, m_pool_name); - } - - /* Dump usage coupled to LOC location, where TOTAL is sum of all rows. */ - inline void - dump (mem_location *loc, const mem_usage &total) const - { - char *location_string = loc->to_string (); - - fprintf (stderr, "%-32s%-48s " PRsa(5) PRsa(9) ":%5.1f%%" - PRsa(9) PRsa(9) ":%5.1f%%%12" PRIu64 "\n", - m_pool_name, location_string, - SIZE_AMOUNT (m_instances), - SIZE_AMOUNT (m_allocated), - get_percent (m_allocated, total.m_allocated), - SIZE_AMOUNT (m_peak), - SIZE_AMOUNT (m_times), - get_percent (m_times, total.m_times), - (uint64_t)m_element_size); - - free (location_string); - } - - /* Dump header with NAME. */ - static inline void - dump_header (const char *name) - { - fprintf (stderr, "%-32s%-48s %6s%11s%16s%17s%12s\n", "Pool name", name, - "Pools", "Leak", "Peak", "Times", "Elt size"); - } - - /* Dump footer. */ - inline void - dump_footer () - { - fprintf (stderr, "%s" PRsa(82) PRsa(10) "\n", "Total", - SIZE_AMOUNT (m_instances), SIZE_AMOUNT (m_allocated)); - } - - /* Element size. */ - size_t m_element_size; - /* Pool name. */ - const char *m_pool_name; -}; - -extern mem_alloc_description pool_allocator_usage; - -#if 0 -/* If a pool with custom block size is needed, one might use the following - template. An instance of this template can be used as a parameter for - instantiating base_pool_allocator template: - - typedef custom_block_allocator <128*1024> huge_block_allocator; - ... - static base_pool_allocator - value_pool ("value", 16384); - - Right now it's not used anywhere in the code, and is given here as an - example). */ - -template -class custom_block_allocator -{ -public: - static const size_t block_size = BlockSize; - - static inline void * - allocate () ATTRIBUTE_MALLOC - { - return XNEWVEC (char, BlockSize); - } - - static inline void - release (void *block) - { - XDELETEVEC (block); - } -}; -#endif - -/* Generic pool allocator. */ - -template -class base_pool_allocator -{ -public: - /* Default constructor for pool allocator called NAME. */ - base_pool_allocator (const char *name, size_t size CXX_MEM_STAT_INFO); - ~base_pool_allocator (); - void release (); - void release_if_empty (); - void *allocate () ATTRIBUTE_MALLOC; - void remove (void *object); - size_t num_elts_current (); - -private: - struct allocation_pool_list - { - allocation_pool_list *next; - }; - - /* Initialize a pool allocator. */ - void initialize (); - - struct allocation_object - { -#if CHECKING_P - /* The ID of alloc pool which the object was allocated from. */ - ALLOC_POOL_ID_TYPE id; -#endif - - union - { - /* The data of the object. */ - char data[1]; - - /* Because we want any type of data to be well aligned after the ID, - the following elements are here. They are never accessed so - the allocated object may be even smaller than this structure. - We do not care about alignment for floating-point types. */ - char *align_p; - int64_t align_i; - } u; - -#if CHECKING_P - static inline allocation_object* - get_instance (void *data_ptr) - { - return (allocation_object *)(((char *)(data_ptr)) - - offsetof (allocation_object, - u.data)); - } -#endif - - static inline void* - get_data (void *instance_ptr) - { - return (void*)(((allocation_object *) instance_ptr)->u.data); - } - }; - - /* Align X to 8. */ - static inline size_t - align_eight (size_t x) - { - return (((x+7) >> 3) << 3); - } - - const char *m_name; - ALLOC_POOL_ID_TYPE m_id; - size_t m_elts_per_block; - - /* These are the elements that have been allocated at least once - and freed. */ - allocation_pool_list *m_returned_free_list; - - /* These are the elements that have not yet been allocated out of - the last block obtained from XNEWVEC. */ - char* m_virgin_free_list; - - /* The number of elements in the virgin_free_list that can be - allocated before needing another block. */ - size_t m_virgin_elts_remaining; - /* The number of elements that are allocated. */ - size_t m_elts_allocated; - /* The number of elements that are released. */ - size_t m_elts_free; - /* The number of allocated blocks. */ - size_t m_blocks_allocated; - /* List of blocks that are used to allocate new objects. */ - allocation_pool_list *m_block_list; - /* Size of a pool elements in bytes. */ - size_t m_elt_size; - /* Size in bytes that should be allocated for each element. */ - size_t m_size; - /* Flag if a pool allocator is initialized. */ - bool m_initialized; - /* Memory allocation location. */ - mem_location m_location; -}; - -template -inline -base_pool_allocator ::base_pool_allocator ( - const char *name, size_t size MEM_STAT_DECL): - m_name (name), m_id (0), m_elts_per_block (0), m_returned_free_list (NULL), - m_virgin_free_list (NULL), m_virgin_elts_remaining (0), m_elts_allocated (0), - m_elts_free (0), m_blocks_allocated (0), m_block_list (NULL), m_elt_size (0), - m_size (size), m_initialized (false), - m_location (ALLOC_POOL_ORIGIN, false PASS_MEM_STAT) {} - -/* Initialize a pool allocator. */ - -template -inline void -base_pool_allocator ::initialize () -{ - gcc_checking_assert (!m_initialized); - m_initialized = true; - - size_t size = m_size; - - gcc_checking_assert (m_name); - gcc_checking_assert (m_size); - - /* Make size large enough to store the list header. */ - if (size < sizeof (allocation_pool_list*)) - size = sizeof (allocation_pool_list*); - - /* Now align the size to a multiple of 8. */ - size = align_eight (size); - - /* Add the aligned size of ID. */ - size += offsetof (allocation_object, u.data); - - m_elt_size = size; - - if (GATHER_STATISTICS) - { - pool_usage *u = pool_allocator_usage.register_descriptor - (this, new mem_location (m_location)); - - u->m_element_size = m_elt_size; - u->m_pool_name = m_name; - } - - /* List header size should be a multiple of 8. */ - size_t header_size = align_eight (sizeof (allocation_pool_list)); - - m_elts_per_block = (TBlockAllocator::block_size - header_size) / size; - gcc_checking_assert (m_elts_per_block != 0); - - /* Increase the last used ID and use it for this pool. - ID == 0 is used for free elements of pool so skip it. */ - last_id++; - if (last_id == 0) - last_id++; - - m_id = last_id; -} - -/* Free all memory allocated for the given memory pool. */ -template -inline void -base_pool_allocator ::release () -{ - if (!m_initialized) - return; - - allocation_pool_list *block, *next_block; - - /* Free each block allocated to the pool. */ - for (block = m_block_list; block != NULL; block = next_block) - { - next_block = block->next; - TBlockAllocator::release (block); - } - - if (GATHER_STATISTICS && !after_memory_report) - { - pool_allocator_usage.release_instance_overhead - (this, (m_elts_allocated - m_elts_free) * m_elt_size); - } - - m_returned_free_list = NULL; - m_virgin_free_list = NULL; - m_virgin_elts_remaining = 0; - m_elts_allocated = 0; - m_elts_free = 0; - m_blocks_allocated = 0; - m_block_list = NULL; -} - -template -inline void -base_pool_allocator ::release_if_empty () -{ - if (m_elts_free == m_elts_allocated) - release (); -} - -template -inline base_pool_allocator ::~base_pool_allocator () -{ - release (); -} - -/* Allocates one element from the pool specified. */ -template -inline void* -base_pool_allocator ::allocate () -{ - if (!m_initialized) - initialize (); - - allocation_pool_list *header; -#ifdef ENABLE_VALGRIND_ANNOTATIONS - int size; -#endif - - if (GATHER_STATISTICS) - { - pool_allocator_usage.register_instance_overhead (m_elt_size, this); - } - -#ifdef ENABLE_VALGRIND_ANNOTATIONS - size = m_elt_size - offsetof (allocation_object, u.data); -#endif - - /* If there are no more free elements, make some more!. */ - if (!m_returned_free_list) - { - char *block; - if (!m_virgin_elts_remaining) - { - allocation_pool_list *block_header; - - /* Make the block. */ - block = reinterpret_cast (TBlockAllocator::allocate ()); - block_header = new (block) allocation_pool_list; - block += align_eight (sizeof (allocation_pool_list)); - - /* Throw it on the block list. */ - block_header->next = m_block_list; - m_block_list = block_header; - - /* Make the block available for allocation. */ - m_virgin_free_list = block; - m_virgin_elts_remaining = m_elts_per_block; - - /* Also update the number of elements we have free/allocated, and - increment the allocated block count. */ - m_elts_allocated += m_elts_per_block; - m_elts_free += m_elts_per_block; - m_blocks_allocated += 1; - } - - /* We now know that we can take the first elt off the virgin list and - put it on the returned list. */ - block = m_virgin_free_list; - header = (allocation_pool_list*) allocation_object::get_data (block); - header->next = NULL; - - /* Mark the element to be free. */ -#if CHECKING_P - ((allocation_object*) block)->id = 0; -#endif - VALGRIND_DISCARD (VALGRIND_MAKE_MEM_NOACCESS (header,size)); - m_returned_free_list = header; - m_virgin_free_list += m_elt_size; - m_virgin_elts_remaining--; - - } - - /* Pull the first free element from the free list, and return it. */ - header = m_returned_free_list; - VALGRIND_DISCARD (VALGRIND_MAKE_MEM_DEFINED (header, sizeof (*header))); - m_returned_free_list = header->next; - m_elts_free--; - - /* Set the ID for element. */ -#if CHECKING_P - allocation_object::get_instance (header)->id = m_id; -#endif - VALGRIND_DISCARD (VALGRIND_MAKE_MEM_UNDEFINED (header, size)); - - return (void *)(header); -} - -/* Puts PTR back on POOL's free list. */ -template -inline void -base_pool_allocator ::remove (void *object) -{ - int size = m_elt_size - offsetof (allocation_object, u.data); - - if (flag_checking) - { - gcc_assert (m_initialized); - gcc_assert (object - /* Check if we free more than we allocated. */ - && m_elts_free < m_elts_allocated); -#if CHECKING_P - /* Check whether the PTR was allocated from POOL. */ - gcc_assert (m_id == allocation_object::get_instance (object)->id); -#endif - - memset (object, 0xaf, size); - } - -#if CHECKING_P - /* Mark the element to be free. */ - allocation_object::get_instance (object)->id = 0; -#endif - - allocation_pool_list *header = new (object) allocation_pool_list; - header->next = m_returned_free_list; - m_returned_free_list = header; - VALGRIND_DISCARD (VALGRIND_MAKE_MEM_NOACCESS (object, size)); - m_elts_free++; - - if (GATHER_STATISTICS) - { - pool_allocator_usage.release_instance_overhead (this, m_elt_size); - } -} - -/* Number of elements currently active (not returned to pool). Used for cheap - consistency checks. */ -template -inline size_t -base_pool_allocator ::num_elts_current () -{ - return m_elts_allocated - m_elts_free; -} - -/* Specialization of base_pool_allocator which should be used in most cases. - Another specialization may be needed, if object size is greater than - memory_block_pool::block_size (64 KB). */ -typedef base_pool_allocator pool_allocator; - -/* Type based memory pool allocator. */ -template -class object_allocator -{ -public: - /* Default constructor for pool allocator called NAME. */ - object_allocator (const char *name CXX_MEM_STAT_INFO): - m_allocator (name, sizeof (T) PASS_MEM_STAT) {} - - inline void - release () - { - m_allocator.release (); - } - - inline void release_if_empty () - { - m_allocator.release_if_empty (); - } - - - /* Allocate memory for instance of type T and call a default constructor. */ - - inline T * - allocate () ATTRIBUTE_MALLOC - { - return ::new (m_allocator.allocate ()) T; - } - - /* Allocate memory for instance of type T and return void * that - could be used in situations where a default constructor is not provided - by the class T. */ - - inline void * - allocate_raw () ATTRIBUTE_MALLOC - { - return m_allocator.allocate (); - } - - inline void - remove (T *object) - { - /* Call destructor. */ - object->~T (); - - m_allocator.remove (object); - } - - inline void - remove_raw (void *object) - { - m_allocator.remove (object); - } - - inline size_t - num_elts_current () - { - return m_allocator.num_elts_current (); - } - -private: - pool_allocator m_allocator; -}; - -/* Store information about each particular alloc_pool. Note that this - will underestimate the amount the amount of storage used by a small amount: - 1) The overhead in a pool is not accounted for. - 2) The unallocated elements in a block are not accounted for. Note - that this can at worst case be one element smaller that the block - size for that pool. */ -struct alloc_pool_descriptor -{ - /* Number of pools allocated. */ - unsigned long created; - /* Gross allocated storage. */ - unsigned long allocated; - /* Amount of currently active storage. */ - unsigned long current; - /* Peak amount of storage used. */ - unsigned long peak; - /* Size of element in the pool. */ - int elt_size; -}; - -/* Helper for classes that do not provide default ctor. */ - -template -inline void * -operator new (size_t, object_allocator &a) -{ - return a.allocate_raw (); -} - -/* Hashtable mapping alloc_pool names to descriptors. */ -extern hash_map *alloc_pool_hash; - - -#endif diff --git a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/ansidecl.h b/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/ansidecl.h deleted file mode 100644 index 39375e17..00000000 --- a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/ansidecl.h +++ /dev/null @@ -1,354 +0,0 @@ -/* Compiler compatibility macros - Copyright (C) 1991-2023 Free Software Foundation, Inc. - This file is part of the GNU C Library. - -This program is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program; if not, write to the Free Software -Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */ - -/* For ease of writing code which uses GCC extensions but needs to be - portable to other compilers, we provide the GCC_VERSION macro that - simplifies testing __GNUC__ and __GNUC_MINOR__ together, and various - wrappers around __attribute__. Also, __extension__ will be #defined - to nothing if it doesn't work. See below. */ - -#ifndef _ANSIDECL_H -#define _ANSIDECL_H 1 - -#ifdef __cplusplus -extern "C" { -#endif - -/* Every source file includes this file, - so they will all get the switch for lint. */ -/* LINTLIBRARY */ - -/* Using MACRO(x,y) in cpp #if conditionals does not work with some - older preprocessors. Thus we can't define something like this: - -#define HAVE_GCC_VERSION(MAJOR, MINOR) \ - (__GNUC__ > (MAJOR) || (__GNUC__ == (MAJOR) && __GNUC_MINOR__ >= (MINOR))) - -and then test "#if HAVE_GCC_VERSION(2,7)". - -So instead we use the macro below and test it against specific values. */ - -/* This macro simplifies testing whether we are using gcc, and if it - is of a particular minimum version. (Both major & minor numbers are - significant.) This macro will evaluate to 0 if we are not using - gcc at all. */ -#ifndef GCC_VERSION -#define GCC_VERSION (__GNUC__ * 1000 + __GNUC_MINOR__) -#endif /* GCC_VERSION */ - -/* inline requires special treatment; it's in C99, and GCC >=2.7 supports - it too, but it's not in C89. */ -#undef inline -#if (!defined(__cplusplus) && __STDC_VERSION__ >= 199901L) || defined(__cplusplus) || (defined(__SUNPRO_C) && defined(__C99FEATURES__)) -/* it's a keyword */ -#else -# if GCC_VERSION >= 2007 -# define inline __inline__ /* __inline__ prevents -pedantic warnings */ -# else -# define inline /* nothing */ -# endif -#endif - -/* Define macros for some gcc attributes. This permits us to use the - macros freely, and know that they will come into play for the - version of gcc in which they are supported. */ - -#if (GCC_VERSION < 2007) -# define __attribute__(x) -#endif - -/* Attribute __malloc__ on functions was valid as of gcc 2.96. */ -#ifndef ATTRIBUTE_MALLOC -# if (GCC_VERSION >= 2096) -# define ATTRIBUTE_MALLOC __attribute__ ((__malloc__)) -# else -# define ATTRIBUTE_MALLOC -# endif /* GNUC >= 2.96 */ -#endif /* ATTRIBUTE_MALLOC */ - -/* Attributes on labels were valid as of gcc 2.93 and g++ 4.5. For - g++ an attribute on a label must be followed by a semicolon. */ -#ifndef ATTRIBUTE_UNUSED_LABEL -# ifndef __cplusplus -# if GCC_VERSION >= 2093 -# define ATTRIBUTE_UNUSED_LABEL ATTRIBUTE_UNUSED -# else -# define ATTRIBUTE_UNUSED_LABEL -# endif -# else -# if GCC_VERSION >= 4005 -# define ATTRIBUTE_UNUSED_LABEL ATTRIBUTE_UNUSED ; -# else -# define ATTRIBUTE_UNUSED_LABEL -# endif -# endif -#endif - -/* Similarly to ARG_UNUSED below. Prior to GCC 3.4, the C++ frontend - couldn't parse attributes placed after the identifier name, and now - the entire compiler is built with C++. */ -#ifndef ATTRIBUTE_UNUSED -#if GCC_VERSION >= 3004 -# define ATTRIBUTE_UNUSED __attribute__ ((__unused__)) -#else -#define ATTRIBUTE_UNUSED -#endif -#endif /* ATTRIBUTE_UNUSED */ - -/* Before GCC 3.4, the C++ frontend couldn't parse attributes placed after the - identifier name. */ -#if ! defined(__cplusplus) || (GCC_VERSION >= 3004) -# define ARG_UNUSED(NAME) NAME ATTRIBUTE_UNUSED -#else /* !__cplusplus || GNUC >= 3.4 */ -# define ARG_UNUSED(NAME) NAME -#endif /* !__cplusplus || GNUC >= 3.4 */ - -#ifndef ATTRIBUTE_NORETURN -#define ATTRIBUTE_NORETURN __attribute__ ((__noreturn__)) -#endif /* ATTRIBUTE_NORETURN */ - -/* Attribute `nonnull' was valid as of gcc 3.3. */ -#ifndef ATTRIBUTE_NONNULL -# if (GCC_VERSION >= 3003) -# define ATTRIBUTE_NONNULL(m) __attribute__ ((__nonnull__ (m))) -# else -# define ATTRIBUTE_NONNULL(m) -# endif /* GNUC >= 3.3 */ -#endif /* ATTRIBUTE_NONNULL */ - -/* Attribute `returns_nonnull' was valid as of gcc 4.9. */ -#ifndef ATTRIBUTE_RETURNS_NONNULL -# if (GCC_VERSION >= 4009) -# define ATTRIBUTE_RETURNS_NONNULL __attribute__ ((__returns_nonnull__)) -# else -# define ATTRIBUTE_RETURNS_NONNULL -# endif /* GNUC >= 4.9 */ -#endif /* ATTRIBUTE_RETURNS_NONNULL */ - -/* Attribute `pure' was valid as of gcc 3.0. */ -#ifndef ATTRIBUTE_PURE -# if (GCC_VERSION >= 3000) -# define ATTRIBUTE_PURE __attribute__ ((__pure__)) -# else -# define ATTRIBUTE_PURE -# endif /* GNUC >= 3.0 */ -#endif /* ATTRIBUTE_PURE */ - -/* Use ATTRIBUTE_PRINTF when the format specifier must not be NULL. - This was the case for the `printf' format attribute by itself - before GCC 3.3, but as of 3.3 we need to add the `nonnull' - attribute to retain this behavior. */ -#ifndef ATTRIBUTE_PRINTF -#define ATTRIBUTE_PRINTF(m, n) __attribute__ ((__format__ (__printf__, m, n))) ATTRIBUTE_NONNULL(m) -#define ATTRIBUTE_PRINTF_1 ATTRIBUTE_PRINTF(1, 2) -#define ATTRIBUTE_PRINTF_2 ATTRIBUTE_PRINTF(2, 3) -#define ATTRIBUTE_PRINTF_3 ATTRIBUTE_PRINTF(3, 4) -#define ATTRIBUTE_PRINTF_4 ATTRIBUTE_PRINTF(4, 5) -#define ATTRIBUTE_PRINTF_5 ATTRIBUTE_PRINTF(5, 6) -#endif /* ATTRIBUTE_PRINTF */ - -/* Use ATTRIBUTE_FPTR_PRINTF when the format attribute is to be set on - a function pointer. Format attributes were allowed on function - pointers as of gcc 3.1. */ -#ifndef ATTRIBUTE_FPTR_PRINTF -# if (GCC_VERSION >= 3001) -# define ATTRIBUTE_FPTR_PRINTF(m, n) ATTRIBUTE_PRINTF(m, n) -# else -# define ATTRIBUTE_FPTR_PRINTF(m, n) -# endif /* GNUC >= 3.1 */ -# define ATTRIBUTE_FPTR_PRINTF_1 ATTRIBUTE_FPTR_PRINTF(1, 2) -# define ATTRIBUTE_FPTR_PRINTF_2 ATTRIBUTE_FPTR_PRINTF(2, 3) -# define ATTRIBUTE_FPTR_PRINTF_3 ATTRIBUTE_FPTR_PRINTF(3, 4) -# define ATTRIBUTE_FPTR_PRINTF_4 ATTRIBUTE_FPTR_PRINTF(4, 5) -# define ATTRIBUTE_FPTR_PRINTF_5 ATTRIBUTE_FPTR_PRINTF(5, 6) -#endif /* ATTRIBUTE_FPTR_PRINTF */ - -/* Use ATTRIBUTE_NULL_PRINTF when the format specifier may be NULL. A - NULL format specifier was allowed as of gcc 3.3. */ -#ifndef ATTRIBUTE_NULL_PRINTF -# if (GCC_VERSION >= 3003) -# define ATTRIBUTE_NULL_PRINTF(m, n) __attribute__ ((__format__ (__printf__, m, n))) -# else -# define ATTRIBUTE_NULL_PRINTF(m, n) -# endif /* GNUC >= 3.3 */ -# define ATTRIBUTE_NULL_PRINTF_1 ATTRIBUTE_NULL_PRINTF(1, 2) -# define ATTRIBUTE_NULL_PRINTF_2 ATTRIBUTE_NULL_PRINTF(2, 3) -# define ATTRIBUTE_NULL_PRINTF_3 ATTRIBUTE_NULL_PRINTF(3, 4) -# define ATTRIBUTE_NULL_PRINTF_4 ATTRIBUTE_NULL_PRINTF(4, 5) -# define ATTRIBUTE_NULL_PRINTF_5 ATTRIBUTE_NULL_PRINTF(5, 6) -#endif /* ATTRIBUTE_NULL_PRINTF */ - -/* Attribute `sentinel' was valid as of gcc 3.5. */ -#ifndef ATTRIBUTE_SENTINEL -# if (GCC_VERSION >= 3005) -# define ATTRIBUTE_SENTINEL __attribute__ ((__sentinel__)) -# else -# define ATTRIBUTE_SENTINEL -# endif /* GNUC >= 3.5 */ -#endif /* ATTRIBUTE_SENTINEL */ - - -#ifndef ATTRIBUTE_ALIGNED_ALIGNOF -# if (GCC_VERSION >= 3000) -# define ATTRIBUTE_ALIGNED_ALIGNOF(m) __attribute__ ((__aligned__ (__alignof__ (m)))) -# else -# define ATTRIBUTE_ALIGNED_ALIGNOF(m) -# endif /* GNUC >= 3.0 */ -#endif /* ATTRIBUTE_ALIGNED_ALIGNOF */ - -/* Useful for structures whose layout must match some binary specification - regardless of the alignment and padding qualities of the compiler. */ -#ifndef ATTRIBUTE_PACKED -# define ATTRIBUTE_PACKED __attribute__ ((packed)) -#endif - -/* Attribute `hot' and `cold' was valid as of gcc 4.3. */ -#ifndef ATTRIBUTE_COLD -# if (GCC_VERSION >= 4003) -# define ATTRIBUTE_COLD __attribute__ ((__cold__)) -# else -# define ATTRIBUTE_COLD -# endif /* GNUC >= 4.3 */ -#endif /* ATTRIBUTE_COLD */ -#ifndef ATTRIBUTE_HOT -# if (GCC_VERSION >= 4003) -# define ATTRIBUTE_HOT __attribute__ ((__hot__)) -# else -# define ATTRIBUTE_HOT -# endif /* GNUC >= 4.3 */ -#endif /* ATTRIBUTE_HOT */ - -/* Attribute 'no_sanitize_undefined' was valid as of gcc 4.9. */ -#ifndef ATTRIBUTE_NO_SANITIZE_UNDEFINED -# if (GCC_VERSION >= 4009) -# define ATTRIBUTE_NO_SANITIZE_UNDEFINED __attribute__ ((no_sanitize_undefined)) -# else -# define ATTRIBUTE_NO_SANITIZE_UNDEFINED -# endif /* GNUC >= 4.9 */ -#endif /* ATTRIBUTE_NO_SANITIZE_UNDEFINED */ - -/* Attribute 'nonstring' was valid as of gcc 8. */ -#ifndef ATTRIBUTE_NONSTRING -# if GCC_VERSION >= 8000 -# define ATTRIBUTE_NONSTRING __attribute__ ((__nonstring__)) -# else -# define ATTRIBUTE_NONSTRING -# endif -#endif - -/* Attribute `alloc_size' was valid as of gcc 4.3. */ -#ifndef ATTRIBUTE_RESULT_SIZE_1 -# if (GCC_VERSION >= 4003) -# define ATTRIBUTE_RESULT_SIZE_1 __attribute__ ((alloc_size (1))) -# else -# define ATTRIBUTE_RESULT_SIZE_1 -#endif -#endif - -#ifndef ATTRIBUTE_RESULT_SIZE_2 -# if (GCC_VERSION >= 4003) -# define ATTRIBUTE_RESULT_SIZE_2 __attribute__ ((alloc_size (2))) -# else -# define ATTRIBUTE_RESULT_SIZE_2 -#endif -#endif - -#ifndef ATTRIBUTE_RESULT_SIZE_1_2 -# if (GCC_VERSION >= 4003) -# define ATTRIBUTE_RESULT_SIZE_1_2 __attribute__ ((alloc_size (1, 2))) -# else -# define ATTRIBUTE_RESULT_SIZE_1_2 -#endif -#endif - -/* Attribute `warn_unused_result' was valid as of gcc 3.3. */ -#ifndef ATTRIBUTE_WARN_UNUSED_RESULT -# if GCC_VERSION >= 3003 -# define ATTRIBUTE_WARN_UNUSED_RESULT __attribute__ ((__warn_unused_result__)) -# else -# define ATTRIBUTE_WARN_UNUSED_RESULT -# endif -#endif - -/* We use __extension__ in some places to suppress -pedantic warnings - about GCC extensions. This feature didn't work properly before - gcc 2.8. */ -#if GCC_VERSION < 2008 -#define __extension__ -#endif - -/* This is used to declare a const variable which should be visible - outside of the current compilation unit. Use it as - EXPORTED_CONST int i = 1; - This is because the semantics of const are different in C and C++. - "extern const" is permitted in C but it looks strange, and gcc - warns about it when -Wc++-compat is not used. */ -#ifdef __cplusplus -#define EXPORTED_CONST extern const -#else -#define EXPORTED_CONST const -#endif - -/* Be conservative and only use enum bitfields with C++ or GCC. - FIXME: provide a complete autoconf test for buggy enum bitfields. */ - -#ifdef __cplusplus -#define ENUM_BITFIELD(TYPE) enum TYPE -#elif (GCC_VERSION > 2000) -#define ENUM_BITFIELD(TYPE) __extension__ enum TYPE -#else -#define ENUM_BITFIELD(TYPE) unsigned int -#endif - -#if defined(__cplusplus) && __cpp_constexpr >= 200704 -#define CONSTEXPR constexpr -#else -#define CONSTEXPR -#endif - -/* A macro to disable the copy constructor and assignment operator. - When building with C++11 and above, the methods are explicitly - deleted, causing a compile-time error if something tries to copy. - For C++03, this just declares the methods, causing a link-time - error if the methods end up called (assuming you don't - define them). For C++03, for best results, place the macro - under the private: access specifier, like this, - - class name_lookup - { - private: - DISABLE_COPY_AND_ASSIGN (name_lookup); - }; - - so that most attempts at copy are caught at compile-time. */ - -#if defined(__cplusplus) && __cplusplus >= 201103 -#define DISABLE_COPY_AND_ASSIGN(TYPE) \ - TYPE (const TYPE&) = delete; \ - void operator= (const TYPE &) = delete - #else -#define DISABLE_COPY_AND_ASSIGN(TYPE) \ - TYPE (const TYPE&); \ - void operator= (const TYPE &) -#endif /* __cplusplus >= 201103 */ - -#ifdef __cplusplus -} -#endif - -#endif /* ansidecl.h */ diff --git a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/array-traits.h b/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/array-traits.h deleted file mode 100644 index 4cc686fb..00000000 --- a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/array-traits.h +++ /dev/null @@ -1,48 +0,0 @@ -/* Descriptions of array-like objects. - Copyright (C) 2019-2023 Free Software Foundation, Inc. - -This file is part of GCC. - -GCC is free software; you can redistribute it and/or modify it under -the terms of the GNU General Public License as published by the Free -Software Foundation; either version 3, or (at your option) any later -version. - -GCC is distributed in the hope that it will be useful, but WITHOUT ANY -WARRANTY; without even the implied warranty of MERCHANTABILITY or -FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -for more details. - -You should have received a copy of the GNU General Public License -along with GCC; see the file COPYING3. If not see -. */ - -#ifndef GCC_ARRAY_TRAITS_H -#define GCC_ARRAY_TRAITS_H - -/* Implementation for single integers (and similar types). */ -template -struct scalar_array_traits -{ - typedef T element_type; - static const bool has_constant_size = true; - static const size_t constant_size = 1; - static const T *base (const T &x) { return &x; } - static size_t size (const T &) { return 1; } -}; - -template -struct array_traits : scalar_array_traits {}; - -/* Implementation for arrays with a static size. */ -template -struct array_traits -{ - typedef T element_type; - static const bool has_constant_size = true; - static const size_t constant_size = N; - static const T *base (const T (&x)[N]) { return x; } - static size_t size (const T (&)[N]) { return N; } -}; - -#endif diff --git a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/asan.h b/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/asan.h deleted file mode 100644 index 7d26b413..00000000 --- a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/asan.h +++ /dev/null @@ -1,264 +0,0 @@ -/* AddressSanitizer, a fast memory error detector. - Copyright (C) 2011-2023 Free Software Foundation, Inc. - Contributed by Kostya Serebryany - -This file is part of GCC. - -GCC is free software; you can redistribute it and/or modify it under -the terms of the GNU General Public License as published by the Free -Software Foundation; either version 3, or (at your option) any later -version. - -GCC is distributed in the hope that it will be useful, but WITHOUT ANY -WARRANTY; without even the implied warranty of MERCHANTABILITY or -FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -for more details. - -You should have received a copy of the GNU General Public License -along with GCC; see the file COPYING3. If not see -. */ - -#ifndef TREE_ASAN -#define TREE_ASAN - -extern void asan_function_start (void); -extern void asan_finish_file (void); -extern rtx_insn *asan_emit_stack_protection (rtx, rtx, unsigned int, - HOST_WIDE_INT *, tree *, int); -extern rtx_insn *asan_emit_allocas_unpoison (rtx, rtx, rtx_insn *); -extern bool asan_protect_global (tree, bool ignore_decl_rtl_set_p = false); -extern void initialize_sanitizer_builtins (void); -extern tree asan_dynamic_init_call (bool); -extern bool asan_expand_check_ifn (gimple_stmt_iterator *, bool); -extern bool asan_expand_mark_ifn (gimple_stmt_iterator *); -extern bool asan_expand_poison_ifn (gimple_stmt_iterator *, bool *, - hash_map &); -extern rtx asan_memfn_rtl (tree); - -extern void hwasan_record_frame_init (); -extern void hwasan_record_stack_var (rtx, rtx, poly_int64, poly_int64); -extern void hwasan_emit_prologue (); -extern rtx_insn *hwasan_emit_untag_frame (rtx, rtx); -extern rtx hwasan_get_frame_extent (); -extern rtx hwasan_frame_base (); -extern void hwasan_maybe_emit_frame_base_init (void); -extern bool stack_vars_base_reg_p (rtx); -extern uint8_t hwasan_current_frame_tag (); -extern void hwasan_increment_frame_tag (); -extern rtx hwasan_truncate_to_tag_size (rtx, rtx); -extern void hwasan_finish_file (void); -extern bool hwasan_sanitize_p (void); -extern bool hwasan_sanitize_stack_p (void); -extern bool hwasan_sanitize_allocas_p (void); -extern bool hwasan_expand_check_ifn (gimple_stmt_iterator *, bool); -extern bool hwasan_expand_mark_ifn (gimple_stmt_iterator *); -extern bool gate_hwasan (void); - -extern gimple_stmt_iterator create_cond_insert_point - (gimple_stmt_iterator *, bool, bool, bool, basic_block *, basic_block *); - -/* Alias set for accessing the shadow memory. */ -extern alias_set_type asan_shadow_set; - -/* Hash set of labels that are either used in a goto, or their address - has been taken. */ -extern hash_set *asan_used_labels; - -/* Shadow memory is found at - (address >> ASAN_SHADOW_SHIFT) + asan_shadow_offset (). */ -#define ASAN_SHADOW_SHIFT 3 -#define ASAN_SHADOW_GRANULARITY (1UL << ASAN_SHADOW_SHIFT) - -/* Red zone size, stack and global variables are padded by ASAN_RED_ZONE_SIZE - up to 2 * ASAN_RED_ZONE_SIZE - 1 bytes. */ -#define ASAN_RED_ZONE_SIZE 32 - -/* Stack variable use more compact red zones. The size includes also - size of variable itself. */ - -#define ASAN_MIN_RED_ZONE_SIZE 16 - -/* Shadow memory values for stack protection. Left is below protected vars, - the first pointer in stack corresponding to that offset contains - ASAN_STACK_FRAME_MAGIC word, the second pointer to a string describing - the frame. Middle is for padding in between variables, right is - above the last protected variable and partial immediately after variables - up to ASAN_RED_ZONE_SIZE alignment. */ -#define ASAN_STACK_MAGIC_LEFT 0xf1 -#define ASAN_STACK_MAGIC_MIDDLE 0xf2 -#define ASAN_STACK_MAGIC_RIGHT 0xf3 -#define ASAN_STACK_MAGIC_USE_AFTER_RET 0xf5 -#define ASAN_STACK_MAGIC_USE_AFTER_SCOPE 0xf8 - -#define ASAN_STACK_FRAME_MAGIC 0x41b58ab3 -#define ASAN_STACK_RETIRED_MAGIC 0x45e0360e - -#define ASAN_USE_AFTER_SCOPE_ATTRIBUTE "use after scope memory" - -/* NOTE: The values below and the hooks under targetm.memtag define an ABI and - are hard-coded to these values in libhwasan, hence they can't be changed - independently here. */ -/* How many bits are used to store a tag in a pointer. - The default version uses the entire top byte of a pointer (i.e. 8 bits). */ -#define HWASAN_TAG_SIZE targetm.memtag.tag_size () -/* Tag Granule of HWASAN shadow stack. - This is the size in real memory that each byte in the shadow memory refers - to. I.e. if a variable is X bytes long in memory then its tag in shadow - memory will span X / HWASAN_TAG_GRANULE_SIZE bytes. - Most variables will need to be aligned to this amount since two variables - that are neighbors in memory and share a tag granule would need to share the - same tag (the shared tag granule can only store one tag). */ -#define HWASAN_TAG_GRANULE_SIZE targetm.memtag.granule_size () -/* Define the tag for the stack background. - This defines what tag the stack pointer will be and hence what tag all - variables that are not given special tags are (e.g. spilled registers, - and parameters passed on the stack). */ -#define HWASAN_STACK_BACKGROUND gen_int_mode (0, QImode) - -/* Various flags for Asan builtins. */ -enum asan_check_flags -{ - ASAN_CHECK_STORE = 1 << 0, - ASAN_CHECK_SCALAR_ACCESS = 1 << 1, - ASAN_CHECK_NON_ZERO_LEN = 1 << 2, - ASAN_CHECK_LAST = 1 << 3 -}; - -/* Flags for Asan check builtins. */ -#define IFN_ASAN_MARK_FLAGS DEF(POISON), DEF(UNPOISON) - -enum asan_mark_flags -{ -#define DEF(X) ASAN_MARK_##X - IFN_ASAN_MARK_FLAGS -#undef DEF -}; - -/* Return true if STMT is ASAN_MARK with FLAG as first argument. */ -extern bool asan_mark_p (gimple *stmt, enum asan_mark_flags flag); - -/* Return the size of padding needed to insert after a protected - decl of SIZE. */ - -inline unsigned int -asan_red_zone_size (unsigned int size) -{ - unsigned int c = size & (ASAN_RED_ZONE_SIZE - 1); - return c ? 2 * ASAN_RED_ZONE_SIZE - c : ASAN_RED_ZONE_SIZE; -} - -/* Return how much a stack variable occupis on a stack - including a space for red zone. */ - -inline unsigned HOST_WIDE_INT -asan_var_and_redzone_size (unsigned HOST_WIDE_INT size) -{ - if (size <= 4) - return 16; - else if (size <= 16) - return 32; - else if (size <= 128) - return size + 32; - else if (size <= 512) - return size + 64; - else if (size <= 4096) - return size + 128; - else - return size + 256; -} - -extern bool set_asan_shadow_offset (const char *); - -extern bool asan_shadow_offset_set_p (); - -extern void set_sanitized_sections (const char *); - -extern bool asan_sanitize_stack_p (void); - -extern bool asan_sanitize_allocas_p (void); - -extern hash_set *asan_handled_variables; - -/* Return TRUE if builtin with given FCODE will be intercepted by - libasan. */ - -inline bool -asan_intercepted_p (enum built_in_function fcode) -{ - if (hwasan_sanitize_p ()) - return false; - - return fcode == BUILT_IN_INDEX - || fcode == BUILT_IN_MEMCHR - || fcode == BUILT_IN_MEMCMP - || fcode == BUILT_IN_MEMCPY - || fcode == BUILT_IN_MEMMOVE - || fcode == BUILT_IN_MEMSET - || fcode == BUILT_IN_STRCASECMP - || fcode == BUILT_IN_STRCAT - || fcode == BUILT_IN_STRCHR - || fcode == BUILT_IN_STRCMP - || fcode == BUILT_IN_STRCPY - || fcode == BUILT_IN_STRDUP - || fcode == BUILT_IN_STRLEN - || fcode == BUILT_IN_STRNCASECMP - || fcode == BUILT_IN_STRNCAT - || fcode == BUILT_IN_STRNCMP - || fcode == BUILT_IN_STRCSPN - || fcode == BUILT_IN_STRPBRK - || fcode == BUILT_IN_STRSPN - || fcode == BUILT_IN_STRSTR - || fcode == BUILT_IN_STRNCPY; -} - -/* Return TRUE if we should instrument for use-after-scope sanity checking. */ - -inline bool -asan_sanitize_use_after_scope (void) -{ - return (flag_sanitize_address_use_after_scope - && (asan_sanitize_stack_p () || hwasan_sanitize_stack_p ())); -} - -/* Return true if DECL should be guarded on the stack. */ - -inline bool -asan_protect_stack_decl (tree decl) -{ - return DECL_P (decl) - && (!DECL_ARTIFICIAL (decl) - || (asan_sanitize_use_after_scope () && TREE_ADDRESSABLE (decl))); -} - -/* Return true when flag_sanitize & FLAG is non-zero. If FN is non-null, - remove all flags mentioned in "no_sanitize" of DECL_ATTRIBUTES. */ - -inline bool -sanitize_flags_p (unsigned int flag, const_tree fn = current_function_decl) -{ - unsigned int result_flags = flag_sanitize & flag; - if (result_flags == 0) - return false; - - if (fn != NULL_TREE) - { - tree value = lookup_attribute ("no_sanitize", DECL_ATTRIBUTES (fn)); - if (value) - result_flags &= ~tree_to_uhwi (TREE_VALUE (value)); - } - - return result_flags; -} - -/* Return true when coverage sanitization should happend for FN function. */ - -inline bool -sanitize_coverage_p (const_tree fn = current_function_decl) -{ - return (flag_sanitize_coverage - && (fn == NULL_TREE - || lookup_attribute ("no_sanitize_coverage", - DECL_ATTRIBUTES (fn)) == NULL_TREE)); -} - -#endif /* TREE_ASAN */ diff --git a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/attr-fnspec.h b/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/attr-fnspec.h deleted file mode 100644 index acf1c5f6..00000000 --- a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/attr-fnspec.h +++ /dev/null @@ -1,304 +0,0 @@ -/* Handling of fnspec attribute specifiers - Copyright (C) 2008-2023 Free Software Foundation, Inc. - Contributed by Richard Guenther - - This file is part of GCC. - - GCC is free software; you can redistribute it and/or modify - under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 3 of the License, or - (at your option) any later version. - - GCC is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with GCC; see the file COPYING3. If not see - . */ - -/* Parse string of attribute "fn spec". This is an internal attribute - describing side effects of a function as follows: - - character 0 specifies properties of return values as follows: - '1'...'4' specifies number of argument function returns (as in memset) - 'm' specifies that returned value is noalias (as in malloc) - '.' specifies that nothing is known. - character 1 specifies additional function properties - ' ' specifies that nothing is known - 'p' or 'P' specifies that function is pure except for described side - effects. - 'c' or 'C' specifies that function is const except for described side - effects. - The uppercase letter in addition specifies that function clobbers errno. - - character 2+2i specifies properties of argument number i as follows: - 'x' or 'X' specifies that parameter is unused. - 'r' or 'R' specifies that the memory pointed to by the parameter is only - read and does not escape - 'o' or 'O' specifies that the memory pointed to by the parameter is only - written and does not escape - 'w' or 'W' specifies that the memory pointed to by the parameter does not - escape - '1'....'9' specifies that the memory pointed to by the parameter is - copied to memory pointed to by different parameter - (as in memcpy). - '.' specifies that nothing is known. - The uppercase letter in addition specifies that the memory pointed to - by the parameter is not dereferenced. For 'r' only read applies - transitively to pointers read from the pointed-to memory. - - character 3+2i specifies additional properties of argument number i - as follows: - ' ' nothing is known - 't' the size of value written/read corresponds to the size of - of the pointed-to type of the argument type - '1'...'9' specifies the size of value written/read is given by the - specified argument - */ - -#ifndef ATTR_FNSPEC_H -#define ATTR_FNSPEC_H - -class attr_fnspec -{ -private: - /* fn spec attribute string. */ - const char *str; - /* length of the fn spec string. */ - const unsigned len; - /* Number of characters specifying return value. */ - const unsigned int return_desc_size = 2; - /* Number of characters specifying size. */ - const unsigned int arg_desc_size = 2; - - /* Return start of specifier of arg i. */ - unsigned int arg_idx (int i) - { - return return_desc_size + arg_desc_size * i; - } - -public: - attr_fnspec (const char *str, unsigned len) - : str (str), len (len) - { - if (flag_checking) - verify (); - } - attr_fnspec (const char *str) - : str (str), len (strlen (str)) - { - if (flag_checking) - verify (); - } - attr_fnspec (const_tree identifier) - : str (TREE_STRING_POINTER (identifier)), - len (TREE_STRING_LENGTH (identifier)) - { - if (flag_checking) - verify (); - } - attr_fnspec () - : str (NULL), len (0) - { - } - - /* Return true if fn spec is known. */ - bool - known_p () - { - return len; - } - - /* Return true if arg I is specified. */ - bool - arg_specified_p (unsigned int i) - { - return len >= arg_idx (i + 1); - } - - /* True if the argument is not dereferenced recursively, thus only - directly reachable memory is read or written. */ - bool - arg_direct_p (unsigned int i) - { - unsigned int idx = arg_idx (i); - gcc_checking_assert (arg_specified_p (i)); - return str[idx] == 'R' || str[idx] == 'O' - || str[idx] == 'W' || (str[idx] >= '1' && str[idx] <= '9'); - } - - /* True if argument is used. */ - bool - arg_used_p (unsigned int i) - { - unsigned int idx = arg_idx (i); - gcc_checking_assert (arg_specified_p (i)); - return str[idx] != 'x' && str[idx] != 'X'; - } - - /* True if memory reached by the argument is readonly (not clobbered). */ - bool - arg_readonly_p (unsigned int i) - { - unsigned int idx = arg_idx (i); - gcc_checking_assert (arg_specified_p (i)); - return str[idx] == 'r' || str[idx] == 'R' || (str[idx] >= '1' && str[idx] <= '9'); - } - - /* True if memory reached by the argument is read (directly or indirectly) */ - bool - arg_maybe_read_p (unsigned int i) - { - unsigned int idx = arg_idx (i); - gcc_checking_assert (arg_specified_p (i)); - return str[idx] != 'o' && str[idx] != 'O' - && str[idx] != 'x' && str[idx] != 'X'; - } - - /* True if memory reached by the argument is written. - (directly or indirectly) */ - bool - arg_maybe_written_p (unsigned int i) - { - unsigned int idx = arg_idx (i); - gcc_checking_assert (arg_specified_p (i)); - return str[idx] != 'r' && str[idx] != 'R' - && (str[idx] < '1' || str[idx] > '9') - && str[idx] != 'x' && str[idx] != 'X'; - } - - /* Return true if load of memory pointed to by argument I is specified - by another argument. In this case set ARG. */ - bool - arg_max_access_size_given_by_arg_p (unsigned int i, unsigned int *arg) - { - unsigned int idx = arg_idx (i); - gcc_checking_assert (arg_specified_p (i)); - if (str[idx + 1] >= '1' && str[idx + 1] <= '9') - { - *arg = str[idx + 1] - '1'; - return true; - } - else - return false; - } - - /* Return true if the pointed-to type of the argument correspond to the - size of the memory acccess. */ - bool - arg_access_size_given_by_type_p (unsigned int i) - { - unsigned int idx = arg_idx (i); - gcc_checking_assert (arg_specified_p (i)); - return str[idx + 1] == 't'; - } - - /* Return true if memory pointer to by argument is copied to a memory - pointed to by a different argument (as in memcpy). - In this case set ARG. */ - bool - arg_copied_to_arg_p (unsigned int i, unsigned int *arg) - { - unsigned int idx = arg_idx (i); - gcc_checking_assert (arg_specified_p (i)); - if (str[idx] < '1' || str[idx] > '9') - return false; - *arg = str[idx] - '1'; - return true; - } - - - /* True if the argument does not escape. */ - bool - arg_noescape_p (unsigned int i) - { - unsigned int idx = arg_idx (i); - gcc_checking_assert (arg_specified_p (i)); - return str[idx] == 'w' || str[idx] == 'W' - || str[idx] == 'r' || str[idx] == 'R' - || str[idx] == 'o' || str[idx] == 'O'; - } - - /* Return true if function returns value of its parameter. If ARG_NO is - non-NULL return initialize it to the argument returned. */ - bool - returns_arg (unsigned int *arg_no) - { - if (str[0] >= '1' && str[0] <= '4') - { - if (arg_no) - *arg_no = str[0] - '1'; - return true; - } - return false; - } - - /* Nonzero if the return value does not alias with anything. Functions - with the malloc attribute have this set on their return value. */ - bool - returns_noalias_p () - { - return str[0] == 'm'; - } - - /* Return true if all memory read by the function is specified by fnspec. */ - bool - global_memory_read_p () - { - return str[1] != 'c' && str[1] != 'C'; - } - - /* Return true if all memory written by the function - is specified by fnspec. */ - bool - global_memory_written_p () - { - return str[1] != 'c' && str[1] != 'C' && str[1] != 'p' && str[1] != 'P'; - } - - bool - errno_maybe_written_p () - { - return str[1] == 'C' || str[1] == 'P'; - } - - /* Return EAF flags for arg I. */ - int - arg_eaf_flags (unsigned int i) - { - int flags = 0; - - if (!arg_specified_p (i)) - ; - else if (!arg_used_p (i)) - flags = EAF_UNUSED; - else - { - if (arg_direct_p (i)) - flags |= EAF_NO_INDIRECT_READ | EAF_NO_INDIRECT_ESCAPE - | EAF_NOT_RETURNED_INDIRECTLY | EAF_NO_INDIRECT_CLOBBER; - if (arg_noescape_p (i)) - flags |= EAF_NO_DIRECT_ESCAPE | EAF_NO_INDIRECT_ESCAPE; - if (arg_readonly_p (i)) - flags |= EAF_NO_DIRECT_CLOBBER | EAF_NO_INDIRECT_CLOBBER; - } - return flags; - } - - /* Check validity of the string. */ - void verify (); - - /* Return the fnspec string. */ - const char * - get_str () - { - return str; - } -}; - -extern attr_fnspec gimple_call_fnspec (const gcall *stmt); -extern attr_fnspec builtin_fnspec (tree); - -#endif /* ATTR_FNSPEC_H */ diff --git a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/attribs.h b/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/attribs.h deleted file mode 100644 index 84a43658..00000000 --- a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/attribs.h +++ /dev/null @@ -1,401 +0,0 @@ -/* Declarations and definitions dealing with attribute handling. - Copyright (C) 2013-2023 Free Software Foundation, Inc. - -This file is part of GCC. - -GCC is free software; you can redistribute it and/or modify it under -the terms of the GNU General Public License as published by the Free -Software Foundation; either version 3, or (at your option) any later -version. - -GCC is distributed in the hope that it will be useful, but WITHOUT ANY -WARRANTY; without even the implied warranty of MERCHANTABILITY or -FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -for more details. - -You should have received a copy of the GNU General Public License -along with GCC; see the file COPYING3. If not see -. */ - -#ifndef GCC_ATTRIBS_H -#define GCC_ATTRIBS_H - -extern const struct attribute_spec *lookup_attribute_spec (const_tree); -extern void free_attr_data (); -extern void init_attributes (void); - -/* Process the attributes listed in ATTRIBUTES and install them in *NODE, - which is either a DECL (including a TYPE_DECL) or a TYPE. If a DECL, - it should be modified in place; if a TYPE, a copy should be created - unless ATTR_FLAG_TYPE_IN_PLACE is set in FLAGS. FLAGS gives further - information, in the form of a bitwise OR of flags in enum attribute_flags - from tree.h. Depending on these flags, some attributes may be - returned to be applied at a later stage (for example, to apply - a decl attribute to the declaration rather than to its type). */ -extern tree decl_attributes (tree *, tree, int, tree = NULL_TREE); - -extern bool cxx11_attribute_p (const_tree); -extern tree get_attribute_name (const_tree); -extern tree get_attribute_namespace (const_tree); -extern void apply_tm_attr (tree, tree); -extern tree make_attribute (const char *, const char *, tree); -extern bool attribute_ignored_p (tree); -extern bool attribute_ignored_p (const attribute_spec *const); - -extern struct scoped_attributes* register_scoped_attributes (const struct attribute_spec *, - const char *, - bool = false); - -extern char *sorted_attr_string (tree); -extern bool common_function_versions (tree, tree); -extern tree make_dispatcher_decl (const tree); -extern bool is_function_default_version (const tree); -extern void handle_ignored_attributes_option (vec *); - -/* Return a type like TTYPE except that its TYPE_ATTRIBUTES - is ATTRIBUTE. - - Such modified types already made are recorded so that duplicates - are not made. */ - -extern tree build_type_attribute_variant (tree, tree); -extern tree build_decl_attribute_variant (tree, tree); -extern tree build_type_attribute_qual_variant (tree, tree, int); - -extern bool simple_cst_list_equal (const_tree, const_tree); -extern bool attribute_value_equal (const_tree, const_tree); - -/* Return 0 if the attributes for two types are incompatible, 1 if they - are compatible, and 2 if they are nearly compatible (which causes a - warning to be generated). */ -extern int comp_type_attributes (const_tree, const_tree); - -extern tree affects_type_identity_attributes (tree, bool = true); -extern tree restrict_type_identity_attributes_to (tree, tree); - -/* Default versions of target-overridable functions. */ -extern tree merge_decl_attributes (tree, tree); -extern tree merge_type_attributes (tree, tree); - -/* Remove any instances of attribute ATTR_NAME in LIST and return the - modified list. */ - -extern tree remove_attribute (const char *, tree); - -/* Similarly but also with specific attribute namespace. */ - -extern tree remove_attribute (const char *, const char *, tree); - -/* Given two attributes lists, return a list of their union. */ - -extern tree merge_attributes (tree, tree); - -/* Duplicate all attributes with name NAME in ATTR list to *ATTRS if - they are missing there. */ - -extern void duplicate_one_attribute (tree *, tree, const char *); - -/* Duplicate all attributes from user DECL to the corresponding - builtin that should be propagated. */ - -extern void copy_attributes_to_builtin (tree); - -/* Given two Windows decl attributes lists, possibly including - dllimport, return a list of their union . */ -extern tree merge_dllimport_decl_attributes (tree, tree); - -/* Handle a "dllimport" or "dllexport" attribute. */ -extern tree handle_dll_attribute (tree *, tree, tree, int, bool *); - -extern int attribute_list_equal (const_tree, const_tree); -extern int attribute_list_contained (const_tree, const_tree); - -/* The backbone of lookup_attribute(). ATTR_LEN is the string length - of ATTR_NAME, and LIST is not NULL_TREE. - - The function is called from lookup_attribute in order to optimize - for size. */ -extern tree private_lookup_attribute (const char *attr_name, size_t attr_len, - tree list); -extern tree private_lookup_attribute (const char *attr_ns, - const char *attr_name, - size_t attr_ns_len, size_t attr_len, - tree list); - -extern unsigned decls_mismatched_attributes (tree, tree, tree, - const char* const[], - pretty_printer*); - -extern void maybe_diag_alias_attributes (tree, tree); - -/* For a given string S of length L, strip leading and trailing '_' characters - so that we have a canonical form of attribute names. NB: This function may - change S and L. */ - -template -inline bool -canonicalize_attr_name (const char *&s, T &l) -{ - if (l > 4 && s[0] == '_' && s[1] == '_' && s[l - 1] == '_' && s[l - 2] == '_') - { - s += 2; - l -= 4; - return true; - } - return false; -} - -/* For a given IDENTIFIER_NODE, strip leading and trailing '_' characters - so that we have a canonical form of attribute names. */ - -inline tree -canonicalize_attr_name (tree attr_name) -{ - size_t l = IDENTIFIER_LENGTH (attr_name); - const char *s = IDENTIFIER_POINTER (attr_name); - - if (canonicalize_attr_name (s, l)) - return get_identifier_with_length (s, l); - - return attr_name; -} - -/* Compare attribute identifiers ATTR1 and ATTR2 with length ATTR1_LEN and - ATTR2_LEN. */ - -inline bool -cmp_attribs (const char *attr1, size_t attr1_len, - const char *attr2, size_t attr2_len) -{ - return attr1_len == attr2_len && strncmp (attr1, attr2, attr1_len) == 0; -} - -/* Compare attribute identifiers ATTR1 and ATTR2. */ - -inline bool -cmp_attribs (const char *attr1, const char *attr2) -{ - return cmp_attribs (attr1, strlen (attr1), attr2, strlen (attr2)); -} - -/* Given an identifier node IDENT and a string ATTR_NAME, return true - if the identifier node is a valid attribute name for the string. */ - -inline bool -is_attribute_p (const char *attr_name, const_tree ident) -{ - return cmp_attribs (attr_name, strlen (attr_name), - IDENTIFIER_POINTER (ident), IDENTIFIER_LENGTH (ident)); -} - -/* Given an attribute ATTR and a string ATTR_NS, return true - if the attribute namespace is valid for the string. ATTR_NS "" stands - for standard attribute (NULL get_attribute_namespace) or "gnu" - namespace. */ - -inline bool -is_attribute_namespace_p (const char *attr_ns, const_tree attr) -{ - tree ident = get_attribute_namespace (attr); - if (attr_ns == NULL) - return ident == NULL_TREE; - if (attr_ns[0]) - return ident && is_attribute_p (attr_ns, ident); - return ident == NULL_TREE || is_attribute_p ("gnu", ident); -} - -/* Given an attribute name ATTR_NAME and a list of attributes LIST, - return a pointer to the attribute's list element if the attribute - is part of the list, or NULL_TREE if not found. If the attribute - appears more than once, this only returns the first occurrence; the - TREE_CHAIN of the return value should be passed back in if further - occurrences are wanted. ATTR_NAME must be in the form 'text' (not - '__text__'). */ - -inline tree -lookup_attribute (const char *attr_name, tree list) -{ - if (CHECKING_P && attr_name[0] != '_') - { - size_t attr_len = strlen (attr_name); - gcc_checking_assert (!canonicalize_attr_name (attr_name, attr_len)); - } - /* In most cases, list is NULL_TREE. */ - if (list == NULL_TREE) - return NULL_TREE; - else - { - size_t attr_len = strlen (attr_name); - /* Do the strlen() before calling the out-of-line implementation. - In most cases attr_name is a string constant, and the compiler - will optimize the strlen() away. */ - return private_lookup_attribute (attr_name, attr_len, list); - } -} - -/* Similar to lookup_attribute, but also match the attribute namespace. - ATTR_NS "" stands for either standard attribute or "gnu" namespace. */ - -inline tree -lookup_attribute (const char *attr_ns, const char *attr_name, tree list) -{ - if (CHECKING_P && attr_name[0] != '_') - { - size_t attr_len = strlen (attr_name); - gcc_checking_assert (!canonicalize_attr_name (attr_name, attr_len)); - } - if (CHECKING_P && attr_ns && attr_ns[0] != '_') - { - size_t attr_ns_len = strlen (attr_ns); - gcc_checking_assert (!canonicalize_attr_name (attr_ns, attr_ns_len)); - } - /* In most cases, list is NULL_TREE. */ - if (list == NULL_TREE) - return NULL_TREE; - else - { - size_t attr_ns_len = attr_ns ? strlen (attr_ns) : 0; - size_t attr_len = strlen (attr_name); - /* Do the strlen() before calling the out-of-line implementation. - In most cases attr_name is a string constant, and the compiler - will optimize the strlen() away. */ - return private_lookup_attribute (attr_ns, attr_name, - attr_ns_len, attr_len, list); - } -} - -/* Given an attribute name ATTR_NAME and a list of attributes LIST, - return a pointer to the attribute's list first element if the attribute - starts with ATTR_NAME. ATTR_NAME must be in the form 'text' (not - '__text__'). */ - -inline tree -lookup_attribute_by_prefix (const char *attr_name, tree list) -{ - gcc_checking_assert (attr_name[0] != '_'); - /* In most cases, list is NULL_TREE. */ - if (list == NULL_TREE) - return NULL_TREE; - else - { - size_t attr_len = strlen (attr_name); - while (list) - { - tree name = get_attribute_name (list); - size_t ident_len = IDENTIFIER_LENGTH (name); - - if (attr_len > ident_len) - { - list = TREE_CHAIN (list); - continue; - } - - const char *p = IDENTIFIER_POINTER (name); - gcc_checking_assert (attr_len == 0 || p[0] != '_' - || (ident_len > 1 && p[1] != '_')); - if (strncmp (attr_name, p, attr_len) == 0) - break; - - list = TREE_CHAIN (list); - } - - return list; - } -} - -/* Description of a function argument declared with attribute access. - Used as an "iterator" over all such arguments in a function declaration - or call. */ - -struct attr_access -{ - /* The beginning and end of the internal string representation. */ - const char *str, *end; - /* The attribute pointer argument. */ - tree ptr; - /* For a declaration, a TREE_CHAIN of VLA bound expressions stored - in TREE_VALUE and their positions in the argument list (stored - in TREE_PURPOSE). Each expression may be a PARM_DECL or some - other DECL (for ordinary variables), or an EXPR for other - expressions (e.g., funcion calls). */ - tree size; - - /* The zero-based position of each of the formal function arguments. - For the optional SIZARG, UINT_MAX when not specified. For VLAs - with multiple variable bounds, SIZARG is the position corresponding - to the most significant bound in the argument list. Positions of - subsequent bounds are in the TREE_PURPOSE field of the SIZE chain. */ - unsigned ptrarg; - unsigned sizarg; - /* For internal specifications only, the constant minimum size of - the array, zero if not specified, and HWI_M1U for the unspecified - VLA [*] notation. Meaningless for external (explicit) access - specifications. */ - unsigned HOST_WIDE_INT minsize; - - /* The access mode. */ - access_mode mode; - - /* Set for an attribute added internally rather than by an explicit - declaration. */ - bool internal_p; - /* Set for the T[static MINSIZE] array notation for nonzero MINSIZE - less than HWI_M1U. */ - bool static_p; - - /* Return the number of specified VLA bounds. */ - unsigned vla_bounds (unsigned *) const; - - /* Return internal representation as STRING_CST. */ - tree to_internal_string () const; - - /* Return the human-readable representation of the external attribute - specification (as it might appear in the source code) as STRING_CST. */ - tree to_external_string () const; - - /* Return argument of array type formatted as a readable string. */ - std::string array_as_string (tree) const; - - /* Return the access mode corresponding to the character code. */ - static access_mode from_mode_char (char); - - /* Reset front end-specific attribute access data from attributes. */ - static void free_lang_data (tree); - - /* The character codes corresponding to all the access modes. */ - static constexpr char mode_chars[5] = { '-', 'r', 'w', 'x', '^' }; - - /* The strings corresponding to just the external access modes. */ - static constexpr char mode_names[4][11] = - { - "none", "read_only", "write_only", "read_write" - }; -}; - -inline access_mode -attr_access::from_mode_char (char c) -{ - switch (c) - { - case mode_chars[access_none]: return access_none; - case mode_chars[access_read_only]: return access_read_only; - case mode_chars[access_write_only]: return access_write_only; - case mode_chars[access_read_write]: return access_read_write; - case mode_chars[access_deferred]: return access_deferred; - } - gcc_unreachable (); -} - -/* Used to define rdwr_map below. */ -struct rdwr_access_hash: int_hash { }; - -/* A mapping between argument number corresponding to attribute access - mode (read_only, write_only, or read_write) and operands. */ -struct attr_access; -typedef hash_map rdwr_map; - -extern void init_attr_rdwr_indices (rdwr_map *, tree); -extern attr_access *get_parm_access (rdwr_map &, tree, - tree = current_function_decl); - -#endif // GCC_ATTRIBS_H diff --git a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/auto-host.h b/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/auto-host.h deleted file mode 100644 index d42705de..00000000 --- a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/auto-host.h +++ /dev/null @@ -1,2693 +0,0 @@ -/* auto-host.h. Generated from config.in by configure. */ -/* config.in. Generated from configure.ac by autoheader. */ - -/* Define if this compiler should be built as the offload target compiler. */ -#ifndef USED_FOR_TARGET -/* #undef ACCEL_COMPILER */ -#endif - - -/* Define if building universal (internal helper macro) */ -#ifndef USED_FOR_TARGET -/* #undef AC_APPLE_UNIVERSAL_BUILD */ -#endif - - -/* Define to the assembler option to enable compressed debug sections. */ -#ifndef USED_FOR_TARGET -#define AS_COMPRESS_DEBUG_OPTION "" -#endif - - -/* Define to the assembler option to disable compressed debug sections. */ -#ifndef USED_FOR_TARGET -#define AS_NO_COMPRESS_DEBUG_OPTION "" -#endif - - -/* Define to the root for URLs about GCC changes. */ -#ifndef USED_FOR_TARGET -#define CHANGES_ROOT_URL "https://gcc.gnu.org/" -#endif - - -/* Define as the number of bits in a byte, if `limits.h' doesn't. */ -#ifndef USED_FOR_TARGET -/* #undef CHAR_BIT */ -#endif - - -/* Define to 0/1 if you want more run-time sanity checks. This one gets a grab - bag of miscellaneous but relatively cheap checks. */ -#ifndef USED_FOR_TARGET -#define CHECKING_P 0 -#endif - - -/* Define 0/1 to force the choice for exception handling model. */ -#ifndef USED_FOR_TARGET -/* #undef CONFIG_SJLJ_EXCEPTIONS */ -#endif - - -/* Define to enable the use of a default assembler. */ -#ifndef USED_FOR_TARGET -/* #undef DEFAULT_ASSEMBLER */ -#endif - - -/* Define to enable the use of a default debug linker. */ -#ifndef USED_FOR_TARGET -/* #undef DEFAULT_DSYMUTIL */ -#endif - - -/* Define to enable the use of a default linker. */ -#ifndef USED_FOR_TARGET -/* #undef DEFAULT_LINKER */ -#endif - - -/* Define to larger than zero set the default stack clash protector size. */ -#ifndef USED_FOR_TARGET -#define DEFAULT_STK_CLASH_GUARD_SIZE 0 -#endif - - -/* Define if you want to use __cxa_atexit, rather than atexit, to register C++ - destructors for local statics and global objects. This is essential for - fully standards-compliant handling of destructors, but requires - __cxa_atexit in libc. */ -#ifndef USED_FOR_TARGET -#define DEFAULT_USE_CXA_ATEXIT 2 -#endif - - -/* The default for -fdiagnostics-color option */ -#ifndef USED_FOR_TARGET -#define DIAGNOSTICS_COLOR_DEFAULT DIAGNOSTICS_COLOR_AUTO -#endif - - -/* The default for -fdiagnostics-urls option */ -#ifndef USED_FOR_TARGET -#define DIAGNOSTICS_URLS_DEFAULT DIAGNOSTICS_URL_AUTO -#endif - - -/* Define to the root for documentation URLs. */ -#ifndef USED_FOR_TARGET -#define DOCUMENTATION_ROOT_URL "https://gcc.gnu.org/onlinedocs/" -#endif - - -/* Define to the dsymutil version. */ -#ifndef USED_FOR_TARGET -/* #undef DSYMUTIL_VERSION */ -#endif - - -/* Define 0/1 if static analyzer feature is enabled. */ -#ifndef USED_FOR_TARGET -#define ENABLE_ANALYZER 1 -#endif - - -/* Define if you want assertions enabled. This is a cheap check. */ -#ifndef USED_FOR_TARGET -#define ENABLE_ASSERT_CHECKING 1 -#endif - - -/* Define to 1 to specify that we are using the BID decimal floating point - format instead of DPD */ -#ifndef USED_FOR_TARGET -#define ENABLE_DECIMAL_BID_FORMAT 0 -#endif - - -/* Define to 1 to enable decimal float extension to C. */ -#ifndef USED_FOR_TARGET -#define ENABLE_DECIMAL_FLOAT 0 -#endif - - -/* Define if your target supports default PIE and it is enabled. */ -#ifndef USED_FOR_TARGET -/* #undef ENABLE_DEFAULT_PIE */ -#endif - - -/* Define if your target supports default stack protector and it is enabled. - */ -#ifndef USED_FOR_TARGET -/* #undef ENABLE_DEFAULT_SSP */ -#endif - - -/* Define if you want more run-time sanity checks for dataflow. */ -#ifndef USED_FOR_TARGET -/* #undef ENABLE_DF_CHECKING */ -#endif - - -/* Define to 0/1 if you want extra run-time checking that might affect code - generation. */ -#ifndef USED_FOR_TARGET -#define ENABLE_EXTRA_CHECKING 0 -#endif - - -/* Define to 1 to enable fixed-point arithmetic extension to C. */ -#ifndef USED_FOR_TARGET -#define ENABLE_FIXED_POINT 0 -#endif - - -/* Define if you want fold checked that it never destructs its argument. This - is quite expensive. */ -#ifndef USED_FOR_TARGET -/* #undef ENABLE_FOLD_CHECKING */ -#endif - - -/* Define if you want the garbage collector to operate in maximally paranoid - mode, validating the entire heap and collecting garbage at every - opportunity. This is extremely expensive. */ -#ifndef USED_FOR_TARGET -/* #undef ENABLE_GC_ALWAYS_COLLECT */ -#endif - - -/* Define if you want the garbage collector to do object poisoning and other - memory allocation checks. This is quite expensive. */ -#ifndef USED_FOR_TARGET -/* #undef ENABLE_GC_CHECKING */ -#endif - - -/* Define if you want operations on GIMPLE (the basic data structure of the - high-level optimizers) to be checked for dynamic type safety at runtime. - This is moderately expensive. */ -#ifndef USED_FOR_TARGET -/* #undef ENABLE_GIMPLE_CHECKING */ -#endif - - -/* Define if gcc should always pass --build-id to linker. */ -#ifndef USED_FOR_TARGET -/* #undef ENABLE_LD_BUILDID */ -#endif - - -/* Define to 1 to enable libquadmath support */ -#ifndef USED_FOR_TARGET -#define ENABLE_LIBQUADMATH_SUPPORT 1 -#endif - - -/* Define to enable LTO support. */ -#ifndef USED_FOR_TARGET -#define ENABLE_LTO 1 -#endif - - -/* If --with-multiarch option is used */ -#ifndef USED_FOR_TARGET -/* #undef ENABLE_MULTIARCH */ -#endif - - -/* Define to 1 if translation of program messages to the user's native - language is requested. */ -#ifndef USED_FOR_TARGET -/* #undef ENABLE_NLS */ -#endif - - -/* Define this to enable support for offloading. */ -#ifndef USED_FOR_TARGET -#define ENABLE_OFFLOADING 0 -#endif - - -/* Define to enable plugin support. */ -#ifndef USED_FOR_TARGET -#define ENABLE_PLUGIN 1 -#endif - - -/* Define if you want all operations on RTL (the basic data structure of the - optimizer and back end) to be checked for dynamic type safety at runtime. - This is quite expensive. */ -#ifndef USED_FOR_TARGET -/* #undef ENABLE_RTL_CHECKING */ -#endif - - -/* Define if you want RTL flag accesses to be checked against the RTL codes - that are supported for each access macro. This is relatively cheap. */ -#ifndef USED_FOR_TARGET -/* #undef ENABLE_RTL_FLAG_CHECKING */ -#endif - - -/* Define if you want runtime assertions enabled. This is a cheap check. */ -#define ENABLE_RUNTIME_CHECKING 1 - -/* Define to enable evaluating float expressions with double precision in - standards-compatible mode on s390 targets. */ -/* #undef ENABLE_S390_EXCESS_FLOAT_PRECISION */ - -/* Define if the -stdlib= option should be enabled. */ -#ifndef USED_FOR_TARGET -#define ENABLE_STDLIB_OPTION 0 -#endif - - -/* Define if you want all operations on trees (the basic data structure of the - front ends) to be checked for dynamic type safety at runtime. This is - moderately expensive. */ -#ifndef USED_FOR_TARGET -/* #undef ENABLE_TREE_CHECKING */ -#endif - - -/* Define if you want all gimple types to be verified after gimplifiation. - This is cheap. */ -#ifndef USED_FOR_TARGET -/* #undef ENABLE_TYPES_CHECKING */ -#endif - - -/* Define to get calls to the valgrind runtime enabled. */ -#ifndef USED_FOR_TARGET -/* #undef ENABLE_VALGRIND_ANNOTATIONS */ -#endif - - -/* Define if you want to run subprograms and generated programs through - valgrind (a memory checker). This is extremely expensive. */ -#ifndef USED_FOR_TARGET -/* #undef ENABLE_VALGRIND_CHECKING */ -#endif - - -/* Define 0/1 if vtable verification feature is enabled. */ -#ifndef USED_FOR_TARGET -#define ENABLE_VTABLE_VERIFY 0 -#endif - - -/* Define to 1 if installation paths should be looked up in the Windows - Registry. Ignored on non-Windows hosts. */ -#ifndef USED_FOR_TARGET -/* #undef ENABLE_WIN32_REGISTRY */ -#endif - - -/* Define to the name of a file containing a list of extra machine modes for - this architecture. */ -#ifndef USED_FOR_TARGET -#define EXTRA_MODES_FILE "config/m68k/m68k-modes.def" -#endif - - -/* Define to enable detailed memory allocation stats gathering. */ -#ifndef USED_FOR_TARGET -#define GATHER_STATISTICS 0 -#endif - - -/* Define to 1 if `TIOCGWINSZ' requires . */ -#ifndef USED_FOR_TARGET -/* #undef GWINSZ_IN_SYS_IOCTL */ -#endif - - -/* mcontext_t fields start with __ */ -#ifndef USED_FOR_TARGET -/* #undef HAS_MCONTEXT_T_UNDERSCORES */ -#endif - - -/* Define if AF_INET6 supported. */ -#ifndef USED_FOR_TARGET -#define HAVE_AF_INET6 1 -#endif - - -/* Define if AF_UNIX supported. */ -#ifndef USED_FOR_TARGET -#define HAVE_AF_UNIX 1 -#endif - - -/* Define if your assembler supports architecture modifiers. */ -#ifndef USED_FOR_TARGET -/* #undef HAVE_AS_ARCHITECTURE_MODIFIERS */ -#endif - - -/* Define if your avr assembler supports -mgcc-isr option. */ -#ifndef USED_FOR_TARGET -/* #undef HAVE_AS_AVR_MGCCISR_OPTION */ -#endif - - -/* Define if your avr assembler supports --mlink-relax option. */ -#ifndef USED_FOR_TARGET -/* #undef HAVE_AS_AVR_MLINK_RELAX_OPTION */ -#endif - - -/* Define if your avr assembler supports -mrmw option. */ -#ifndef USED_FOR_TARGET -/* #undef HAVE_AS_AVR_MRMW_OPTION */ -#endif - - -/* Define to the level of your assembler's compressed debug section support. - */ -#ifndef USED_FOR_TARGET -#define HAVE_AS_COMPRESS_DEBUG no -#endif - - -/* Define if your assembler supports the --debug-prefix-map option. */ -#ifndef USED_FOR_TARGET -/* #undef HAVE_AS_DEBUG_PREFIX_MAP */ -#endif - - -/* Define if your assembler supports .module. */ -#ifndef USED_FOR_TARGET -/* #undef HAVE_AS_DOT_MODULE */ -#endif - - -/* Define if your assembler supports DSPR1 mult. */ -#ifndef USED_FOR_TARGET -/* #undef HAVE_AS_DSPR1_MULT */ -#endif - - -/* Define if your assembler supports .dtprelword. */ -#ifndef USED_FOR_TARGET -/* #undef HAVE_AS_DTPRELWORD */ -#endif - - -/* Define if your assembler supports dwarf2 .file/.loc directives, and - preserves file table indices exactly as given. */ -#ifndef USED_FOR_TARGET -/* #undef HAVE_AS_DWARF2_DEBUG_LINE */ -#endif - - -/* Define if your assembler supports views in dwarf2 .loc directives. */ -#ifndef USED_FOR_TARGET -/* #undef HAVE_AS_DWARF2_DEBUG_VIEW */ -#endif - - -/* Define if your assembler supports eh_frame pcrel encoding. */ -#ifndef USED_FOR_TARGET -/* #undef HAVE_AS_EH_FRAME_PCREL_ENCODING_SUPPORT */ -#endif - - -/* Define if your assembler supports the R_PPC64_ENTRY relocation. */ -#ifndef USED_FOR_TARGET -/* #undef HAVE_AS_ENTRY_MARKERS */ -#endif - - -/* Define if your assembler supports explicit relocation. */ -#ifndef USED_FOR_TARGET -/* #undef HAVE_AS_EXPLICIT_RELOCS */ -#endif - - -/* Define if your assembler supports FMAF, HPC, and VIS 3.0 instructions. */ -#ifndef USED_FOR_TARGET -/* #undef HAVE_AS_FMAF_HPC_VIS3 */ -#endif - - -/* Define if your assembler supports the --gdwarf2 option. */ -#ifndef USED_FOR_TARGET -/* #undef HAVE_AS_GDWARF2_DEBUG_FLAG */ -#endif - - -/* Define if your assembler supports the --gdwarf-5 option. */ -#ifndef USED_FOR_TARGET -/* #undef HAVE_AS_GDWARF_5_DEBUG_FLAG */ -#endif - - -/* Define if your assembler supports .gnu_attribute. */ -#ifndef USED_FOR_TARGET -/* #undef HAVE_AS_GNU_ATTRIBUTE */ -#endif - - -/* Define true if the assembler supports '.long foo@GOTOFF'. */ -#ifndef USED_FOR_TARGET -/* #undef HAVE_AS_GOTOFF_IN_DATA */ -#endif - - -/* Define if your assembler supports the Sun syntax for cmov. */ -#ifndef USED_FOR_TARGET -/* #undef HAVE_AS_IX86_CMOV_SUN_SYNTAX */ -#endif - - -/* Define if your assembler supports the subtraction of symbols in different - sections. */ -#ifndef USED_FOR_TARGET -/* #undef HAVE_AS_IX86_DIFF_SECT_DELTA */ -#endif - - -/* Define if your assembler supports the ffreep mnemonic. */ -#ifndef USED_FOR_TARGET -/* #undef HAVE_AS_IX86_FFREEP */ -#endif - - -/* Define if your assembler uses fildq and fistq mnemonics. */ -#ifndef USED_FOR_TARGET -/* #undef HAVE_AS_IX86_FILDQ */ -#endif - - -/* Define if your assembler uses filds and fists mnemonics. */ -#ifndef USED_FOR_TARGET -/* #undef HAVE_AS_IX86_FILDS */ -#endif - - -/* Define 0/1 if your assembler and linker support @GOT. */ -#ifndef USED_FOR_TARGET -/* #undef HAVE_AS_IX86_GOT32X */ -#endif - - -/* Define if your assembler supports HLE prefixes. */ -#ifndef USED_FOR_TARGET -/* #undef HAVE_AS_IX86_HLE */ -#endif - - -/* Define if your assembler supports interunit movq mnemonic. */ -#ifndef USED_FOR_TARGET -/* #undef HAVE_AS_IX86_INTERUNIT_MOVQ */ -#endif - - -/* Define if your assembler supports the .quad directive. */ -#ifndef USED_FOR_TARGET -/* #undef HAVE_AS_IX86_QUAD */ -#endif - - -/* Define if the assembler supports 'rep , lock '. */ -#ifndef USED_FOR_TARGET -/* #undef HAVE_AS_IX86_REP_LOCK_PREFIX */ -#endif - - -/* Define if your assembler supports the sahf mnemonic in 64bit mode. */ -#ifndef USED_FOR_TARGET -/* #undef HAVE_AS_IX86_SAHF */ -#endif - - -/* Define if your assembler supports the swap suffix. */ -#ifndef USED_FOR_TARGET -/* #undef HAVE_AS_IX86_SWAP */ -#endif - - -/* Define if your assembler and linker support @tlsgdplt. */ -#ifndef USED_FOR_TARGET -/* #undef HAVE_AS_IX86_TLSGDPLT */ -#endif - - -/* Define to 1 if your assembler and linker support @tlsldm. */ -#ifndef USED_FOR_TARGET -/* #undef HAVE_AS_IX86_TLSLDM */ -#endif - - -/* Define to 1 if your assembler and linker support @tlsldmplt. */ -#ifndef USED_FOR_TARGET -/* #undef HAVE_AS_IX86_TLSLDMPLT */ -#endif - - -/* Define 0/1 if your assembler and linker support calling ___tls_get_addr via - GOT. */ -#ifndef USED_FOR_TARGET -/* #undef HAVE_AS_IX86_TLS_GET_ADDR_GOT */ -#endif - - -/* Define if your assembler supports the 'ud2' mnemonic. */ -#ifndef USED_FOR_TARGET -/* #undef HAVE_AS_IX86_UD2 */ -#endif - - -/* Define if your assembler supports the lituse_jsrdirect relocation. */ -#ifndef USED_FOR_TARGET -/* #undef HAVE_AS_JSRDIRECT_RELOCS */ -#endif - - -/* Define if your assembler supports .sleb128 and .uleb128. */ -#ifndef USED_FOR_TARGET -#define HAVE_AS_LEB128 0 -#endif - - -/* Define if your assembler supports LEON instructions. */ -#ifndef USED_FOR_TARGET -/* #undef HAVE_AS_LEON */ -#endif - - -/* Define if the assembler won't complain about a line such as # 0 "" 2. */ -#ifndef USED_FOR_TARGET -/* #undef HAVE_AS_LINE_ZERO */ -#endif - - -/* Define if your assembler supports ltoffx and ldxmov relocations. */ -#ifndef USED_FOR_TARGET -/* #undef HAVE_AS_LTOFFX_LDXMOV_RELOCS */ -#endif - - -/* Define if your assembler supports the -mabi option. */ -#ifndef USED_FOR_TARGET -/* #undef HAVE_AS_MABI_OPTION */ -#endif - - -/* Define if your assembler supports .machine and .machinemode. */ -#ifndef USED_FOR_TARGET -/* #undef HAVE_AS_MACHINE_MACHINEMODE */ -#endif - - -/* Define if the assembler understands -march=rv*_zifencei. */ -#ifndef USED_FOR_TARGET -/* #undef HAVE_AS_MARCH_ZIFENCEI */ -#endif - - -/* Define if your assembler supports mfcr field. */ -#ifndef USED_FOR_TARGET -/* #undef HAVE_AS_MFCRF */ -#endif - - -/* Define if the assembler understands -misa-spec=. */ -#ifndef USED_FOR_TARGET -/* #undef HAVE_AS_MISA_SPEC */ -#endif - - -/* Define if your Mac OS X assembler supports -mllvm -x86-pad-for-align=false. - */ -#ifndef USED_FOR_TARGET -/* #undef HAVE_AS_MLLVM_X86_PAD_FOR_ALIGN */ -#endif - - -/* Define if your Mac OS X assembler supports the -mmacos-version-min option. - */ -#ifndef USED_FOR_TARGET -/* #undef HAVE_AS_MMACOSX_VERSION_MIN_OPTION */ -#endif - - -/* Define if your assembler supports .mspabi_attribute. */ -#ifndef USED_FOR_TARGET -/* #undef HAVE_AS_MSPABI_ATTRIBUTE */ -#endif - - -/* Define if the assembler understands -mnan=. */ -#ifndef USED_FOR_TARGET -/* #undef HAVE_AS_NAN */ -#endif - - -/* Define if your assembler supports %gotoff relocation syntax. */ -#ifndef USED_FOR_TARGET -/* #undef HAVE_AS_NIOS2_GOTOFF_RELOCATION */ -#endif - - -/* Define if your assembler supports the -no-mul-bug-abort option. */ -#ifndef USED_FOR_TARGET -/* #undef HAVE_AS_NO_MUL_BUG_ABORT_OPTION */ -#endif - - -/* Define if the assembler understands -mno-shared. */ -#ifndef USED_FOR_TARGET -/* #undef HAVE_AS_NO_SHARED */ -#endif - - -/* Define if your assembler supports offsetable %lo(). */ -#ifndef USED_FOR_TARGET -/* #undef HAVE_AS_OFFSETABLE_LO10 */ -#endif - - -/* Define if your assembler supports R_PPC*_PLTSEQ relocations. */ -#ifndef USED_FOR_TARGET -/* #undef HAVE_AS_PLTSEQ */ -#endif - - -/* Define if your assembler supports .ref */ -#ifndef USED_FOR_TARGET -/* #undef HAVE_AS_REF */ -#endif - - -/* Define if your assembler supports R_PPC_REL16 relocs. */ -#ifndef USED_FOR_TARGET -/* #undef HAVE_AS_REL16 */ -#endif - - -/* Define if your assembler supports -relax option. */ -#ifndef USED_FOR_TARGET -/* #undef HAVE_AS_RELAX_OPTION */ -#endif - - -/* Define if your assembler supports .attribute. */ -#ifndef USED_FOR_TARGET -/* #undef HAVE_AS_RISCV_ATTRIBUTE */ -#endif - - -/* Define if your assembler supports relocs needed by -fpic. */ -#ifndef USED_FOR_TARGET -/* #undef HAVE_AS_SMALL_PIC_RELOCS */ -#endif - - -/* Define if your assembler supports SPARC4 instructions. */ -#ifndef USED_FOR_TARGET -/* #undef HAVE_AS_SPARC4 */ -#endif - - -/* Define if your assembler supports SPARC5 and VIS 4.0 instructions. */ -#ifndef USED_FOR_TARGET -/* #undef HAVE_AS_SPARC5_VIS4 */ -#endif - - -/* Define if your assembler supports SPARC6 instructions. */ -#ifndef USED_FOR_TARGET -/* #undef HAVE_AS_SPARC6 */ -#endif - - -/* Define if your assembler and linker support GOTDATA_OP relocs. */ -#ifndef USED_FOR_TARGET -/* #undef HAVE_AS_SPARC_GOTDATA_OP */ -#endif - - -/* Define if your assembler and linker support unaligned PC relative relocs. - */ -#ifndef USED_FOR_TARGET -/* #undef HAVE_AS_SPARC_UA_PCREL */ -#endif - - -/* Define if your assembler and linker support unaligned PC relative relocs - against hidden symbols. */ -#ifndef USED_FOR_TARGET -/* #undef HAVE_AS_SPARC_UA_PCREL_HIDDEN */ -#endif - - -/* Define if your assembler and linker support thread-local storage. */ -#ifndef USED_FOR_TARGET -/* #undef HAVE_AS_TLS */ -#endif - - -/* Define if your assembler supports vl/vst/vlm/vstm with an optional - alignment hint argument. */ -#ifndef USED_FOR_TARGET -/* #undef HAVE_AS_VECTOR_LOADSTORE_ALIGNMENT_HINTS */ -#endif - - -/* Define if your assembler supports vl/vst/vlm/vstm with an optional - alignment hint argument on z13. */ -#ifndef USED_FOR_TARGET -/* #undef HAVE_AS_VECTOR_LOADSTORE_ALIGNMENT_HINTS_ON_Z13 */ -#endif - - -/* Define if your assembler supports VSX instructions. */ -#ifndef USED_FOR_TARGET -/* #undef HAVE_AS_VSX */ -#endif - - -/* Define if your assembler supports --gdwarf-4/--gdwarf-5 even with compiler - generated .debug_line. */ -#ifndef USED_FOR_TARGET -/* #undef HAVE_AS_WORKING_DWARF_N_FLAG */ -#endif - - -/* Define if your assembler supports -xbrace_comment option. */ -#ifndef USED_FOR_TARGET -/* #undef HAVE_AS_XBRACE_COMMENT_OPTION */ -#endif - - -/* Define to 1 if you have the `atoq' function. */ -#ifndef USED_FOR_TARGET -/* #undef HAVE_ATOQ */ -#endif - - -/* Define to 1 if you have the `clearerr_unlocked' function. */ -#ifndef USED_FOR_TARGET -#define HAVE_CLEARERR_UNLOCKED 1 -#endif - - -/* Define to 1 if you have the `clock' function. */ -#ifndef USED_FOR_TARGET -#define HAVE_CLOCK 1 -#endif - - -/* Define if defines clock_t. */ -#ifndef USED_FOR_TARGET -#define HAVE_CLOCK_T 1 -#endif - - -/* Define 0/1 if your assembler and linker support COMDAT groups. */ -#ifndef USED_FOR_TARGET -#define HAVE_COMDAT_GROUP 0 -#endif - - -/* Define to 1 if we found a declaration for 'abort', otherwise define to 0. - */ -#ifndef USED_FOR_TARGET -#define HAVE_DECL_ABORT 1 -#endif - - -/* Define to 1 if we found a declaration for 'asprintf', otherwise define to - 0. */ -#ifndef USED_FOR_TARGET -#define HAVE_DECL_ASPRINTF 1 -#endif - - -/* Define to 1 if we found a declaration for 'atof', otherwise define to 0. */ -#ifndef USED_FOR_TARGET -#define HAVE_DECL_ATOF 1 -#endif - - -/* Define to 1 if we found a declaration for 'atol', otherwise define to 0. */ -#ifndef USED_FOR_TARGET -#define HAVE_DECL_ATOL 1 -#endif - - -/* Define to 1 if we found a declaration for 'atoll', otherwise define to 0. - */ -#ifndef USED_FOR_TARGET -#define HAVE_DECL_ATOLL 1 -#endif - - -/* Define to 1 if you have the declaration of `basename(const char*)', and to - 0 if you don't. */ -#ifndef USED_FOR_TARGET -#define HAVE_DECL_BASENAME 0 -#endif - - -/* Define to 1 if we found a declaration for 'calloc', otherwise define to 0. - */ -#ifndef USED_FOR_TARGET -#define HAVE_DECL_CALLOC 1 -#endif - - -/* Define to 1 if we found a declaration for 'clearerr_unlocked', otherwise - define to 0. */ -#ifndef USED_FOR_TARGET -#define HAVE_DECL_CLEARERR_UNLOCKED 1 -#endif - - -/* Define to 1 if we found a declaration for 'clock', otherwise define to 0. - */ -#ifndef USED_FOR_TARGET -#define HAVE_DECL_CLOCK 1 -#endif - - -/* Define to 1 if we found a declaration for 'errno', otherwise define to 0. - */ -#ifndef USED_FOR_TARGET -#define HAVE_DECL_ERRNO 1 -#endif - - -/* Define to 1 if we found a declaration for 'feof_unlocked', otherwise define - to 0. */ -#ifndef USED_FOR_TARGET -#define HAVE_DECL_FEOF_UNLOCKED 1 -#endif - - -/* Define to 1 if we found a declaration for 'ferror_unlocked', otherwise - define to 0. */ -#ifndef USED_FOR_TARGET -#define HAVE_DECL_FERROR_UNLOCKED 1 -#endif - - -/* Define to 1 if we found a declaration for 'fflush_unlocked', otherwise - define to 0. */ -#ifndef USED_FOR_TARGET -#define HAVE_DECL_FFLUSH_UNLOCKED 0 -#endif - - -/* Define to 1 if we found a declaration for 'ffs', otherwise define to 0. */ -#ifndef USED_FOR_TARGET -#define HAVE_DECL_FFS 1 -#endif - - -/* Define to 1 if we found a declaration for 'fgetc_unlocked', otherwise - define to 0. */ -#ifndef USED_FOR_TARGET -#define HAVE_DECL_FGETC_UNLOCKED 0 -#endif - - -/* Define to 1 if we found a declaration for 'fgets_unlocked', otherwise - define to 0. */ -#ifndef USED_FOR_TARGET -#define HAVE_DECL_FGETS_UNLOCKED 0 -#endif - - -/* Define to 1 if we found a declaration for 'fileno_unlocked', otherwise - define to 0. */ -#ifndef USED_FOR_TARGET -#define HAVE_DECL_FILENO_UNLOCKED 1 -#endif - - -/* Define to 1 if we found a declaration for 'fprintf_unlocked', otherwise - define to 0. */ -#ifndef USED_FOR_TARGET -#define HAVE_DECL_FPRINTF_UNLOCKED 0 -#endif - - -/* Define to 1 if we found a declaration for 'fputc_unlocked', otherwise - define to 0. */ -#ifndef USED_FOR_TARGET -#define HAVE_DECL_FPUTC_UNLOCKED 0 -#endif - - -/* Define to 1 if we found a declaration for 'fputs_unlocked', otherwise - define to 0. */ -#ifndef USED_FOR_TARGET -#define HAVE_DECL_FPUTS_UNLOCKED 0 -#endif - - -/* Define to 1 if we found a declaration for 'fread_unlocked', otherwise - define to 0. */ -#ifndef USED_FOR_TARGET -#define HAVE_DECL_FREAD_UNLOCKED 0 -#endif - - -/* Define to 1 if we found a declaration for 'free', otherwise define to 0. */ -#ifndef USED_FOR_TARGET -#define HAVE_DECL_FREE 1 -#endif - - -/* Define to 1 if we found a declaration for 'fwrite_unlocked', otherwise - define to 0. */ -#ifndef USED_FOR_TARGET -#define HAVE_DECL_FWRITE_UNLOCKED 0 -#endif - - -/* Define to 1 if we found a declaration for 'getchar_unlocked', otherwise - define to 0. */ -#ifndef USED_FOR_TARGET -#define HAVE_DECL_GETCHAR_UNLOCKED 1 -#endif - - -/* Define to 1 if we found a declaration for 'getcwd', otherwise define to 0. - */ -#ifndef USED_FOR_TARGET -#define HAVE_DECL_GETCWD 1 -#endif - - -/* Define to 1 if we found a declaration for 'getc_unlocked', otherwise define - to 0. */ -#ifndef USED_FOR_TARGET -#define HAVE_DECL_GETC_UNLOCKED 1 -#endif - - -/* Define to 1 if we found a declaration for 'getenv', otherwise define to 0. - */ -#ifndef USED_FOR_TARGET -#define HAVE_DECL_GETENV 1 -#endif - - -/* Define to 1 if we found a declaration for 'getopt', otherwise define to 0. - */ -#ifndef USED_FOR_TARGET -#define HAVE_DECL_GETOPT 1 -#endif - - -/* Define to 1 if we found a declaration for 'getpagesize', otherwise define - to 0. */ -#ifndef USED_FOR_TARGET -#define HAVE_DECL_GETPAGESIZE 1 -#endif - - -/* Define to 1 if we found a declaration for 'getrlimit', otherwise define to - 0. */ -#ifndef USED_FOR_TARGET -#define HAVE_DECL_GETRLIMIT 1 -#endif - - -/* Define to 1 if we found a declaration for 'getrusage', otherwise define to - 0. */ -#ifndef USED_FOR_TARGET -#define HAVE_DECL_GETRUSAGE 1 -#endif - - -/* Define to 1 if we found a declaration for 'getwd', otherwise define to 0. - */ -#ifndef USED_FOR_TARGET -#define HAVE_DECL_GETWD 1 -#endif - - -/* Define to 1 if we found a declaration for 'ldgetname', otherwise define to - 0. */ -#ifndef USED_FOR_TARGET -#define HAVE_DECL_LDGETNAME 0 -#endif - - -/* Define to 1 if we found a declaration for 'madvise', otherwise define to 0. - */ -#ifndef USED_FOR_TARGET -#define HAVE_DECL_MADVISE 1 -#endif - - -/* Define to 1 if we found a declaration for 'mallinfo', otherwise define to - 0. */ -#ifndef USED_FOR_TARGET -#define HAVE_DECL_MALLINFO 0 -#endif - - -/* Define to 1 if we found a declaration for 'mallinfo2', otherwise define to - 0. */ -#ifndef USED_FOR_TARGET -#define HAVE_DECL_MALLINFO2 0 -#endif - - -/* Define to 1 if we found a declaration for 'malloc', otherwise define to 0. - */ -#ifndef USED_FOR_TARGET -#define HAVE_DECL_MALLOC 1 -#endif - - -/* Define to 1 if we found a declaration for 'putchar_unlocked', otherwise - define to 0. */ -#ifndef USED_FOR_TARGET -#define HAVE_DECL_PUTCHAR_UNLOCKED 1 -#endif - - -/* Define to 1 if we found a declaration for 'putc_unlocked', otherwise define - to 0. */ -#ifndef USED_FOR_TARGET -#define HAVE_DECL_PUTC_UNLOCKED 1 -#endif - - -/* Define to 1 if we found a declaration for 'realloc', otherwise define to 0. - */ -#ifndef USED_FOR_TARGET -#define HAVE_DECL_REALLOC 1 -#endif - - -/* Define to 1 if we found a declaration for 'sbrk', otherwise define to 0. */ -#ifndef USED_FOR_TARGET -#define HAVE_DECL_SBRK 1 -#endif - - -/* Define to 1 if we found a declaration for 'setenv', otherwise define to 0. - */ -#ifndef USED_FOR_TARGET -#define HAVE_DECL_SETENV 1 -#endif - - -/* Define to 1 if we found a declaration for 'setrlimit', otherwise define to - 0. */ -#ifndef USED_FOR_TARGET -#define HAVE_DECL_SETRLIMIT 1 -#endif - - -/* Define to 1 if we found a declaration for 'sigaltstack', otherwise define - to 0. */ -#ifndef USED_FOR_TARGET -#define HAVE_DECL_SIGALTSTACK 1 -#endif - - -/* Define to 1 if we found a declaration for 'snprintf', otherwise define to - 0. */ -#ifndef USED_FOR_TARGET -#define HAVE_DECL_SNPRINTF 1 -#endif - - -/* Define to 1 if we found a declaration for 'stpcpy', otherwise define to 0. - */ -#ifndef USED_FOR_TARGET -#define HAVE_DECL_STPCPY 1 -#endif - - -/* Define to 1 if we found a declaration for 'strnlen', otherwise define to 0. - */ -#ifndef USED_FOR_TARGET -#define HAVE_DECL_STRNLEN 1 -#endif - - -/* Define to 1 if we found a declaration for 'strsignal', otherwise define to - 0. */ -#ifndef USED_FOR_TARGET -#define HAVE_DECL_STRSIGNAL 1 -#endif - - -/* Define to 1 if you have the declaration of `strstr(const char*,const - char*)', and to 0 if you don't. */ -#ifndef USED_FOR_TARGET -#define HAVE_DECL_STRSTR 1 -#endif - - -/* Define to 1 if we found a declaration for 'strtol', otherwise define to 0. - */ -#ifndef USED_FOR_TARGET -#define HAVE_DECL_STRTOL 1 -#endif - - -/* Define to 1 if we found a declaration for 'strtoll', otherwise define to 0. - */ -#ifndef USED_FOR_TARGET -#define HAVE_DECL_STRTOLL 1 -#endif - - -/* Define to 1 if we found a declaration for 'strtoul', otherwise define to 0. - */ -#ifndef USED_FOR_TARGET -#define HAVE_DECL_STRTOUL 1 -#endif - - -/* Define to 1 if we found a declaration for 'strtoull', otherwise define to - 0. */ -#ifndef USED_FOR_TARGET -#define HAVE_DECL_STRTOULL 1 -#endif - - -/* Define to 1 if we found a declaration for 'strverscmp', otherwise define to - 0. */ -#ifndef USED_FOR_TARGET -#define HAVE_DECL_STRVERSCMP 0 -#endif - - -/* Define to 1 if we found a declaration for 'times', otherwise define to 0. - */ -#ifndef USED_FOR_TARGET -#define HAVE_DECL_TIMES 1 -#endif - - -/* Define to 1 if we found a declaration for 'unsetenv', otherwise define to - 0. */ -#ifndef USED_FOR_TARGET -#define HAVE_DECL_UNSETENV 1 -#endif - - -/* Define to 1 if we found a declaration for 'vasprintf', otherwise define to - 0. */ -#ifndef USED_FOR_TARGET -#define HAVE_DECL_VASPRINTF 1 -#endif - - -/* Define to 1 if we found a declaration for 'vsnprintf', otherwise define to - 0. */ -#ifndef USED_FOR_TARGET -#define HAVE_DECL_VSNPRINTF 1 -#endif - - -/* Define to 1 if you have the header file. */ -#ifndef USED_FOR_TARGET -/* #undef HAVE_DIRECT_H */ -#endif - - -/* Define to 1 if you have the header file. */ -#ifndef USED_FOR_TARGET -#define HAVE_DLFCN_H 1 -#endif - - -/* Define to 1 if you have the header file. */ -#ifndef USED_FOR_TARGET -#define HAVE_EXT_HASH_MAP 1 -#endif - - -/* Define to 1 if you have the header file. */ -#ifndef USED_FOR_TARGET -#define HAVE_FCNTL_H 1 -#endif - - -/* Define to 1 if you have the `feof_unlocked' function. */ -#ifndef USED_FOR_TARGET -#define HAVE_FEOF_UNLOCKED 1 -#endif - - -/* Define to 1 if you have the `ferror_unlocked' function. */ -#ifndef USED_FOR_TARGET -#define HAVE_FERROR_UNLOCKED 1 -#endif - - -/* Define to 1 if you have the `fflush_unlocked' function. */ -#ifndef USED_FOR_TARGET -/* #undef HAVE_FFLUSH_UNLOCKED */ -#endif - - -/* Define to 1 if you have the `fgetc_unlocked' function. */ -#ifndef USED_FOR_TARGET -/* #undef HAVE_FGETC_UNLOCKED */ -#endif - - -/* Define to 1 if you have the `fgets_unlocked' function. */ -#ifndef USED_FOR_TARGET -/* #undef HAVE_FGETS_UNLOCKED */ -#endif - - -/* Define to 1 if you have the `fileno_unlocked' function. */ -#ifndef USED_FOR_TARGET -#define HAVE_FILENO_UNLOCKED 1 -#endif - - -/* Define to 1 if you have the `fork' function. */ -#ifndef USED_FOR_TARGET -#define HAVE_FORK 1 -#endif - - -/* Define to 1 if you have the `fprintf_unlocked' function. */ -#ifndef USED_FOR_TARGET -/* #undef HAVE_FPRINTF_UNLOCKED */ -#endif - - -/* Define to 1 if you have the `fputc_unlocked' function. */ -#ifndef USED_FOR_TARGET -/* #undef HAVE_FPUTC_UNLOCKED */ -#endif - - -/* Define to 1 if you have the `fputs_unlocked' function. */ -#ifndef USED_FOR_TARGET -/* #undef HAVE_FPUTS_UNLOCKED */ -#endif - - -/* Define to 1 if you have the `fread_unlocked' function. */ -#ifndef USED_FOR_TARGET -/* #undef HAVE_FREAD_UNLOCKED */ -#endif - - -/* Define to 1 if you have the `fstatat' function. */ -#ifndef USED_FOR_TARGET -#define HAVE_FSTATAT 1 -#endif - - -/* Define to 1 if you have the header file. */ -#ifndef USED_FOR_TARGET -#define HAVE_FTW_H 1 -#endif - - -/* Define to 1 if you have the `fwrite_unlocked' function. */ -#ifndef USED_FOR_TARGET -/* #undef HAVE_FWRITE_UNLOCKED */ -#endif - - -/* Define if your assembler supports specifying the alignment of objects - allocated using the GAS .comm command. */ -#ifndef USED_FOR_TARGET -/* #undef HAVE_GAS_ALIGNED_COMM */ -#endif - - -/* Define if your Arm assembler permits context-specific feature extensions. - */ -#ifndef USED_FOR_TARGET -/* #undef HAVE_GAS_ARM_EXTENDED_ARCH */ -#endif - - -/* Define if your assembler supports .balign and .p2align. */ -#ifndef USED_FOR_TARGET -/* #undef HAVE_GAS_BALIGN_AND_P2ALIGN */ -#endif - - -/* Define 0/1 if your assembler supports CFI directives. */ -#define HAVE_GAS_CFI_DIRECTIVE 0 - -/* Define 0/1 if your assembler supports .cfi_personality. */ -#define HAVE_GAS_CFI_PERSONALITY_DIRECTIVE 0 - -/* Define 0/1 if your assembler supports .cfi_sections. */ -#define HAVE_GAS_CFI_SECTIONS_DIRECTIVE 0 - -/* Define if your assembler supports the .loc discriminator sub-directive. */ -#ifndef USED_FOR_TARGET -/* #undef HAVE_GAS_DISCRIMINATOR */ -#endif - - -/* Define if your assembler supports @gnu_unique_object. */ -#ifndef USED_FOR_TARGET -/* #undef HAVE_GAS_GNU_UNIQUE_OBJECT */ -#endif - - -/* Define if your assembler and linker support .hidden. */ -/* #undef HAVE_GAS_HIDDEN */ - -/* Define if your assembler supports .lcomm with an alignment field. */ -#ifndef USED_FOR_TARGET -/* #undef HAVE_GAS_LCOMM_WITH_ALIGNMENT */ -#endif - - -/* Define if your assembler supports .literal16. */ -#ifndef USED_FOR_TARGET -/* #undef HAVE_GAS_LITERAL16 */ -#endif - - -/* Define if your assembler supports the .loc is_stmt sub-directive. */ -#ifndef USED_FOR_TARGET -/* #undef HAVE_GAS_LOC_STMT */ -#endif - - -/* Define if your assembler supports specifying the maximum number of bytes to - skip when using the GAS .p2align command. */ -#ifndef USED_FOR_TARGET -/* #undef HAVE_GAS_MAX_SKIP_P2ALIGN */ -#endif - - -/* Define if your assembler supports the .set micromips directive */ -#ifndef USED_FOR_TARGET -/* #undef HAVE_GAS_MICROMIPS */ -#endif - - -/* Define if your assembler supports .nsubspa comdat option. */ -#ifndef USED_FOR_TARGET -/* #undef HAVE_GAS_NSUBSPA_COMDAT */ -#endif - - -/* Define if your assembler and linker support 32-bit section relative relocs - via '.secrel32 label'. */ -#ifndef USED_FOR_TARGET -/* #undef HAVE_GAS_PE_SECREL32_RELOC */ -#endif - - -/* Define if your assembler supports specifying the exclude section flag. */ -#ifndef USED_FOR_TARGET -#define HAVE_GAS_SECTION_EXCLUDE 0 -#endif - - -/* Define 0/1 if your assembler supports 'o' flag in .section directive. */ -#ifndef USED_FOR_TARGET -#define HAVE_GAS_SECTION_LINK_ORDER 0 -#endif - - -/* Define 0/1 if your assembler supports marking sections with SHF_GNU_RETAIN - flag. */ -#ifndef USED_FOR_TARGET -#define HAVE_GAS_SHF_GNU_RETAIN 0 -#endif - - -/* Define 0/1 if your assembler supports marking sections with SHF_MERGE flag. - */ -#ifndef USED_FOR_TARGET -#define HAVE_GAS_SHF_MERGE 0 -#endif - - -/* Define if your assembler supports .subsection and .subsection -1 starts - emitting at the beginning of your section. */ -#ifndef USED_FOR_TARGET -/* #undef HAVE_GAS_SUBSECTION_ORDERING */ -#endif - - -/* Define if your assembler supports .weak. */ -#ifndef USED_FOR_TARGET -/* #undef HAVE_GAS_WEAK */ -#endif - - -/* Define if your assembler supports .weakref. */ -#ifndef USED_FOR_TARGET -/* #undef HAVE_GAS_WEAKREF */ -#endif - - -/* Define to 1 if you have the `getauxval' function. */ -#ifndef USED_FOR_TARGET -/* #undef HAVE_GETAUXVAL */ -#endif - - -/* Define to 1 if you have the `getchar_unlocked' function. */ -#ifndef USED_FOR_TARGET -#define HAVE_GETCHAR_UNLOCKED 1 -#endif - - -/* Define to 1 if you have the `getc_unlocked' function. */ -#ifndef USED_FOR_TARGET -#define HAVE_GETC_UNLOCKED 1 -#endif - - -/* Define to 1 if you have the `getrlimit' function. */ -#ifndef USED_FOR_TARGET -#define HAVE_GETRLIMIT 1 -#endif - - -/* Define to 1 if you have the `getrusage' function. */ -#ifndef USED_FOR_TARGET -#define HAVE_GETRUSAGE 1 -#endif - - -/* Define to 1 if you have the `gettimeofday' function. */ -#ifndef USED_FOR_TARGET -#define HAVE_GETTIMEOFDAY 1 -#endif - - -/* Define to 1 if using GNU as. */ -#ifndef USED_FOR_TARGET -#define HAVE_GNU_AS 0 -#endif - - -/* Define if your system supports gnu indirect functions. */ -#ifndef USED_FOR_TARGET -#define HAVE_GNU_INDIRECT_FUNCTION 0 -#endif - - -/* Define to 1 if using GNU ld. */ -#ifndef USED_FOR_TARGET -#define HAVE_GNU_LD 0 -#endif - - -/* Define if the gold linker supports split stack and is available as a - non-default */ -#ifndef USED_FOR_TARGET -/* #undef HAVE_GOLD_NON_DEFAULT_SPLIT_STACK */ -#endif - - -/* Define if you have the iconv() function. */ -#ifndef USED_FOR_TARGET -#define HAVE_ICONV 1 -#endif - - -/* Define to 1 if you have the header file. */ -#ifndef USED_FOR_TARGET -#define HAVE_ICONV_H 1 -#endif - - -/* Define 0/1 if .init_array/.fini_array sections are available and working. - */ -#ifndef USED_FOR_TARGET -#define HAVE_INITFINI_ARRAY_SUPPORT 0 -#endif - - -/* Define to 1 if the system has the type `intmax_t'. */ -#ifndef USED_FOR_TARGET -#define HAVE_INTMAX_T 1 -#endif - - -/* Define to 1 if the system has the type `intptr_t'. */ -#ifndef USED_FOR_TARGET -#define HAVE_INTPTR_T 1 -#endif - - -/* Define if you have a working header file. */ -#ifndef USED_FOR_TARGET -#define HAVE_INTTYPES_H 1 -#endif - - -/* Define to 1 if you have the `kill' function. */ -#ifndef USED_FOR_TARGET -#define HAVE_KILL 1 -#endif - - -/* Define if you have and nl_langinfo(CODESET). */ -#ifndef USED_FOR_TARGET -#define HAVE_LANGINFO_CODESET 1 -#endif - - -/* Define to 1 if you have the header file. */ -#ifndef USED_FOR_TARGET -#define HAVE_LANGINFO_H 1 -#endif - - -/* Define if your file defines LC_MESSAGES. */ -#ifndef USED_FOR_TARGET -#define HAVE_LC_MESSAGES 1 -#endif - - -/* Define to 1 if you have the header file. */ -#ifndef USED_FOR_TARGET -/* #undef HAVE_LDFCN_H */ -#endif - - -/* Define 0/1 if your linker supports the SHF_MERGE flag with section - alignment > 1. */ -#ifndef USED_FOR_TARGET -#define HAVE_LD_ALIGNED_SHF_MERGE 1 -#endif - - -/* Define if your linker supports --as-needed/--no-as-needed or equivalent - options. */ -#ifndef USED_FOR_TARGET -/* #undef HAVE_LD_AS_NEEDED */ -#endif - - -/* Define if your default avr linker script for avrxmega3 leaves .rodata in - flash. */ -#ifndef USED_FOR_TARGET -/* #undef HAVE_LD_AVR_AVRXMEGA3_RODATA_IN_FLASH */ -#endif - - -/* Define if your linker supports -z bndplt */ -#ifndef USED_FOR_TARGET -/* #undef HAVE_LD_BNDPLT_SUPPORT */ -#endif - - -/* Define if the PE linker has broken DWARF 5 support. */ -#ifndef USED_FOR_TARGET -/* #undef HAVE_LD_BROKEN_PE_DWARF5 */ -#endif - - -/* Define if your linker supports --build-id. */ -#ifndef USED_FOR_TARGET -/* #undef HAVE_LD_BUILDID */ -#endif - - -/* Define if the linker supports clearing hardware capabilities via mapfile. - */ -#ifndef USED_FOR_TARGET -#define HAVE_LD_CLEARCAP 1 -#endif - - -/* Define to the level of your linker's compressed debug section support. */ -#ifndef USED_FOR_TARGET -#define HAVE_LD_COMPRESS_DEBUG 0 -#endif - - -/* Define if your linker supports --demangle option. */ -#ifndef USED_FOR_TARGET -/* #undef HAVE_LD_DEMANGLE */ -#endif - - -/* Define 0/1 if your linker supports CIE v3 in .eh_frame. */ -#ifndef USED_FOR_TARGET -#define HAVE_LD_EH_FRAME_CIEV3 0 -#endif - - -/* Define if your linker supports .eh_frame_hdr. */ -/* #undef HAVE_LD_EH_FRAME_HDR */ - -/* Define if your linker supports garbage collection of sections in presence - of EH frames. */ -#ifndef USED_FOR_TARGET -/* #undef HAVE_LD_EH_GC_SECTIONS */ -#endif - - -/* Define if your linker has buggy garbage collection of sections support when - .text.startup.foo like sections are used. */ -#ifndef USED_FOR_TARGET -/* #undef HAVE_LD_EH_GC_SECTIONS_BUG */ -#endif - - -/* Define if your PowerPC64 linker supports a large TOC. */ -#ifndef USED_FOR_TARGET -/* #undef HAVE_LD_LARGE_TOC */ -#endif - - -/* Define if your PowerPC64 linker only needs function descriptor syms. */ -#ifndef USED_FOR_TARGET -/* #undef HAVE_LD_NO_DOT_SYMS */ -#endif - - -/* Define if your linker can relax absolute .eh_frame personality pointers - into PC-relative form. */ -#ifndef USED_FOR_TARGET -/* #undef HAVE_LD_PERSONALITY_RELAXATION */ -#endif - - -/* Define if the PE linker supports --disable-dynamicbase option. */ -#ifndef USED_FOR_TARGET -/* #undef HAVE_LD_PE_DISABLE_DYNAMICBASE */ -#endif - - -/* Define if your linker supports PIE option. */ -#ifndef USED_FOR_TARGET -/* #undef HAVE_LD_PIE */ -#endif - - -/* Define 0/1 if your linker supports -pie option with copy reloc. */ -#ifndef USED_FOR_TARGET -#define HAVE_LD_PIE_COPYRELOC 0 -#endif - - -/* Define if your PowerPC linker has .gnu.attributes long double support. */ -#ifndef USED_FOR_TARGET -/* #undef HAVE_LD_PPC_GNU_ATTR_LONG_DOUBLE */ -#endif - - -/* Define if your linker supports --push-state/--pop-state */ -#ifndef USED_FOR_TARGET -/* #undef HAVE_LD_PUSHPOPSTATE_SUPPORT */ -#endif - - -/* Define if your linker links a mix of read-only and read-write sections into - a read-write section. */ -#ifndef USED_FOR_TARGET -/* #undef HAVE_LD_RO_RW_SECTION_MIXING */ -#endif - - -/* Define if your linker supports the *_sol2 emulations. */ -#ifndef USED_FOR_TARGET -/* #undef HAVE_LD_SOL2_EMULATION */ -#endif - - -/* Define if your linker supports -Bstatic/-Bdynamic or equivalent options. */ -#ifndef USED_FOR_TARGET -/* #undef HAVE_LD_STATIC_DYNAMIC */ -#endif - - -/* Define if your linker supports --sysroot. */ -#ifndef USED_FOR_TARGET -/* #undef HAVE_LD_SYSROOT */ -#endif - - -/* Define to 1 if you have the header file. */ -#ifndef USED_FOR_TARGET -#define HAVE_LIMITS_H 1 -#endif - - -/* Define to 1 if you have the header file. */ -#ifndef USED_FOR_TARGET -#define HAVE_LOCALE_H 1 -#endif - - -/* Define to 1 if the system has the type `long long'. */ -#ifndef USED_FOR_TARGET -#define HAVE_LONG_LONG 1 -#endif - - -/* Define to 1 if the system has the type `long long int'. */ -#ifndef USED_FOR_TARGET -#define HAVE_LONG_LONG_INT 1 -#endif - - -/* Define to the level of your linker's plugin support. */ -#ifndef USED_FOR_TARGET -#define HAVE_LTO_PLUGIN 0 -#endif - - -/* Define to 1 if you have the `madvise' function. */ -#ifndef USED_FOR_TARGET -#define HAVE_MADVISE 1 -#endif - - -/* Define to 1 if you have the `mallinfo' function. */ -#ifndef USED_FOR_TARGET -/* #undef HAVE_MALLINFO */ -#endif - - -/* Define to 1 if you have the `mallinfo2' function. */ -#ifndef USED_FOR_TARGET -/* #undef HAVE_MALLINFO2 */ -#endif - - -/* Define to 1 if you have the header file. */ -#ifndef USED_FOR_TARGET -/* #undef HAVE_MALLOC_H */ -#endif - - -/* Define to 1 if you have the `mbstowcs' function. */ -#ifndef USED_FOR_TARGET -#define HAVE_MBSTOWCS 1 -#endif - - -/* Define if valgrind's memcheck.h header is installed. */ -#ifndef USED_FOR_TARGET -/* #undef HAVE_MEMCHECK_H */ -#endif - - -/* Define to 1 if you have the header file. */ -#ifndef USED_FOR_TARGET -#define HAVE_MEMORY_H 1 -#endif - - -/* Define to 1 if you have the `mmap' function. */ -#ifndef USED_FOR_TARGET -#define HAVE_MMAP 1 -#endif - - -/* Define if mmap with MAP_ANON(YMOUS) works. */ -#ifndef USED_FOR_TARGET -#define HAVE_MMAP_ANON 1 -#endif - - -/* Define if mmap of /dev/zero works. */ -#ifndef USED_FOR_TARGET -/* #undef HAVE_MMAP_DEV_ZERO */ -#endif - - -/* Define if read-only mmap of a plain file works. */ -#ifndef USED_FOR_TARGET -#define HAVE_MMAP_FILE 1 -#endif - - -/* Define if GCC has been configured with --enable-newlib-nano-formatted-io. - */ -#ifndef USED_FOR_TARGET -/* #undef HAVE_NEWLIB_NANO_FORMATTED_IO */ -#endif - - -/* Define to 1 if you have the `nl_langinfo' function. */ -#ifndef USED_FOR_TARGET -#define HAVE_NL_LANGINFO 1 -#endif - - -/* Define to 1 if you have the `popen' function. */ -#ifndef USED_FOR_TARGET -#define HAVE_POPEN 1 -#endif - - -/* Define to 1 if you have the `posix_fallocate' function. */ -#ifndef USED_FOR_TARGET -/* #undef HAVE_POSIX_FALLOCATE */ -#endif - - -/* Define to 1 if you have the `putchar_unlocked' function. */ -#ifndef USED_FOR_TARGET -#define HAVE_PUTCHAR_UNLOCKED 1 -#endif - - -/* Define to 1 if you have the `putc_unlocked' function. */ -#ifndef USED_FOR_TARGET -#define HAVE_PUTC_UNLOCKED 1 -#endif - - -/* Define to 1 if you have the `setlocale' function. */ -#ifndef USED_FOR_TARGET -#define HAVE_SETLOCALE 1 -#endif - - -/* Define to 1 if you have the `setrlimit' function. */ -#ifndef USED_FOR_TARGET -#define HAVE_SETRLIMIT 1 -#endif - - -/* Define if defines sighandler_t */ -#ifndef USED_FOR_TARGET -/* #undef HAVE_SIGHANDLER_T */ -#endif - - -/* Define if the system-provided CRTs are present on Solaris. */ -#ifndef USED_FOR_TARGET -/* #undef HAVE_SOLARIS_CRTS */ -#endif - - -/* Define to 1 if you have the header file. */ -#ifndef USED_FOR_TARGET -#define HAVE_STDDEF_H 1 -#endif - - -/* Define to 1 if you have the header file. */ -#ifndef USED_FOR_TARGET -#define HAVE_STDINT_H 1 -#endif - - -/* Define to 1 if you have the header file. */ -#ifndef USED_FOR_TARGET -#define HAVE_STDLIB_H 1 -#endif - - -/* Define to 1 if you have the header file. */ -#ifndef USED_FOR_TARGET -#define HAVE_STRINGS_H 1 -#endif - - -/* Define to 1 if you have the header file. */ -#ifndef USED_FOR_TARGET -#define HAVE_STRING_H 1 -#endif - - -/* Define to 1 if you have the `strsignal' function. */ -#ifndef USED_FOR_TARGET -#define HAVE_STRSIGNAL 1 -#endif - - -/* Define if defines struct tms. */ -#ifndef USED_FOR_TARGET -#define HAVE_STRUCT_TMS 1 -#endif - - -/* Define if defines std::swap. */ -#ifndef USED_FOR_TARGET -#define HAVE_SWAP_IN_UTILITY 1 -#endif - - -/* Define to 1 if you have the `sysconf' function. */ -#ifndef USED_FOR_TARGET -#define HAVE_SYSCONF 1 -#endif - - -/* Define to 1 if you have the header file. */ -#ifndef USED_FOR_TARGET -/* #undef HAVE_SYS_AUXV_H */ -#endif - - -/* Define to 1 if you have the header file. */ -#ifndef USED_FOR_TARGET -#define HAVE_SYS_FILE_H 1 -#endif - - -/* Define to 1 if you have the header file. */ -#ifndef USED_FOR_TARGET -/* #undef HAVE_SYS_LOCKING_H */ -#endif - - -/* Define to 1 if you have the header file. */ -#ifndef USED_FOR_TARGET -#define HAVE_SYS_MMAN_H 1 -#endif - - -/* Define to 1 if you have the header file. */ -#ifndef USED_FOR_TARGET -#define HAVE_SYS_PARAM_H 1 -#endif - - -/* Define to 1 if you have the header file. */ -#ifndef USED_FOR_TARGET -#define HAVE_SYS_RESOURCE_H 1 -#endif - - -/* Define if your target C library provides sys/sdt.h */ -/* #undef HAVE_SYS_SDT_H */ - -/* Define to 1 if you have the header file. */ -#ifndef USED_FOR_TARGET -#define HAVE_SYS_STAT_H 1 -#endif - - -/* Define to 1 if you have the header file. */ -#ifndef USED_FOR_TARGET -#define HAVE_SYS_TIMES_H 1 -#endif - - -/* Define to 1 if you have the header file. */ -#ifndef USED_FOR_TARGET -#define HAVE_SYS_TIME_H 1 -#endif - - -/* Define to 1 if you have the header file. */ -#ifndef USED_FOR_TARGET -#define HAVE_SYS_TYPES_H 1 -#endif - - -/* Define to 1 if you have that is POSIX.1 compatible. */ -#ifndef USED_FOR_TARGET -#define HAVE_SYS_WAIT_H 1 -#endif - - -/* Define to 1 if you have the `times' function. */ -#ifndef USED_FOR_TARGET -#define HAVE_TIMES 1 -#endif - - -/* Define to 1 if you have the header file. */ -#ifndef USED_FOR_TARGET -#define HAVE_TIME_H 1 -#endif - - -/* Define to 1 if you have the header file. */ -#ifndef USED_FOR_TARGET -/* #undef HAVE_TR1_UNORDERED_MAP */ -#endif - - -/* Define to 1 if the system has the type `uintmax_t'. */ -#ifndef USED_FOR_TARGET -#define HAVE_UINTMAX_T 1 -#endif - - -/* Define to 1 if the system has the type `uintptr_t'. */ -#ifndef USED_FOR_TARGET -#define HAVE_UINTPTR_T 1 -#endif - - -/* Define to 1 if you have the header file. */ -#ifndef USED_FOR_TARGET -#define HAVE_UNISTD_H 1 -#endif - - -/* Define to 1 if you have the header file. */ -#ifndef USED_FOR_TARGET -#define HAVE_UNORDERED_MAP 1 -#endif - - -/* Define to 1 if the system has the type `unsigned long long int'. */ -#ifndef USED_FOR_TARGET -#define HAVE_UNSIGNED_LONG_LONG_INT 1 -#endif - - -/* Define if valgrind's valgrind/memcheck.h header is installed. */ -#ifndef USED_FOR_TARGET -/* #undef HAVE_VALGRIND_MEMCHECK_H */ -#endif - - -/* Define to 1 if you have the `vfork' function. */ -#ifndef USED_FOR_TARGET -#define HAVE_VFORK 1 -#endif - - -/* Define to 1 if you have the header file. */ -#ifndef USED_FOR_TARGET -/* #undef HAVE_VFORK_H */ -#endif - - -/* Define to 1 if you have the header file. */ -#ifndef USED_FOR_TARGET -#define HAVE_WCHAR_H 1 -#endif - - -/* Define to 1 if you have the `wcswidth' function. */ -#ifndef USED_FOR_TARGET -#define HAVE_WCSWIDTH 1 -#endif - - -/* Define to 1 if `fork' works. */ -#ifndef USED_FOR_TARGET -#define HAVE_WORKING_FORK 1 -#endif - - -/* Define this macro if mbstowcs does not crash when its first argument is - NULL. */ -#ifndef USED_FOR_TARGET -#define HAVE_WORKING_MBSTOWCS 1 -#endif - - -/* Define to 1 if `vfork' works. */ -#ifndef USED_FOR_TARGET -#define HAVE_WORKING_VFORK 1 -#endif - - -/* Define if your assembler supports AIX debug frame section label reference. - */ -#ifndef USED_FOR_TARGET -/* #undef HAVE_XCOFF_DWARF_EXTRAS */ -#endif - - -/* Define if you have a working header file. */ -#ifndef USED_FOR_TARGET -#define HAVE_ZSTD_H 1 -#endif - - -/* Define if isl is in use. */ -#ifndef USED_FOR_TARGET -#define HAVE_isl 1 -#endif - - -/* Define if F_SETLKW supported by fcntl. */ -#ifndef USED_FOR_TARGET -#define HOST_HAS_F_SETLKW 1 -#endif - - -/* Define if _LK_LOC supported by _locking. */ -#ifndef USED_FOR_TARGET -/* #undef HOST_HAS_LK_LOCK */ -#endif - - -/* Define if O_CLOEXEC supported by fcntl. */ -#ifndef USED_FOR_TARGET -#define HOST_HAS_O_CLOEXEC 1 -#endif - - -/* Define if O_NONBLOCK supported by fcntl. */ -#ifndef USED_FOR_TARGET -#define HOST_HAS_O_NONBLOCK 1 -#endif - - -/* Define which stat syscall is able to handle 64bit indodes. */ -#ifndef USED_FOR_TARGET -/* #undef HOST_STAT_FOR_64BIT_INODES */ -#endif - - -/* Define as const if the declaration of iconv() needs const. */ -#ifndef USED_FOR_TARGET -#define ICONV_CONST -#endif - - -/* Define if int64_t uses long as underlying type. */ -#ifndef USED_FOR_TARGET -/* #undef INT64_T_IS_LONG */ -#endif - - -/* Define to 1 if ld64 supports '-export_dynamic'. */ -#ifndef USED_FOR_TARGET -/* #undef LD64_HAS_EXPORT_DYNAMIC */ -#endif - - -/* Define to 1 if ld64 supports '-platform_version'. */ -#ifndef USED_FOR_TARGET -/* #undef LD64_HAS_PLATFORM_VERSION */ -#endif - - -/* Define to ld64 version. */ -#ifndef USED_FOR_TARGET -/* #undef LD64_VERSION */ -#endif - - -/* Define to the linker option to ignore unused dependencies. */ -#ifndef USED_FOR_TARGET -/* #undef LD_AS_NEEDED_OPTION */ -#endif - - -/* Define to the linker option to enable compressed debug sections. */ -#ifndef USED_FOR_TARGET -#define LD_COMPRESS_DEBUG_OPTION "" -#endif - - -/* Define to the linker option to enable use of shared objects. */ -#ifndef USED_FOR_TARGET -/* #undef LD_DYNAMIC_OPTION */ -#endif - - -/* Define to the linker option to keep unused dependencies. */ -#ifndef USED_FOR_TARGET -/* #undef LD_NO_AS_NEEDED_OPTION */ -#endif - - -/* Define to the linker option to disable use of shared objects. */ -#ifndef USED_FOR_TARGET -/* #undef LD_STATIC_OPTION */ -#endif - - -/* The linker hash style */ -#ifndef USED_FOR_TARGET -/* #undef LINKER_HASH_STYLE */ -#endif - - -/* Define to the name of the LTO plugin DSO that must be passed to the - linker's -plugin=LIB option. */ -#ifndef USED_FOR_TARGET -#define LTOPLUGINSONAME "liblto_plugin.so" -#endif - - -/* Define to the sub-directory in which libtool stores uninstalled libraries. - */ -#ifndef USED_FOR_TARGET -#define LT_OBJDIR ".libs/" -#endif - - -/* Define if we should link mingw executables with --large-address-aware */ -#ifndef USED_FOR_TARGET -/* #undef MINGW_DEFAULT_LARGE_ADDR_AWARE */ -#endif - - -/* Value to set mingw's _dowildcard to. */ -#ifndef USED_FOR_TARGET -/* #undef MINGW_DOWILDCARD */ -#endif - - -/* Define if host mkdir takes a single argument. */ -#ifndef USED_FOR_TARGET -/* #undef MKDIR_TAKES_ONE_ARG */ -#endif - - -/* Define to 1 to if -foffload is defaulted */ -#ifndef USED_FOR_TARGET -/* #undef OFFLOAD_DEFAULTED */ -#endif - - -/* Define to offload targets, separated by commas. */ -#ifndef USED_FOR_TARGET -#define OFFLOAD_TARGETS "" -#endif - - -/* Define to the address where bug reports for this package should be sent. */ -#ifndef USED_FOR_TARGET -#define PACKAGE_BUGREPORT "" -#endif - - -/* Define to the full name of this package. */ -#ifndef USED_FOR_TARGET -#define PACKAGE_NAME "" -#endif - - -/* Define to the full name and version of this package. */ -#ifndef USED_FOR_TARGET -#define PACKAGE_STRING "" -#endif - - -/* Define to the one symbol short name of this package. */ -#ifndef USED_FOR_TARGET -#define PACKAGE_TARNAME "" -#endif - - -/* Define to the home page for this package. */ -#ifndef USED_FOR_TARGET -#define PACKAGE_URL "" -#endif - - -/* Define to the version of this package. */ -#ifndef USED_FOR_TARGET -#define PACKAGE_VERSION "" -#endif - - -/* Specify plugin linker */ -#ifndef USED_FOR_TARGET -#define PLUGIN_LD_SUFFIX "" -#endif - - -/* Define to .TOC. alignment forced by your linker. */ -#ifndef USED_FOR_TARGET -/* #undef POWERPC64_TOC_POINTER_ALIGNMENT */ -#endif - - -/* Define to PREFIX/include if cpp should also search that directory. */ -#ifndef USED_FOR_TARGET -/* #undef PREFIX_INCLUDE_DIR */ -#endif - - -/* The size of `dev_t', as computed by sizeof. */ -#ifndef USED_FOR_TARGET -#define SIZEOF_DEV_T 4 -#endif - - -/* The size of `ino_t', as computed by sizeof. */ -#ifndef USED_FOR_TARGET -#define SIZEOF_INO_T 8 -#endif - - -/* The size of `int', as computed by sizeof. */ -#ifndef USED_FOR_TARGET -#define SIZEOF_INT 4 -#endif - - -/* The size of `long', as computed by sizeof. */ -#ifndef USED_FOR_TARGET -#define SIZEOF_LONG 8 -#endif - - -/* The size of `long long', as computed by sizeof. */ -#ifndef USED_FOR_TARGET -#define SIZEOF_LONG_LONG 8 -#endif - - -/* The size of `short', as computed by sizeof. */ -#ifndef USED_FOR_TARGET -#define SIZEOF_SHORT 2 -#endif - - -/* The size of `void *', as computed by sizeof. */ -#ifndef USED_FOR_TARGET -#define SIZEOF_VOID_P 8 -#endif - - -/* Define to 1 if you have the ANSI C header files. */ -#ifndef USED_FOR_TARGET -#define STDC_HEADERS 1 -#endif - - -/* Define if you can safely include both and . */ -#ifndef USED_FOR_TARGET -#define STRING_WITH_STRINGS 1 -#endif - - -/* Define if TFmode long double should be the default */ -#ifndef USED_FOR_TARGET -/* #undef TARGET_DEFAULT_LONG_DOUBLE_128 */ -#endif - - -/* Define if your target C library provides the `dl_iterate_phdr' function. */ -/* #undef TARGET_DL_ITERATE_PHDR */ - -/* GNU C Library major version number used on the target, or 0. */ -#ifndef USED_FOR_TARGET -#define TARGET_GLIBC_MAJOR 0 -#endif - - -/* GNU C Library minor version number used on the target, or 0. */ -#ifndef USED_FOR_TARGET -#define TARGET_GLIBC_MINOR 0 -#endif - - -/* Define if your target C Library properly handles PT_GNU_STACK */ -#ifndef USED_FOR_TARGET -/* #undef TARGET_LIBC_GNUSTACK */ -#endif - - -/* Define if your target C Library provides the AT_HWCAP value in the TCB */ -#ifndef USED_FOR_TARGET -/* #undef TARGET_LIBC_PROVIDES_HWCAP_IN_TCB */ -#endif - - -/* Define if your target C library provides stack protector support */ -#ifndef USED_FOR_TARGET -#define TARGET_LIBC_PROVIDES_SSP 1 -#endif - - -/* Define to 1 if you can safely include both and . */ -#ifndef USED_FOR_TARGET -#define TIME_WITH_SYS_TIME 1 -#endif - - -/* Define to the flag used to mark TLS sections if the default (`T') doesn't - work. */ -#ifndef USED_FOR_TARGET -/* #undef TLS_SECTION_ASM_FLAG */ -#endif - - -/* Define if your assembler mis-optimizes .eh_frame data. */ -#ifndef USED_FOR_TARGET -/* #undef USE_AS_TRADITIONAL_FORMAT */ -#endif - - -/* Define if you want to generate code by default that assumes that the Cygwin - DLL exports wrappers to support libstdc++ function replacement. */ -#ifndef USED_FOR_TARGET -/* #undef USE_CYGWIN_LIBSTDCXX_WRAPPERS */ -#endif - - -/* Define 0/1 if your linker supports hidden thunks in linkonce sections. */ -#ifndef USED_FOR_TARGET -/* #undef USE_HIDDEN_LINKONCE */ -#endif - - -/* Define to 1 if the 'long long' type is wider than 'long' but still - efficiently supported by the host hardware. */ -#ifndef USED_FOR_TARGET -/* #undef USE_LONG_LONG_FOR_WIDEST_FAST_INT */ -#endif - - -/* Define if we should use leading underscore on 64 bit mingw targets */ -#ifndef USED_FOR_TARGET -/* #undef USE_MINGW64_LEADING_UNDERSCORES */ -#endif - - -/* Enable extensions on AIX 3, Interix. */ -#ifndef _ALL_SOURCE -# define _ALL_SOURCE 1 -#endif -/* Enable GNU extensions on systems that have them. */ -#ifndef _GNU_SOURCE -# define _GNU_SOURCE 1 -#endif -/* Enable threading extensions on Solaris. */ -#ifndef _POSIX_PTHREAD_SEMANTICS -# define _POSIX_PTHREAD_SEMANTICS 1 -#endif -/* Enable extensions on HP NonStop. */ -#ifndef _TANDEM_SOURCE -# define _TANDEM_SOURCE 1 -#endif -/* Enable general extensions on Solaris. */ -#ifndef __EXTENSIONS__ -# define __EXTENSIONS__ 1 -#endif - - -/* Define to be the last component of the Windows registry key under which to - look for installation paths. The full key used will be - HKEY_LOCAL_MACHINE/SOFTWARE/Free Software Foundation/{WIN32_REGISTRY_KEY}. - The default is the GCC version number. */ -#ifndef USED_FOR_TARGET -/* #undef WIN32_REGISTRY_KEY */ -#endif - - -/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most - significant byte first (like Motorola and SPARC, unlike Intel). */ -#if defined AC_APPLE_UNIVERSAL_BUILD -# if defined __BIG_ENDIAN__ -# define WORDS_BIGENDIAN 1 -# endif -#else -# ifndef WORDS_BIGENDIAN -/* # undef WORDS_BIGENDIAN */ -# endif -#endif - -/* Enable large inode numbers on Mac OS X 10.5. */ -#ifndef _DARWIN_USE_64_BIT_INODE -# define _DARWIN_USE_64_BIT_INODE 1 -#endif - -/* Number of bits in a file offset, on hosts where this is settable. */ -#ifndef USED_FOR_TARGET -/* #undef _FILE_OFFSET_BITS */ -#endif - - -/* Define for large files, on AIX-style hosts. */ -#ifndef USED_FOR_TARGET -/* #undef _LARGE_FILES */ -#endif - - -/* Define to 1 if on MINIX. */ -#ifndef USED_FOR_TARGET -/* #undef _MINIX */ -#endif - - -/* Define to 2 if the system does not provide POSIX.1 features except with - this defined. */ -#ifndef USED_FOR_TARGET -/* #undef _POSIX_1_SOURCE */ -#endif - - -/* Define to 1 if you need to in order for `stat' and other things to work. */ -#ifndef USED_FOR_TARGET -/* #undef _POSIX_SOURCE */ -#endif - - -/* Define for Solaris 2.5.1 so the uint32_t typedef from , - , or is not used. If the typedef were allowed, the - #define below would cause a syntax error. */ -#ifndef USED_FOR_TARGET -/* #undef _UINT32_T */ -#endif - - -/* Define for Solaris 2.5.1 so the uint64_t typedef from , - , or is not used. If the typedef were allowed, the - #define below would cause a syntax error. */ -#ifndef USED_FOR_TARGET -/* #undef _UINT64_T */ -#endif - - -/* Define for Solaris 2.5.1 so the uint8_t typedef from , - , or is not used. If the typedef were allowed, the - #define below would cause a syntax error. */ -#ifndef USED_FOR_TARGET -/* #undef _UINT8_T */ -#endif - - -/* Define to `char *' if does not define. */ -#ifndef USED_FOR_TARGET -/* #undef caddr_t */ -#endif - - -/* Define to `__inline__' or `__inline' if that's what the C compiler - calls it, or to nothing if 'inline' is not supported under any name. */ -#ifndef __cplusplus -/* #undef inline */ -#endif - -/* Define to the type of a signed integer type of width exactly 16 bits if - such a type exists and the standard includes do not define it. */ -#ifndef USED_FOR_TARGET -/* #undef int16_t */ -#endif - - -/* Define to the type of a signed integer type of width exactly 32 bits if - such a type exists and the standard includes do not define it. */ -#ifndef USED_FOR_TARGET -/* #undef int32_t */ -#endif - - -/* Define to the type of a signed integer type of width exactly 64 bits if - such a type exists and the standard includes do not define it. */ -#ifndef USED_FOR_TARGET -/* #undef int64_t */ -#endif - - -/* Define to the type of a signed integer type of width exactly 8 bits if such - a type exists and the standard includes do not define it. */ -#ifndef USED_FOR_TARGET -/* #undef int8_t */ -#endif - - -/* Define to the widest signed integer type if and do - not define. */ -#ifndef USED_FOR_TARGET -/* #undef intmax_t */ -#endif - - -/* Define to the type of a signed integer type wide enough to hold a pointer, - if such a type exists, and if the system does not define it. */ -#ifndef USED_FOR_TARGET -/* #undef intptr_t */ -#endif - - -/* Define to `int' if does not define. */ -#ifndef USED_FOR_TARGET -/* #undef pid_t */ -#endif - - -/* Define to `long' if doesn't define. */ -#ifndef USED_FOR_TARGET -/* #undef rlim_t */ -#endif - - -/* Define to `int' if does not define. */ -#ifndef USED_FOR_TARGET -/* #undef ssize_t */ -#endif - - -/* Define to the type of an unsigned integer type of width exactly 16 bits if - such a type exists and the standard includes do not define it. */ -#ifndef USED_FOR_TARGET -/* #undef uint16_t */ -#endif - - -/* Define to the type of an unsigned integer type of width exactly 32 bits if - such a type exists and the standard includes do not define it. */ -#ifndef USED_FOR_TARGET -/* #undef uint32_t */ -#endif - - -/* Define to the type of an unsigned integer type of width exactly 64 bits if - such a type exists and the standard includes do not define it. */ -#ifndef USED_FOR_TARGET -/* #undef uint64_t */ -#endif - - -/* Define to the type of an unsigned integer type of width exactly 8 bits if - such a type exists and the standard includes do not define it. */ -#ifndef USED_FOR_TARGET -/* #undef uint8_t */ -#endif - - -/* Define to the widest unsigned integer type if and - do not define. */ -#ifndef USED_FOR_TARGET -/* #undef uintmax_t */ -#endif - - -/* Define to the type of an unsigned integer type wide enough to hold a - pointer, if such a type exists, and if the system does not define it. */ -#ifndef USED_FOR_TARGET -/* #undef uintptr_t */ -#endif - - -/* Define as `fork' if `vfork' does not work. */ -#ifndef USED_FOR_TARGET -/* #undef vfork */ -#endif - diff --git a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/auto-profile.h b/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/auto-profile.h deleted file mode 100644 index 8b4cd061..00000000 --- a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/auto-profile.h +++ /dev/null @@ -1,31 +0,0 @@ -/* auto-profile.h - Defines data exported from auto-profile.cc - Copyright (C) 2014-2023 Free Software Foundation, Inc. - Contributed by Dehao Chen (dehao@google.com) - -This file is part of GCC. - -GCC is free software; you can redistribute it and/or modify it under -the terms of the GNU General Public License as published by the Free -Software Foundation; either version 3, or (at your option) any later -version. - -GCC is distributed in the hope that it will be useful, but WITHOUT ANY -WARRANTY; without even the implied warranty of MERCHANTABILITY or -FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -for more details. - -You should have received a copy of the GNU General Public License -along with GCC; see the file COPYING3. If not see -. */ - -#ifndef AUTO_PROFILE_H -#define AUTO_PROFILE_H - -/* Read, process, finalize AutoFDO data structures. */ -extern void read_autofdo_file (void); -extern void end_auto_profile (void); - -/* Returns TRUE if EDGE is hot enough to be inlined early. */ -extern bool afdo_callsite_hot_enough_for_early_inline (struct cgraph_edge *); - -#endif /* AUTO_PROFILE_H */ diff --git a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/b-header-vars b/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/b-header-vars deleted file mode 100644 index c7d1837f..00000000 --- a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/b-header-vars +++ /dev/null @@ -1,95 +0,0 @@ -USER_H=float.h iso646.h stdarg.h stdbool.h stddef.h varargs.h stdfix.h stdnoreturn.h stdalign.h stdatomic.h config/m68k/math-68881.h tgmath.h -T_GLIMITS_H=glimits.h -T_STDINT_GCC_H=stdint-gcc.h -HASHTAB_H=hashtab.h -OBSTACK_H=obstack.h -SPLAY_TREE_H=splay-tree.h -MD5_H=md5.h -XREGEX_H=xregex.h -FNMATCH_H=fnmatch.h -LINKER_PLUGIN_API_H=plugin-api.h -BCONFIG_H=bconfig.h auto-host.h ansidecl.h -CONFIG_H=config.h auto-host.h ansidecl.h -TCONFIG_H=tconfig.h auto-host.h ansidecl.h -TM_P_H=tm_p.h config/m68k/m68k-protos.h tm-preds.h -TM_D_H=tm_d.h -GTM_H=tm.h options.h config/m68k/m68k.h m68k-none.h m68kelf.h elfos.h newlib-stdint.h m68kemb.h m68020-elf.h initfini-array.h defaults.h insn-constants.h -TM_H=tm.h options.h config/m68k/m68k.h m68k-none.h m68kelf.h elfos.h newlib-stdint.h m68kemb.h m68020-elf.h initfini-array.h defaults.h insn-constants.h insn-flags.h options.h flag-types.h m68k-opts.h m68k-microarchs.def m68k-devices.def -DUMPFILE_H=line-map.h dumpfile.h -VEC_H=vec.h statistics.h ggc.h gtype-desc.h statistics.h -HASH_TABLE_H=hashtab.h hash-table.h ggc.h gtype-desc.h statistics.h -EXCEPT_H=except.h hashtab.h -TARGET_H=tm.h options.h config/m68k/m68k.h m68k-none.h m68kelf.h elfos.h newlib-stdint.h m68kemb.h m68020-elf.h initfini-array.h defaults.h insn-constants.h insn-flags.h options.h flag-types.h m68k-opts.h m68k-microarchs.def m68k-devices.def target.h target.def target-hooks-macros.h target-insns.def insn-modes.h insn-codes.h -C_TARGET_H=c-family/c-target.h c-family/c-target.def target-hooks-macros.h -COMMON_TARGET_H=common/common-target.h line-map.h input.h common/common-target.def target-hooks-macros.h -D_TARGET_H=d/d-target.h d/d-target.def target-hooks-macros.h -MACHMODE_H=machmode.h mode-classes.def -HOOKS_H=hooks.h -HOSTHOOKS_DEF_H=hosthooks-def.h hooks.h -LANGHOOKS_DEF_H=langhooks-def.h hooks.h -TARGET_DEF_H=target-def.h target-hooks-def.h hooks.h targhooks.h -C_TARGET_DEF_H=c-family/c-target-def.h c-family/c-target-hooks-def.h tree.h tree-core.h coretypes.h insn-modes.h signop.h wide-int.h wide-int-print.h insn-modes-inline.h machmode.h mode-classes.def double-int.h align.h poly-int.h poly-int-types.h all-tree.def tree.def c-family/c-common.def ada-tree.def cp-tree.def d-tree.def m2-tree.def objc-tree.def builtins.def sync-builtins.def omp-builtins.def gtm-builtins.def sanitizer.def line-map.h input.h statistics.h vec.h statistics.h ggc.h gtype-desc.h statistics.h treestruct.def hashtab.h alias.h symtab.h obstack.h flags.h flag-types.h options.h flag-types.h config/m68k/m68k-opts.h m68k-microarchs.def m68k-devices.def real.h fixed-value.h tree-check.h c-family/c-common.h c-family/c-common.def tree.h tree-core.h coretypes.h insn-modes.h signop.h wide-int.h wide-int-print.h insn-modes-inline.h machmode.h mode-classes.def double-int.h align.h poly-int.h poly-int-types.h all-tree.def tree.def c-family/c-common.def ada-tree.def cp-tree.def d-tree.def m2-tree.def objc-tree.def builtins.def sync-builtins.def omp-builtins.def gtm-builtins.def sanitizer.def line-map.h input.h statistics.h vec.h statistics.h ggc.h gtype-desc.h statistics.h treestruct.def hashtab.h alias.h symtab.h obstack.h flags.h flag-types.h options.h flag-types.h m68k-opts.h m68k-microarchs.def m68k-devices.def real.h fixed-value.h tree-check.h splay-tree.h line-map.h cpplib.h ggc.h gtype-desc.h statistics.h diagnostic-core.h line-map.h input.h bversion.h diagnostic.def hooks.h common/common-targhooks.h -CORETYPES_H=coretypes.h insn-modes.h signop.h wide-int.h wide-int-print.h insn-modes-inline.h machmode.h mode-classes.def double-int.h align.h poly-int.h poly-int-types.h -RTL_BASE_H=coretypes.h insn-modes.h signop.h wide-int.h wide-int-print.h insn-modes-inline.h machmode.h mode-classes.def double-int.h align.h poly-int.h poly-int-types.h rtl.h rtl.def reg-notes.def insn-notes.def line-map.h input.h real.h statistics.h vec.h statistics.h ggc.h gtype-desc.h statistics.h fixed-value.h alias.h hashtab.h -FIXED_VALUE_H=fixed-value.h -RTL_H=coretypes.h insn-modes.h signop.h wide-int.h wide-int-print.h insn-modes-inline.h machmode.h mode-classes.def double-int.h align.h poly-int.h poly-int-types.h rtl.h rtl.def reg-notes.def insn-notes.def line-map.h input.h real.h statistics.h vec.h statistics.h ggc.h gtype-desc.h statistics.h fixed-value.h alias.h hashtab.h flags.h flag-types.h options.h flag-types.h config/m68k/m68k-opts.h m68k-microarchs.def m68k-devices.def genrtl.h -READ_MD_H=obstack.h hashtab.h read-md.h -INTERNAL_FN_H=internal-fn.h internal-fn.def -TREE_CORE_H=tree-core.h coretypes.h insn-modes.h signop.h wide-int.h wide-int-print.h insn-modes-inline.h machmode.h mode-classes.def double-int.h align.h poly-int.h poly-int-types.h all-tree.def tree.def c-family/c-common.def ada-tree.def cp-tree.def d-tree.def m2-tree.def objc-tree.def builtins.def sync-builtins.def omp-builtins.def gtm-builtins.def sanitizer.def line-map.h input.h statistics.h vec.h statistics.h ggc.h gtype-desc.h statistics.h treestruct.def hashtab.h alias.h symtab.h obstack.h flags.h flag-types.h options.h flag-types.h config/m68k/m68k-opts.h m68k-microarchs.def m68k-devices.def real.h fixed-value.h -TREE_H=tree.h tree-core.h coretypes.h insn-modes.h signop.h wide-int.h wide-int-print.h insn-modes-inline.h machmode.h mode-classes.def double-int.h align.h poly-int.h poly-int-types.h all-tree.def tree.def c-family/c-common.def ada-tree.def cp-tree.def d-tree.def m2-tree.def objc-tree.def builtins.def sync-builtins.def omp-builtins.def gtm-builtins.def sanitizer.def line-map.h input.h statistics.h vec.h statistics.h ggc.h gtype-desc.h statistics.h treestruct.def hashtab.h alias.h symtab.h obstack.h flags.h flag-types.h options.h flag-types.h config/m68k/m68k-opts.h m68k-microarchs.def m68k-devices.def real.h fixed-value.h tree-check.h -REGSET_H=regset.h bitmap.h hashtab.h statistics.h hard-reg-set.h -BASIC_BLOCK_H=basic-block.h predict.h predict.def vec.h statistics.h ggc.h gtype-desc.h statistics.h function.h hashtab.h tm.h options.h config/m68k/m68k.h m68k-none.h m68kelf.h elfos.h newlib-stdint.h m68kemb.h m68020-elf.h initfini-array.h defaults.h insn-constants.h insn-flags.h options.h flag-types.h m68k-opts.h m68k-microarchs.def m68k-devices.def hard-reg-set.h vec.h statistics.h ggc.h gtype-desc.h statistics.h line-map.h input.h cfg-flags.def cfghooks.h profile-count.h -GIMPLE_H=gimple.h gimple.def gsstruct.def vec.h statistics.h ggc.h gtype-desc.h statistics.h ggc.h gtype-desc.h statistics.h basic-block.h predict.h predict.def vec.h statistics.h ggc.h gtype-desc.h statistics.h function.h hashtab.h tm.h options.h config/m68k/m68k.h m68k-none.h m68kelf.h elfos.h newlib-stdint.h m68kemb.h m68020-elf.h initfini-array.h defaults.h insn-constants.h insn-flags.h options.h flag-types.h m68k-opts.h m68k-microarchs.def m68k-devices.def hard-reg-set.h vec.h statistics.h ggc.h gtype-desc.h statistics.h line-map.h input.h cfg-flags.def cfghooks.h profile-count.h tree.h tree-core.h coretypes.h insn-modes.h signop.h wide-int.h wide-int-print.h insn-modes-inline.h machmode.h mode-classes.def double-int.h align.h poly-int.h poly-int-types.h all-tree.def tree.def c-family/c-common.def ada-tree.def cp-tree.def d-tree.def m2-tree.def objc-tree.def builtins.def sync-builtins.def omp-builtins.def gtm-builtins.def sanitizer.def line-map.h input.h statistics.h vec.h statistics.h ggc.h gtype-desc.h statistics.h treestruct.def hashtab.h alias.h symtab.h obstack.h flags.h flag-types.h options.h flag-types.h m68k-opts.h m68k-microarchs.def m68k-devices.def real.h fixed-value.h tree-check.h tree-ssa-operands.h tree-ssa-alias.h internal-fn.h internal-fn.def hashtab.h hash-table.h ggc.h gtype-desc.h statistics.h is-a.h -GCOV_IO_H=gcov-io.h version.h auto-host.h gcov-counter.def -RECOG_H=recog.h -EMIT_RTL_H=emit-rtl.h -FLAGS_H=flags.h flag-types.h options.h flag-types.h config/m68k/m68k-opts.h m68k-microarchs.def m68k-devices.def -OPTIONS_H=options.h flag-types.h config/m68k/m68k-opts.h m68k-microarchs.def m68k-devices.def -FUNCTION_H=function.h hashtab.h tm.h options.h config/m68k/m68k.h m68k-none.h m68kelf.h elfos.h newlib-stdint.h m68kemb.h m68020-elf.h initfini-array.h defaults.h insn-constants.h insn-flags.h options.h flag-types.h m68k-opts.h m68k-microarchs.def m68k-devices.def hard-reg-set.h vec.h statistics.h ggc.h gtype-desc.h statistics.h line-map.h input.h -EXPR_H=expr.h insn-config.h function.h hashtab.h tm.h options.h config/m68k/m68k.h m68k-none.h m68kelf.h elfos.h newlib-stdint.h m68kemb.h m68020-elf.h initfini-array.h defaults.h insn-constants.h insn-flags.h options.h flag-types.h m68k-opts.h m68k-microarchs.def m68k-devices.def hard-reg-set.h vec.h statistics.h ggc.h gtype-desc.h statistics.h line-map.h input.h coretypes.h insn-modes.h signop.h wide-int.h wide-int-print.h insn-modes-inline.h machmode.h mode-classes.def double-int.h align.h poly-int.h poly-int-types.h rtl.h rtl.def reg-notes.def insn-notes.def line-map.h input.h real.h statistics.h vec.h statistics.h ggc.h gtype-desc.h statistics.h fixed-value.h alias.h hashtab.h flags.h flag-types.h options.h flag-types.h m68k-opts.h m68k-microarchs.def m68k-devices.def genrtl.h flags.h flag-types.h options.h flag-types.h m68k-opts.h m68k-microarchs.def m68k-devices.def tree.h tree-core.h coretypes.h insn-modes.h signop.h wide-int.h wide-int-print.h insn-modes-inline.h machmode.h mode-classes.def double-int.h align.h poly-int.h poly-int-types.h all-tree.def tree.def c-family/c-common.def ada-tree.def cp-tree.def d-tree.def m2-tree.def objc-tree.def builtins.def sync-builtins.def omp-builtins.def gtm-builtins.def sanitizer.def line-map.h input.h statistics.h vec.h statistics.h ggc.h gtype-desc.h statistics.h treestruct.def hashtab.h alias.h symtab.h obstack.h flags.h flag-types.h options.h flag-types.h m68k-opts.h m68k-microarchs.def m68k-devices.def real.h fixed-value.h tree-check.h emit-rtl.h -OPTABS_H=optabs.h insn-codes.h insn-opinit.h -REGS_H=regs.h hard-reg-set.h -CFGLOOP_H=cfgloop.h basic-block.h predict.h predict.def vec.h statistics.h ggc.h gtype-desc.h statistics.h function.h hashtab.h tm.h options.h config/m68k/m68k.h m68k-none.h m68kelf.h elfos.h newlib-stdint.h m68kemb.h m68020-elf.h initfini-array.h defaults.h insn-constants.h insn-flags.h options.h flag-types.h m68k-opts.h m68k-microarchs.def m68k-devices.def hard-reg-set.h vec.h statistics.h ggc.h gtype-desc.h statistics.h line-map.h input.h cfg-flags.def cfghooks.h profile-count.h bitmap.h hashtab.h statistics.h sbitmap.h -IPA_UTILS_H=ipa-utils.h tree.h tree-core.h coretypes.h insn-modes.h signop.h wide-int.h wide-int-print.h insn-modes-inline.h machmode.h mode-classes.def double-int.h align.h poly-int.h poly-int-types.h all-tree.def tree.def c-family/c-common.def ada-tree.def cp-tree.def d-tree.def m2-tree.def objc-tree.def builtins.def sync-builtins.def omp-builtins.def gtm-builtins.def sanitizer.def line-map.h input.h statistics.h vec.h statistics.h ggc.h gtype-desc.h statistics.h treestruct.def hashtab.h alias.h symtab.h obstack.h flags.h flag-types.h options.h flag-types.h config/m68k/m68k-opts.h m68k-microarchs.def m68k-devices.def real.h fixed-value.h tree-check.h cgraph.h vec.h statistics.h ggc.h gtype-desc.h statistics.h tree.h tree-core.h coretypes.h insn-modes.h signop.h wide-int.h wide-int-print.h insn-modes-inline.h machmode.h mode-classes.def double-int.h align.h poly-int.h poly-int-types.h all-tree.def tree.def c-family/c-common.def ada-tree.def cp-tree.def d-tree.def m2-tree.def objc-tree.def builtins.def sync-builtins.def omp-builtins.def gtm-builtins.def sanitizer.def line-map.h input.h statistics.h vec.h statistics.h ggc.h gtype-desc.h statistics.h treestruct.def hashtab.h alias.h symtab.h obstack.h flags.h flag-types.h options.h flag-types.h m68k-opts.h m68k-microarchs.def m68k-devices.def real.h fixed-value.h tree-check.h basic-block.h predict.h predict.def vec.h statistics.h ggc.h gtype-desc.h statistics.h function.h hashtab.h tm.h options.h m68k.h m68k-none.h m68kelf.h elfos.h newlib-stdint.h m68kemb.h m68020-elf.h initfini-array.h defaults.h insn-constants.h insn-flags.h options.h flag-types.h m68k-opts.h m68k-microarchs.def m68k-devices.def hard-reg-set.h vec.h statistics.h ggc.h gtype-desc.h statistics.h line-map.h input.h cfg-flags.def cfghooks.h profile-count.h function.h hashtab.h tm.h options.h m68k.h m68k-none.h m68kelf.h elfos.h newlib-stdint.h m68kemb.h m68020-elf.h initfini-array.h defaults.h insn-constants.h insn-flags.h options.h flag-types.h m68k-opts.h m68k-microarchs.def m68k-devices.def hard-reg-set.h vec.h statistics.h ggc.h gtype-desc.h statistics.h line-map.h input.h cif-code.def ipa-ref.h plugin-api.h is-a.h -IPA_REFERENCE_H=ipa-reference.h bitmap.h hashtab.h statistics.h tree.h tree-core.h coretypes.h insn-modes.h signop.h wide-int.h wide-int-print.h insn-modes-inline.h machmode.h mode-classes.def double-int.h align.h poly-int.h poly-int-types.h all-tree.def tree.def c-family/c-common.def ada-tree.def cp-tree.def d-tree.def m2-tree.def objc-tree.def builtins.def sync-builtins.def omp-builtins.def gtm-builtins.def sanitizer.def line-map.h input.h statistics.h vec.h statistics.h ggc.h gtype-desc.h statistics.h treestruct.def hashtab.h alias.h symtab.h obstack.h flags.h flag-types.h options.h flag-types.h config/m68k/m68k-opts.h m68k-microarchs.def m68k-devices.def real.h fixed-value.h tree-check.h -CGRAPH_H=cgraph.h vec.h statistics.h ggc.h gtype-desc.h statistics.h tree.h tree-core.h coretypes.h insn-modes.h signop.h wide-int.h wide-int-print.h insn-modes-inline.h machmode.h mode-classes.def double-int.h align.h poly-int.h poly-int-types.h all-tree.def tree.def c-family/c-common.def ada-tree.def cp-tree.def d-tree.def m2-tree.def objc-tree.def builtins.def sync-builtins.def omp-builtins.def gtm-builtins.def sanitizer.def line-map.h input.h statistics.h vec.h statistics.h ggc.h gtype-desc.h statistics.h treestruct.def hashtab.h alias.h symtab.h obstack.h flags.h flag-types.h options.h flag-types.h config/m68k/m68k-opts.h m68k-microarchs.def m68k-devices.def real.h fixed-value.h tree-check.h basic-block.h predict.h predict.def vec.h statistics.h ggc.h gtype-desc.h statistics.h function.h hashtab.h tm.h options.h m68k.h m68k-none.h m68kelf.h elfos.h newlib-stdint.h m68kemb.h m68020-elf.h initfini-array.h defaults.h insn-constants.h insn-flags.h options.h flag-types.h m68k-opts.h m68k-microarchs.def m68k-devices.def hard-reg-set.h vec.h statistics.h ggc.h gtype-desc.h statistics.h line-map.h input.h cfg-flags.def cfghooks.h profile-count.h function.h hashtab.h tm.h options.h m68k.h m68k-none.h m68kelf.h elfos.h newlib-stdint.h m68kemb.h m68020-elf.h initfini-array.h defaults.h insn-constants.h insn-flags.h options.h flag-types.h m68k-opts.h m68k-microarchs.def m68k-devices.def hard-reg-set.h vec.h statistics.h ggc.h gtype-desc.h statistics.h line-map.h input.h cif-code.def ipa-ref.h plugin-api.h is-a.h -DF_H=df.h bitmap.h hashtab.h statistics.h regset.h bitmap.h hashtab.h statistics.h hard-reg-set.h sbitmap.h basic-block.h predict.h predict.def vec.h statistics.h ggc.h gtype-desc.h statistics.h function.h hashtab.h tm.h options.h config/m68k/m68k.h m68k-none.h m68kelf.h elfos.h newlib-stdint.h m68kemb.h m68020-elf.h initfini-array.h defaults.h insn-constants.h insn-flags.h options.h flag-types.h m68k-opts.h m68k-microarchs.def m68k-devices.def hard-reg-set.h vec.h statistics.h ggc.h gtype-desc.h statistics.h line-map.h input.h cfg-flags.def cfghooks.h profile-count.h alloc-pool.h timevar.h timevar.def -RESOURCE_H=resource.h hard-reg-set.h df.h bitmap.h hashtab.h statistics.h regset.h bitmap.h hashtab.h statistics.h hard-reg-set.h sbitmap.h basic-block.h predict.h predict.def vec.h statistics.h ggc.h gtype-desc.h statistics.h function.h hashtab.h tm.h options.h config/m68k/m68k.h m68k-none.h m68kelf.h elfos.h newlib-stdint.h m68kemb.h m68020-elf.h initfini-array.h defaults.h insn-constants.h insn-flags.h options.h flag-types.h m68k-opts.h m68k-microarchs.def m68k-devices.def hard-reg-set.h vec.h statistics.h ggc.h gtype-desc.h statistics.h line-map.h input.h cfg-flags.def cfghooks.h profile-count.h alloc-pool.h timevar.h timevar.def -GCC_H=gcc.h version.h diagnostic-core.h line-map.h input.h bversion.h diagnostic.def -GGC_H=ggc.h gtype-desc.h statistics.h -TIMEVAR_H=timevar.h timevar.def -INSN_ATTR_H=insn-attr.h insn-attr-common.h insn-addr.h -INSN_ADDR_H=insn-addr.h -C_COMMON_H=c-family/c-common.h c-family/c-common.def tree.h tree-core.h coretypes.h insn-modes.h signop.h wide-int.h wide-int-print.h insn-modes-inline.h machmode.h mode-classes.def double-int.h align.h poly-int.h poly-int-types.h all-tree.def tree.def c-family/c-common.def ada-tree.def cp-tree.def d-tree.def m2-tree.def objc-tree.def builtins.def sync-builtins.def omp-builtins.def gtm-builtins.def sanitizer.def line-map.h input.h statistics.h vec.h statistics.h ggc.h gtype-desc.h statistics.h treestruct.def hashtab.h alias.h symtab.h obstack.h flags.h flag-types.h options.h flag-types.h config/m68k/m68k-opts.h m68k-microarchs.def m68k-devices.def real.h fixed-value.h tree-check.h splay-tree.h line-map.h cpplib.h ggc.h gtype-desc.h statistics.h diagnostic-core.h line-map.h input.h bversion.h diagnostic.def -C_PRAGMA_H=c-family/c-pragma.h line-map.h cpplib.h -C_TREE_H=c/c-tree.h c-family/c-common.h c-family/c-common.def tree.h tree-core.h coretypes.h insn-modes.h signop.h wide-int.h wide-int-print.h insn-modes-inline.h machmode.h mode-classes.def double-int.h align.h poly-int.h poly-int-types.h all-tree.def tree.def c-family/c-common.def ada-tree.def cp-tree.def d-tree.def m2-tree.def objc-tree.def builtins.def sync-builtins.def omp-builtins.def gtm-builtins.def sanitizer.def line-map.h input.h statistics.h vec.h statistics.h ggc.h gtype-desc.h statistics.h treestruct.def hashtab.h alias.h symtab.h obstack.h flags.h flag-types.h options.h flag-types.h config/m68k/m68k-opts.h m68k-microarchs.def m68k-devices.def real.h fixed-value.h tree-check.h splay-tree.h line-map.h cpplib.h ggc.h gtype-desc.h statistics.h diagnostic-core.h line-map.h input.h bversion.h diagnostic.def diagnostic.h diagnostic-core.h line-map.h input.h bversion.h diagnostic.def pretty-print.h line-map.h input.h obstack.h wide-int-print.h -SYSTEM_H=system.h hwint.h libiberty.h safe-ctype.h filenames.h hashtab.h -PREDICT_H=predict.h predict.def -CPPLIB_H=line-map.h cpplib.h -CODYLIB_H=cody.hh -INPUT_H=line-map.h input.h -OPTS_H=line-map.h input.h vec.h statistics.h ggc.h gtype-desc.h statistics.h opts.h obstack.h -SYMTAB_H=symtab.h obstack.h -CPP_INTERNAL_H=internal.h -TREE_DUMP_H=tree-dump.h splay-tree.h line-map.h dumpfile.h -TREE_PASS_H=tree-pass.h timevar.h timevar.def line-map.h dumpfile.h -TREE_SSA_H=tree-ssa.h tree-ssa-operands.h bitmap.h hashtab.h statistics.h sbitmap.h basic-block.h predict.h predict.def vec.h statistics.h ggc.h gtype-desc.h statistics.h function.h hashtab.h tm.h options.h config/m68k/m68k.h m68k-none.h m68kelf.h elfos.h newlib-stdint.h m68kemb.h m68020-elf.h initfini-array.h defaults.h insn-constants.h insn-flags.h options.h flag-types.h m68k-opts.h m68k-microarchs.def m68k-devices.def hard-reg-set.h vec.h statistics.h ggc.h gtype-desc.h statistics.h line-map.h input.h cfg-flags.def cfghooks.h profile-count.h gimple.h gimple.def gsstruct.def vec.h statistics.h ggc.h gtype-desc.h statistics.h ggc.h gtype-desc.h statistics.h basic-block.h predict.h predict.def vec.h statistics.h ggc.h gtype-desc.h statistics.h function.h hashtab.h tm.h options.h m68k.h m68k-none.h m68kelf.h elfos.h newlib-stdint.h m68kemb.h m68020-elf.h initfini-array.h defaults.h insn-constants.h insn-flags.h options.h flag-types.h m68k-opts.h m68k-microarchs.def m68k-devices.def hard-reg-set.h vec.h statistics.h ggc.h gtype-desc.h statistics.h line-map.h input.h cfg-flags.def cfghooks.h profile-count.h tree.h tree-core.h coretypes.h insn-modes.h signop.h wide-int.h wide-int-print.h insn-modes-inline.h machmode.h mode-classes.def double-int.h align.h poly-int.h poly-int-types.h all-tree.def tree.def c-family/c-common.def ada-tree.def cp-tree.def d-tree.def m2-tree.def objc-tree.def builtins.def sync-builtins.def omp-builtins.def gtm-builtins.def sanitizer.def line-map.h input.h statistics.h vec.h statistics.h ggc.h gtype-desc.h statistics.h treestruct.def hashtab.h alias.h symtab.h obstack.h flags.h flag-types.h options.h flag-types.h m68k-opts.h m68k-microarchs.def m68k-devices.def real.h fixed-value.h tree-check.h tree-ssa-operands.h tree-ssa-alias.h internal-fn.h internal-fn.def hashtab.h hash-table.h ggc.h gtype-desc.h statistics.h is-a.h hashtab.h cgraph.h vec.h statistics.h ggc.h gtype-desc.h statistics.h tree.h tree-core.h coretypes.h insn-modes.h signop.h wide-int.h wide-int-print.h insn-modes-inline.h machmode.h mode-classes.def double-int.h align.h poly-int.h poly-int-types.h all-tree.def tree.def c-family/c-common.def ada-tree.def cp-tree.def d-tree.def m2-tree.def objc-tree.def builtins.def sync-builtins.def omp-builtins.def gtm-builtins.def sanitizer.def line-map.h input.h statistics.h vec.h statistics.h ggc.h gtype-desc.h statistics.h treestruct.def hashtab.h alias.h symtab.h obstack.h flags.h flag-types.h options.h flag-types.h m68k-opts.h m68k-microarchs.def m68k-devices.def real.h fixed-value.h tree-check.h basic-block.h predict.h predict.def vec.h statistics.h ggc.h gtype-desc.h statistics.h function.h hashtab.h tm.h options.h m68k.h m68k-none.h m68kelf.h elfos.h newlib-stdint.h m68kemb.h m68020-elf.h initfini-array.h defaults.h insn-constants.h insn-flags.h options.h flag-types.h m68k-opts.h m68k-microarchs.def m68k-devices.def hard-reg-set.h vec.h statistics.h ggc.h gtype-desc.h statistics.h line-map.h input.h cfg-flags.def cfghooks.h profile-count.h function.h hashtab.h tm.h options.h m68k.h m68k-none.h m68kelf.h elfos.h newlib-stdint.h m68kemb.h m68020-elf.h initfini-array.h defaults.h insn-constants.h insn-flags.h options.h flag-types.h m68k-opts.h m68k-microarchs.def m68k-devices.def hard-reg-set.h vec.h statistics.h ggc.h gtype-desc.h statistics.h line-map.h input.h cif-code.def ipa-ref.h plugin-api.h is-a.h ipa-reference.h bitmap.h hashtab.h statistics.h tree.h tree-core.h coretypes.h insn-modes.h signop.h wide-int.h wide-int-print.h insn-modes-inline.h machmode.h mode-classes.def double-int.h align.h poly-int.h poly-int-types.h all-tree.def tree.def c-family/c-common.def ada-tree.def cp-tree.def d-tree.def m2-tree.def objc-tree.def builtins.def sync-builtins.def omp-builtins.def gtm-builtins.def sanitizer.def line-map.h input.h statistics.h vec.h statistics.h ggc.h gtype-desc.h statistics.h treestruct.def hashtab.h alias.h symtab.h obstack.h flags.h flag-types.h options.h flag-types.h m68k-opts.h m68k-microarchs.def m68k-devices.def real.h fixed-value.h tree-check.h tree-ssa-alias.h -PRETTY_PRINT_H=pretty-print.h line-map.h input.h obstack.h wide-int-print.h -TREE_PRETTY_PRINT_H=tree-pretty-print.h pretty-print.h line-map.h input.h obstack.h wide-int-print.h -GIMPLE_PRETTY_PRINT_H=gimple-pretty-print.h tree-pretty-print.h pretty-print.h line-map.h input.h obstack.h wide-int-print.h -DIAGNOSTIC_CORE_H=diagnostic-core.h line-map.h input.h bversion.h diagnostic.def -DIAGNOSTIC_H=diagnostic.h diagnostic-core.h line-map.h input.h bversion.h diagnostic.def pretty-print.h line-map.h input.h obstack.h wide-int-print.h -C_PRETTY_PRINT_H=c-family/c-pretty-print.h pretty-print.h line-map.h input.h obstack.h wide-int-print.h c-family/c-common.h c-family/c-common.def tree.h tree-core.h coretypes.h insn-modes.h signop.h wide-int.h wide-int-print.h insn-modes-inline.h machmode.h mode-classes.def double-int.h align.h poly-int.h poly-int-types.h all-tree.def tree.def c-family/c-common.def ada-tree.def cp-tree.def d-tree.def m2-tree.def objc-tree.def builtins.def sync-builtins.def omp-builtins.def gtm-builtins.def sanitizer.def line-map.h input.h statistics.h vec.h statistics.h ggc.h gtype-desc.h statistics.h treestruct.def hashtab.h alias.h symtab.h obstack.h flags.h flag-types.h options.h flag-types.h config/m68k/m68k-opts.h m68k-microarchs.def m68k-devices.def real.h fixed-value.h tree-check.h splay-tree.h line-map.h cpplib.h ggc.h gtype-desc.h statistics.h diagnostic-core.h line-map.h input.h bversion.h diagnostic.def tree.h tree-core.h coretypes.h insn-modes.h signop.h wide-int.h wide-int-print.h insn-modes-inline.h machmode.h mode-classes.def double-int.h align.h poly-int.h poly-int-types.h all-tree.def tree.def c-family/c-common.def ada-tree.def cp-tree.def d-tree.def m2-tree.def objc-tree.def builtins.def sync-builtins.def omp-builtins.def gtm-builtins.def sanitizer.def line-map.h input.h statistics.h vec.h statistics.h ggc.h gtype-desc.h statistics.h treestruct.def hashtab.h alias.h symtab.h obstack.h flags.h flag-types.h options.h flag-types.h m68k-opts.h m68k-microarchs.def m68k-devices.def real.h fixed-value.h tree-check.h -TREE_INLINE_H=tree-inline.h -REAL_H=real.h -LTO_STREAMER_H=lto-streamer.h plugin-api.h tm.h options.h config/m68k/m68k.h m68k-none.h m68kelf.h elfos.h newlib-stdint.h m68kemb.h m68020-elf.h initfini-array.h defaults.h insn-constants.h insn-flags.h options.h flag-types.h m68k-opts.h m68k-microarchs.def m68k-devices.def target.h target.def target-hooks-macros.h target-insns.def insn-modes.h insn-codes.h cgraph.h vec.h statistics.h ggc.h gtype-desc.h statistics.h tree.h tree-core.h coretypes.h insn-modes.h signop.h wide-int.h wide-int-print.h insn-modes-inline.h machmode.h mode-classes.def double-int.h align.h poly-int.h poly-int-types.h all-tree.def tree.def c-family/c-common.def ada-tree.def cp-tree.def d-tree.def m2-tree.def objc-tree.def builtins.def sync-builtins.def omp-builtins.def gtm-builtins.def sanitizer.def line-map.h input.h statistics.h vec.h statistics.h ggc.h gtype-desc.h statistics.h treestruct.def hashtab.h alias.h symtab.h obstack.h flags.h flag-types.h options.h flag-types.h m68k-opts.h m68k-microarchs.def m68k-devices.def real.h fixed-value.h tree-check.h basic-block.h predict.h predict.def vec.h statistics.h ggc.h gtype-desc.h statistics.h function.h hashtab.h tm.h options.h m68k.h m68k-none.h m68kelf.h elfos.h newlib-stdint.h m68kemb.h m68020-elf.h initfini-array.h defaults.h insn-constants.h insn-flags.h options.h flag-types.h m68k-opts.h m68k-microarchs.def m68k-devices.def hard-reg-set.h vec.h statistics.h ggc.h gtype-desc.h statistics.h line-map.h input.h cfg-flags.def cfghooks.h profile-count.h function.h hashtab.h tm.h options.h m68k.h m68k-none.h m68kelf.h elfos.h newlib-stdint.h m68kemb.h m68020-elf.h initfini-array.h defaults.h insn-constants.h insn-flags.h options.h flag-types.h m68k-opts.h m68k-microarchs.def m68k-devices.def hard-reg-set.h vec.h statistics.h ggc.h gtype-desc.h statistics.h line-map.h input.h cif-code.def ipa-ref.h plugin-api.h is-a.h vec.h statistics.h ggc.h gtype-desc.h statistics.h hashtab.h hash-table.h ggc.h gtype-desc.h statistics.h tree.h tree-core.h coretypes.h insn-modes.h signop.h wide-int.h wide-int-print.h insn-modes-inline.h machmode.h mode-classes.def double-int.h align.h poly-int.h poly-int-types.h all-tree.def tree.def c-family/c-common.def ada-tree.def cp-tree.def d-tree.def m2-tree.def objc-tree.def builtins.def sync-builtins.def omp-builtins.def gtm-builtins.def sanitizer.def line-map.h input.h statistics.h vec.h statistics.h ggc.h gtype-desc.h statistics.h treestruct.def hashtab.h alias.h symtab.h obstack.h flags.h flag-types.h options.h flag-types.h m68k-opts.h m68k-microarchs.def m68k-devices.def real.h fixed-value.h tree-check.h gimple.h gimple.def gsstruct.def vec.h statistics.h ggc.h gtype-desc.h statistics.h ggc.h gtype-desc.h statistics.h basic-block.h predict.h predict.def vec.h statistics.h ggc.h gtype-desc.h statistics.h function.h hashtab.h tm.h options.h m68k.h m68k-none.h m68kelf.h elfos.h newlib-stdint.h m68kemb.h m68020-elf.h initfini-array.h defaults.h insn-constants.h insn-flags.h options.h flag-types.h m68k-opts.h m68k-microarchs.def m68k-devices.def hard-reg-set.h vec.h statistics.h ggc.h gtype-desc.h statistics.h line-map.h input.h cfg-flags.def cfghooks.h profile-count.h tree.h tree-core.h coretypes.h insn-modes.h signop.h wide-int.h wide-int-print.h insn-modes-inline.h machmode.h mode-classes.def double-int.h align.h poly-int.h poly-int-types.h all-tree.def tree.def c-family/c-common.def ada-tree.def cp-tree.def d-tree.def m2-tree.def objc-tree.def builtins.def sync-builtins.def omp-builtins.def gtm-builtins.def sanitizer.def line-map.h input.h statistics.h vec.h statistics.h ggc.h gtype-desc.h statistics.h treestruct.def hashtab.h alias.h symtab.h obstack.h flags.h flag-types.h options.h flag-types.h m68k-opts.h m68k-microarchs.def m68k-devices.def real.h fixed-value.h tree-check.h tree-ssa-operands.h tree-ssa-alias.h internal-fn.h internal-fn.def hashtab.h hash-table.h ggc.h gtype-desc.h statistics.h is-a.h gcov-io.h version.h auto-host.h gcov-counter.def diagnostic.h diagnostic-core.h line-map.h input.h bversion.h diagnostic.def pretty-print.h line-map.h input.h obstack.h wide-int-print.h alloc-pool.h -IPA_PROP_H=ipa-prop.h tree.h tree-core.h coretypes.h insn-modes.h signop.h wide-int.h wide-int-print.h insn-modes-inline.h machmode.h mode-classes.def double-int.h align.h poly-int.h poly-int-types.h all-tree.def tree.def c-family/c-common.def ada-tree.def cp-tree.def d-tree.def m2-tree.def objc-tree.def builtins.def sync-builtins.def omp-builtins.def gtm-builtins.def sanitizer.def line-map.h input.h statistics.h vec.h statistics.h ggc.h gtype-desc.h statistics.h treestruct.def hashtab.h alias.h symtab.h obstack.h flags.h flag-types.h options.h flag-types.h config/m68k/m68k-opts.h m68k-microarchs.def m68k-devices.def real.h fixed-value.h tree-check.h vec.h statistics.h ggc.h gtype-desc.h statistics.h cgraph.h vec.h statistics.h ggc.h gtype-desc.h statistics.h tree.h tree-core.h coretypes.h insn-modes.h signop.h wide-int.h wide-int-print.h insn-modes-inline.h machmode.h mode-classes.def double-int.h align.h poly-int.h poly-int-types.h all-tree.def tree.def c-family/c-common.def ada-tree.def cp-tree.def d-tree.def m2-tree.def objc-tree.def builtins.def sync-builtins.def omp-builtins.def gtm-builtins.def sanitizer.def line-map.h input.h statistics.h vec.h statistics.h ggc.h gtype-desc.h statistics.h treestruct.def hashtab.h alias.h symtab.h obstack.h flags.h flag-types.h options.h flag-types.h m68k-opts.h m68k-microarchs.def m68k-devices.def real.h fixed-value.h tree-check.h basic-block.h predict.h predict.def vec.h statistics.h ggc.h gtype-desc.h statistics.h function.h hashtab.h tm.h options.h m68k.h m68k-none.h m68kelf.h elfos.h newlib-stdint.h m68kemb.h m68020-elf.h initfini-array.h defaults.h insn-constants.h insn-flags.h options.h flag-types.h m68k-opts.h m68k-microarchs.def m68k-devices.def hard-reg-set.h vec.h statistics.h ggc.h gtype-desc.h statistics.h line-map.h input.h cfg-flags.def cfghooks.h profile-count.h function.h hashtab.h tm.h options.h m68k.h m68k-none.h m68kelf.h elfos.h newlib-stdint.h m68kemb.h m68020-elf.h initfini-array.h defaults.h insn-constants.h insn-flags.h options.h flag-types.h m68k-opts.h m68k-microarchs.def m68k-devices.def hard-reg-set.h vec.h statistics.h ggc.h gtype-desc.h statistics.h line-map.h input.h cif-code.def ipa-ref.h plugin-api.h is-a.h gimple.h gimple.def gsstruct.def vec.h statistics.h ggc.h gtype-desc.h statistics.h ggc.h gtype-desc.h statistics.h basic-block.h predict.h predict.def vec.h statistics.h ggc.h gtype-desc.h statistics.h function.h hashtab.h tm.h options.h m68k.h m68k-none.h m68kelf.h elfos.h newlib-stdint.h m68kemb.h m68020-elf.h initfini-array.h defaults.h insn-constants.h insn-flags.h options.h flag-types.h m68k-opts.h m68k-microarchs.def m68k-devices.def hard-reg-set.h vec.h statistics.h ggc.h gtype-desc.h statistics.h line-map.h input.h cfg-flags.def cfghooks.h profile-count.h tree.h tree-core.h coretypes.h insn-modes.h signop.h wide-int.h wide-int-print.h insn-modes-inline.h machmode.h mode-classes.def double-int.h align.h poly-int.h poly-int-types.h all-tree.def tree.def c-family/c-common.def ada-tree.def cp-tree.def d-tree.def m2-tree.def objc-tree.def builtins.def sync-builtins.def omp-builtins.def gtm-builtins.def sanitizer.def line-map.h input.h statistics.h vec.h statistics.h ggc.h gtype-desc.h statistics.h treestruct.def hashtab.h alias.h symtab.h obstack.h flags.h flag-types.h options.h flag-types.h m68k-opts.h m68k-microarchs.def m68k-devices.def real.h fixed-value.h tree-check.h tree-ssa-operands.h tree-ssa-alias.h internal-fn.h internal-fn.def hashtab.h hash-table.h ggc.h gtype-desc.h statistics.h is-a.h alloc-pool.h -BITMAP_H=bitmap.h hashtab.h statistics.h -GCC_PLUGIN_H=gcc-plugin.h highlev-plugin-common.h plugin.def config.h auto-host.h ansidecl.h system.h hwint.h libiberty.h safe-ctype.h filenames.h hashtab.h hashtab.h -PLUGIN_H=plugin.h gcc-plugin.h highlev-plugin-common.h plugin.def config.h auto-host.h ansidecl.h system.h hwint.h libiberty.h safe-ctype.h filenames.h hashtab.h hashtab.h -PLUGIN_VERSION_H=plugin-version.h configargs.h -CONTEXT_H=context.h -GENSUPPORT_H=gensupport.h read-md.h optabs.def -RTL_SSA_H=pretty-print.h line-map.h input.h obstack.h wide-int-print.h insn-config.h splay-tree-utils.h recog.h regs.h hard-reg-set.h function-abi.h obstack-utils.h mux-utils.h rtlanal.h memmodel.h emit-rtl.h rtl-ssa/accesses.h rtl-ssa/insns.h rtl-ssa/blocks.h rtl-ssa/changes.h rtl-ssa/functions.h rtl-ssa/is-a.inl rtl-ssa/access-utils.h rtl-ssa/insn-utils.h rtl-ssa/movement.h rtl-ssa/change-utils.h rtl-ssa/member-fns.inl -GTFILES_H=gt-coverage.h gt-symtab-thunks.h gt-caller-save.h gt-symtab.h gt-alias.h gt-bitmap.h gt-cselib.h gt-cgraph.h gt-ipa-prop.h gt-ipa-cp.h gt-ipa-sra.h gt-ipa-modref.h gt-diagnostic-spec.h gt-dwarf2asm.h gt-dwarf2cfi.h gt-dwarf2ctf.h gt-dwarf2out.h gt-ctfout.h gt-btfout.h gt-tree-vect-generic.h gt-gimple-isel.h gt-dojump.h gt-emit-rtl.h gt-explow.h gt-expr.h gt-function.h gt-except.h gt-ggc-tests.h gt-gcse.h gt-godump.h gt-lists.h gt-optabs-libfuncs.h gt-profile.h gt-mcf.h gt-reg-stack.h gt-cfgrtl.h gt-stor-layout.h gt-stringpool.h gt-tree.h gt-varasm.h gt-tree-ssanames.h gt-tree-eh.h gt-tree-ssa-address.h gt-tree-cfg.h gt-tree-ssa-loop-ivopts.h gt-tree-dfa.h gt-tree-iterator.h gt-gimple-expr.h gt-tree-scalar-evolution.h gt-tree-profile.h gt-tree-nested.h gt-omp-general.h gt-omp-low.h gt-targhooks.h gt-m68k.h gt-passes.h gt-cgraphclones.h gt-tree-phinodes.h gt-trans-mem.h gt-vtable-verify.h gt-asan.h gt-ubsan.h gt-tsan.h gt-sanopt.h gt-sancov.h gt-ipa-devirt.h gt-calls.h gt-analyzer-analyzer-language.h gt-ada-decl.h gt-ada-trans.h gt-ada-utils.h gt-ada-misc.h gt-c-c-lang.h gt-c-c-decl.h gt-c-family-c-common.h gt-c-family-c-cppbuiltin.h gt-c-family-c-pragma.h gt-c-family-c-format.h gt-c-c-objc-common.h gt-c-c-parser.h gt-c-family-c-common.h gt-c-family-c-format.h gt-c-family-c-cppbuiltin.h gt-c-family-c-pragma.h gt-cp-call.h gt-cp-class.h gt-cp-constexpr.h gt-cp-contracts.h gt-cp-constraint.h gt-cp-coroutines.h gt-cp-cp-gimplify.h gt-cp-cp-lang.h gt-cp-cp-objcp-common.h gt-cp-decl.h gt-cp-decl2.h gt-cp-except.h gt-cp-friend.h gt-cp-init.h gt-cp-lambda.h gt-cp-lex.h gt-cp-logic.h gt-cp-mangle.h gt-cp-method.h gt-cp-module.h gt-cp-name-lookup.h gt-cp-parser.h gt-cp-pt.h gt-cp-rtti.h gt-cp-semantics.h gt-cp-tree.h gt-cp-typeck2.h gt-cp-vtable-class-hierarchy.h gt-d-d-builtins.h gt-d-d-lang.h gt-d-typeinfo.h gt-fortran-f95-lang.h gt-fortran-trans-decl.h gt-fortran-trans-intrinsic.h gt-fortran-trans-io.h gt-fortran-trans-stmt.h gt-fortran-trans-types.h gt-go-go-lang.h gt-jit-dummy-frontend.h gt-lto-lto-lang.h gt-lto-lto.h gt-lto-lto-common.h gt-lto-lto-dump.h gt-m2-gm2-lang.h gt-m2-rtegraph.h gt-m2-m2block.h gt-m2-m2builtins.h gt-m2-m2decl.h gt-m2-m2except.h gt-m2-m2expr.h gt-m2-m2statement.h gt-m2-m2type.h gt-objc-objc-act.h gt-objc-objc-runtime-shared-support.h gt-objc-objc-gnu-runtime-abi-01.h gt-objc-objc-next-runtime-abi-01.h gt-objc-objc-next-runtime-abi-02.h gt-c-c-parser.h gt-c-c-decl.h gt-c-c-objc-common.h gt-c-family-c-common.h gt-c-family-c-cppbuiltin.h gt-c-family-c-pragma.h gt-c-family-c-format.h gt-c-family-c-common.h gt-c-family-c-format.h gt-c-family-c-cppbuiltin.h gt-c-family-c-pragma.h gt-cp-call.h gt-cp-class.h gt-cp-constexpr.h gt-cp-contracts.h gt-cp-constraint.h gt-cp-coroutines.h gt-cp-cp-gimplify.h gt-objcp-objcp-lang.h gt-cp-cp-objcp-common.h gt-cp-decl.h gt-cp-decl2.h gt-cp-except.h gt-cp-friend.h gt-cp-init.h gt-cp-lambda.h gt-cp-lex.h gt-cp-logic.h gt-cp-mangle.h gt-cp-method.h gt-cp-module.h gt-cp-name-lookup.h gt-cp-parser.h gt-cp-pt.h gt-cp-rtti.h gt-cp-semantics.h gt-cp-tree.h gt-cp-typeck2.h gt-cp-vtable-class-hierarchy.h gt-objc-objc-act.h gt-objc-objc-gnu-runtime-abi-01.h gt-objc-objc-next-runtime-abi-01.h gt-objc-objc-next-runtime-abi-02.h gt-objc-objc-runtime-shared-support.h gt-rust-rust-lang.h -GTFILES_LANG_H=gtype-ada.h gtype-c.h gtype-cp.h gtype-d.h gtype-fortran.h gtype-go.h gtype-jit.h gtype-lto.h gtype-m2.h gtype-objc.h gtype-objcp.h gtype-rust.h diff --git a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/backend.h b/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/backend.h deleted file mode 100644 index 42c6b762..00000000 --- a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/backend.h +++ /dev/null @@ -1,35 +0,0 @@ -/* Common Backend requirements. - - Copyright (C) 2015-2023 Free Software Foundation, Inc. - Contributed by Andrew MacLeod - -This file is part of GCC. - -GCC is free software; you can redistribute it and/or modify it under -the terms of the GNU General Public License as published by the Free -Software Foundation; either version 3, or (at your option) any later -version. - -GCC is distributed in the hope that it will be useful, but WITHOUT ANY -WARRANTY; without even the implied warranty of MERCHANTABILITY or -FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -for more details. - -You should have received a copy of the GNU General Public License -along with GCC; see the file COPYING3. If not see -. */ - -#ifndef GCC_BACKEND_H -#define GCC_BACKEND_H - -/* This is an aggregation header file. This means it should contain only - other include files. */ - -#include "tm.h" -#include "function.h" -#include "bitmap.h" -#include "sbitmap.h" -#include "basic-block.h" -#include "cfg.h" - -#endif /*GCC_BACKEND_H */ diff --git a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/basic-block.h b/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/basic-block.h deleted file mode 100644 index 29191e56..00000000 --- a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/basic-block.h +++ /dev/null @@ -1,642 +0,0 @@ -/* Define control flow data structures for the CFG. - Copyright (C) 1987-2023 Free Software Foundation, Inc. - -This file is part of GCC. - -GCC is free software; you can redistribute it and/or modify it under -the terms of the GNU General Public License as published by the Free -Software Foundation; either version 3, or (at your option) any later -version. - -GCC is distributed in the hope that it will be useful, but WITHOUT ANY -WARRANTY; without even the implied warranty of MERCHANTABILITY or -FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -for more details. - -You should have received a copy of the GNU General Public License -along with GCC; see the file COPYING3. If not see -. */ - -#ifndef GCC_BASIC_BLOCK_H -#define GCC_BASIC_BLOCK_H - -#include - -/* Control flow edge information. */ -class GTY((user)) edge_def { -public: - /* The two blocks at the ends of the edge. */ - basic_block src; - basic_block dest; - - /* Instructions queued on the edge. */ - union edge_def_insns { - gimple_seq g; - rtx_insn *r; - } insns; - - /* Auxiliary info specific to a pass. */ - void *aux; - - /* Location of any goto implicit in the edge. */ - location_t goto_locus; - - /* The index number corresponding to this edge in the edge vector - dest->preds. */ - unsigned int dest_idx; - - int flags; /* see cfg-flags.def */ - profile_probability probability; - - /* Return count of edge E. */ - inline profile_count count () const; -}; - -/* Masks for edge.flags. */ -#define DEF_EDGE_FLAG(NAME,IDX) EDGE_##NAME = 1 << IDX , -enum cfg_edge_flags { -#include "cfg-flags.def" - LAST_CFG_EDGE_FLAG /* this is only used for EDGE_ALL_FLAGS */ -}; -#undef DEF_EDGE_FLAG - -/* Bit mask for all edge flags. */ -#define EDGE_ALL_FLAGS ((LAST_CFG_EDGE_FLAG - 1) * 2 - 1) - -/* The following four flags all indicate something special about an edge. - Test the edge flags on EDGE_COMPLEX to detect all forms of "strange" - control flow transfers. */ -#define EDGE_COMPLEX \ - (EDGE_ABNORMAL | EDGE_ABNORMAL_CALL | EDGE_EH | EDGE_PRESERVE) - -struct GTY(()) rtl_bb_info { - /* The first insn of the block is embedded into bb->il.x. */ - /* The last insn of the block. */ - rtx_insn *end_; - - /* In CFGlayout mode points to insn notes/jumptables to be placed just before - and after the block. */ - rtx_insn *header_; - rtx_insn *footer_; -}; - -struct GTY(()) gimple_bb_info { - /* Sequence of statements in this block. */ - gimple_seq seq; - - /* PHI nodes for this block. */ - gimple_seq phi_nodes; -}; - -/* A basic block is a sequence of instructions with only one entry and - only one exit. If any one of the instructions are executed, they - will all be executed, and in sequence from first to last. - - There may be COND_EXEC instructions in the basic block. The - COND_EXEC *instructions* will be executed -- but if the condition - is false the conditionally executed *expressions* will of course - not be executed. We don't consider the conditionally executed - expression (which might have side-effects) to be in a separate - basic block because the program counter will always be at the same - location after the COND_EXEC instruction, regardless of whether the - condition is true or not. - - Basic blocks need not start with a label nor end with a jump insn. - For example, a previous basic block may just "conditionally fall" - into the succeeding basic block, and the last basic block need not - end with a jump insn. Block 0 is a descendant of the entry block. - - A basic block beginning with two labels cannot have notes between - the labels. - - Data for jump tables are stored in jump_insns that occur in no - basic block even though these insns can follow or precede insns in - basic blocks. */ - -/* Basic block information indexed by block number. */ -struct GTY((chain_next ("%h.next_bb"), chain_prev ("%h.prev_bb"))) basic_block_def { - /* The edges into and out of the block. */ - vec *preds; - vec *succs; - - /* Auxiliary info specific to a pass. */ - void *GTY ((skip (""))) aux; - - /* Innermost loop containing the block. */ - class loop *loop_father; - - /* The dominance and postdominance information node. */ - struct et_node * GTY ((skip (""))) dom[2]; - - /* Previous and next blocks in the chain. */ - basic_block prev_bb; - basic_block next_bb; - - union basic_block_il_dependent { - struct gimple_bb_info GTY ((tag ("0"))) gimple; - struct { - rtx_insn *head_; - struct rtl_bb_info * rtl; - } GTY ((tag ("1"))) x; - } GTY ((desc ("((%1.flags & BB_RTL) != 0)"))) il; - - /* Various flags. See cfg-flags.def. */ - int flags; - - /* The index of this block. */ - int index; - - /* Expected number of executions: calculated in profile.cc. */ - profile_count count; -}; - -/* This ensures that struct gimple_bb_info is smaller than - struct rtl_bb_info, so that inlining the former into basic_block_def - is the better choice. */ -STATIC_ASSERT (sizeof (rtl_bb_info) >= sizeof (gimple_bb_info)); - -#define BB_FREQ_MAX 10000 - -/* Masks for basic_block.flags. */ -#define DEF_BASIC_BLOCK_FLAG(NAME,IDX) BB_##NAME = 1 << IDX , -enum cfg_bb_flags -{ -#include "cfg-flags.def" - LAST_CFG_BB_FLAG /* this is only used for BB_ALL_FLAGS */ -}; -#undef DEF_BASIC_BLOCK_FLAG - -/* Bit mask for all basic block flags. */ -#define BB_ALL_FLAGS ((LAST_CFG_BB_FLAG - 1) * 2 - 1) - -/* Bit mask for all basic block flags that must be preserved. These are - the bit masks that are *not* cleared by clear_bb_flags. */ -#define BB_FLAGS_TO_PRESERVE \ - (BB_DISABLE_SCHEDULE | BB_RTL | BB_NON_LOCAL_GOTO_TARGET \ - | BB_HOT_PARTITION | BB_COLD_PARTITION) - -/* Dummy bitmask for convenience in the hot/cold partitioning code. */ -#define BB_UNPARTITIONED 0 - -/* Partitions, to be used when partitioning hot and cold basic blocks into - separate sections. */ -#define BB_PARTITION(bb) ((bb)->flags & (BB_HOT_PARTITION|BB_COLD_PARTITION)) -#define BB_SET_PARTITION(bb, part) do { \ - basic_block bb_ = (bb); \ - bb_->flags = ((bb_->flags & ~(BB_HOT_PARTITION|BB_COLD_PARTITION)) \ - | (part)); \ -} while (0) - -#define BB_COPY_PARTITION(dstbb, srcbb) \ - BB_SET_PARTITION (dstbb, BB_PARTITION (srcbb)) - -/* Defines for accessing the fields of the CFG structure for function FN. */ -#define ENTRY_BLOCK_PTR_FOR_FN(FN) ((FN)->cfg->x_entry_block_ptr) -#define EXIT_BLOCK_PTR_FOR_FN(FN) ((FN)->cfg->x_exit_block_ptr) -#define basic_block_info_for_fn(FN) ((FN)->cfg->x_basic_block_info) -#define n_basic_blocks_for_fn(FN) ((FN)->cfg->x_n_basic_blocks) -#define n_edges_for_fn(FN) ((FN)->cfg->x_n_edges) -#define last_basic_block_for_fn(FN) ((FN)->cfg->x_last_basic_block) -#define label_to_block_map_for_fn(FN) ((FN)->cfg->x_label_to_block_map) -#define profile_status_for_fn(FN) ((FN)->cfg->x_profile_status) - -#define BASIC_BLOCK_FOR_FN(FN,N) \ - ((*basic_block_info_for_fn (FN))[(N)]) -#define SET_BASIC_BLOCK_FOR_FN(FN,N,BB) \ - ((*basic_block_info_for_fn (FN))[(N)] = (BB)) - -/* For iterating over basic blocks. */ -#define FOR_BB_BETWEEN(BB, FROM, TO, DIR) \ - for (BB = FROM; BB != TO; BB = BB->DIR) - -#define FOR_EACH_BB_FN(BB, FN) \ - FOR_BB_BETWEEN (BB, (FN)->cfg->x_entry_block_ptr->next_bb, (FN)->cfg->x_exit_block_ptr, next_bb) - -#define FOR_EACH_BB_REVERSE_FN(BB, FN) \ - FOR_BB_BETWEEN (BB, (FN)->cfg->x_exit_block_ptr->prev_bb, (FN)->cfg->x_entry_block_ptr, prev_bb) - -/* For iterating over insns in basic block. */ -#define FOR_BB_INSNS(BB, INSN) \ - for ((INSN) = BB_HEAD (BB); \ - (INSN) && (INSN) != NEXT_INSN (BB_END (BB)); \ - (INSN) = NEXT_INSN (INSN)) - -/* For iterating over insns in basic block when we might remove the - current insn. */ -#define FOR_BB_INSNS_SAFE(BB, INSN, CURR) \ - for ((INSN) = BB_HEAD (BB), (CURR) = (INSN) ? NEXT_INSN ((INSN)): NULL; \ - (INSN) && (INSN) != NEXT_INSN (BB_END (BB)); \ - (INSN) = (CURR), (CURR) = (INSN) ? NEXT_INSN ((INSN)) : NULL) - -#define FOR_BB_INSNS_REVERSE(BB, INSN) \ - for ((INSN) = BB_END (BB); \ - (INSN) && (INSN) != PREV_INSN (BB_HEAD (BB)); \ - (INSN) = PREV_INSN (INSN)) - -#define FOR_BB_INSNS_REVERSE_SAFE(BB, INSN, CURR) \ - for ((INSN) = BB_END (BB),(CURR) = (INSN) ? PREV_INSN ((INSN)) : NULL; \ - (INSN) && (INSN) != PREV_INSN (BB_HEAD (BB)); \ - (INSN) = (CURR), (CURR) = (INSN) ? PREV_INSN ((INSN)) : NULL) - -/* Cycles through _all_ basic blocks, even the fake ones (entry and - exit block). */ - -#define FOR_ALL_BB_FN(BB, FN) \ - for (BB = ENTRY_BLOCK_PTR_FOR_FN (FN); BB; BB = BB->next_bb) - - -/* Stuff for recording basic block info. */ - -/* For now, these will be functions (so that they can include checked casts - to rtx_insn. Once the underlying fields are converted from rtx - to rtx_insn, these can be converted back to macros. */ - -#define BB_HEAD(B) (B)->il.x.head_ -#define BB_END(B) (B)->il.x.rtl->end_ -#define BB_HEADER(B) (B)->il.x.rtl->header_ -#define BB_FOOTER(B) (B)->il.x.rtl->footer_ - -/* Special block numbers [markers] for entry and exit. - Neither of them is supposed to hold actual statements. */ -#define ENTRY_BLOCK (0) -#define EXIT_BLOCK (1) - -/* The two blocks that are always in the cfg. */ -#define NUM_FIXED_BLOCKS (2) - -/* This is the value which indicates no edge is present. */ -#define EDGE_INDEX_NO_EDGE -1 - -/* EDGE_INDEX returns an integer index for an edge, or EDGE_INDEX_NO_EDGE - if there is no edge between the 2 basic blocks. */ -#define EDGE_INDEX(el, pred, succ) (find_edge_index ((el), (pred), (succ))) - -/* INDEX_EDGE_PRED_BB and INDEX_EDGE_SUCC_BB return a pointer to the basic - block which is either the pred or succ end of the indexed edge. */ -#define INDEX_EDGE_PRED_BB(el, index) ((el)->index_to_edge[(index)]->src) -#define INDEX_EDGE_SUCC_BB(el, index) ((el)->index_to_edge[(index)]->dest) - -/* INDEX_EDGE returns a pointer to the edge. */ -#define INDEX_EDGE(el, index) ((el)->index_to_edge[(index)]) - -/* Number of edges in the compressed edge list. */ -#define NUM_EDGES(el) ((el)->num_edges) - -/* BB is assumed to contain conditional jump. Return the fallthru edge. */ -#define FALLTHRU_EDGE(bb) (EDGE_SUCC ((bb), 0)->flags & EDGE_FALLTHRU \ - ? EDGE_SUCC ((bb), 0) : EDGE_SUCC ((bb), 1)) - -/* BB is assumed to contain conditional jump. Return the branch edge. */ -#define BRANCH_EDGE(bb) (EDGE_SUCC ((bb), 0)->flags & EDGE_FALLTHRU \ - ? EDGE_SUCC ((bb), 1) : EDGE_SUCC ((bb), 0)) - -/* Return expected execution frequency of the edge E. */ -#define EDGE_FREQUENCY(e) e->count ().to_frequency (cfun) - -/* Compute a scale factor (or probability) suitable for scaling of - gcov_type values via apply_probability() and apply_scale(). */ -#define GCOV_COMPUTE_SCALE(num,den) \ - ((den) ? RDIV ((num) * REG_BR_PROB_BASE, (den)) : REG_BR_PROB_BASE) - -/* Return nonzero if edge is critical. */ -#define EDGE_CRITICAL_P(e) (EDGE_COUNT ((e)->src->succs) >= 2 \ - && EDGE_COUNT ((e)->dest->preds) >= 2) - -#define EDGE_COUNT(ev) vec_safe_length (ev) -#define EDGE_I(ev,i) (*ev)[(i)] -#define EDGE_PRED(bb,i) (*(bb)->preds)[(i)] -#define EDGE_SUCC(bb,i) (*(bb)->succs)[(i)] - -/* Returns true if BB has precisely one successor. */ - -inline bool -single_succ_p (const_basic_block bb) -{ - return EDGE_COUNT (bb->succs) == 1; -} - -/* Returns true if BB has precisely one predecessor. */ - -inline bool -single_pred_p (const_basic_block bb) -{ - return EDGE_COUNT (bb->preds) == 1; -} - -/* Returns the single successor edge of basic block BB. Aborts if - BB does not have exactly one successor. */ - -inline edge -single_succ_edge (const_basic_block bb) -{ - gcc_checking_assert (single_succ_p (bb)); - return EDGE_SUCC (bb, 0); -} - -/* Returns the single predecessor edge of basic block BB. Aborts - if BB does not have exactly one predecessor. */ - -inline edge -single_pred_edge (const_basic_block bb) -{ - gcc_checking_assert (single_pred_p (bb)); - return EDGE_PRED (bb, 0); -} - -/* Returns the single successor block of basic block BB. Aborts - if BB does not have exactly one successor. */ - -inline basic_block -single_succ (const_basic_block bb) -{ - return single_succ_edge (bb)->dest; -} - -/* Returns the single predecessor block of basic block BB. Aborts - if BB does not have exactly one predecessor.*/ - -inline basic_block -single_pred (const_basic_block bb) -{ - return single_pred_edge (bb)->src; -} - -/* Iterator object for edges. */ - -struct edge_iterator { - unsigned index; - vec **container; -}; - -inline vec * -ei_container (edge_iterator i) -{ - gcc_checking_assert (i.container); - return *i.container; -} - -#define ei_start(iter) ei_start_1 (&(iter)) -#define ei_last(iter) ei_last_1 (&(iter)) - -/* Return an iterator pointing to the start of an edge vector. */ -inline edge_iterator -ei_start_1 (vec **ev) -{ - edge_iterator i; - - i.index = 0; - i.container = ev; - - return i; -} - -/* Return an iterator pointing to the last element of an edge - vector. */ -inline edge_iterator -ei_last_1 (vec **ev) -{ - edge_iterator i; - - i.index = EDGE_COUNT (*ev) - 1; - i.container = ev; - - return i; -} - -/* Is the iterator `i' at the end of the sequence? */ -inline bool -ei_end_p (edge_iterator i) -{ - return (i.index == EDGE_COUNT (ei_container (i))); -} - -/* Is the iterator `i' at one position before the end of the - sequence? */ -inline bool -ei_one_before_end_p (edge_iterator i) -{ - return (i.index + 1 == EDGE_COUNT (ei_container (i))); -} - -/* Advance the iterator to the next element. */ -inline void -ei_next (edge_iterator *i) -{ - gcc_checking_assert (i->index < EDGE_COUNT (ei_container (*i))); - i->index++; -} - -/* Move the iterator to the previous element. */ -inline void -ei_prev (edge_iterator *i) -{ - gcc_checking_assert (i->index > 0); - i->index--; -} - -/* Return the edge pointed to by the iterator `i'. */ -inline edge -ei_edge (edge_iterator i) -{ - return EDGE_I (ei_container (i), i.index); -} - -/* Return an edge pointed to by the iterator. Do it safely so that - NULL is returned when the iterator is pointing at the end of the - sequence. */ -inline edge -ei_safe_edge (edge_iterator i) -{ - return !ei_end_p (i) ? ei_edge (i) : NULL; -} - -/* Return 1 if we should continue to iterate. Return 0 otherwise. - *Edge P is set to the next edge if we are to continue to iterate - and NULL otherwise. */ - -inline bool -ei_cond (edge_iterator ei, edge *p) -{ - if (!ei_end_p (ei)) - { - *p = ei_edge (ei); - return 1; - } - else - { - *p = NULL; - return 0; - } -} - -/* This macro serves as a convenient way to iterate each edge in a - vector of predecessor or successor edges. It must not be used when - an element might be removed during the traversal, otherwise - elements will be missed. Instead, use a for-loop like that shown - in the following pseudo-code: - - FOR (ei = ei_start (bb->succs); (e = ei_safe_edge (ei)); ) - { - IF (e != taken_edge) - remove_edge (e); - ELSE - ei_next (&ei); - } -*/ - -#define FOR_EACH_EDGE(EDGE,ITER,EDGE_VEC) \ - for ((ITER) = ei_start ((EDGE_VEC)); \ - ei_cond ((ITER), &(EDGE)); \ - ei_next (&(ITER))) - -#define CLEANUP_EXPENSIVE 1 /* Do relatively expensive optimizations - except for edge forwarding */ -#define CLEANUP_CROSSJUMP 2 /* Do crossjumping. */ -#define CLEANUP_POST_REGSTACK 4 /* We run after reg-stack and need - to care REG_DEAD notes. */ -#define CLEANUP_THREADING 8 /* Do jump threading. */ -#define CLEANUP_NO_INSN_DEL 16 /* Do not try to delete trivially dead - insns. */ -#define CLEANUP_CFGLAYOUT 32 /* Do cleanup in cfglayout mode. */ -#define CLEANUP_CFG_CHANGED 64 /* The caller changed the CFG. */ -#define CLEANUP_NO_PARTITIONING 128 /* Do not try to fix partitions. */ -#define CLEANUP_FORCE_FAST_DCE 0x100 /* Force run_fast_dce to be called - at least once. */ - -/* Return true if BB is in a transaction. */ - -inline bool -bb_in_transaction (basic_block bb) -{ - return bb->flags & BB_IN_TRANSACTION; -} - -/* Return true when one of the predecessor edges of BB is marked with EDGE_EH. */ -inline bool -bb_has_eh_pred (basic_block bb) -{ - edge e; - edge_iterator ei; - - FOR_EACH_EDGE (e, ei, bb->preds) - { - if (e->flags & EDGE_EH) - return true; - } - return false; -} - -/* Return true when one of the predecessor edges of BB is marked with EDGE_ABNORMAL. */ -inline bool -bb_has_abnormal_pred (basic_block bb) -{ - edge e; - edge_iterator ei; - - FOR_EACH_EDGE (e, ei, bb->preds) - { - if (e->flags & EDGE_ABNORMAL) - return true; - } - return false; -} - -/* Return the fallthru edge in EDGES if it exists, NULL otherwise. */ -inline edge -find_fallthru_edge (vec *edges) -{ - edge e; - edge_iterator ei; - - FOR_EACH_EDGE (e, ei, edges) - if (e->flags & EDGE_FALLTHRU) - break; - - return e; -} - -/* Check tha probability is sane. */ - -inline void -check_probability (int prob) -{ - gcc_checking_assert (prob >= 0 && prob <= REG_BR_PROB_BASE); -} - -/* Given PROB1 and PROB2, return PROB1*PROB2/REG_BR_PROB_BASE. - Used to combine BB probabilities. */ - -inline int -combine_probabilities (int prob1, int prob2) -{ - check_probability (prob1); - check_probability (prob2); - return RDIV (prob1 * prob2, REG_BR_PROB_BASE); -} - -/* Apply scale factor SCALE on frequency or count FREQ. Use this - interface when potentially scaling up, so that SCALE is not - constrained to be < REG_BR_PROB_BASE. */ - -inline gcov_type -apply_scale (gcov_type freq, gcov_type scale) -{ - return RDIV (freq * scale, REG_BR_PROB_BASE); -} - -/* Apply probability PROB on frequency or count FREQ. */ - -inline gcov_type -apply_probability (gcov_type freq, int prob) -{ - check_probability (prob); - return apply_scale (freq, prob); -} - -/* Return inverse probability for PROB. */ - -inline int -inverse_probability (int prob1) -{ - check_probability (prob1); - return REG_BR_PROB_BASE - prob1; -} - -/* Return true if BB has at least one abnormal outgoing edge. */ - -inline bool -has_abnormal_or_eh_outgoing_edge_p (basic_block bb) -{ - edge e; - edge_iterator ei; - - FOR_EACH_EDGE (e, ei, bb->succs) - if (e->flags & (EDGE_ABNORMAL | EDGE_EH)) - return true; - - return false; -} - -/* Return true when one of the predecessor edges of BB is marked with - EDGE_ABNORMAL_CALL or EDGE_EH. */ - -inline bool -has_abnormal_call_or_eh_pred_edge_p (basic_block bb) -{ - edge e; - edge_iterator ei; - - FOR_EACH_EDGE (e, ei, bb->preds) - if (e->flags & (EDGE_ABNORMAL_CALL | EDGE_EH)) - return true; - - return false; -} - -/* Return count of edge E. */ -inline profile_count edge_def::count () const -{ - return src->count.apply_probability (probability); -} - -#endif /* GCC_BASIC_BLOCK_H */ diff --git a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/bb-reorder.h b/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/bb-reorder.h deleted file mode 100644 index c24322d1..00000000 --- a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/bb-reorder.h +++ /dev/null @@ -1,40 +0,0 @@ -/* Basic block reordering routines for the GNU compiler. - Copyright (C) 2000-2023 Free Software Foundation, Inc. - - This file is part of GCC. - - GCC is free software; you can redistribute it and/or modify it - under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 3, or (at your option) - any later version. - - GCC is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY - or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public - License for more details. - - You should have received a copy of the GNU General Public License - along with GCC; see the file COPYING3. If not see - . */ - -#ifndef GCC_BB_REORDER -#define GCC_BB_REORDER - -/* Target-specific globals. */ -struct target_bb_reorder { - /* Length of unconditional jump instruction. */ - int x_uncond_jump_length; -}; - -extern struct target_bb_reorder default_target_bb_reorder; -#if SWITCHABLE_TARGET -extern struct target_bb_reorder *this_target_bb_reorder; -#else -#define this_target_bb_reorder (&default_target_bb_reorder) -#endif - -extern int get_uncond_jump_length (void); - -extern void insert_section_boundary_note (void); - -#endif diff --git a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/bitmap.h b/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/bitmap.h deleted file mode 100644 index 43337d2e..00000000 --- a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/bitmap.h +++ /dev/null @@ -1,1089 +0,0 @@ -/* Functions to support general ended bitmaps. - Copyright (C) 1997-2023 Free Software Foundation, Inc. - -This file is part of GCC. - -GCC is free software; you can redistribute it and/or modify it under -the terms of the GNU General Public License as published by the Free -Software Foundation; either version 3, or (at your option) any later -version. - -GCC is distributed in the hope that it will be useful, but WITHOUT ANY -WARRANTY; without even the implied warranty of MERCHANTABILITY or -FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -for more details. - -You should have received a copy of the GNU General Public License -along with GCC; see the file COPYING3. If not see -. */ - -#ifndef GCC_BITMAP_H -#define GCC_BITMAP_H - -/* Implementation of sparse integer sets as a linked list or tree. - - This sparse set representation is suitable for sparse sets with an - unknown (a priori) universe. - - Sets are represented as double-linked lists of container nodes of - type "struct bitmap_element" or as a binary trees of the same - container nodes. Each container node consists of an index for the - first member that could be held in the container, a small array of - integers that represent the members in the container, and pointers - to the next and previous element in the linked list, or left and - right children in the tree. In linked-list form, the container - nodes in the list are sorted in ascending order, i.e. the head of - the list holds the element with the smallest member of the set. - In tree form, nodes to the left have a smaller container index. - - For a given member I in the set: - - the element for I will have index is I / (bits per element) - - the position for I within element is I % (bits per element) - - This representation is very space-efficient for large sparse sets, and - the size of the set can be changed dynamically without much overhead. - An important parameter is the number of bits per element. In this - implementation, there are 128 bits per element. This results in a - high storage overhead *per element*, but a small overall overhead if - the set is very sparse. - - The storage requirements for linked-list sparse sets are O(E), with E->N - in the worst case (a sparse set with large distances between the values - of the set members). - - This representation also works well for data flow problems where the size - of the set may grow dynamically, but care must be taken that the member_p, - add_member, and remove_member operations occur with a suitable access - pattern. - - The linked-list set representation works well for problems involving very - sparse sets. The canonical example in GCC is, of course, the "set of - sets" for some CFG-based data flow problems (liveness analysis, dominance - frontiers, etc.). - - For random-access sparse sets of unknown universe, the binary tree - representation is likely to be a more suitable choice. Theoretical - access times for the binary tree representation are better than those - for the linked-list, but in practice this is only true for truely - random access. - - Often the most suitable representation during construction of the set - is not the best choice for the usage of the set. For such cases, the - "view" of the set can be changed from one representation to the other. - This is an O(E) operation: - - * from list to tree view : bitmap_tree_view - * from tree to list view : bitmap_list_view - - Traversing linked lists or trees can be cache-unfriendly. Performance - can be improved by keeping container nodes in the set grouped together - in memory, using a dedicated obstack for a set (or group of related - sets). Elements allocated on obstacks are released to a free-list and - taken off the free list. If multiple sets are allocated on the same - obstack, elements freed from one set may be re-used for one of the other - sets. This usually helps avoid cache misses. - - A single free-list is used for all sets allocated in GGC space. This is - bad for persistent sets, so persistent sets should be allocated on an - obstack whenever possible. - - For random-access sets with a known, relatively small universe size, the - SparseSet or simple bitmap representations may be more efficient than a - linked-list set. - - - LINKED LIST FORM - ================ - - In linked-list form, in-order iterations of the set can be executed - efficiently. The downside is that many random-access operations are - relatively slow, because the linked list has to be traversed to test - membership (i.e. member_p/ add_member/remove_member). - - To improve the performance of this set representation, the last - accessed element and its index are cached. For membership tests on - members close to recently accessed members, the cached last element - improves membership test to a constant-time operation. - - The following operations can always be performed in O(1) time in - list view: - - * clear : bitmap_clear - * smallest_member : bitmap_first_set_bit - * choose_one : (not implemented, but could be - in constant time) - - The following operations can be performed in O(E) time worst-case in - list view (with E the number of elements in the linked list), but in - O(1) time with a suitable access patterns: - - * member_p : bitmap_bit_p - * add_member : bitmap_set_bit / bitmap_set_range - * remove_member : bitmap_clear_bit / bitmap_clear_range - - The following operations can be performed in O(E) time in list view: - - * cardinality : bitmap_count_bits - * largest_member : bitmap_last_set_bit (but this could - in constant time with a pointer to - the last element in the chain) - * set_size : bitmap_last_set_bit - - In tree view the following operations can all be performed in O(log E) - amortized time with O(E) worst-case behavior. - - * smallest_member - * largest_member - * set_size - * member_p - * add_member - * remove_member - - Additionally, the linked-list sparse set representation supports - enumeration of the members in O(E) time: - - * forall : EXECUTE_IF_SET_IN_BITMAP - * set_copy : bitmap_copy - * set_intersection : bitmap_intersect_p / - bitmap_and / bitmap_and_into / - EXECUTE_IF_AND_IN_BITMAP - * set_union : bitmap_ior / bitmap_ior_into - * set_difference : bitmap_intersect_compl_p / - bitmap_and_comp / bitmap_and_comp_into / - EXECUTE_IF_AND_COMPL_IN_BITMAP - * set_disjuction : bitmap_xor_comp / bitmap_xor_comp_into - * set_compare : bitmap_equal_p - - Some operations on 3 sets that occur frequently in data flow problems - are also implemented: - - * A | (B & C) : bitmap_ior_and_into - * A | (B & ~C) : bitmap_ior_and_compl / - bitmap_ior_and_compl_into - - - BINARY TREE FORM - ================ - An alternate "view" of a bitmap is its binary tree representation. - For this representation, splay trees are used because they can be - implemented using the same data structures as the linked list, with - no overhead for meta-data (like color, or rank) on the tree nodes. - - In binary tree form, random-access to the set is much more efficient - than for the linked-list representation. Downsides are the high cost - of clearing the set, and the relatively large number of operations - necessary to balance the tree. Also, iterating the set members is - not supported. - - As for the linked-list representation, the last accessed element and - its index are cached, so that membership tests on the latest accessed - members is a constant-time operation. Other lookups take O(logE) - time amortized (but O(E) time worst-case). - - The following operations can always be performed in O(1) time: - - * choose_one : (not implemented, but could be - implemented in constant time) - - The following operations can be performed in O(logE) time amortized - but O(E) time worst-case, but in O(1) time if the same element is - accessed. - - * member_p : bitmap_bit_p - * add_member : bitmap_set_bit - * remove_member : bitmap_clear_bit - - The following operations can be performed in O(logE) time amortized - but O(E) time worst-case: - - * smallest_member : bitmap_first_set_bit - * largest_member : bitmap_last_set_bit - * set_size : bitmap_last_set_bit - - The following operations can be performed in O(E) time: - - * clear : bitmap_clear - - The binary tree sparse set representation does *not* support any form - of enumeration, and does also *not* support logical operations on sets. - The binary tree representation is only supposed to be used for sets - on which many random-access membership tests will happen. */ - -#include "obstack.h" -#include "array-traits.h" - -/* Bitmap memory usage. */ -class bitmap_usage: public mem_usage -{ -public: - /* Default contructor. */ - bitmap_usage (): m_nsearches (0), m_search_iter (0) {} - /* Constructor. */ - bitmap_usage (size_t allocated, size_t times, size_t peak, - uint64_t nsearches, uint64_t search_iter) - : mem_usage (allocated, times, peak), - m_nsearches (nsearches), m_search_iter (search_iter) {} - - /* Sum the usage with SECOND usage. */ - bitmap_usage - operator+ (const bitmap_usage &second) - { - return bitmap_usage (m_allocated + second.m_allocated, - m_times + second.m_times, - m_peak + second.m_peak, - m_nsearches + second.m_nsearches, - m_search_iter + second.m_search_iter); - } - - /* Dump usage coupled to LOC location, where TOTAL is sum of all rows. */ - inline void - dump (mem_location *loc, const mem_usage &total) const - { - char *location_string = loc->to_string (); - - fprintf (stderr, "%-48s " PRsa (9) ":%5.1f%%" - PRsa (9) PRsa (9) ":%5.1f%%" - PRsa (11) PRsa (11) "%10s\n", - location_string, SIZE_AMOUNT (m_allocated), - get_percent (m_allocated, total.m_allocated), - SIZE_AMOUNT (m_peak), SIZE_AMOUNT (m_times), - get_percent (m_times, total.m_times), - SIZE_AMOUNT (m_nsearches), SIZE_AMOUNT (m_search_iter), - loc->m_ggc ? "ggc" : "heap"); - - free (location_string); - } - - /* Dump header with NAME. */ - static inline void - dump_header (const char *name) - { - fprintf (stderr, "%-48s %11s%16s%17s%12s%12s%10s\n", name, "Leak", "Peak", - "Times", "N searches", "Search iter", "Type"); - } - - /* Number search operations. */ - uint64_t m_nsearches; - /* Number of search iterations. */ - uint64_t m_search_iter; -}; - -/* Bitmap memory description. */ -extern mem_alloc_description bitmap_mem_desc; - -/* Fundamental storage type for bitmap. */ - -typedef unsigned long BITMAP_WORD; -/* BITMAP_WORD_BITS needs to be unsigned, but cannot contain casts as - it is used in preprocessor directives -- hence the 1u. */ -#define BITMAP_WORD_BITS (CHAR_BIT * SIZEOF_LONG * 1u) - -/* Number of words to use for each element in the linked list. */ - -#ifndef BITMAP_ELEMENT_WORDS -#define BITMAP_ELEMENT_WORDS ((128 + BITMAP_WORD_BITS - 1) / BITMAP_WORD_BITS) -#endif - -/* Number of bits in each actual element of a bitmap. */ - -#define BITMAP_ELEMENT_ALL_BITS (BITMAP_ELEMENT_WORDS * BITMAP_WORD_BITS) - -/* Obstack for allocating bitmaps and elements from. */ -struct bitmap_obstack { - struct bitmap_element *elements; - bitmap_head *heads; - struct obstack obstack; -}; - -/* Bitmap set element. We use a linked list to hold only the bits that - are set. This allows for use to grow the bitset dynamically without - having to realloc and copy a giant bit array. - - The free list is implemented as a list of lists. There is one - outer list connected together by prev fields. Each element of that - outer is an inner list (that may consist only of the outer list - element) that are connected by the next fields. The prev pointer - is undefined for interior elements. This allows - bitmap_elt_clear_from to be implemented in unit time rather than - linear in the number of elements to be freed. */ - -struct GTY((chain_next ("%h.next"))) bitmap_element { - /* In list form, the next element in the linked list; - in tree form, the left child node in the tree. */ - struct bitmap_element *next; - /* In list form, the previous element in the linked list; - in tree form, the right child node in the tree. */ - struct bitmap_element *prev; - /* regno/BITMAP_ELEMENT_ALL_BITS. */ - unsigned int indx; - /* Bits that are set, counting from INDX, inclusive */ - BITMAP_WORD bits[BITMAP_ELEMENT_WORDS]; -}; - -/* Head of bitmap linked list. The 'current' member points to something - already pointed to by the chain started by first, so GTY((skip)) it. */ - -class GTY(()) bitmap_head { -public: - static bitmap_obstack crashme; - /* Poison obstack to not make it not a valid initialized GC bitmap. */ - CONSTEXPR bitmap_head() - : indx (0), tree_form (false), padding (0), alloc_descriptor (0), first (NULL), - current (NULL), obstack (&crashme) - {} - /* Index of last element looked at. */ - unsigned int indx; - /* False if the bitmap is in list form; true if the bitmap is in tree form. - Bitmap iterators only work on bitmaps in list form. */ - unsigned tree_form: 1; - /* Next integer is shifted, so padding is needed. */ - unsigned padding: 2; - /* Bitmap UID used for memory allocation statistics. */ - unsigned alloc_descriptor: 29; - /* In list form, the first element in the linked list; - in tree form, the root of the tree. */ - bitmap_element *first; - /* Last element looked at. */ - bitmap_element * GTY((skip(""))) current; - /* Obstack to allocate elements from. If NULL, then use GGC allocation. */ - bitmap_obstack * GTY((skip(""))) obstack; - - /* Dump bitmap. */ - void dump (); - - /* Get bitmap descriptor UID casted to an unsigned integer pointer. - Shift the descriptor because pointer_hash::hash is - doing >> 3 shift operation. */ - unsigned *get_descriptor () - { - return (unsigned *)(ptrdiff_t)(alloc_descriptor << 3); - } -}; - -/* Global data */ -extern bitmap_element bitmap_zero_bits; /* Zero bitmap element */ -extern bitmap_obstack bitmap_default_obstack; /* Default bitmap obstack */ - -/* Change the view of the bitmap to list, or tree. */ -void bitmap_list_view (bitmap); -void bitmap_tree_view (bitmap); - -/* Clear a bitmap by freeing up the linked list. */ -extern void bitmap_clear (bitmap); - -/* Copy a bitmap to another bitmap. */ -extern void bitmap_copy (bitmap, const_bitmap); - -/* Move a bitmap to another bitmap. */ -extern void bitmap_move (bitmap, bitmap); - -/* True if two bitmaps are identical. */ -extern bool bitmap_equal_p (const_bitmap, const_bitmap); - -/* True if the bitmaps intersect (their AND is non-empty). */ -extern bool bitmap_intersect_p (const_bitmap, const_bitmap); - -/* True if the complement of the second intersects the first (their - AND_COMPL is non-empty). */ -extern bool bitmap_intersect_compl_p (const_bitmap, const_bitmap); - -/* True if MAP is an empty bitmap. */ -inline bool bitmap_empty_p (const_bitmap map) -{ - return !map->first; -} - -/* True if the bitmap has only a single bit set. */ -extern bool bitmap_single_bit_set_p (const_bitmap); - -/* Count the number of bits set in the bitmap. */ -extern unsigned long bitmap_count_bits (const_bitmap); - -/* Count the number of unique bits set across the two bitmaps. */ -extern unsigned long bitmap_count_unique_bits (const_bitmap, const_bitmap); - -/* Boolean operations on bitmaps. The _into variants are two operand - versions that modify the first source operand. The other variants - are three operand versions that to not destroy the source bitmaps. - The operations supported are &, & ~, |, ^. */ -extern void bitmap_and (bitmap, const_bitmap, const_bitmap); -extern bool bitmap_and_into (bitmap, const_bitmap); -extern bool bitmap_and_compl (bitmap, const_bitmap, const_bitmap); -extern bool bitmap_and_compl_into (bitmap, const_bitmap); -#define bitmap_compl_and(DST, A, B) bitmap_and_compl (DST, B, A) -extern void bitmap_compl_and_into (bitmap, const_bitmap); -extern void bitmap_clear_range (bitmap, unsigned int, unsigned int); -extern void bitmap_set_range (bitmap, unsigned int, unsigned int); -extern bool bitmap_ior (bitmap, const_bitmap, const_bitmap); -extern bool bitmap_ior_into (bitmap, const_bitmap); -extern bool bitmap_ior_into_and_free (bitmap, bitmap *); -extern void bitmap_xor (bitmap, const_bitmap, const_bitmap); -extern void bitmap_xor_into (bitmap, const_bitmap); - -/* DST = A | (B & C). Return true if DST changes. */ -extern bool bitmap_ior_and_into (bitmap DST, const_bitmap B, const_bitmap C); -/* DST = A | (B & ~C). Return true if DST changes. */ -extern bool bitmap_ior_and_compl (bitmap DST, const_bitmap A, - const_bitmap B, const_bitmap C); -/* A |= (B & ~C). Return true if A changes. */ -extern bool bitmap_ior_and_compl_into (bitmap A, - const_bitmap B, const_bitmap C); - -/* Clear a single bit in a bitmap. Return true if the bit changed. */ -extern bool bitmap_clear_bit (bitmap, int); - -/* Set a single bit in a bitmap. Return true if the bit changed. */ -extern bool bitmap_set_bit (bitmap, int); - -/* Return true if a bit is set in a bitmap. */ -extern bool bitmap_bit_p (const_bitmap, int); - -/* Set and get multiple bit values in a sparse bitmap. This allows a bitmap to - function as a sparse array of bit patterns where the patterns are - multiples of power of 2. This is more efficient than performing this as - multiple individual operations. */ -void bitmap_set_aligned_chunk (bitmap, unsigned int, unsigned int, BITMAP_WORD); -BITMAP_WORD bitmap_get_aligned_chunk (const_bitmap, unsigned int, unsigned int); - -/* Debug functions to print a bitmap. */ -extern void debug_bitmap (const_bitmap); -extern void debug_bitmap_file (FILE *, const_bitmap); - -/* Print a bitmap. */ -extern void bitmap_print (FILE *, const_bitmap, const char *, const char *); - -/* Initialize and release a bitmap obstack. */ -extern void bitmap_obstack_initialize (bitmap_obstack *); -extern void bitmap_obstack_release (bitmap_obstack *); -extern void bitmap_register (bitmap MEM_STAT_DECL); -extern void dump_bitmap_statistics (void); - -/* Initialize a bitmap header. OBSTACK indicates the bitmap obstack - to allocate from, NULL for GC'd bitmap. */ - -inline void -bitmap_initialize (bitmap head, bitmap_obstack *obstack CXX_MEM_STAT_INFO) -{ - head->first = head->current = NULL; - head->indx = head->tree_form = 0; - head->padding = 0; - head->alloc_descriptor = 0; - head->obstack = obstack; - if (GATHER_STATISTICS) - bitmap_register (head PASS_MEM_STAT); -} - -/* Release a bitmap (but not its head). This is suitable for pairing with - bitmap_initialize. */ - -inline void -bitmap_release (bitmap head) -{ - bitmap_clear (head); - /* Poison the obstack pointer so the obstack can be safely released. - Do not zero it as the bitmap then becomes initialized GC. */ - head->obstack = &bitmap_head::crashme; -} - -/* Allocate and free bitmaps from obstack, malloc and gc'd memory. */ -extern bitmap bitmap_alloc (bitmap_obstack *obstack CXX_MEM_STAT_INFO); -#define BITMAP_ALLOC bitmap_alloc -extern bitmap bitmap_gc_alloc (ALONE_CXX_MEM_STAT_INFO); -#define BITMAP_GGC_ALLOC bitmap_gc_alloc -extern void bitmap_obstack_free (bitmap); - -/* A few compatibility/functions macros for compatibility with sbitmaps */ -inline void dump_bitmap (FILE *file, const_bitmap map) -{ - bitmap_print (file, map, "", "\n"); -} -extern void debug (const bitmap_head &ref); -extern void debug (const bitmap_head *ptr); - -extern unsigned bitmap_first_set_bit (const_bitmap); -extern unsigned bitmap_last_set_bit (const_bitmap); - -/* Compute bitmap hash (for purposes of hashing etc.) */ -extern hashval_t bitmap_hash (const_bitmap); - -/* Do any cleanup needed on a bitmap when it is no longer used. */ -#define BITMAP_FREE(BITMAP) \ - ((void) (bitmap_obstack_free ((bitmap) BITMAP), (BITMAP) = (bitmap) NULL)) - -/* Iterator for bitmaps. */ - -struct bitmap_iterator -{ - /* Pointer to the current bitmap element. */ - bitmap_element *elt1; - - /* Pointer to 2nd bitmap element when two are involved. */ - bitmap_element *elt2; - - /* Word within the current element. */ - unsigned word_no; - - /* Contents of the actually processed word. When finding next bit - it is shifted right, so that the actual bit is always the least - significant bit of ACTUAL. */ - BITMAP_WORD bits; -}; - -/* Initialize a single bitmap iterator. START_BIT is the first bit to - iterate from. */ - -inline void -bmp_iter_set_init (bitmap_iterator *bi, const_bitmap map, - unsigned start_bit, unsigned *bit_no) -{ - bi->elt1 = map->first; - bi->elt2 = NULL; - - gcc_checking_assert (!map->tree_form); - - /* Advance elt1 until it is not before the block containing start_bit. */ - while (1) - { - if (!bi->elt1) - { - bi->elt1 = &bitmap_zero_bits; - break; - } - - if (bi->elt1->indx >= start_bit / BITMAP_ELEMENT_ALL_BITS) - break; - bi->elt1 = bi->elt1->next; - } - - /* We might have gone past the start bit, so reinitialize it. */ - if (bi->elt1->indx != start_bit / BITMAP_ELEMENT_ALL_BITS) - start_bit = bi->elt1->indx * BITMAP_ELEMENT_ALL_BITS; - - /* Initialize for what is now start_bit. */ - bi->word_no = start_bit / BITMAP_WORD_BITS % BITMAP_ELEMENT_WORDS; - bi->bits = bi->elt1->bits[bi->word_no]; - bi->bits >>= start_bit % BITMAP_WORD_BITS; - - /* If this word is zero, we must make sure we're not pointing at the - first bit, otherwise our incrementing to the next word boundary - will fail. It won't matter if this increment moves us into the - next word. */ - start_bit += !bi->bits; - - *bit_no = start_bit; -} - -/* Initialize an iterator to iterate over the intersection of two - bitmaps. START_BIT is the bit to commence from. */ - -inline void -bmp_iter_and_init (bitmap_iterator *bi, const_bitmap map1, const_bitmap map2, - unsigned start_bit, unsigned *bit_no) -{ - bi->elt1 = map1->first; - bi->elt2 = map2->first; - - gcc_checking_assert (!map1->tree_form && !map2->tree_form); - - /* Advance elt1 until it is not before the block containing - start_bit. */ - while (1) - { - if (!bi->elt1) - { - bi->elt2 = NULL; - break; - } - - if (bi->elt1->indx >= start_bit / BITMAP_ELEMENT_ALL_BITS) - break; - bi->elt1 = bi->elt1->next; - } - - /* Advance elt2 until it is not before elt1. */ - while (1) - { - if (!bi->elt2) - { - bi->elt1 = bi->elt2 = &bitmap_zero_bits; - break; - } - - if (bi->elt2->indx >= bi->elt1->indx) - break; - bi->elt2 = bi->elt2->next; - } - - /* If we're at the same index, then we have some intersecting bits. */ - if (bi->elt1->indx == bi->elt2->indx) - { - /* We might have advanced beyond the start_bit, so reinitialize - for that. */ - if (bi->elt1->indx != start_bit / BITMAP_ELEMENT_ALL_BITS) - start_bit = bi->elt1->indx * BITMAP_ELEMENT_ALL_BITS; - - bi->word_no = start_bit / BITMAP_WORD_BITS % BITMAP_ELEMENT_WORDS; - bi->bits = bi->elt1->bits[bi->word_no] & bi->elt2->bits[bi->word_no]; - bi->bits >>= start_bit % BITMAP_WORD_BITS; - } - else - { - /* Otherwise we must immediately advance elt1, so initialize for - that. */ - bi->word_no = BITMAP_ELEMENT_WORDS - 1; - bi->bits = 0; - } - - /* If this word is zero, we must make sure we're not pointing at the - first bit, otherwise our incrementing to the next word boundary - will fail. It won't matter if this increment moves us into the - next word. */ - start_bit += !bi->bits; - - *bit_no = start_bit; -} - -/* Initialize an iterator to iterate over the bits in MAP1 & ~MAP2. */ - -inline void -bmp_iter_and_compl_init (bitmap_iterator *bi, - const_bitmap map1, const_bitmap map2, - unsigned start_bit, unsigned *bit_no) -{ - bi->elt1 = map1->first; - bi->elt2 = map2->first; - - gcc_checking_assert (!map1->tree_form && !map2->tree_form); - - /* Advance elt1 until it is not before the block containing start_bit. */ - while (1) - { - if (!bi->elt1) - { - bi->elt1 = &bitmap_zero_bits; - break; - } - - if (bi->elt1->indx >= start_bit / BITMAP_ELEMENT_ALL_BITS) - break; - bi->elt1 = bi->elt1->next; - } - - /* Advance elt2 until it is not before elt1. */ - while (bi->elt2 && bi->elt2->indx < bi->elt1->indx) - bi->elt2 = bi->elt2->next; - - /* We might have advanced beyond the start_bit, so reinitialize for - that. */ - if (bi->elt1->indx != start_bit / BITMAP_ELEMENT_ALL_BITS) - start_bit = bi->elt1->indx * BITMAP_ELEMENT_ALL_BITS; - - bi->word_no = start_bit / BITMAP_WORD_BITS % BITMAP_ELEMENT_WORDS; - bi->bits = bi->elt1->bits[bi->word_no]; - if (bi->elt2 && bi->elt1->indx == bi->elt2->indx) - bi->bits &= ~bi->elt2->bits[bi->word_no]; - bi->bits >>= start_bit % BITMAP_WORD_BITS; - - /* If this word is zero, we must make sure we're not pointing at the - first bit, otherwise our incrementing to the next word boundary - will fail. It won't matter if this increment moves us into the - next word. */ - start_bit += !bi->bits; - - *bit_no = start_bit; -} - -/* Advance to the next bit in BI. We don't advance to the next - nonzero bit yet. */ - -inline void -bmp_iter_next (bitmap_iterator *bi, unsigned *bit_no) -{ - bi->bits >>= 1; - *bit_no += 1; -} - -/* Advance to first set bit in BI. */ - -inline void -bmp_iter_next_bit (bitmap_iterator * bi, unsigned *bit_no) -{ -#if (GCC_VERSION >= 3004) - { - unsigned int n = __builtin_ctzl (bi->bits); - gcc_assert (sizeof (unsigned long) == sizeof (BITMAP_WORD)); - bi->bits >>= n; - *bit_no += n; - } -#else - while (!(bi->bits & 1)) - { - bi->bits >>= 1; - *bit_no += 1; - } -#endif -} - -/* Advance to the next nonzero bit of a single bitmap, we will have - already advanced past the just iterated bit. Return true if there - is a bit to iterate. */ - -inline bool -bmp_iter_set (bitmap_iterator *bi, unsigned *bit_no) -{ - /* If our current word is nonzero, it contains the bit we want. */ - if (bi->bits) - { - next_bit: - bmp_iter_next_bit (bi, bit_no); - return true; - } - - /* Round up to the word boundary. We might have just iterated past - the end of the last word, hence the -1. It is not possible for - bit_no to point at the beginning of the now last word. */ - *bit_no = ((*bit_no + BITMAP_WORD_BITS - 1) - / BITMAP_WORD_BITS * BITMAP_WORD_BITS); - bi->word_no++; - - while (1) - { - /* Find the next nonzero word in this elt. */ - while (bi->word_no != BITMAP_ELEMENT_WORDS) - { - bi->bits = bi->elt1->bits[bi->word_no]; - if (bi->bits) - goto next_bit; - *bit_no += BITMAP_WORD_BITS; - bi->word_no++; - } - - /* Make sure we didn't remove the element while iterating. */ - gcc_checking_assert (bi->elt1->indx != -1U); - - /* Advance to the next element. */ - bi->elt1 = bi->elt1->next; - if (!bi->elt1) - return false; - *bit_no = bi->elt1->indx * BITMAP_ELEMENT_ALL_BITS; - bi->word_no = 0; - } -} - -/* Advance to the next nonzero bit of an intersecting pair of - bitmaps. We will have already advanced past the just iterated bit. - Return true if there is a bit to iterate. */ - -inline bool -bmp_iter_and (bitmap_iterator *bi, unsigned *bit_no) -{ - /* If our current word is nonzero, it contains the bit we want. */ - if (bi->bits) - { - next_bit: - bmp_iter_next_bit (bi, bit_no); - return true; - } - - /* Round up to the word boundary. We might have just iterated past - the end of the last word, hence the -1. It is not possible for - bit_no to point at the beginning of the now last word. */ - *bit_no = ((*bit_no + BITMAP_WORD_BITS - 1) - / BITMAP_WORD_BITS * BITMAP_WORD_BITS); - bi->word_no++; - - while (1) - { - /* Find the next nonzero word in this elt. */ - while (bi->word_no != BITMAP_ELEMENT_WORDS) - { - bi->bits = bi->elt1->bits[bi->word_no] & bi->elt2->bits[bi->word_no]; - if (bi->bits) - goto next_bit; - *bit_no += BITMAP_WORD_BITS; - bi->word_no++; - } - - /* Advance to the next identical element. */ - do - { - /* Make sure we didn't remove the element while iterating. */ - gcc_checking_assert (bi->elt1->indx != -1U); - - /* Advance elt1 while it is less than elt2. We always want - to advance one elt. */ - do - { - bi->elt1 = bi->elt1->next; - if (!bi->elt1) - return false; - } - while (bi->elt1->indx < bi->elt2->indx); - - /* Make sure we didn't remove the element while iterating. */ - gcc_checking_assert (bi->elt2->indx != -1U); - - /* Advance elt2 to be no less than elt1. This might not - advance. */ - while (bi->elt2->indx < bi->elt1->indx) - { - bi->elt2 = bi->elt2->next; - if (!bi->elt2) - return false; - } - } - while (bi->elt1->indx != bi->elt2->indx); - - *bit_no = bi->elt1->indx * BITMAP_ELEMENT_ALL_BITS; - bi->word_no = 0; - } -} - -/* Advance to the next nonzero bit in the intersection of - complemented bitmaps. We will have already advanced past the just - iterated bit. */ - -inline bool -bmp_iter_and_compl (bitmap_iterator *bi, unsigned *bit_no) -{ - /* If our current word is nonzero, it contains the bit we want. */ - if (bi->bits) - { - next_bit: - bmp_iter_next_bit (bi, bit_no); - return true; - } - - /* Round up to the word boundary. We might have just iterated past - the end of the last word, hence the -1. It is not possible for - bit_no to point at the beginning of the now last word. */ - *bit_no = ((*bit_no + BITMAP_WORD_BITS - 1) - / BITMAP_WORD_BITS * BITMAP_WORD_BITS); - bi->word_no++; - - while (1) - { - /* Find the next nonzero word in this elt. */ - while (bi->word_no != BITMAP_ELEMENT_WORDS) - { - bi->bits = bi->elt1->bits[bi->word_no]; - if (bi->elt2 && bi->elt2->indx == bi->elt1->indx) - bi->bits &= ~bi->elt2->bits[bi->word_no]; - if (bi->bits) - goto next_bit; - *bit_no += BITMAP_WORD_BITS; - bi->word_no++; - } - - /* Make sure we didn't remove the element while iterating. */ - gcc_checking_assert (bi->elt1->indx != -1U); - - /* Advance to the next element of elt1. */ - bi->elt1 = bi->elt1->next; - if (!bi->elt1) - return false; - - /* Make sure we didn't remove the element while iterating. */ - gcc_checking_assert (! bi->elt2 || bi->elt2->indx != -1U); - - /* Advance elt2 until it is no less than elt1. */ - while (bi->elt2 && bi->elt2->indx < bi->elt1->indx) - bi->elt2 = bi->elt2->next; - - *bit_no = bi->elt1->indx * BITMAP_ELEMENT_ALL_BITS; - bi->word_no = 0; - } -} - -/* If you are modifying a bitmap you are currently iterating over you - have to ensure to - - never remove the current bit; - - if you set or clear a bit before the current bit this operation - will not affect the set of bits you are visiting during the iteration; - - if you set or clear a bit after the current bit it is unspecified - whether that affects the set of bits you are visiting during the - iteration. - If you want to remove the current bit you can delay this to the next - iteration (and after the iteration in case the last iteration is - affected). */ - -/* Loop over all bits set in BITMAP, starting with MIN and setting - BITNUM to the bit number. ITER is a bitmap iterator. BITNUM - should be treated as a read-only variable as it contains loop - state. */ - -#ifndef EXECUTE_IF_SET_IN_BITMAP -/* See sbitmap.h for the other definition of EXECUTE_IF_SET_IN_BITMAP. */ -#define EXECUTE_IF_SET_IN_BITMAP(BITMAP, MIN, BITNUM, ITER) \ - for (bmp_iter_set_init (&(ITER), (BITMAP), (MIN), &(BITNUM)); \ - bmp_iter_set (&(ITER), &(BITNUM)); \ - bmp_iter_next (&(ITER), &(BITNUM))) -#endif - -/* Loop over all the bits set in BITMAP1 & BITMAP2, starting with MIN - and setting BITNUM to the bit number. ITER is a bitmap iterator. - BITNUM should be treated as a read-only variable as it contains - loop state. */ - -#define EXECUTE_IF_AND_IN_BITMAP(BITMAP1, BITMAP2, MIN, BITNUM, ITER) \ - for (bmp_iter_and_init (&(ITER), (BITMAP1), (BITMAP2), (MIN), \ - &(BITNUM)); \ - bmp_iter_and (&(ITER), &(BITNUM)); \ - bmp_iter_next (&(ITER), &(BITNUM))) - -/* Loop over all the bits set in BITMAP1 & ~BITMAP2, starting with MIN - and setting BITNUM to the bit number. ITER is a bitmap iterator. - BITNUM should be treated as a read-only variable as it contains - loop state. */ - -#define EXECUTE_IF_AND_COMPL_IN_BITMAP(BITMAP1, BITMAP2, MIN, BITNUM, ITER) \ - for (bmp_iter_and_compl_init (&(ITER), (BITMAP1), (BITMAP2), (MIN), \ - &(BITNUM)); \ - bmp_iter_and_compl (&(ITER), &(BITNUM)); \ - bmp_iter_next (&(ITER), &(BITNUM))) - -/* A class that ties the lifetime of a bitmap to its scope. */ -class auto_bitmap -{ - public: - auto_bitmap (ALONE_CXX_MEM_STAT_INFO) - { bitmap_initialize (&m_bits, &bitmap_default_obstack PASS_MEM_STAT); } - explicit auto_bitmap (bitmap_obstack *o CXX_MEM_STAT_INFO) - { bitmap_initialize (&m_bits, o PASS_MEM_STAT); } - ~auto_bitmap () { bitmap_clear (&m_bits); } - // Allow calling bitmap functions on our bitmap. - operator bitmap () { return &m_bits; } - - private: - // Prevent making a copy that references our bitmap. - auto_bitmap (const auto_bitmap &); - auto_bitmap &operator = (const auto_bitmap &); - auto_bitmap (auto_bitmap &&); - auto_bitmap &operator = (auto_bitmap &&); - - bitmap_head m_bits; -}; - -extern void debug (const auto_bitmap &ref); -extern void debug (const auto_bitmap *ptr); - -/* Base class for bitmap_view; see there for details. */ -template > -class base_bitmap_view -{ -public: - typedef typename Traits::element_type array_element_type; - - base_bitmap_view (const T &, bitmap_element *); - operator const_bitmap () const { return &m_head; } - -private: - base_bitmap_view (const base_bitmap_view &); - - bitmap_head m_head; -}; - -/* Provides a read-only bitmap view of a single integer bitmask or a - constant-sized array of integer bitmasks, or of a wrapper around such - bitmasks. */ -template -class bitmap_view : public base_bitmap_view -{ -public: - bitmap_view (const T &array) - : base_bitmap_view (array, m_bitmap_elements) {} - -private: - /* How many bitmap_elements we need to hold a full T. */ - static const size_t num_bitmap_elements - = CEIL (CHAR_BIT - * sizeof (typename Traits::element_type) - * Traits::constant_size, - BITMAP_ELEMENT_ALL_BITS); - bitmap_element m_bitmap_elements[num_bitmap_elements]; -}; - -/* Initialize the view for array ARRAY, using the array of bitmap - elements in BITMAP_ELEMENTS (which is known to contain enough - entries). */ -template -base_bitmap_view::base_bitmap_view (const T &array, - bitmap_element *bitmap_elements) -{ - m_head.obstack = NULL; - - /* The code currently assumes that each element of ARRAY corresponds - to exactly one bitmap_element. */ - const size_t array_element_bits = CHAR_BIT * sizeof (array_element_type); - STATIC_ASSERT (BITMAP_ELEMENT_ALL_BITS % array_element_bits == 0); - size_t array_step = BITMAP_ELEMENT_ALL_BITS / array_element_bits; - size_t array_size = Traits::size (array); - - /* Process each potential bitmap_element in turn. The loop is written - this way rather than per array element because usually there are - only a small number of array elements per bitmap element (typically - two or four). The inner loops should therefore unroll completely. */ - const array_element_type *array_elements = Traits::base (array); - unsigned int indx = 0; - for (size_t array_base = 0; - array_base < array_size; - array_base += array_step, indx += 1) - { - /* How many array elements are in this particular bitmap_element. */ - unsigned int array_count - = (STATIC_CONSTANT_P (array_size % array_step == 0) - ? array_step : MIN (array_step, array_size - array_base)); - - /* See whether we need this bitmap element. */ - array_element_type ior = array_elements[array_base]; - for (size_t i = 1; i < array_count; ++i) - ior |= array_elements[array_base + i]; - if (ior == 0) - continue; - - /* Grab the next bitmap element and chain it. */ - bitmap_element *bitmap_element = bitmap_elements++; - if (m_head.current) - m_head.current->next = bitmap_element; - else - m_head.first = bitmap_element; - bitmap_element->prev = m_head.current; - bitmap_element->next = NULL; - bitmap_element->indx = indx; - m_head.current = bitmap_element; - m_head.indx = indx; - - /* Fill in the bits of the bitmap element. */ - if (array_element_bits < BITMAP_WORD_BITS) - { - /* Multiple array elements fit in one element of - bitmap_element->bits. */ - size_t array_i = array_base; - for (unsigned int word_i = 0; word_i < BITMAP_ELEMENT_WORDS; - ++word_i) - { - BITMAP_WORD word = 0; - for (unsigned int shift = 0; - shift < BITMAP_WORD_BITS && array_i < array_size; - shift += array_element_bits) - word |= array_elements[array_i++] << shift; - bitmap_element->bits[word_i] = word; - } - } - else - { - /* Array elements are the same size as elements of - bitmap_element->bits, or are an exact multiple of that size. */ - unsigned int word_i = 0; - for (unsigned int i = 0; i < array_count; ++i) - for (unsigned int shift = 0; shift < array_element_bits; - shift += BITMAP_WORD_BITS) - bitmap_element->bits[word_i++] - = array_elements[array_base + i] >> shift; - while (word_i < BITMAP_ELEMENT_WORDS) - bitmap_element->bits[word_i++] = 0; - } - } -} - -#endif /* GCC_BITMAP_H */ diff --git a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/builtin-attrs.def b/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/builtin-attrs.def deleted file mode 100644 index 782e82d1..00000000 --- a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/builtin-attrs.def +++ /dev/null @@ -1,427 +0,0 @@ -/* Copyright (C) 2001-2023 Free Software Foundation, Inc. - Contributed by Joseph Myers . - -This file is part of GCC. - -GCC is free software; you can redistribute it and/or modify it under -the terms of the GNU General Public License as published by the Free -Software Foundation; either version 3, or (at your option) any later -version. - -GCC is distributed in the hope that it will be useful, but WITHOUT ANY -WARRANTY; without even the implied warranty of MERCHANTABILITY or -FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -for more details. - -You should have received a copy of the GNU General Public License -along with GCC; see the file COPYING3. If not see -. */ - -/* This header provides a declarative way of describing the attributes - that are applied to some built-in functions by default. Attributes - that are meant to be used by user-defined functions but aren't used - by any built-ins, or attributes that apply to types or variables - but not to functions need not and should not be defined here. - - Before including this header, you must define the following macros. - In each case where there is an ENUM, it is an identifier used to - reference the tree in subsequent definitions. - - DEF_ATTR_NULL_TREE (ENUM) - - Constructs a NULL_TREE. - - DEF_ATTR_INT (ENUM, VALUE) - - Constructs an INTEGER_CST with value VALUE (an integer representable - in HOST_WIDE_INT). - - DEF_ATTR_IDENT (ENUM, STRING) - - Constructs an IDENTIFIER_NODE for STRING. - - DEF_ATTR_TREE_LIST (ENUM, PURPOSE, VALUE, CHAIN) - - Constructs a TREE_LIST with given PURPOSE, VALUE and CHAIN (given - as previous ENUM names). */ - -DEF_ATTR_NULL_TREE (ATTR_NULL) - -/* Construct a tree for a given integer and a list containing it. */ -#define DEF_ATTR_FOR_INT(VALUE) \ - DEF_ATTR_INT (ATTR_##VALUE, VALUE) \ - DEF_ATTR_TREE_LIST (ATTR_LIST_##VALUE, ATTR_NULL, \ - ATTR_##VALUE, ATTR_NULL) -DEF_ATTR_FOR_INT (0) -DEF_ATTR_FOR_INT (1) -DEF_ATTR_FOR_INT (2) -DEF_ATTR_FOR_INT (3) -DEF_ATTR_FOR_INT (4) -DEF_ATTR_FOR_INT (5) -DEF_ATTR_FOR_INT (6) -#undef DEF_ATTR_FOR_INT - -/* Construct a tree for a given string and a list containing it. */ -#define DEF_ATTR_FOR_STRING(ENUM, VALUE) \ - DEF_ATTR_STRING (ATTR_##ENUM, VALUE) \ - DEF_ATTR_TREE_LIST (ATTR_LIST_##ENUM, ATTR_NULL, \ - ATTR_##ENUM, ATTR_NULL) -DEF_ATTR_FOR_STRING (STR1, "1 ") -DEF_ATTR_FOR_STRING (STRERRNOC, ".C") -DEF_ATTR_FOR_STRING (STRERRNOP, ".P") -#undef DEF_ATTR_FOR_STRING - -/* Construct a tree for a list of two integers. */ -#define DEF_LIST_INT_INT(VALUE1, VALUE2) \ - DEF_ATTR_TREE_LIST (ATTR_LIST_##VALUE1##_##VALUE2, ATTR_NULL, \ - ATTR_##VALUE1, ATTR_LIST_##VALUE2) -DEF_LIST_INT_INT (1,0) -DEF_LIST_INT_INT (1,2) -DEF_LIST_INT_INT (1,3) -DEF_LIST_INT_INT (1,4) -DEF_LIST_INT_INT (1,5) -DEF_LIST_INT_INT (2,0) -DEF_LIST_INT_INT (2,3) -DEF_LIST_INT_INT (3,0) -DEF_LIST_INT_INT (3,4) -DEF_LIST_INT_INT (4,0) -DEF_LIST_INT_INT (4,5) -DEF_LIST_INT_INT (5,0) -DEF_LIST_INT_INT (5,6) -#undef DEF_LIST_INT_INT - -/* Construct trees for identifiers used in built-in function attributes. - The construction contributes to startup costs so only attributes that - are used to define built-ins should be defined here. */ -DEF_ATTR_IDENT (ATTR_ALLOC_SIZE, "alloc_size") -DEF_ATTR_IDENT (ATTR_COLD, "cold") -DEF_ATTR_IDENT (ATTR_CONST, "const") -DEF_ATTR_IDENT (ATTR_FORMAT, "format") -DEF_ATTR_IDENT (ATTR_FORMAT_ARG, "format_arg") -DEF_ATTR_IDENT (ATTR_MALLOC, "malloc") -DEF_ATTR_IDENT (ATTR_NONNULL, "nonnull") -DEF_ATTR_IDENT (ATTR_NORETURN, "noreturn") -DEF_ATTR_IDENT (ATTR_NOTHROW, "nothrow") -DEF_ATTR_IDENT (ATTR_LEAF, "leaf") -DEF_ATTR_IDENT (ATTR_FNSPEC, "fn spec") -DEF_ATTR_IDENT (ATTR_PRINTF, "printf") -DEF_ATTR_IDENT (ATTR_ASM_FPRINTF, "asm_fprintf") -DEF_ATTR_IDENT (ATTR_GCC_DIAG, "gcc_diag") -DEF_ATTR_IDENT (ATTR_GCC_CDIAG, "gcc_cdiag") -DEF_ATTR_IDENT (ATTR_GCC_CXXDIAG, "gcc_cxxdiag") -DEF_ATTR_IDENT (ATTR_PURE, "pure") -DEF_ATTR_IDENT (ATTR_NOVOPS, "no vops") -DEF_ATTR_IDENT (ATTR_SCANF, "scanf") -DEF_ATTR_IDENT (ATTR_SENTINEL, "sentinel") -DEF_ATTR_IDENT (ATTR_STRFMON, "strfmon") -DEF_ATTR_IDENT (ATTR_STRFTIME, "strftime") -DEF_ATTR_IDENT (ATTR_TYPEGENERIC, "type generic") -DEF_ATTR_IDENT (ATTR_TM_REGPARM, "*tm regparm") -DEF_ATTR_IDENT (ATTR_TM_TMPURE, "transaction_pure") -DEF_ATTR_IDENT (ATTR_RETURNS_TWICE, "returns_twice") -DEF_ATTR_IDENT (ATTR_RETURNS_NONNULL, "returns_nonnull") -DEF_ATTR_IDENT (ATTR_WARN_UNUSED_RESULT, "warn_unused_result") - -DEF_ATTR_TREE_LIST (ATTR_NOVOPS_LIST, ATTR_NOVOPS, ATTR_NULL, ATTR_NULL) - -DEF_ATTR_TREE_LIST (ATTR_NOVOPS_LEAF_LIST, ATTR_LEAF, ATTR_NULL, ATTR_NOVOPS_LIST) - -DEF_ATTR_TREE_LIST (ATTR_LEAF_LIST, ATTR_LEAF, ATTR_NULL, ATTR_NULL) - -DEF_ATTR_TREE_LIST (ATTR_NOTHROW_LIST, ATTR_NOTHROW, ATTR_NULL, ATTR_NULL) - -DEF_ATTR_TREE_LIST (ATTR_NOTHROW_LEAF_LIST, ATTR_LEAF, ATTR_NULL, ATTR_NOTHROW_LIST) - -DEF_ATTR_TREE_LIST (ATTR_NOVOPS_NOTHROW_LEAF_LIST, ATTR_NOVOPS, \ - ATTR_NULL, ATTR_NOTHROW_LEAF_LIST) -DEF_ATTR_TREE_LIST (ATTR_CONST_NOTHROW_LIST, ATTR_CONST, \ - ATTR_NULL, ATTR_NOTHROW_LIST) -DEF_ATTR_TREE_LIST (ATTR_CONST_NOTHROW_LEAF_LIST, ATTR_CONST, \ - ATTR_NULL, ATTR_NOTHROW_LEAF_LIST) -DEF_ATTR_TREE_LIST (ATTR_ERRNOCONST_NOTHROW_LEAF_LIST, ATTR_FNSPEC,\ - ATTR_LIST_STRERRNOC, ATTR_NOTHROW_LEAF_LIST) -DEF_ATTR_TREE_LIST (ATTR_ERRNOPURE_NOTHROW_LEAF_LIST, ATTR_FNSPEC,\ - ATTR_LIST_STRERRNOP, ATTR_NOTHROW_LEAF_LIST) -DEF_ATTR_TREE_LIST (ATTR_PURE_NOTHROW_LIST, ATTR_PURE, \ - ATTR_NULL, ATTR_NOTHROW_LIST) -DEF_ATTR_TREE_LIST (ATTR_PURE_NOTHROW_LEAF_LIST, ATTR_PURE, \ - ATTR_NULL, ATTR_NOTHROW_LEAF_LIST) -DEF_ATTR_TREE_LIST (ATTR_NORETURN_NOTHROW_LIST, ATTR_NORETURN, \ - ATTR_NULL, ATTR_NOTHROW_LIST) -DEF_ATTR_TREE_LIST (ATTR_NORETURN_NOTHROW_LEAF_LIST, ATTR_NORETURN,\ - ATTR_NULL, ATTR_NOTHROW_LEAF_LIST) -DEF_ATTR_TREE_LIST (ATTR_NORETURN_NOTHROW_LEAF_COLD_LIST, ATTR_COLD,\ - ATTR_NULL, ATTR_NORETURN_NOTHROW_LEAF_LIST) -DEF_ATTR_TREE_LIST (ATTR_RT_NOTHROW_LEAF_LIST, ATTR_RETURNS_TWICE,\ - ATTR_NULL, ATTR_NOTHROW_LEAF_LIST) -DEF_ATTR_TREE_LIST (ATTR_COLD_NOTHROW_LEAF_LIST, ATTR_COLD,\ - ATTR_NULL, ATTR_NOTHROW_LEAF_LIST) -DEF_ATTR_TREE_LIST (ATTR_COLD_NORETURN_NOTHROW_LEAF_LIST, ATTR_COLD,\ - ATTR_NULL, ATTR_NORETURN_NOTHROW_LEAF_LIST) -DEF_ATTR_TREE_LIST (ATTR_CONST_NORETURN_NOTHROW_LEAF_LIST, ATTR_CONST,\ - ATTR_NULL, ATTR_NORETURN_NOTHROW_LEAF_LIST) -DEF_ATTR_TREE_LIST (ATTR_CONST_NORETURN_NOTHROW_LEAF_COLD_LIST, ATTR_COLD,\ - ATTR_NULL, ATTR_CONST_NORETURN_NOTHROW_LEAF_LIST) -DEF_ATTR_TREE_LIST (ATTR_MALLOC_NOTHROW_LIST, ATTR_MALLOC, \ - ATTR_NULL, ATTR_NOTHROW_LIST) -DEF_ATTR_TREE_LIST (ATTR_WARN_UNUSED_RESULT_NOTHROW_LEAF_LIST, ATTR_WARN_UNUSED_RESULT, \ - ATTR_NULL, ATTR_NOTHROW_LEAF_LIST) -DEF_ATTR_TREE_LIST (ATTR_MALLOC_WARN_UNUSED_RESULT_NOTHROW_LEAF_LIST, ATTR_MALLOC, \ - ATTR_NULL, ATTR_WARN_UNUSED_RESULT_NOTHROW_LEAF_LIST) -DEF_ATTR_TREE_LIST (ATTR_SENTINEL_NOTHROW_LIST, ATTR_SENTINEL, \ - ATTR_NULL, ATTR_NOTHROW_LIST) -DEF_ATTR_TREE_LIST (ATTR_SENTINEL_NOTHROW_LEAF_LIST, ATTR_SENTINEL, \ - ATTR_NULL, ATTR_NOTHROW_LEAF_LIST) -DEF_ATTR_TREE_LIST (ATTR_COLD_CONST_NORETURN_NOTHROW_LEAF_LIST, ATTR_CONST,\ - ATTR_NULL, ATTR_COLD_NORETURN_NOTHROW_LEAF_LIST) - -/* Allocation functions like malloc and realloc whose first argument - with _SIZE_1, or second argument with _SIZE_2, specifies the size - of the allocated object. */ -DEF_ATTR_TREE_LIST (ATTR_MALLOC_SIZE_1_NOTHROW_LIST, ATTR_ALLOC_SIZE, \ - ATTR_LIST_1, ATTR_MALLOC_NOTHROW_LIST) -DEF_ATTR_TREE_LIST (ATTR_MALLOC_WARN_UNUSED_RESULT_NOTHROW_LIST, ATTR_WARN_UNUSED_RESULT, \ - ATTR_NULL, ATTR_MALLOC_NOTHROW_LIST) -DEF_ATTR_TREE_LIST (ATTR_ALLOC_WARN_UNUSED_RESULT_SIZE_2_NOTHROW_LIST, ATTR_ALLOC_SIZE, \ - ATTR_LIST_2, ATTR_MALLOC_WARN_UNUSED_RESULT_NOTHROW_LIST) -DEF_ATTR_TREE_LIST (ATTR_MALLOC_WARN_UNUSED_RESULT_SIZE_1_NOTHROW_LEAF_LIST, ATTR_ALLOC_SIZE, \ - ATTR_LIST_1, ATTR_MALLOC_WARN_UNUSED_RESULT_NOTHROW_LEAF_LIST) -/* Alloca is just like malloc except that it never returns null. */ -DEF_ATTR_TREE_LIST (ATTR_ALLOCA_WARN_UNUSED_RESULT_SIZE_1_NOTHROW_LEAF_LIST, ATTR_RETURNS_NONNULL, - ATTR_NULL, ATTR_MALLOC_WARN_UNUSED_RESULT_SIZE_1_NOTHROW_LEAF_LIST) - -/* Allocation functions like calloc the product of whose first two arguments - specifies the size of the allocated object. */ -DEF_ATTR_TREE_LIST (ATTR_MALLOC_WARN_UNUSED_RESULT_SIZE_1_2_NOTHROW_LEAF_LIST, ATTR_ALLOC_SIZE, \ - ATTR_LIST_1_2, ATTR_MALLOC_WARN_UNUSED_RESULT_NOTHROW_LEAF_LIST) - -/* Allocation functions like realloc whose second argument specifies - the size of the allocated object. */ -DEF_ATTR_TREE_LIST (ATTR_ALLOC_WARN_UNUSED_RESULT_SIZE_2_NOTHROW_LEAF_LIST, ATTR_ALLOC_SIZE, \ - ATTR_LIST_2, ATTR_WARN_UNUSED_RESULT_NOTHROW_LEAF_LIST) - -/* Functions whose pointer parameter(s) are all nonnull. */ -DEF_ATTR_TREE_LIST (ATTR_NONNULL_LIST, ATTR_NONNULL, ATTR_NULL, ATTR_NULL) -/* Functions whose first parameter is a nonnull pointer. */ -DEF_ATTR_TREE_LIST (ATTR_NONNULL_1, ATTR_NONNULL, ATTR_LIST_1, ATTR_NULL) -/* Functions whose second parameter is a nonnull pointer. */ -DEF_ATTR_TREE_LIST (ATTR_NONNULL_2, ATTR_NONNULL, ATTR_LIST_2, ATTR_NULL) -/* Functions whose third parameter is a nonnull pointer. */ -DEF_ATTR_TREE_LIST (ATTR_NONNULL_3, ATTR_NONNULL, ATTR_LIST_3, ATTR_NULL) -/* Nothrow functions with the sentinel(1) attribute. */ -DEF_ATTR_TREE_LIST (ATTR_NOTHROW_SENTINEL_1, ATTR_SENTINEL, ATTR_LIST_1, \ - ATTR_NOTHROW_LIST) -/* Nothrow functions whose pointer parameter(s) are all nonnull. */ -DEF_ATTR_TREE_LIST (ATTR_NOTHROW_NONNULL, ATTR_NONNULL, ATTR_NULL, \ - ATTR_NOTHROW_LIST) -/* Nothrow leaf functions whose pointer parameter(s) are all nonnull. */ -DEF_ATTR_TREE_LIST (ATTR_NOTHROW_NONNULL_LEAF, ATTR_NONNULL, ATTR_NULL, \ - ATTR_NOTHROW_LEAF_LIST) -DEF_ATTR_TREE_LIST (ATTR_NOTHROW_NONNULL_LEAF_LIST, ATTR_LEAF, ATTR_NULL, ATTR_NOTHROW_NONNULL_LEAF) -/* Nothrow functions whose first parameter is a nonnull pointer. */ -DEF_ATTR_TREE_LIST (ATTR_NOTHROW_NONNULL_1, ATTR_NONNULL, ATTR_LIST_1, \ - ATTR_NOTHROW_LIST) -/* Nothrow functions whose second parameter is a nonnull pointer. */ -DEF_ATTR_TREE_LIST (ATTR_NOTHROW_NONNULL_2, ATTR_NONNULL, ATTR_LIST_2, \ - ATTR_NOTHROW_LIST) -/* Nothrow functions whose third parameter is a nonnull pointer. */ -DEF_ATTR_TREE_LIST (ATTR_NOTHROW_NONNULL_3, ATTR_NONNULL, ATTR_LIST_3, \ - ATTR_NOTHROW_LIST) -/* Nothrow functions whose fourth parameter is a nonnull pointer. */ -DEF_ATTR_TREE_LIST (ATTR_NOTHROW_NONNULL_4, ATTR_NONNULL, ATTR_LIST_4, \ - ATTR_NOTHROW_LIST) -/* Nothrow functions whose fifth parameter is a nonnull pointer. */ -DEF_ATTR_TREE_LIST (ATTR_NOTHROW_NONNULL_5, ATTR_NONNULL, ATTR_LIST_5, \ - ATTR_NOTHROW_LIST) - -/* Same as ATTR_NONNULL_1. */ -DEF_ATTR_TREE_LIST (ATTR_NONNULL_1_1, ATTR_NONNULL, ATTR_LIST_1, ATTR_NULL) -/* Functions like {v,}fprintf whose first and second parameters are - nonnull pointers. As cancellation points the functions are not - nothrow. */ -DEF_ATTR_TREE_LIST (ATTR_NONNULL_1_2, ATTR_NONNULL, ATTR_LIST_1_2, ATTR_NULL) -/* The following don't have {v,}fprintf forms. They exist only to - make it possible to declare {v,}{f,s}printf attributes using - the same macro. */ -DEF_ATTR_TREE_LIST (ATTR_NONNULL_1_3, ATTR_NONNULL, ATTR_LIST_1_3, ATTR_NULL) -DEF_ATTR_TREE_LIST (ATTR_NONNULL_1_4, ATTR_NONNULL, ATTR_LIST_1_4, ATTR_NULL) -DEF_ATTR_TREE_LIST (ATTR_NONNULL_1_5, ATTR_NONNULL, ATTR_LIST_1_5, ATTR_NULL) - -/* Same as ATTR_NOTHROW_NONNULL_1. */ -DEF_ATTR_TREE_LIST (ATTR_NOTHROW_NONNULL_1_1, ATTR_NONNULL, ATTR_LIST_1, - ATTR_NOTHROW_LIST) -/* Nothrow functions like {v,}sprintf whose first and second parameters - are nonnull pointers. */ -DEF_ATTR_TREE_LIST (ATTR_NOTHROW_NONNULL_1_2, ATTR_NONNULL, ATTR_LIST_1_2, \ - ATTR_NOTHROW_LIST) -/* Nothrow functions like {v,}snprintf whose first and third parameters - are nonnull pointers. */ -DEF_ATTR_TREE_LIST (ATTR_NOTHROW_NONNULL_1_3, ATTR_NONNULL, ATTR_LIST_1_3, \ - ATTR_NOTHROW_LIST) -/* Nothrow functions like {v,}sprintf_chk whose first and fourth parameters - are nonnull pointers. */ -DEF_ATTR_TREE_LIST (ATTR_NOTHROW_NONNULL_1_4, ATTR_NONNULL, ATTR_LIST_1_4, \ - ATTR_NOTHROW_LIST) -/* Nothrow functions like {v,}snprintf_chk whose first and fifth parameters - are nonnull pointers. */ -DEF_ATTR_TREE_LIST (ATTR_NOTHROW_NONNULL_1_5, ATTR_NONNULL, ATTR_LIST_1_5, \ - ATTR_NOTHROW_LIST) - -/* Nothrow leaf functions which are type-generic. */ -DEF_ATTR_TREE_LIST (ATTR_NOTHROW_TYPEGENERIC_LEAF, ATTR_TYPEGENERIC, ATTR_NULL, \ - ATTR_NOTHROW_LEAF_LIST) -/* Nothrow nonnull leaf functions that are type-generic. */ -DEF_ATTR_TREE_LIST (ATTR_NOTHROW_NONNULL_TYPEGENERIC_LEAF, - ATTR_TYPEGENERIC, ATTR_NULL, - ATTR_NOTHROW_NONNULL_LEAF) -/* Nothrow const functions whose pointer parameter(s) are all nonnull. */ -DEF_ATTR_TREE_LIST (ATTR_CONST_NOTHROW_NONNULL, ATTR_CONST, ATTR_NULL, \ - ATTR_NOTHROW_NONNULL) -/* Nothrow leaf functions whose pointer parameter(s) are all nonnull, - and which return their first argument. */ -DEF_ATTR_TREE_LIST (ATTR_RET1_NOTHROW_NONNULL_LEAF, ATTR_FNSPEC, ATTR_LIST_STR1, \ - ATTR_NOTHROW_NONNULL_LEAF) -/* Nothrow leaf functions whose pointer parameter(s) are all nonnull, - and return value is also nonnull. */ -DEF_ATTR_TREE_LIST (ATTR_RETNONNULL_NOTHROW_LEAF, ATTR_RETURNS_NONNULL, ATTR_NULL, \ - ATTR_NOTHROW_NONNULL_LEAF) -/* Nothrow const leaf functions whose pointer parameter(s) are all nonnull. */ -DEF_ATTR_TREE_LIST (ATTR_CONST_NOTHROW_NONNULL_LEAF, ATTR_CONST, ATTR_NULL, \ - ATTR_NOTHROW_NONNULL_LEAF) -/* Nothrow const functions which are type-generic. */ -DEF_ATTR_TREE_LIST (ATTR_CONST_NOTHROW_TYPEGENERIC, ATTR_TYPEGENERIC, ATTR_NULL, \ - ATTR_CONST_NOTHROW_LIST) -/* Nothrow const leaf functions which are type-generic. */ -DEF_ATTR_TREE_LIST (ATTR_CONST_NOTHROW_TYPEGENERIC_LEAF, ATTR_TYPEGENERIC, ATTR_NULL, \ - ATTR_CONST_NOTHROW_LEAF_LIST) -/* Nothrow pure functions whose pointer parameter(s) are all nonnull. */ -DEF_ATTR_TREE_LIST (ATTR_PURE_NOTHROW_NONNULL, ATTR_PURE, ATTR_NULL, \ - ATTR_NOTHROW_NONNULL) -/* Nothrow pure leaf functions whose pointer parameter(s) are all nonnull. */ -DEF_ATTR_TREE_LIST (ATTR_PURE_NOTHROW_NONNULL_LEAF, ATTR_PURE, ATTR_NULL, \ - ATTR_NOTHROW_NONNULL_LEAF) -/* Nothrow malloc functions whose pointer parameter(s) are all nonnull. */ -DEF_ATTR_TREE_LIST (ATTR_WARN_UNUSED_RESULT_NOTHROW_NONNULL, ATTR_WARN_UNUSED_RESULT, ATTR_NULL, \ - ATTR_NOTHROW_NONNULL) -DEF_ATTR_TREE_LIST (ATTR_MALLOC_WARN_UNUSED_RESULT_NOTHROW_NONNULL, ATTR_MALLOC, ATTR_NULL, \ - ATTR_WARN_UNUSED_RESULT_NOTHROW_NONNULL) -/* Nothrow malloc leaf functions whose pointer parameter(s) are all nonnull. */ -DEF_ATTR_TREE_LIST (ATTR_WARN_UNUSED_RESULT_NOTHROW_NONNULL_LEAF, ATTR_WARN_UNUSED_RESULT, ATTR_NULL, \ - ATTR_NOTHROW_NONNULL_LEAF) -DEF_ATTR_TREE_LIST (ATTR_MALLOC_WARN_UNUSED_RESULT_NOTHROW_NONNULL_LEAF, ATTR_MALLOC, ATTR_NULL, \ - ATTR_WARN_UNUSED_RESULT_NOTHROW_NONNULL_LEAF) - -/* Construct a tree for the format attribute (and implicitly nonnull). */ -#define DEF_FORMAT_ATTRIBUTE(TYPE, FA, VALUES) \ - DEF_ATTR_TREE_LIST (ATTR_##TYPE##_##VALUES, ATTR_NULL, \ - ATTR_##TYPE, ATTR_LIST_##VALUES) \ - DEF_ATTR_TREE_LIST (ATTR_FORMAT_##TYPE##_##VALUES, ATTR_FORMAT, \ - ATTR_##TYPE##_##VALUES, ATTR_NONNULL_##FA) - -/* Construct a tree for the format and nothrow attributes (format - implies nonnull). */ -#define DEF_FORMAT_ATTRIBUTE_NOTHROW(TYPE, FA, VALUES) \ - DEF_ATTR_TREE_LIST (ATTR_##TYPE##_##VALUES, ATTR_NULL, \ - ATTR_##TYPE, ATTR_LIST_##VALUES) \ - DEF_ATTR_TREE_LIST (ATTR_FORMAT_##TYPE##_NOTHROW_##VALUES, ATTR_FORMAT,\ - ATTR_##TYPE##_##VALUES, ATTR_NOTHROW_NONNULL_##FA) - -/* Construct one tree for the format attribute and another for the format - and nothrow attributes (in both cases format implies nonnull). */ -#define DEF_FORMAT_ATTRIBUTE_BOTH(TYPE, FA, VALUES) \ - DEF_ATTR_TREE_LIST (ATTR_##TYPE##_##VALUES, ATTR_NULL, \ - ATTR_##TYPE, ATTR_LIST_##VALUES) \ - DEF_ATTR_TREE_LIST (ATTR_FORMAT_##TYPE##_##VALUES, ATTR_FORMAT, \ - ATTR_##TYPE##_##VALUES, ATTR_NONNULL_##FA) \ - DEF_ATTR_TREE_LIST (ATTR_FORMAT_##TYPE##_NOTHROW_##VALUES, ATTR_FORMAT,\ - ATTR_##TYPE##_##VALUES, ATTR_NOTHROW_NONNULL_##FA) - -/* Construct a pair of trees for the nonnull attribute for the first - argument, plus format printf attribute (format implies nonnull): - the first ordinary and the second nothrow. */ -#define DEF_FORMAT_ATTRIBUTE_NONNULL(TYPE, FA, VALUES) \ - DEF_ATTR_TREE_LIST (ATTR_NONNULL_1_FORMAT_##TYPE##_##VALUES, \ - ATTR_FORMAT, ATTR_##TYPE##_##VALUES, \ - ATTR_NONNULL_1_##FA) \ - DEF_ATTR_TREE_LIST (ATTR_NOTHROW_NONNULL_1_FORMAT_##TYPE##_##VALUES, \ - ATTR_FORMAT, ATTR_##TYPE##_##VALUES, \ - ATTR_NOTHROW_NONNULL_1_##FA) - -DEF_FORMAT_ATTRIBUTE(PRINTF,1,1_0) -DEF_FORMAT_ATTRIBUTE(PRINTF,1,1_2) -DEF_FORMAT_ATTRIBUTE_BOTH(PRINTF,2,2_0) -DEF_FORMAT_ATTRIBUTE_BOTH(PRINTF,2,2_3) -DEF_FORMAT_ATTRIBUTE_BOTH(PRINTF,3,3_0) -DEF_FORMAT_ATTRIBUTE_BOTH(PRINTF,3,3_4) -DEF_FORMAT_ATTRIBUTE_NOTHROW(PRINTF,4,4_0) -DEF_FORMAT_ATTRIBUTE_NOTHROW(PRINTF,4,4_5) -DEF_FORMAT_ATTRIBUTE_NOTHROW(PRINTF,5,5_0) -DEF_FORMAT_ATTRIBUTE_NOTHROW(PRINTF,5,5_6) - -/* Attributes for fprintf(f, f, va). */ -DEF_FORMAT_ATTRIBUTE_NONNULL(PRINTF,1,1_2) -/* Attributes for v{f,s}printf(d, f, va). vsprintf is nothrow, vfprintf - is not. */ -DEF_FORMAT_ATTRIBUTE_NONNULL(PRINTF,2,2_0) -/* Attributes for {f,s}printf(d, f, ...). sprintf is nothrow, fprintf - is not. */ -DEF_FORMAT_ATTRIBUTE_NONNULL(PRINTF,2,2_3) -/* Attributes for vprintf_chk. */ -DEF_FORMAT_ATTRIBUTE_NONNULL(PRINTF,3,3_0) -/* Attributes for printf_chk. */ -DEF_FORMAT_ATTRIBUTE_NONNULL(PRINTF,3,3_4) -/* Attributes for v{f,s}printf_chk(d, t, bos, f, va). vsprintf_chk is - nothrow, vfprintf_chk is not. */ -DEF_FORMAT_ATTRIBUTE_NONNULL(PRINTF,4,4_0) -/* Attributes for {f,s}printf_chk(d, t, bos, f, ...). sprintf_chk is - nothrow, fprintf_chk is not. */ -DEF_FORMAT_ATTRIBUTE_NONNULL(PRINTF,4,4_5) - -DEF_FORMAT_ATTRIBUTE(SCANF,1,1_0) -DEF_FORMAT_ATTRIBUTE(SCANF,1,1_2) -DEF_FORMAT_ATTRIBUTE_BOTH(SCANF,2,2_0) -DEF_FORMAT_ATTRIBUTE_BOTH(SCANF,2,2_3) -DEF_FORMAT_ATTRIBUTE_NOTHROW(STRFTIME,3,3_0) -DEF_FORMAT_ATTRIBUTE_NOTHROW(STRFMON,3,3_4) -#undef DEF_FORMAT_ATTRIBUTE -#undef DEF_FORMAT_ATTRIBUTE_NOTHROW -#undef DEF_FORMAT_ATTRIBUTE_BOTH - -/* Transactional memory variants of the above. */ - -DEF_ATTR_TREE_LIST (ATTR_TM_NOTHROW_LIST, - ATTR_TM_REGPARM, ATTR_NULL, ATTR_NOTHROW_LIST) -DEF_ATTR_TREE_LIST (ATTR_TM_TMPURE_NOTHROW_LIST, - ATTR_TM_TMPURE, ATTR_NULL, ATTR_TM_NOTHROW_LIST) -DEF_ATTR_TREE_LIST (ATTR_TM_PURE_TMPURE_NOTHROW_LIST, - ATTR_PURE, ATTR_NULL, ATTR_TM_TMPURE_NOTHROW_LIST) -DEF_ATTR_TREE_LIST (ATTR_TM_NORETURN_NOTHROW_LIST, - ATTR_TM_REGPARM, ATTR_NULL, ATTR_NORETURN_NOTHROW_LIST) -DEF_ATTR_TREE_LIST (ATTR_TM_CONST_NOTHROW_LIST, - ATTR_TM_REGPARM, ATTR_NULL, ATTR_CONST_NOTHROW_LIST) -DEF_ATTR_TREE_LIST (ATTR_TM_NOTHROW_RT_LIST, - ATTR_RETURNS_TWICE, ATTR_NULL, ATTR_TM_NOTHROW_LIST) - -/* Same attributes used for BUILT_IN_MALLOC except with TM_PURE thrown in. */ -DEF_ATTR_TREE_LIST (ATTR_TMPURE_MALLOC_NOTHROW_LIST, - ATTR_TM_TMPURE, ATTR_NULL, ATTR_MALLOC_NOTHROW_LIST) -/* Same attributes used for BUILT_IN_FREE except with TM_PURE thrown in. */ -DEF_ATTR_TREE_LIST (ATTR_TMPURE_NOTHROW_LIST, - ATTR_TM_TMPURE, ATTR_NULL, ATTR_NOTHROW_LIST) - -DEF_ATTR_TREE_LIST (ATTR_TMPURE_NOTHROW_LEAF_LIST, - ATTR_TM_TMPURE, ATTR_NULL, ATTR_NOTHROW_LEAF_LIST) -DEF_ATTR_TREE_LIST (ATTR_TMPURE_NORETURN_NOTHROW_LEAF_LIST, - ATTR_TM_TMPURE, ATTR_NULL, ATTR_NORETURN_NOTHROW_LEAF_LIST) -DEF_ATTR_TREE_LIST (ATTR_TMPURE_NORETURN_NOTHROW_LEAF_COLD_LIST, - ATTR_COLD, ATTR_NULL, - ATTR_TMPURE_NORETURN_NOTHROW_LEAF_LIST) - -/* Construct a tree for a format_arg attribute. */ -#define DEF_FORMAT_ARG_ATTRIBUTE(FA) \ - DEF_ATTR_TREE_LIST (ATTR_FORMAT_ARG_##FA, ATTR_FORMAT_ARG, \ - ATTR_LIST_##FA, ATTR_NOTHROW_NONNULL_##FA) -DEF_FORMAT_ARG_ATTRIBUTE(1) -DEF_FORMAT_ARG_ATTRIBUTE(2) -#undef DEF_FORMAT_ARG_ATTRIBUTE - diff --git a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/builtin-types.def b/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/builtin-types.def deleted file mode 100644 index 5cb25ab7..00000000 --- a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/builtin-types.def +++ /dev/null @@ -1,1062 +0,0 @@ -/* Copyright (C) 2001-2023 Free Software Foundation, Inc. - -This file is part of GCC. - -GCC is free software; you can redistribute it and/or modify it under -the terms of the GNU General Public License as published by the Free -Software Foundation; either version 3, or (at your option) any later -version. - -GCC is distributed in the hope that it will be useful, but WITHOUT ANY -WARRANTY; without even the implied warranty of MERCHANTABILITY or -FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -for more details. - -You should have received a copy of the GNU General Public License -along with GCC; see the file COPYING3. If not see -. */ - -/* This header provides a declarative way of describing the types that - are used when declaring builtin functions. - - Before including this header, you must define the following macros: - - DEF_PRIMITIVE_TYPE (ENUM, TYPE) - - The ENUM is an identifier indicating which type is being defined. - TYPE is an expression for a `tree' that represents the type. - - DEF_FUNCTION_TYPE_0 (ENUM, RETURN) - DEF_FUNCTION_TYPE_1 (ENUM, RETURN, ARG1) - DEF_FUNCTION_TYPE_2 (ENUM, RETURN, ARG1, ARG2) - [...] - - These macros describe function types. ENUM is as above. The - RETURN type is one of the enumerals already defined. ARG1, ARG2, - etc, give the types of the arguments, similarly. - - DEF_FUNCTION_TYPE_VAR_0 (ENUM, RETURN) - DEF_FUNCTION_TYPE_VAR_1 (ENUM, RETURN, ARG1) - DEF_FUNCTION_TYPE_VAR_2 (ENUM, RETURN, ARG1, ARG2) - [...] - - Similar, but for function types that take variable arguments. - For example: - - DEF_FUNCTION_TYPE_1 (BT_INT_DOUBLE, BT_INT, BT_DOUBLE) - - describes the type `int ()(double)', using the enumeral - BT_INT_DOUBLE, whereas: - - DEF_FUNCTION_TYPE_VAR_1 (BT_INT_DOUBLE_VAR, BT_INT, BT_DOUBLE) - - describes the type `int ()(double, ...)'. - - DEF_POINTER_TYPE (ENUM, TYPE) - - This macro describes a pointer type. ENUM is as above; TYPE is - the type pointed to. */ - -DEF_PRIMITIVE_TYPE (BT_VOID, void_type_node) -DEF_PRIMITIVE_TYPE (BT_BOOL, boolean_type_node) -DEF_PRIMITIVE_TYPE (BT_INT, integer_type_node) -DEF_PRIMITIVE_TYPE (BT_UINT, unsigned_type_node) -DEF_PRIMITIVE_TYPE (BT_LONG, long_integer_type_node) -DEF_PRIMITIVE_TYPE (BT_ULONG, long_unsigned_type_node) -DEF_PRIMITIVE_TYPE (BT_LONGLONG, long_long_integer_type_node) -DEF_PRIMITIVE_TYPE (BT_ULONGLONG, long_long_unsigned_type_node) -DEF_PRIMITIVE_TYPE (BT_INTMAX, intmax_type_node) -DEF_PRIMITIVE_TYPE (BT_UINTMAX, uintmax_type_node) -DEF_PRIMITIVE_TYPE (BT_INT8, signed_char_type_node) -DEF_PRIMITIVE_TYPE (BT_INT16, short_integer_type_node) -DEF_PRIMITIVE_TYPE (BT_UINT8, unsigned_char_type_node) -DEF_PRIMITIVE_TYPE (BT_UINT16, uint16_type_node) -DEF_PRIMITIVE_TYPE (BT_UINT32, uint32_type_node) -DEF_PRIMITIVE_TYPE (BT_UINT64, uint64_type_node) -DEF_PRIMITIVE_TYPE (BT_UINT128, uint128_type_node - ? uint128_type_node - : error_mark_node) -DEF_PRIMITIVE_TYPE (BT_WORD, (*lang_hooks.types.type_for_mode) (word_mode, 1)) -DEF_PRIMITIVE_TYPE (BT_UNWINDWORD, (*lang_hooks.types.type_for_mode) - (targetm.unwind_word_mode (), 1)) -DEF_PRIMITIVE_TYPE (BT_FLOAT, float_type_node) -DEF_PRIMITIVE_TYPE (BT_DOUBLE, double_type_node) -DEF_PRIMITIVE_TYPE (BT_LONGDOUBLE, long_double_type_node) -DEF_PRIMITIVE_TYPE (BT_BFLOAT16, (bfloat16_type_node - ? bfloat16_type_node - : error_mark_node)) -DEF_PRIMITIVE_TYPE (BT_FLOAT16, (float16_type_node - ? float16_type_node - : error_mark_node)) -DEF_PRIMITIVE_TYPE (BT_FLOAT32, (float32_type_node - ? float32_type_node - : error_mark_node)) -DEF_PRIMITIVE_TYPE (BT_FLOAT64, (float64_type_node - ? float64_type_node - : error_mark_node)) -DEF_PRIMITIVE_TYPE (BT_FLOAT128, (float128_type_node - ? float128_type_node - : error_mark_node)) -DEF_PRIMITIVE_TYPE (BT_FLOAT32X, (float32x_type_node - ? float32x_type_node - : error_mark_node)) -DEF_PRIMITIVE_TYPE (BT_FLOAT64X, (float64x_type_node - ? float64x_type_node - : error_mark_node)) -DEF_PRIMITIVE_TYPE (BT_FLOAT128X, (float128x_type_node - ? float128x_type_node - : error_mark_node)) -DEF_PRIMITIVE_TYPE (BT_COMPLEX_FLOAT, complex_float_type_node) -DEF_PRIMITIVE_TYPE (BT_COMPLEX_DOUBLE, complex_double_type_node) -DEF_PRIMITIVE_TYPE (BT_COMPLEX_LONGDOUBLE, complex_long_double_type_node) -DEF_PRIMITIVE_TYPE (BT_COMPLEX_FLOAT16, (float16_type_node - ? build_complex_type - (float16_type_node) - : error_mark_node)) -DEF_PRIMITIVE_TYPE (BT_COMPLEX_FLOAT32, (float32_type_node - ? build_complex_type - (float32_type_node) - : error_mark_node)) -DEF_PRIMITIVE_TYPE (BT_COMPLEX_FLOAT64, (float64_type_node - ? build_complex_type - (float64_type_node) - : error_mark_node)) -DEF_PRIMITIVE_TYPE (BT_COMPLEX_FLOAT128, (float128_type_node - ? build_complex_type - (float128_type_node) - : error_mark_node)) -DEF_PRIMITIVE_TYPE (BT_COMPLEX_FLOAT32X, (float32x_type_node - ? build_complex_type - (float32x_type_node) - : error_mark_node)) -DEF_PRIMITIVE_TYPE (BT_COMPLEX_FLOAT64X, (float64x_type_node - ? build_complex_type - (float64x_type_node) - : error_mark_node)) -DEF_PRIMITIVE_TYPE (BT_COMPLEX_FLOAT128X, (float128x_type_node - ? build_complex_type - (float128x_type_node) - : error_mark_node)) - -DEF_PRIMITIVE_TYPE (BT_PTR, ptr_type_node) -DEF_PRIMITIVE_TYPE (BT_FILEPTR, fileptr_type_node) -DEF_PRIMITIVE_TYPE (BT_CONST_TM_PTR, const_tm_ptr_type_node) -DEF_PRIMITIVE_TYPE (BT_FENV_T_PTR, fenv_t_ptr_type_node) -DEF_PRIMITIVE_TYPE (BT_CONST_FENV_T_PTR, const_fenv_t_ptr_type_node) -DEF_PRIMITIVE_TYPE (BT_FEXCEPT_T_PTR, fexcept_t_ptr_type_node) -DEF_PRIMITIVE_TYPE (BT_CONST_FEXCEPT_T_PTR, const_fexcept_t_ptr_type_node) -DEF_PRIMITIVE_TYPE (BT_CONST_PTR, const_ptr_type_node) -DEF_PRIMITIVE_TYPE (BT_VOLATILE_PTR, - build_pointer_type - (build_qualified_type (void_type_node, - TYPE_QUAL_VOLATILE))) -DEF_PRIMITIVE_TYPE (BT_CONST_VOLATILE_PTR, - build_pointer_type - (build_qualified_type (void_type_node, - TYPE_QUAL_VOLATILE|TYPE_QUAL_CONST))) -DEF_PRIMITIVE_TYPE (BT_PTRMODE, (*lang_hooks.types.type_for_mode)(ptr_mode, 0)) -DEF_PRIMITIVE_TYPE (BT_INT_PTR, integer_ptr_type_node) -DEF_PRIMITIVE_TYPE (BT_FLOAT_PTR, float_ptr_type_node) -DEF_PRIMITIVE_TYPE (BT_DOUBLE_PTR, double_ptr_type_node) -DEF_PRIMITIVE_TYPE (BT_CONST_DOUBLE_PTR, - build_pointer_type - (build_qualified_type (double_type_node, - TYPE_QUAL_CONST))) -DEF_PRIMITIVE_TYPE (BT_LONGDOUBLE_PTR, long_double_ptr_type_node) -DEF_PRIMITIVE_TYPE (BT_FLOAT16_PTR, (float16_type_node - ? build_pointer_type (float16_type_node) - : error_mark_node)) -DEF_PRIMITIVE_TYPE (BT_FLOAT32_PTR, (float32_type_node - ? build_pointer_type (float32_type_node) - : error_mark_node)) -DEF_PRIMITIVE_TYPE (BT_FLOAT64_PTR, (float64_type_node - ? build_pointer_type (float64_type_node) - : error_mark_node)) -DEF_PRIMITIVE_TYPE (BT_FLOAT128_PTR, (float128_type_node - ? build_pointer_type (float128_type_node) - : error_mark_node)) -DEF_PRIMITIVE_TYPE (BT_FLOAT32X_PTR, (float32x_type_node - ? build_pointer_type (float32x_type_node) - : error_mark_node)) -DEF_PRIMITIVE_TYPE (BT_FLOAT64X_PTR, (float64x_type_node - ? build_pointer_type (float64x_type_node) - : error_mark_node)) -DEF_PRIMITIVE_TYPE (BT_FLOAT128X_PTR, (float128x_type_node - ? build_pointer_type (float128x_type_node) - : error_mark_node)) -DEF_PRIMITIVE_TYPE (BT_PID, pid_type_node) -DEF_PRIMITIVE_TYPE (BT_SIZE, size_type_node) -DEF_PRIMITIVE_TYPE (BT_CONST_SIZE, - build_qualified_type (size_type_node, TYPE_QUAL_CONST)) -DEF_PRIMITIVE_TYPE (BT_SSIZE, signed_size_type_node) -DEF_PRIMITIVE_TYPE (BT_WINT, wint_type_node) -DEF_PRIMITIVE_TYPE (BT_STRING, string_type_node) -DEF_PRIMITIVE_TYPE (BT_CONST_STRING, const_string_type_node) - -DEF_PRIMITIVE_TYPE (BT_DFLOAT32, (dfloat32_type_node - ? dfloat32_type_node - : error_mark_node)) -DEF_PRIMITIVE_TYPE (BT_DFLOAT64, (dfloat64_type_node - ? dfloat64_type_node - : error_mark_node)) -DEF_PRIMITIVE_TYPE (BT_DFLOAT128, (dfloat128_type_node - ? dfloat128_type_node - : error_mark_node)) - -DEF_PRIMITIVE_TYPE (BT_VALIST_REF, va_list_ref_type_node) -DEF_PRIMITIVE_TYPE (BT_VALIST_ARG, va_list_arg_type_node) - -DEF_PRIMITIVE_TYPE (BT_I1, builtin_type_for_size (BITS_PER_UNIT*1, 1)) -DEF_PRIMITIVE_TYPE (BT_I2, builtin_type_for_size (BITS_PER_UNIT*2, 1)) -DEF_PRIMITIVE_TYPE (BT_I4, builtin_type_for_size (BITS_PER_UNIT*4, 1)) -DEF_PRIMITIVE_TYPE (BT_I8, builtin_type_for_size (BITS_PER_UNIT*8, 1)) -DEF_PRIMITIVE_TYPE (BT_I16, builtin_type_for_size (BITS_PER_UNIT*16, 1)) - -/* The C type `char * const *'. */ -DEF_PRIMITIVE_TYPE (BT_PTR_CONST_STRING, - build_pointer_type - (build_qualified_type (string_type_node, - TYPE_QUAL_CONST))) - -DEF_POINTER_TYPE (BT_PTR_UINT, BT_UINT) -DEF_POINTER_TYPE (BT_PTR_LONG, BT_LONG) -DEF_POINTER_TYPE (BT_PTR_ULONG, BT_ULONG) -DEF_POINTER_TYPE (BT_PTR_LONGLONG, BT_LONGLONG) -DEF_POINTER_TYPE (BT_PTR_ULONGLONG, BT_ULONGLONG) -DEF_POINTER_TYPE (BT_PTR_PTR, BT_PTR) - -DEF_FUNCTION_TYPE_0 (BT_FN_VOID, BT_VOID) -DEF_FUNCTION_TYPE_0 (BT_FN_BOOL, BT_BOOL) -DEF_FUNCTION_TYPE_0 (BT_FN_PTR, BT_PTR) -DEF_FUNCTION_TYPE_0 (BT_FN_CONST_STRING, BT_CONST_STRING) -DEF_FUNCTION_TYPE_0 (BT_FN_PID, BT_PID) -DEF_FUNCTION_TYPE_0 (BT_FN_INT, BT_INT) -DEF_FUNCTION_TYPE_0 (BT_FN_UINT, BT_UINT) -DEF_FUNCTION_TYPE_0 (BT_FN_ULONG, BT_ULONG) -DEF_FUNCTION_TYPE_0 (BT_FN_FLOAT, BT_FLOAT) -DEF_FUNCTION_TYPE_0 (BT_FN_DOUBLE, BT_DOUBLE) -/* For "long double" we use LONGDOUBLE (not LONG_DOUBLE) to - distinguish it from two types in sequence, "long" followed by - "double". */ -DEF_FUNCTION_TYPE_0 (BT_FN_LONGDOUBLE, BT_LONGDOUBLE) -DEF_FUNCTION_TYPE_0 (BT_FN_FLOAT16, BT_FLOAT16) -DEF_FUNCTION_TYPE_0 (BT_FN_FLOAT32, BT_FLOAT32) -DEF_FUNCTION_TYPE_0 (BT_FN_FLOAT64, BT_FLOAT64) -DEF_FUNCTION_TYPE_0 (BT_FN_FLOAT128, BT_FLOAT128) -DEF_FUNCTION_TYPE_0 (BT_FN_FLOAT32X, BT_FLOAT32X) -DEF_FUNCTION_TYPE_0 (BT_FN_FLOAT64X, BT_FLOAT64X) -DEF_FUNCTION_TYPE_0 (BT_FN_FLOAT128X, BT_FLOAT128X) -DEF_FUNCTION_TYPE_0 (BT_FN_DFLOAT32, BT_DFLOAT32) -DEF_FUNCTION_TYPE_0 (BT_FN_DFLOAT64, BT_DFLOAT64) -DEF_FUNCTION_TYPE_0 (BT_FN_DFLOAT128, BT_DFLOAT128) - -DEF_FUNCTION_TYPE_1 (BT_FN_LONG_LONG, BT_LONG, BT_LONG) -DEF_FUNCTION_TYPE_1 (BT_FN_LONGLONG_LONGLONG, BT_LONGLONG, BT_LONGLONG) -DEF_FUNCTION_TYPE_1 (BT_FN_INTMAX_INTMAX, BT_INTMAX, BT_INTMAX) -DEF_FUNCTION_TYPE_1 (BT_FN_FLOAT_FLOAT, BT_FLOAT, BT_FLOAT) -DEF_FUNCTION_TYPE_1 (BT_FN_DOUBLE_DOUBLE, BT_DOUBLE, BT_DOUBLE) -DEF_FUNCTION_TYPE_1 (BT_FN_LONGDOUBLE_LONGDOUBLE, - BT_LONGDOUBLE, BT_LONGDOUBLE) -DEF_FUNCTION_TYPE_1 (BT_FN_FLOAT16_FLOAT16, BT_FLOAT16, BT_FLOAT16) -DEF_FUNCTION_TYPE_1 (BT_FN_FLOAT32_FLOAT32, BT_FLOAT32, BT_FLOAT32) -DEF_FUNCTION_TYPE_1 (BT_FN_FLOAT64_FLOAT64, BT_FLOAT64, BT_FLOAT64) -DEF_FUNCTION_TYPE_1 (BT_FN_FLOAT128_FLOAT128, BT_FLOAT128, BT_FLOAT128) -DEF_FUNCTION_TYPE_1 (BT_FN_FLOAT32X_FLOAT32X, BT_FLOAT32X, BT_FLOAT32X) -DEF_FUNCTION_TYPE_1 (BT_FN_FLOAT64X_FLOAT64X, BT_FLOAT64X, BT_FLOAT64X) -DEF_FUNCTION_TYPE_1 (BT_FN_FLOAT128X_FLOAT128X, BT_FLOAT128X, BT_FLOAT128X) -DEF_FUNCTION_TYPE_1 (BT_FN_COMPLEX_FLOAT_COMPLEX_FLOAT, - BT_COMPLEX_FLOAT, BT_COMPLEX_FLOAT) -DEF_FUNCTION_TYPE_1 (BT_FN_COMPLEX_DOUBLE_COMPLEX_DOUBLE, - BT_COMPLEX_DOUBLE, BT_COMPLEX_DOUBLE) -DEF_FUNCTION_TYPE_1 (BT_FN_COMPLEX_LONGDOUBLE_COMPLEX_LONGDOUBLE, - BT_COMPLEX_LONGDOUBLE, BT_COMPLEX_LONGDOUBLE) -DEF_FUNCTION_TYPE_1 (BT_FN_COMPLEX_FLOAT16_COMPLEX_FLOAT16, - BT_COMPLEX_FLOAT16, BT_COMPLEX_FLOAT16) -DEF_FUNCTION_TYPE_1 (BT_FN_COMPLEX_FLOAT32_COMPLEX_FLOAT32, - BT_COMPLEX_FLOAT32, BT_COMPLEX_FLOAT32) -DEF_FUNCTION_TYPE_1 (BT_FN_COMPLEX_FLOAT64_COMPLEX_FLOAT64, - BT_COMPLEX_FLOAT64, BT_COMPLEX_FLOAT64) -DEF_FUNCTION_TYPE_1 (BT_FN_COMPLEX_FLOAT128_COMPLEX_FLOAT128, - BT_COMPLEX_FLOAT128, BT_COMPLEX_FLOAT128) -DEF_FUNCTION_TYPE_1 (BT_FN_COMPLEX_FLOAT32X_COMPLEX_FLOAT32X, - BT_COMPLEX_FLOAT32X, BT_COMPLEX_FLOAT32X) -DEF_FUNCTION_TYPE_1 (BT_FN_COMPLEX_FLOAT64X_COMPLEX_FLOAT64X, - BT_COMPLEX_FLOAT64X, BT_COMPLEX_FLOAT64X) -DEF_FUNCTION_TYPE_1 (BT_FN_COMPLEX_FLOAT128X_COMPLEX_FLOAT128X, - BT_COMPLEX_FLOAT128X, BT_COMPLEX_FLOAT128X) -DEF_FUNCTION_TYPE_1 (BT_FN_FLOAT_COMPLEX_FLOAT, - BT_FLOAT, BT_COMPLEX_FLOAT) -DEF_FUNCTION_TYPE_1 (BT_FN_DOUBLE_COMPLEX_DOUBLE, - BT_DOUBLE, BT_COMPLEX_DOUBLE) -DEF_FUNCTION_TYPE_1 (BT_FN_LONGDOUBLE_COMPLEX_LONGDOUBLE, - BT_LONGDOUBLE, BT_COMPLEX_LONGDOUBLE) -DEF_FUNCTION_TYPE_1 (BT_FN_FLOAT16_COMPLEX_FLOAT16, - BT_FLOAT16, BT_COMPLEX_FLOAT16) -DEF_FUNCTION_TYPE_1 (BT_FN_FLOAT32_COMPLEX_FLOAT32, - BT_FLOAT32, BT_COMPLEX_FLOAT32) -DEF_FUNCTION_TYPE_1 (BT_FN_FLOAT64_COMPLEX_FLOAT64, - BT_FLOAT64, BT_COMPLEX_FLOAT64) -DEF_FUNCTION_TYPE_1 (BT_FN_FLOAT128_COMPLEX_FLOAT128, - BT_FLOAT128, BT_COMPLEX_FLOAT128) -DEF_FUNCTION_TYPE_1 (BT_FN_FLOAT32X_COMPLEX_FLOAT32X, - BT_FLOAT32X, BT_COMPLEX_FLOAT32X) -DEF_FUNCTION_TYPE_1 (BT_FN_FLOAT64X_COMPLEX_FLOAT64X, - BT_FLOAT64X, BT_COMPLEX_FLOAT64X) -DEF_FUNCTION_TYPE_1 (BT_FN_FLOAT128X_COMPLEX_FLOAT128X, - BT_FLOAT128X, BT_COMPLEX_FLOAT128X) -DEF_FUNCTION_TYPE_1 (BT_FN_COMPLEX_FLOAT_FLOAT, - BT_COMPLEX_FLOAT, BT_FLOAT) -DEF_FUNCTION_TYPE_1 (BT_FN_COMPLEX_DOUBLE_DOUBLE, - BT_COMPLEX_DOUBLE, BT_DOUBLE) -DEF_FUNCTION_TYPE_1 (BT_FN_COMPLEX_LONGDOUBLE_LONGDOUBLE, - BT_COMPLEX_LONGDOUBLE, BT_LONGDOUBLE) -DEF_FUNCTION_TYPE_1 (BT_FN_PTR_UINT, BT_PTR, BT_UINT) -DEF_FUNCTION_TYPE_1 (BT_FN_PTR_SIZE, BT_PTR, BT_SIZE) -DEF_FUNCTION_TYPE_1 (BT_FN_INT_INT, BT_INT, BT_INT) -DEF_FUNCTION_TYPE_1 (BT_FN_INT_UINT, BT_INT, BT_UINT) -DEF_FUNCTION_TYPE_1 (BT_FN_INT_LONG, BT_INT, BT_LONG) -DEF_FUNCTION_TYPE_1 (BT_FN_INT_ULONG, BT_INT, BT_ULONG) -DEF_FUNCTION_TYPE_1 (BT_FN_INT_LONGLONG, BT_INT, BT_LONGLONG) -DEF_FUNCTION_TYPE_1 (BT_FN_INT_ULONGLONG, BT_INT, BT_ULONGLONG) -DEF_FUNCTION_TYPE_1 (BT_FN_INT_INTMAX, BT_INT, BT_INTMAX) -DEF_FUNCTION_TYPE_1 (BT_FN_INT_UINTMAX, BT_INT, BT_UINTMAX) -DEF_FUNCTION_TYPE_1 (BT_FN_INT_PTR, BT_INT, BT_PTR) -DEF_FUNCTION_TYPE_1 (BT_FN_INT_FLOAT, BT_INT, BT_FLOAT) -DEF_FUNCTION_TYPE_1 (BT_FN_INT_DOUBLE, BT_INT, BT_DOUBLE) -DEF_FUNCTION_TYPE_1 (BT_FN_INT_LONGDOUBLE, BT_INT, BT_LONGDOUBLE) -DEF_FUNCTION_TYPE_1 (BT_FN_INT_FLOAT16, BT_INT, BT_FLOAT16) -DEF_FUNCTION_TYPE_1 (BT_FN_INT_FLOAT32, BT_INT, BT_FLOAT32) -DEF_FUNCTION_TYPE_1 (BT_FN_INT_FLOAT64, BT_INT, BT_FLOAT64) -DEF_FUNCTION_TYPE_1 (BT_FN_INT_FLOAT128, BT_INT, BT_FLOAT128) -DEF_FUNCTION_TYPE_1 (BT_FN_INT_FLOAT32X, BT_INT, BT_FLOAT32X) -DEF_FUNCTION_TYPE_1 (BT_FN_INT_FLOAT64X, BT_INT, BT_FLOAT64X) -DEF_FUNCTION_TYPE_1 (BT_FN_INT_FLOAT128X, BT_INT, BT_FLOAT128X) -DEF_FUNCTION_TYPE_1 (BT_FN_INT_DFLOAT32, BT_INT, BT_DFLOAT32) -DEF_FUNCTION_TYPE_1 (BT_FN_INT_DFLOAT64, BT_INT, BT_DFLOAT64) -DEF_FUNCTION_TYPE_1 (BT_FN_INT_DFLOAT128, BT_INT, BT_DFLOAT128) -DEF_FUNCTION_TYPE_1 (BT_FN_LONG_FLOAT, BT_LONG, BT_FLOAT) -DEF_FUNCTION_TYPE_1 (BT_FN_LONG_DOUBLE, BT_LONG, BT_DOUBLE) -DEF_FUNCTION_TYPE_1 (BT_FN_LONG_LONGDOUBLE, BT_LONG, BT_LONGDOUBLE) -DEF_FUNCTION_TYPE_1 (BT_FN_LONG_FLOAT16, BT_LONG, BT_FLOAT16) -DEF_FUNCTION_TYPE_1 (BT_FN_LONG_FLOAT32, BT_LONG, BT_FLOAT32) -DEF_FUNCTION_TYPE_1 (BT_FN_LONG_FLOAT64, BT_LONG, BT_FLOAT64) -DEF_FUNCTION_TYPE_1 (BT_FN_LONG_FLOAT128, BT_LONG, BT_FLOAT128) -DEF_FUNCTION_TYPE_1 (BT_FN_LONG_FLOAT32X, BT_LONG, BT_FLOAT32X) -DEF_FUNCTION_TYPE_1 (BT_FN_LONG_FLOAT64X, BT_LONG, BT_FLOAT64X) -DEF_FUNCTION_TYPE_1 (BT_FN_LONG_FLOAT128X, BT_LONG, BT_FLOAT128X) -DEF_FUNCTION_TYPE_1 (BT_FN_LONGLONG_FLOAT, BT_LONGLONG, BT_FLOAT) -DEF_FUNCTION_TYPE_1 (BT_FN_LONGLONG_DOUBLE, BT_LONGLONG, BT_DOUBLE) -DEF_FUNCTION_TYPE_1 (BT_FN_LONGLONG_LONGDOUBLE, BT_LONGLONG, BT_LONGDOUBLE) -DEF_FUNCTION_TYPE_1 (BT_FN_LONGLONG_FLOAT16, BT_LONGLONG, BT_FLOAT16) -DEF_FUNCTION_TYPE_1 (BT_FN_LONGLONG_FLOAT32, BT_LONGLONG, BT_FLOAT32) -DEF_FUNCTION_TYPE_1 (BT_FN_LONGLONG_FLOAT64, BT_LONGLONG, BT_FLOAT64) -DEF_FUNCTION_TYPE_1 (BT_FN_LONGLONG_FLOAT128, BT_LONGLONG, BT_FLOAT128) -DEF_FUNCTION_TYPE_1 (BT_FN_LONGLONG_FLOAT32X, BT_LONGLONG, BT_FLOAT32X) -DEF_FUNCTION_TYPE_1 (BT_FN_LONGLONG_FLOAT64X, BT_LONGLONG, BT_FLOAT64X) -DEF_FUNCTION_TYPE_1 (BT_FN_LONGLONG_FLOAT128X, BT_LONGLONG, BT_FLOAT128X) -DEF_FUNCTION_TYPE_1 (BT_FN_VOID_PTR, BT_VOID, BT_PTR) -DEF_FUNCTION_TYPE_1 (BT_FN_SIZE_CONST_STRING, BT_SIZE, BT_CONST_STRING) -DEF_FUNCTION_TYPE_1 (BT_FN_INT_CONST_STRING, BT_INT, BT_CONST_STRING) -DEF_FUNCTION_TYPE_1 (BT_FN_PTR_PTR, BT_PTR, BT_PTR) -DEF_FUNCTION_TYPE_1 (BT_FN_VOID_VALIST_REF, BT_VOID, BT_VALIST_REF) -DEF_FUNCTION_TYPE_1 (BT_FN_VOID_INT, BT_VOID, BT_INT) -DEF_FUNCTION_TYPE_1 (BT_FN_VOID_BOOL, BT_VOID, BT_BOOL) -DEF_FUNCTION_TYPE_1 (BT_FN_FLOAT_CONST_STRING, BT_FLOAT, BT_CONST_STRING) -DEF_FUNCTION_TYPE_1 (BT_FN_DOUBLE_CONST_STRING, BT_DOUBLE, BT_CONST_STRING) -DEF_FUNCTION_TYPE_1 (BT_FN_LONGDOUBLE_CONST_STRING, - BT_LONGDOUBLE, BT_CONST_STRING) -DEF_FUNCTION_TYPE_1 (BT_FN_BFLOAT16_CONST_STRING, BT_BFLOAT16, BT_CONST_STRING) -DEF_FUNCTION_TYPE_1 (BT_FN_FLOAT16_CONST_STRING, BT_FLOAT16, BT_CONST_STRING) -DEF_FUNCTION_TYPE_1 (BT_FN_FLOAT32_CONST_STRING, BT_FLOAT32, BT_CONST_STRING) -DEF_FUNCTION_TYPE_1 (BT_FN_FLOAT64_CONST_STRING, BT_FLOAT64, BT_CONST_STRING) -DEF_FUNCTION_TYPE_1 (BT_FN_FLOAT128_CONST_STRING, BT_FLOAT128, BT_CONST_STRING) -DEF_FUNCTION_TYPE_1 (BT_FN_FLOAT32X_CONST_STRING, BT_FLOAT32X, BT_CONST_STRING) -DEF_FUNCTION_TYPE_1 (BT_FN_FLOAT64X_CONST_STRING, BT_FLOAT64X, BT_CONST_STRING) -DEF_FUNCTION_TYPE_1 (BT_FN_FLOAT128X_CONST_STRING, BT_FLOAT128X, BT_CONST_STRING) -DEF_FUNCTION_TYPE_1 (BT_FN_DFLOAT32_CONST_STRING, BT_DFLOAT32, BT_CONST_STRING) -DEF_FUNCTION_TYPE_1 (BT_FN_DFLOAT64_CONST_STRING, BT_DFLOAT64, BT_CONST_STRING) -DEF_FUNCTION_TYPE_1 (BT_FN_DFLOAT128_CONST_STRING, - BT_DFLOAT128, BT_CONST_STRING) -DEF_FUNCTION_TYPE_1 (BT_FN_STRING_CONST_STRING, BT_STRING, BT_CONST_STRING) -DEF_FUNCTION_TYPE_1 (BT_FN_UNWINDWORD_PTR, BT_UNWINDWORD, BT_PTR) -DEF_FUNCTION_TYPE_1 (BT_FN_INT_WINT, BT_INT, BT_WINT) -DEF_FUNCTION_TYPE_1 (BT_FN_WINT_WINT, BT_WINT, BT_WINT) -DEF_FUNCTION_TYPE_1 (BT_FN_DFLOAT32_DFLOAT32, BT_DFLOAT32, BT_DFLOAT32) -DEF_FUNCTION_TYPE_1 (BT_FN_DFLOAT64_DFLOAT64, BT_DFLOAT64, BT_DFLOAT64) -DEF_FUNCTION_TYPE_1 (BT_FN_DFLOAT128_DFLOAT128, BT_DFLOAT128, BT_DFLOAT128) -DEF_FUNCTION_TYPE_1 (BT_FN_VOID_VPTR, BT_VOID, BT_VOLATILE_PTR) -DEF_FUNCTION_TYPE_1 (BT_FN_VOID_PTRPTR, BT_VOID, BT_PTR_PTR) -DEF_FUNCTION_TYPE_1 (BT_FN_VOID_CONST_PTR, BT_VOID, BT_CONST_PTR) -DEF_FUNCTION_TYPE_1 (BT_FN_UINT_UINT, BT_UINT, BT_UINT) -DEF_FUNCTION_TYPE_1 (BT_FN_UINT_INT, BT_UINT, BT_INT) -DEF_FUNCTION_TYPE_1 (BT_FN_UINT_ULONG, BT_UINT, BT_ULONG) -DEF_FUNCTION_TYPE_1 (BT_FN_UINT_LONG, BT_UINT, BT_LONG) -DEF_FUNCTION_TYPE_1 (BT_FN_UINT_PTR, BT_UINT, BT_PTR) -DEF_FUNCTION_TYPE_1 (BT_FN_UINT_CONST_PTR, BT_UINT, BT_CONST_PTR) -DEF_FUNCTION_TYPE_1 (BT_FN_ULONG_PTR, BT_ULONG, BT_PTR) -DEF_FUNCTION_TYPE_1 (BT_FN_ULONG_CONST_PTR, BT_ULONG, BT_CONST_PTR) -DEF_FUNCTION_TYPE_1 (BT_FN_ULONG_ULONG, BT_ULONG, BT_ULONG) -DEF_FUNCTION_TYPE_1 (BT_FN_ULONGLONG_ULONGLONG, BT_ULONGLONG, BT_ULONGLONG) -DEF_FUNCTION_TYPE_1 (BT_FN_INT8_FLOAT, BT_INT8, BT_FLOAT) -DEF_FUNCTION_TYPE_1 (BT_FN_INT16_FLOAT, BT_INT16, BT_FLOAT) -DEF_FUNCTION_TYPE_1 (BT_FN_UINT32_FLOAT, BT_UINT32, BT_FLOAT) -DEF_FUNCTION_TYPE_1 (BT_FN_UINT16_FLOAT, BT_UINT16, BT_FLOAT) -DEF_FUNCTION_TYPE_1 (BT_FN_UINT8_FLOAT, BT_UINT8, BT_FLOAT) -DEF_FUNCTION_TYPE_1 (BT_FN_UINT16_UINT16, BT_UINT16, BT_UINT16) -DEF_FUNCTION_TYPE_1 (BT_FN_UINT32_UINT32, BT_UINT32, BT_UINT32) -DEF_FUNCTION_TYPE_1 (BT_FN_UINT64_UINT64, BT_UINT64, BT_UINT64) -DEF_FUNCTION_TYPE_1 (BT_FN_UINT128_UINT128, BT_UINT128, BT_UINT128) -DEF_FUNCTION_TYPE_1 (BT_FN_UINT64_FLOAT, BT_UINT64, BT_FLOAT) -DEF_FUNCTION_TYPE_1 (BT_FN_BOOL_INT, BT_BOOL, BT_INT) -DEF_FUNCTION_TYPE_1 (BT_FN_BOOL_PTR, BT_BOOL, BT_PTR) -DEF_FUNCTION_TYPE_1 (BT_FN_PTR_CONST_PTR, BT_PTR, BT_CONST_PTR) -DEF_FUNCTION_TYPE_1 (BT_FN_CONST_PTR_CONST_PTR, BT_CONST_PTR, BT_CONST_PTR) -DEF_FUNCTION_TYPE_1 (BT_FN_UINT16_UINT32, BT_UINT16, BT_UINT32) -DEF_FUNCTION_TYPE_1 (BT_FN_UINT32_UINT16, BT_UINT32, BT_UINT16) -DEF_FUNCTION_TYPE_1 (BT_FN_INT_FENV_T_PTR, BT_INT, BT_FENV_T_PTR) -DEF_FUNCTION_TYPE_1 (BT_FN_INT_CONST_FENV_T_PTR, BT_INT, BT_CONST_FENV_T_PTR) - -DEF_POINTER_TYPE (BT_PTR_FN_VOID_PTR, BT_FN_VOID_PTR) - -DEF_FUNCTION_TYPE_2 (BT_FN_VOID_PTR_INT, BT_VOID, BT_PTR, BT_INT) -DEF_FUNCTION_TYPE_2 (BT_FN_STRING_STRING_CONST_STRING, - BT_STRING, BT_STRING, BT_CONST_STRING) -DEF_FUNCTION_TYPE_2 (BT_FN_INT_CONST_STRING_CONST_STRING, - BT_INT, BT_CONST_STRING, BT_CONST_STRING) -DEF_FUNCTION_TYPE_2 (BT_FN_STRING_CONST_STRING_CONST_STRING, - BT_STRING, BT_CONST_STRING, BT_CONST_STRING) -DEF_FUNCTION_TYPE_2 (BT_FN_SIZE_CONST_STRING_CONST_STRING, - BT_SIZE, BT_CONST_STRING, BT_CONST_STRING) -DEF_FUNCTION_TYPE_2 (BT_FN_STRING_CONST_STRING_INT, - BT_STRING, BT_CONST_STRING, BT_INT) -DEF_FUNCTION_TYPE_2 (BT_FN_STRING_CONST_STRING_SIZE, - BT_STRING, BT_CONST_STRING, BT_SIZE) -DEF_FUNCTION_TYPE_2 (BT_FN_SIZE_CONST_STRING_SIZE, - BT_SIZE, BT_CONST_STRING, BT_SIZE) -DEF_FUNCTION_TYPE_2 (BT_FN_INT_CONST_STRING_FILEPTR, - BT_INT, BT_CONST_STRING, BT_FILEPTR) -DEF_FUNCTION_TYPE_2 (BT_FN_INT_INT_FILEPTR, - BT_INT, BT_INT, BT_FILEPTR) -DEF_FUNCTION_TYPE_2 (BT_FN_UINT16_UINT16_UINT16, - BT_UINT16, BT_UINT16, BT_UINT16) -DEF_FUNCTION_TYPE_2 (BT_FN_INT_PTR_INT, - BT_INT, BT_PTR, BT_INT) -DEF_FUNCTION_TYPE_2 (BT_FN_UINT_PTR_UINT, - BT_UINT, BT_PTR, BT_UINT) -DEF_FUNCTION_TYPE_2 (BT_FN_LONG_PTR_LONG, - BT_LONG, BT_PTR, BT_LONG) -DEF_FUNCTION_TYPE_2 (BT_FN_ULONG_PTR_ULONG, - BT_ULONG, BT_PTR, BT_ULONG) -DEF_FUNCTION_TYPE_2 (BT_FN_VOID_PTRMODE_PTR, - BT_VOID, BT_PTRMODE, BT_PTR) -DEF_FUNCTION_TYPE_2 (BT_FN_VOID_PTR_PTRMODE, - BT_VOID, BT_PTR, BT_PTRMODE) -DEF_FUNCTION_TYPE_2 (BT_FN_VOID_UINT8_UINT8, - BT_VOID, BT_UINT8, BT_UINT8) -DEF_FUNCTION_TYPE_2 (BT_FN_VOID_UINT16_UINT16, - BT_VOID, BT_UINT16, BT_UINT16) -DEF_FUNCTION_TYPE_2 (BT_FN_VOID_UINT32_UINT32, - BT_VOID, BT_UINT32, BT_UINT32) -DEF_FUNCTION_TYPE_2 (BT_FN_VOID_UINT64_UINT64, - BT_VOID, BT_UINT64, BT_UINT64) -DEF_FUNCTION_TYPE_2 (BT_FN_VOID_FLOAT_FLOAT, - BT_VOID, BT_FLOAT, BT_FLOAT) -DEF_FUNCTION_TYPE_2 (BT_FN_VOID_DOUBLE_DOUBLE, - BT_VOID, BT_DOUBLE, BT_DOUBLE) -DEF_FUNCTION_TYPE_2 (BT_FN_VOID_UINT64_PTR, - BT_VOID, BT_UINT64, BT_PTR) -DEF_FUNCTION_TYPE_2 (BT_FN_VOID_VALIST_REF_VALIST_ARG, - BT_VOID, BT_VALIST_REF, BT_VALIST_ARG) -DEF_FUNCTION_TYPE_2 (BT_FN_LONG_LONG_LONG, - BT_LONG, BT_LONG, BT_LONG) -DEF_FUNCTION_TYPE_2 (BT_FN_UINT8_UINT8_UINT8, - BT_UINT8, BT_UINT8, BT_UINT8) -DEF_FUNCTION_TYPE_2 (BT_FN_INT8_INT8_INT8, - BT_INT8, BT_INT8, BT_INT8) -DEF_FUNCTION_TYPE_2 (BT_FN_INT16_INT16_INT16, - BT_INT16, BT_INT16, BT_INT16) -DEF_FUNCTION_TYPE_2 (BT_FN_INT_INT_INT, - BT_INT, BT_INT, BT_INT) -DEF_FUNCTION_TYPE_2 (BT_FN_UINT_FLOAT_UINT, - BT_UINT, BT_FLOAT, BT_UINT) -DEF_FUNCTION_TYPE_2 (BT_FN_UINT_DOUBLE_UINT, - BT_UINT, BT_DOUBLE, BT_UINT) -DEF_FUNCTION_TYPE_2 (BT_FN_FLOAT_UINT_UINT, - BT_FLOAT, BT_UINT, BT_UINT) -DEF_FUNCTION_TYPE_2 (BT_FN_ULONG_UINT_UINT, - BT_ULONG, BT_UINT, BT_UINT) -DEF_FUNCTION_TYPE_2 (BT_FN_ULONG_UINT_PTR, - BT_ULONG, BT_UINT, BT_PTR) -DEF_FUNCTION_TYPE_2 (BT_FN_ULONG_ULONG_ULONG, - BT_ULONG, BT_ULONG, BT_ULONG) -DEF_FUNCTION_TYPE_2 (BT_FN_UINT_UINT_UINT, - BT_UINT, BT_UINT, BT_UINT) -DEF_FUNCTION_TYPE_2 (BT_FN_INT_PTR_CONST_STRING, - BT_INT, BT_PTR, BT_CONST_STRING) -DEF_FUNCTION_TYPE_2 (BT_FN_VOID_PTR_SIZE, - BT_VOID, BT_PTR, BT_SIZE) -DEF_FUNCTION_TYPE_2 (BT_FN_VOID_UINT_PTR, - BT_VOID, BT_UINT, BT_PTR) -DEF_FUNCTION_TYPE_2 (BT_FN_FLOAT_FLOAT_FLOAT, - BT_FLOAT, BT_FLOAT, BT_FLOAT) -DEF_FUNCTION_TYPE_2 (BT_FN_DOUBLE_DOUBLE_DOUBLE, - BT_DOUBLE, BT_DOUBLE, BT_DOUBLE) -DEF_FUNCTION_TYPE_2 (BT_FN_LONGDOUBLE_LONGDOUBLE_LONGDOUBLE, - BT_LONGDOUBLE, BT_LONGDOUBLE, BT_LONGDOUBLE) -DEF_FUNCTION_TYPE_2 (BT_FN_FLOAT16_FLOAT16_FLOAT16, - BT_FLOAT16, BT_FLOAT16, BT_FLOAT16) -DEF_FUNCTION_TYPE_2 (BT_FN_FLOAT32_FLOAT32_FLOAT32, - BT_FLOAT32, BT_FLOAT32, BT_FLOAT32) -DEF_FUNCTION_TYPE_2 (BT_FN_FLOAT64_FLOAT64_FLOAT64, - BT_FLOAT64, BT_FLOAT64, BT_FLOAT64) -DEF_FUNCTION_TYPE_2 (BT_FN_FLOAT128_FLOAT128_FLOAT128, - BT_FLOAT128, BT_FLOAT128, BT_FLOAT128) -DEF_FUNCTION_TYPE_2 (BT_FN_FLOAT32X_FLOAT32X_FLOAT32X, - BT_FLOAT32X, BT_FLOAT32X, BT_FLOAT32X) -DEF_FUNCTION_TYPE_2 (BT_FN_FLOAT64X_FLOAT64X_FLOAT64X, - BT_FLOAT64X, BT_FLOAT64X, BT_FLOAT64X) -DEF_FUNCTION_TYPE_2 (BT_FN_FLOAT128X_FLOAT128X_FLOAT128X, - BT_FLOAT128X, BT_FLOAT128X, BT_FLOAT128X) -DEF_FUNCTION_TYPE_2 (BT_FN_BFLOAT16_BFLOAT16_BFLOAT16, - BT_BFLOAT16, BT_BFLOAT16, BT_BFLOAT16) -DEF_FUNCTION_TYPE_2 (BT_FN_FLOAT_FLOAT_FLOATPTR, - BT_FLOAT, BT_FLOAT, BT_FLOAT_PTR) -DEF_FUNCTION_TYPE_2 (BT_FN_DOUBLE_DOUBLE_DOUBLEPTR, - BT_DOUBLE, BT_DOUBLE, BT_DOUBLE_PTR) -DEF_FUNCTION_TYPE_2 (BT_FN_LONGDOUBLE_LONGDOUBLE_LONGDOUBLEPTR, - BT_LONGDOUBLE, BT_LONGDOUBLE, BT_LONGDOUBLE_PTR) -DEF_FUNCTION_TYPE_2 (BT_FN_FLOAT16_FLOAT16_FLOAT16PTR, - BT_FLOAT16, BT_FLOAT16, BT_FLOAT16_PTR) -DEF_FUNCTION_TYPE_2 (BT_FN_FLOAT32_FLOAT32_FLOAT32PTR, - BT_FLOAT32, BT_FLOAT32, BT_FLOAT32_PTR) -DEF_FUNCTION_TYPE_2 (BT_FN_FLOAT64_FLOAT64_FLOAT64PTR, - BT_FLOAT64, BT_FLOAT64, BT_FLOAT64_PTR) -DEF_FUNCTION_TYPE_2 (BT_FN_FLOAT128_FLOAT128_FLOAT128PTR, - BT_FLOAT128, BT_FLOAT128, BT_FLOAT128_PTR) -DEF_FUNCTION_TYPE_2 (BT_FN_FLOAT32X_FLOAT32X_FLOAT32XPTR, - BT_FLOAT32X, BT_FLOAT32X, BT_FLOAT32X_PTR) -DEF_FUNCTION_TYPE_2 (BT_FN_FLOAT64X_FLOAT64X_FLOAT64XPTR, - BT_FLOAT64X, BT_FLOAT64X, BT_FLOAT64X_PTR) -DEF_FUNCTION_TYPE_2 (BT_FN_FLOAT128X_FLOAT128X_FLOAT128XPTR, - BT_FLOAT128X, BT_FLOAT128X, BT_FLOAT128X_PTR) -DEF_FUNCTION_TYPE_2 (BT_FN_FLOAT_FLOAT_LONGDOUBLE, - BT_FLOAT, BT_FLOAT, BT_LONGDOUBLE) -DEF_FUNCTION_TYPE_2 (BT_FN_DOUBLE_DOUBLE_LONGDOUBLE, - BT_DOUBLE, BT_DOUBLE, BT_LONGDOUBLE) -DEF_FUNCTION_TYPE_2 (BT_FN_FLOAT_FLOAT_INT, - BT_FLOAT, BT_FLOAT, BT_INT) -DEF_FUNCTION_TYPE_2 (BT_FN_DOUBLE_DOUBLE_INT, - BT_DOUBLE, BT_DOUBLE, BT_INT) -DEF_FUNCTION_TYPE_2 (BT_FN_LONGDOUBLE_LONGDOUBLE_INT, - BT_LONGDOUBLE, BT_LONGDOUBLE, BT_INT) -DEF_FUNCTION_TYPE_2 (BT_FN_FLOAT16_FLOAT16_INT, - BT_FLOAT16, BT_FLOAT16, BT_INT) -DEF_FUNCTION_TYPE_2 (BT_FN_FLOAT32_FLOAT32_INT, - BT_FLOAT32, BT_FLOAT32, BT_INT) -DEF_FUNCTION_TYPE_2 (BT_FN_FLOAT64_FLOAT64_INT, - BT_FLOAT64, BT_FLOAT64, BT_INT) -DEF_FUNCTION_TYPE_2 (BT_FN_FLOAT128_FLOAT128_INT, - BT_FLOAT128, BT_FLOAT128, BT_INT) -DEF_FUNCTION_TYPE_2 (BT_FN_FLOAT32X_FLOAT32X_INT, - BT_FLOAT32X, BT_FLOAT32X, BT_INT) -DEF_FUNCTION_TYPE_2 (BT_FN_FLOAT64X_FLOAT64X_INT, - BT_FLOAT64X, BT_FLOAT64X, BT_INT) -DEF_FUNCTION_TYPE_2 (BT_FN_FLOAT128X_FLOAT128X_INT, - BT_FLOAT128X, BT_FLOAT128X, BT_INT) -DEF_FUNCTION_TYPE_2 (BT_FN_FLOAT_FLOAT_INTPTR, - BT_FLOAT, BT_FLOAT, BT_INT_PTR) -DEF_FUNCTION_TYPE_2 (BT_FN_DOUBLE_DOUBLE_INTPTR, - BT_DOUBLE, BT_DOUBLE, BT_INT_PTR) -DEF_FUNCTION_TYPE_2 (BT_FN_LONGDOUBLE_LONGDOUBLE_INTPTR, - BT_LONGDOUBLE, BT_LONGDOUBLE, BT_INT_PTR) -DEF_FUNCTION_TYPE_2 (BT_FN_FLOAT16_FLOAT16_INTPTR, - BT_FLOAT16, BT_FLOAT16, BT_INT_PTR) -DEF_FUNCTION_TYPE_2 (BT_FN_FLOAT32_FLOAT32_INTPTR, - BT_FLOAT32, BT_FLOAT32, BT_INT_PTR) -DEF_FUNCTION_TYPE_2 (BT_FN_FLOAT64_FLOAT64_INTPTR, - BT_FLOAT64, BT_FLOAT64, BT_INT_PTR) -DEF_FUNCTION_TYPE_2 (BT_FN_FLOAT128_FLOAT128_INTPTR, - BT_FLOAT128, BT_FLOAT128, BT_INT_PTR) -DEF_FUNCTION_TYPE_2 (BT_FN_FLOAT32X_FLOAT32X_INTPTR, - BT_FLOAT32X, BT_FLOAT32X, BT_INT_PTR) -DEF_FUNCTION_TYPE_2 (BT_FN_FLOAT64X_FLOAT64X_INTPTR, - BT_FLOAT64X, BT_FLOAT64X, BT_INT_PTR) -DEF_FUNCTION_TYPE_2 (BT_FN_FLOAT128X_FLOAT128X_INTPTR, - BT_FLOAT128X, BT_FLOAT128X, BT_INT_PTR) -DEF_FUNCTION_TYPE_2 (BT_FN_FLOAT_INT_FLOAT, - BT_FLOAT, BT_INT, BT_FLOAT) -DEF_FUNCTION_TYPE_2 (BT_FN_DOUBLE_INT_DOUBLE, - BT_DOUBLE, BT_INT, BT_DOUBLE) -DEF_FUNCTION_TYPE_2 (BT_FN_LONGDOUBLE_INT_LONGDOUBLE, - BT_LONGDOUBLE, BT_INT, BT_LONGDOUBLE) -DEF_FUNCTION_TYPE_2 (BT_FN_FLOAT_FLOAT_LONG, - BT_FLOAT, BT_FLOAT, BT_LONG) -DEF_FUNCTION_TYPE_2 (BT_FN_DOUBLE_DOUBLE_LONG, - BT_DOUBLE, BT_DOUBLE, BT_LONG) -DEF_FUNCTION_TYPE_2 (BT_FN_LONGDOUBLE_LONGDOUBLE_LONG, - BT_LONGDOUBLE, BT_LONGDOUBLE, BT_LONG) -DEF_FUNCTION_TYPE_2 (BT_FN_FLOAT16_FLOAT16_LONG, - BT_FLOAT16, BT_FLOAT16, BT_LONG) -DEF_FUNCTION_TYPE_2 (BT_FN_FLOAT32_FLOAT32_LONG, - BT_FLOAT32, BT_FLOAT32, BT_LONG) -DEF_FUNCTION_TYPE_2 (BT_FN_FLOAT64_FLOAT64_LONG, - BT_FLOAT64, BT_FLOAT64, BT_LONG) -DEF_FUNCTION_TYPE_2 (BT_FN_FLOAT128_FLOAT128_LONG, - BT_FLOAT128, BT_FLOAT128, BT_LONG) -DEF_FUNCTION_TYPE_2 (BT_FN_FLOAT32X_FLOAT32X_LONG, - BT_FLOAT32X, BT_FLOAT32X, BT_LONG) -DEF_FUNCTION_TYPE_2 (BT_FN_FLOAT64X_FLOAT64X_LONG, - BT_FLOAT64X, BT_FLOAT64X, BT_LONG) -DEF_FUNCTION_TYPE_2 (BT_FN_FLOAT128X_FLOAT128X_LONG, - BT_FLOAT128X, BT_FLOAT128X, BT_LONG) -DEF_FUNCTION_TYPE_2 (BT_FN_INT_CONST_STRING_VALIST_ARG, - BT_INT, BT_CONST_STRING, BT_VALIST_ARG) -DEF_FUNCTION_TYPE_2 (BT_FN_PTR_SIZE_SIZE, - BT_PTR, BT_SIZE, BT_SIZE) -DEF_FUNCTION_TYPE_2 (BT_FN_PTR_PTR_SIZE, - BT_PTR, BT_PTR, BT_SIZE) -DEF_FUNCTION_TYPE_2 (BT_FN_COMPLEX_FLOAT_COMPLEX_FLOAT_COMPLEX_FLOAT, - BT_COMPLEX_FLOAT, BT_COMPLEX_FLOAT, BT_COMPLEX_FLOAT) -DEF_FUNCTION_TYPE_2 (BT_FN_COMPLEX_DOUBLE_COMPLEX_DOUBLE_COMPLEX_DOUBLE, - BT_COMPLEX_DOUBLE, BT_COMPLEX_DOUBLE, BT_COMPLEX_DOUBLE) -DEF_FUNCTION_TYPE_2 (BT_FN_COMPLEX_LONGDOUBLE_COMPLEX_LONGDOUBLE_COMPLEX_LONGDOUBLE, - BT_COMPLEX_LONGDOUBLE, BT_COMPLEX_LONGDOUBLE, BT_COMPLEX_LONGDOUBLE) -DEF_FUNCTION_TYPE_2 (BT_FN_COMPLEX_FLOAT16_COMPLEX_FLOAT16_COMPLEX_FLOAT16, - BT_COMPLEX_FLOAT16, BT_COMPLEX_FLOAT16, BT_COMPLEX_FLOAT16) -DEF_FUNCTION_TYPE_2 (BT_FN_COMPLEX_FLOAT32_COMPLEX_FLOAT32_COMPLEX_FLOAT32, - BT_COMPLEX_FLOAT32, BT_COMPLEX_FLOAT32, BT_COMPLEX_FLOAT32) -DEF_FUNCTION_TYPE_2 (BT_FN_COMPLEX_FLOAT64_COMPLEX_FLOAT64_COMPLEX_FLOAT64, - BT_COMPLEX_FLOAT64, BT_COMPLEX_FLOAT64, BT_COMPLEX_FLOAT64) -DEF_FUNCTION_TYPE_2 (BT_FN_COMPLEX_FLOAT128_COMPLEX_FLOAT128_COMPLEX_FLOAT128, - BT_COMPLEX_FLOAT128, BT_COMPLEX_FLOAT128, BT_COMPLEX_FLOAT128) -DEF_FUNCTION_TYPE_2 (BT_FN_COMPLEX_FLOAT32X_COMPLEX_FLOAT32X_COMPLEX_FLOAT32X, - BT_COMPLEX_FLOAT32X, BT_COMPLEX_FLOAT32X, BT_COMPLEX_FLOAT32X) -DEF_FUNCTION_TYPE_2 (BT_FN_COMPLEX_FLOAT64X_COMPLEX_FLOAT64X_COMPLEX_FLOAT64X, - BT_COMPLEX_FLOAT64X, BT_COMPLEX_FLOAT64X, BT_COMPLEX_FLOAT64X) -DEF_FUNCTION_TYPE_2 (BT_FN_COMPLEX_FLOAT128X_COMPLEX_FLOAT128X_COMPLEX_FLOAT128X, - BT_COMPLEX_FLOAT128X, BT_COMPLEX_FLOAT128X, BT_COMPLEX_FLOAT128X) -DEF_FUNCTION_TYPE_2 (BT_FN_VOID_PTR_PTR, BT_VOID, BT_PTR, BT_PTR) -DEF_FUNCTION_TYPE_2 (BT_FN_INT_CONST_STRING_PTR_CONST_STRING, - BT_INT, BT_CONST_STRING, BT_PTR_CONST_STRING) -DEF_FUNCTION_TYPE_2 (BT_FN_SIZE_CONST_PTR_INT, BT_SIZE, BT_CONST_PTR, BT_INT) -DEF_FUNCTION_TYPE_2 (BT_FN_I1_VPTR_I1, BT_I1, BT_VOLATILE_PTR, BT_I1) -DEF_FUNCTION_TYPE_2 (BT_FN_I2_VPTR_I2, BT_I2, BT_VOLATILE_PTR, BT_I2) -DEF_FUNCTION_TYPE_2 (BT_FN_I4_VPTR_I4, BT_I4, BT_VOLATILE_PTR, BT_I4) -DEF_FUNCTION_TYPE_2 (BT_FN_I8_VPTR_I8, BT_I8, BT_VOLATILE_PTR, BT_I8) -DEF_FUNCTION_TYPE_2 (BT_FN_I16_VPTR_I16, BT_I16, BT_VOLATILE_PTR, BT_I16) -DEF_FUNCTION_TYPE_2 (BT_FN_BOOL_LONGPTR_LONGPTR, - BT_BOOL, BT_PTR_LONG, BT_PTR_LONG) -DEF_FUNCTION_TYPE_2 (BT_FN_BOOL_ULONGLONGPTR_ULONGLONGPTR, - BT_BOOL, BT_PTR_ULONGLONG, BT_PTR_ULONGLONG) -DEF_FUNCTION_TYPE_2 (BT_FN_I1_CONST_VPTR_INT, BT_I1, BT_CONST_VOLATILE_PTR, - BT_INT) -DEF_FUNCTION_TYPE_2 (BT_FN_I2_CONST_VPTR_INT, BT_I2, BT_CONST_VOLATILE_PTR, - BT_INT) -DEF_FUNCTION_TYPE_2 (BT_FN_I4_CONST_VPTR_INT, BT_I4, BT_CONST_VOLATILE_PTR, - BT_INT) -DEF_FUNCTION_TYPE_2 (BT_FN_I8_CONST_VPTR_INT, BT_I8, BT_CONST_VOLATILE_PTR, - BT_INT) -DEF_FUNCTION_TYPE_2 (BT_FN_I16_CONST_VPTR_INT, BT_I16, BT_CONST_VOLATILE_PTR, - BT_INT) -DEF_FUNCTION_TYPE_2 (BT_FN_VOID_VPTR_INT, BT_VOID, BT_VOLATILE_PTR, BT_INT) -DEF_FUNCTION_TYPE_2 (BT_FN_BOOL_VPTR_INT, BT_BOOL, BT_VOLATILE_PTR, BT_INT) -DEF_FUNCTION_TYPE_2 (BT_FN_BOOL_SIZE_CONST_VPTR, BT_BOOL, BT_SIZE, - BT_CONST_VOLATILE_PTR) -DEF_FUNCTION_TYPE_2 (BT_FN_BOOL_INT_BOOL, BT_BOOL, BT_INT, BT_BOOL) -DEF_FUNCTION_TYPE_2 (BT_FN_UINT_UINT_PTR, BT_UINT, BT_UINT, BT_PTR) -DEF_FUNCTION_TYPE_2 (BT_FN_UINT_UINT_CONST_PTR, BT_UINT, BT_UINT, BT_CONST_PTR) -DEF_FUNCTION_TYPE_2 (BT_FN_PTR_CONST_PTR_SIZE, BT_PTR, BT_CONST_PTR, BT_SIZE) -DEF_FUNCTION_TYPE_2 (BT_FN_PTR_CONST_PTR_CONST_PTR, BT_PTR, BT_CONST_PTR, BT_CONST_PTR) -DEF_FUNCTION_TYPE_2 (BT_FN_VOID_PTRPTR_CONST_PTR, BT_VOID, BT_PTR_PTR, BT_CONST_PTR) -DEF_FUNCTION_TYPE_2 (BT_FN_VOID_CONST_PTR_SIZE, BT_VOID, BT_CONST_PTR, BT_SIZE) -DEF_FUNCTION_TYPE_2 (BT_FN_CONST_PTR_CONST_PTR_CONST_PTR, BT_CONST_PTR, BT_CONST_PTR, BT_CONST_PTR) -DEF_FUNCTION_TYPE_2 (BT_FN_UINT32_UINT64_PTR, - BT_UINT32, BT_UINT64, BT_PTR) -DEF_FUNCTION_TYPE_2 (BT_FN_INT_FEXCEPT_T_PTR_INT, BT_INT, BT_FEXCEPT_T_PTR, - BT_INT) -DEF_FUNCTION_TYPE_2 (BT_FN_INT_CONST_FEXCEPT_T_PTR_INT, BT_INT, - BT_CONST_FEXCEPT_T_PTR, BT_INT) -DEF_FUNCTION_TYPE_2 (BT_FN_PTR_CONST_PTR_UINT8, BT_PTR, BT_CONST_PTR, BT_UINT8) - -DEF_POINTER_TYPE (BT_PTR_FN_VOID_PTR_PTR, BT_FN_VOID_PTR_PTR) - -DEF_FUNCTION_TYPE_3 (BT_FN_STRING_STRING_CONST_STRING_SIZE, - BT_STRING, BT_STRING, BT_CONST_STRING, BT_SIZE) -DEF_FUNCTION_TYPE_3 (BT_FN_INT_CONST_STRING_CONST_STRING_SIZE, - BT_INT, BT_CONST_STRING, BT_CONST_STRING, BT_SIZE) -DEF_FUNCTION_TYPE_3 (BT_FN_PTR_PTR_CONST_PTR_SIZE, - BT_PTR, BT_PTR, BT_CONST_PTR, BT_SIZE) -DEF_FUNCTION_TYPE_3 (BT_FN_VOID_PTR_CONST_PTR_SIZE, - BT_VOID, BT_PTR, BT_CONST_PTR, BT_SIZE) -DEF_FUNCTION_TYPE_3 (BT_FN_INT_CONST_PTR_CONST_PTR_SIZE, - BT_INT, BT_CONST_PTR, BT_CONST_PTR, BT_SIZE) -DEF_FUNCTION_TYPE_3 (BT_FN_PTR_PTR_INT_SIZE, - BT_PTR, BT_PTR, BT_INT, BT_SIZE) -DEF_FUNCTION_TYPE_3 (BT_FN_VOID_PTR_INT_SIZE, - BT_VOID, BT_PTR, BT_INT, BT_SIZE) -DEF_FUNCTION_TYPE_3 (BT_FN_VOID_PTR_INT_INT, - BT_VOID, BT_PTR, BT_INT, BT_INT) -DEF_FUNCTION_TYPE_3 (BT_FN_VOID_CONST_PTR_PTR_SIZE, - BT_VOID, BT_CONST_PTR, BT_PTR, BT_SIZE) -DEF_FUNCTION_TYPE_3 (BT_FN_INT_STRING_CONST_STRING_VALIST_ARG, - BT_INT, BT_STRING, BT_CONST_STRING, BT_VALIST_ARG) -DEF_FUNCTION_TYPE_3 (BT_FN_INT_CONST_STRING_CONST_STRING_VALIST_ARG, - BT_INT, BT_CONST_STRING, BT_CONST_STRING, BT_VALIST_ARG) -DEF_FUNCTION_TYPE_3 (BT_FN_INT_FILEPTR_CONST_STRING_VALIST_ARG, - BT_INT, BT_FILEPTR, BT_CONST_STRING, BT_VALIST_ARG) -DEF_FUNCTION_TYPE_3 (BT_FN_INT_INT_UINT_UINT, - BT_INT, BT_INT, BT_UINT, BT_UINT) -DEF_FUNCTION_TYPE_3 (BT_FN_UINT_UINT_UINT_UINT, - BT_UINT, BT_UINT, BT_UINT, BT_UINT) -DEF_FUNCTION_TYPE_3 (BT_FN_UINT_UINT_UINT_PTR, - BT_UINT, BT_UINT, BT_UINT, BT_PTR) -DEF_FUNCTION_TYPE_3 (BT_FN_UINT_ULONG_ULONG_UINT, - BT_UINT, BT_ULONG, BT_ULONG, BT_UINT) -DEF_FUNCTION_TYPE_3 (BT_FN_ULONG_ULONG_ULONG_ULONG, - BT_ULONG, BT_ULONG, BT_ULONG, BT_ULONG) -DEF_FUNCTION_TYPE_3 (BT_FN_LONG_LONG_UINT_UINT, - BT_LONG, BT_LONG, BT_UINT, BT_UINT) -DEF_FUNCTION_TYPE_3 (BT_FN_LONG_LONG_LONG_DOUBLE, - BT_LONG, BT_LONG, BT_LONG, BT_DOUBLE) -DEF_FUNCTION_TYPE_3 (BT_FN_ULONG_ULONG_UINT_UINT, - BT_ULONG, BT_ULONG, BT_UINT, BT_UINT) -DEF_FUNCTION_TYPE_3 (BT_FN_STRING_CONST_STRING_CONST_STRING_INT, - BT_STRING, BT_CONST_STRING, BT_CONST_STRING, BT_INT) -DEF_FUNCTION_TYPE_3 (BT_FN_FLOAT_FLOAT_FLOAT_FLOAT, - BT_FLOAT, BT_FLOAT, BT_FLOAT, BT_FLOAT) -DEF_FUNCTION_TYPE_3 (BT_FN_DOUBLE_DOUBLE_DOUBLE_DOUBLE, - BT_DOUBLE, BT_DOUBLE, BT_DOUBLE, BT_DOUBLE) -DEF_FUNCTION_TYPE_3 (BT_FN_LONGDOUBLE_LONGDOUBLE_LONGDOUBLE_LONGDOUBLE, - BT_LONGDOUBLE, BT_LONGDOUBLE, BT_LONGDOUBLE, BT_LONGDOUBLE) -DEF_FUNCTION_TYPE_3 (BT_FN_FLOAT16_FLOAT16_FLOAT16_FLOAT16, - BT_FLOAT16, BT_FLOAT16, BT_FLOAT16, BT_FLOAT16) -DEF_FUNCTION_TYPE_3 (BT_FN_FLOAT32_FLOAT32_FLOAT32_FLOAT32, - BT_FLOAT32, BT_FLOAT32, BT_FLOAT32, BT_FLOAT32) -DEF_FUNCTION_TYPE_3 (BT_FN_FLOAT64_FLOAT64_FLOAT64_FLOAT64, - BT_FLOAT64, BT_FLOAT64, BT_FLOAT64, BT_FLOAT64) -DEF_FUNCTION_TYPE_3 (BT_FN_FLOAT128_FLOAT128_FLOAT128_FLOAT128, - BT_FLOAT128, BT_FLOAT128, BT_FLOAT128, BT_FLOAT128) -DEF_FUNCTION_TYPE_3 (BT_FN_FLOAT32X_FLOAT32X_FLOAT32X_FLOAT32X, - BT_FLOAT32X, BT_FLOAT32X, BT_FLOAT32X, BT_FLOAT32X) -DEF_FUNCTION_TYPE_3 (BT_FN_FLOAT64X_FLOAT64X_FLOAT64X_FLOAT64X, - BT_FLOAT64X, BT_FLOAT64X, BT_FLOAT64X, BT_FLOAT64X) -DEF_FUNCTION_TYPE_3 (BT_FN_FLOAT128X_FLOAT128X_FLOAT128X_FLOAT128X, - BT_FLOAT128X, BT_FLOAT128X, BT_FLOAT128X, BT_FLOAT128X) -DEF_FUNCTION_TYPE_3 (BT_FN_FLOAT_FLOAT_FLOAT_INTPTR, - BT_FLOAT, BT_FLOAT, BT_FLOAT, BT_INT_PTR) -DEF_FUNCTION_TYPE_3 (BT_FN_DOUBLE_DOUBLE_DOUBLE_INTPTR, - BT_DOUBLE, BT_DOUBLE, BT_DOUBLE, BT_INT_PTR) -DEF_FUNCTION_TYPE_3 (BT_FN_LONGDOUBLE_LONGDOUBLE_LONGDOUBLE_INTPTR, - BT_LONGDOUBLE, BT_LONGDOUBLE, BT_LONGDOUBLE, BT_INT_PTR) -DEF_FUNCTION_TYPE_3 (BT_FN_FLOAT16_FLOAT16_FLOAT16_INTPTR, - BT_FLOAT16, BT_FLOAT16, BT_FLOAT16, BT_INT_PTR) -DEF_FUNCTION_TYPE_3 (BT_FN_FLOAT32_FLOAT32_FLOAT32_INTPTR, - BT_FLOAT32, BT_FLOAT32, BT_FLOAT32, BT_INT_PTR) -DEF_FUNCTION_TYPE_3 (BT_FN_FLOAT64_FLOAT64_FLOAT64_INTPTR, - BT_FLOAT64, BT_FLOAT64, BT_FLOAT64, BT_INT_PTR) -DEF_FUNCTION_TYPE_3 (BT_FN_FLOAT128_FLOAT128_FLOAT128_INTPTR, - BT_FLOAT128, BT_FLOAT128, BT_FLOAT128, BT_INT_PTR) -DEF_FUNCTION_TYPE_3 (BT_FN_FLOAT32X_FLOAT32X_FLOAT32X_INTPTR, - BT_FLOAT32X, BT_FLOAT32X, BT_FLOAT32X, BT_INT_PTR) -DEF_FUNCTION_TYPE_3 (BT_FN_FLOAT64X_FLOAT64X_FLOAT64X_INTPTR, - BT_FLOAT64X, BT_FLOAT64X, BT_FLOAT64X, BT_INT_PTR) -DEF_FUNCTION_TYPE_3 (BT_FN_FLOAT128X_FLOAT128X_FLOAT128X_INTPTR, - BT_FLOAT128X, BT_FLOAT128X, BT_FLOAT128X, BT_INT_PTR) -DEF_FUNCTION_TYPE_3 (BT_FN_VOID_FLOAT_FLOATPTR_FLOATPTR, - BT_VOID, BT_FLOAT, BT_FLOAT_PTR, BT_FLOAT_PTR) -DEF_FUNCTION_TYPE_3 (BT_FN_VOID_DOUBLE_DOUBLEPTR_DOUBLEPTR, - BT_VOID, BT_DOUBLE, BT_DOUBLE_PTR, BT_DOUBLE_PTR) -DEF_FUNCTION_TYPE_3 (BT_FN_VOID_LONGDOUBLE_LONGDOUBLEPTR_LONGDOUBLEPTR, - BT_VOID, BT_LONGDOUBLE, BT_LONGDOUBLE_PTR, BT_LONGDOUBLE_PTR) -DEF_FUNCTION_TYPE_3 (BT_FN_VOID_PTR_PTR_PTR, BT_VOID, BT_PTR, BT_PTR, BT_PTR) -DEF_FUNCTION_TYPE_3 (BT_FN_VOID_PTR_PTR_UINT32, BT_VOID, BT_PTR, BT_PTR, BT_UINT32) -DEF_FUNCTION_TYPE_3 (BT_FN_INT_CONST_STRING_PTR_CONST_STRING_PTR_CONST_STRING, - BT_INT, BT_CONST_STRING, BT_PTR_CONST_STRING, BT_PTR_CONST_STRING) -DEF_FUNCTION_TYPE_3 (BT_FN_INT_INT_CONST_STRING_VALIST_ARG, - BT_INT, BT_INT, BT_CONST_STRING, BT_VALIST_ARG) -DEF_FUNCTION_TYPE_3 (BT_FN_BOOL_VPTR_I1_I1, BT_BOOL, BT_VOLATILE_PTR, - BT_I1, BT_I1) -DEF_FUNCTION_TYPE_3 (BT_FN_BOOL_VPTR_I2_I2, BT_BOOL, BT_VOLATILE_PTR, - BT_I2, BT_I2) -DEF_FUNCTION_TYPE_3 (BT_FN_BOOL_VPTR_I4_I4, BT_BOOL, BT_VOLATILE_PTR, - BT_I4, BT_I4) -DEF_FUNCTION_TYPE_3 (BT_FN_BOOL_VPTR_I8_I8, BT_BOOL, BT_VOLATILE_PTR, - BT_I8, BT_I8) -DEF_FUNCTION_TYPE_3 (BT_FN_BOOL_VPTR_I16_I16, BT_BOOL, BT_VOLATILE_PTR, - BT_I16, BT_I16) -DEF_FUNCTION_TYPE_3 (BT_FN_I1_VPTR_I1_I1, BT_I1, BT_VOLATILE_PTR, BT_I1, BT_I1) -DEF_FUNCTION_TYPE_3 (BT_FN_I2_VPTR_I2_I2, BT_I2, BT_VOLATILE_PTR, BT_I2, BT_I2) -DEF_FUNCTION_TYPE_3 (BT_FN_I4_VPTR_I4_I4, BT_I4, BT_VOLATILE_PTR, BT_I4, BT_I4) -DEF_FUNCTION_TYPE_3 (BT_FN_I8_VPTR_I8_I8, BT_I8, BT_VOLATILE_PTR, BT_I8, BT_I8) -DEF_FUNCTION_TYPE_3 (BT_FN_I16_VPTR_I16_I16, BT_I16, BT_VOLATILE_PTR, - BT_I16, BT_I16) -DEF_FUNCTION_TYPE_3 (BT_FN_PTR_CONST_PTR_INT_SIZE, BT_PTR, - BT_CONST_PTR, BT_INT, BT_SIZE) -DEF_FUNCTION_TYPE_3 (BT_FN_I1_VPTR_I1_INT, BT_I1, BT_VOLATILE_PTR, BT_I1, BT_INT) -DEF_FUNCTION_TYPE_3 (BT_FN_I2_VPTR_I2_INT, BT_I2, BT_VOLATILE_PTR, BT_I2, BT_INT) -DEF_FUNCTION_TYPE_3 (BT_FN_I4_VPTR_I4_INT, BT_I4, BT_VOLATILE_PTR, BT_I4, BT_INT) -DEF_FUNCTION_TYPE_3 (BT_FN_I8_VPTR_I8_INT, BT_I8, BT_VOLATILE_PTR, BT_I8, BT_INT) -DEF_FUNCTION_TYPE_3 (BT_FN_I16_VPTR_I16_INT, BT_I16, BT_VOLATILE_PTR, BT_I16, BT_INT) -DEF_FUNCTION_TYPE_3 (BT_FN_VOID_VPTR_I1_INT, BT_VOID, BT_VOLATILE_PTR, BT_I1, BT_INT) -DEF_FUNCTION_TYPE_3 (BT_FN_VOID_VPTR_I2_INT, BT_VOID, BT_VOLATILE_PTR, BT_I2, BT_INT) -DEF_FUNCTION_TYPE_3 (BT_FN_VOID_VPTR_I4_INT, BT_VOID, BT_VOLATILE_PTR, BT_I4, BT_INT) -DEF_FUNCTION_TYPE_3 (BT_FN_VOID_VPTR_I8_INT, BT_VOID, BT_VOLATILE_PTR, BT_I8, BT_INT) -DEF_FUNCTION_TYPE_3 (BT_FN_VOID_VPTR_I16_INT, BT_VOID, BT_VOLATILE_PTR, BT_I16, BT_INT) -DEF_FUNCTION_TYPE_3 (BT_FN_INT_PTRPTR_SIZE_SIZE, BT_INT, BT_PTR_PTR, BT_SIZE, BT_SIZE) -DEF_FUNCTION_TYPE_3 (BT_FN_PTR_CONST_PTR_CONST_PTR_SIZE, BT_PTR, BT_CONST_PTR, BT_CONST_PTR, BT_SIZE) -DEF_FUNCTION_TYPE_3 (BT_FN_BOOL_INT_INT_INTPTR, BT_BOOL, BT_INT, BT_INT, - BT_INT_PTR) -DEF_FUNCTION_TYPE_3 (BT_FN_BOOL_LONG_LONG_LONGPTR, BT_BOOL, BT_LONG, BT_LONG, - BT_PTR_LONG) -DEF_FUNCTION_TYPE_3 (BT_FN_BOOL_LONGLONG_LONGLONG_LONGLONGPTR, BT_BOOL, - BT_LONGLONG, BT_LONGLONG, BT_PTR_LONGLONG) -DEF_FUNCTION_TYPE_3 (BT_FN_BOOL_UINT_UINT_UINTPTR, BT_BOOL, BT_UINT, BT_UINT, - BT_PTR_UINT) -DEF_FUNCTION_TYPE_3 (BT_FN_BOOL_ULONG_ULONG_ULONGPTR, BT_BOOL, BT_ULONG, - BT_ULONG, BT_PTR_ULONG) -DEF_FUNCTION_TYPE_3 (BT_FN_BOOL_ULONGLONG_ULONGLONG_ULONGLONGPTR, BT_BOOL, - BT_ULONGLONG, BT_ULONGLONG, BT_PTR_ULONGLONG) -DEF_FUNCTION_TYPE_3 (BT_FN_VOID_UINT32_UINT64_PTR, - BT_VOID, BT_UINT32, BT_UINT64, BT_PTR) -DEF_FUNCTION_TYPE_3 (BT_FN_VOID_UINT32_UINT32_PTR, - BT_VOID, BT_UINT32, BT_UINT32, BT_PTR) -DEF_FUNCTION_TYPE_3 (BT_FN_VOID_SIZE_SIZE_PTR, BT_VOID, BT_SIZE, BT_SIZE, - BT_PTR) -DEF_FUNCTION_TYPE_3 (BT_FN_UINT_UINT_PTR_PTR, BT_UINT, BT_UINT, BT_PTR, BT_PTR) -DEF_FUNCTION_TYPE_3 (BT_FN_PTR_PTR_CONST_SIZE_BOOL, - BT_PTR, BT_PTR, BT_CONST_SIZE, BT_BOOL) -DEF_FUNCTION_TYPE_3 (BT_FN_PTR_SIZE_SIZE_PTRMODE, - BT_PTR, BT_SIZE, BT_SIZE, BT_PTRMODE) -DEF_FUNCTION_TYPE_3 (BT_FN_VOID_PTR_UINT8_PTRMODE, BT_VOID, BT_PTR, BT_UINT8, - BT_PTRMODE) - -DEF_FUNCTION_TYPE_4 (BT_FN_SIZE_CONST_PTR_SIZE_SIZE_FILEPTR, - BT_SIZE, BT_CONST_PTR, BT_SIZE, BT_SIZE, BT_FILEPTR) -DEF_FUNCTION_TYPE_4 (BT_FN_INT_STRING_SIZE_CONST_STRING_VALIST_ARG, - BT_INT, BT_STRING, BT_SIZE, BT_CONST_STRING, BT_VALIST_ARG) -DEF_FUNCTION_TYPE_4 (BT_FN_SIZE_STRING_SIZE_CONST_STRING_CONST_TM_PTR, - BT_SIZE, BT_STRING, BT_SIZE, BT_CONST_STRING, BT_CONST_TM_PTR) -DEF_FUNCTION_TYPE_4 (BT_FN_PTR_PTR_CONST_PTR_SIZE_SIZE, - BT_PTR, BT_PTR, BT_CONST_PTR, BT_SIZE, BT_SIZE) -DEF_FUNCTION_TYPE_4 (BT_FN_PTR_PTR_INT_SIZE_SIZE, - BT_PTR, BT_PTR, BT_INT, BT_SIZE, BT_SIZE) -DEF_FUNCTION_TYPE_4 (BT_FN_UINT_UINT_UINT_UINT_UINT, - BT_UINT, BT_UINT, BT_UINT, BT_UINT, BT_UINT) -DEF_FUNCTION_TYPE_4 (BT_FN_UINT_FLOAT_FLOAT_FLOAT_FLOAT, - BT_UINT, BT_FLOAT, BT_FLOAT, BT_FLOAT, BT_FLOAT) -DEF_FUNCTION_TYPE_4 (BT_FN_ULONG_ULONG_ULONG_UINT_UINT, - BT_ULONG, BT_ULONG, BT_ULONG, BT_UINT, BT_UINT) -DEF_FUNCTION_TYPE_4 (BT_FN_STRING_STRING_CONST_STRING_SIZE_SIZE, - BT_STRING, BT_STRING, BT_CONST_STRING, BT_SIZE, BT_SIZE) -DEF_FUNCTION_TYPE_4 (BT_FN_INT_FILEPTR_INT_CONST_STRING_VALIST_ARG, - BT_INT, BT_FILEPTR, BT_INT, BT_CONST_STRING, BT_VALIST_ARG) -DEF_FUNCTION_TYPE_4 (BT_FN_VOID_OMPFN_PTR_UINT_UINT, - BT_VOID, BT_PTR_FN_VOID_PTR, BT_PTR, BT_UINT, BT_UINT) -DEF_FUNCTION_TYPE_4 (BT_FN_UINT_OMPFN_PTR_UINT_UINT, - BT_UINT, BT_PTR_FN_VOID_PTR, BT_PTR, BT_UINT, BT_UINT) -DEF_FUNCTION_TYPE_4 (BT_FN_VOID_PTR_WORD_WORD_PTR, - BT_VOID, BT_PTR, BT_WORD, BT_WORD, BT_PTR) -DEF_FUNCTION_TYPE_4 (BT_FN_VOID_SIZE_VPTR_PTR_INT, BT_VOID, BT_SIZE, - BT_VOLATILE_PTR, BT_PTR, BT_INT) -DEF_FUNCTION_TYPE_4 (BT_FN_VOID_SIZE_CONST_VPTR_PTR_INT, BT_VOID, BT_SIZE, - BT_CONST_VOLATILE_PTR, BT_PTR, BT_INT) -DEF_FUNCTION_TYPE_4 (BT_FN_BOOL_UINT_LONGPTR_LONGPTR_LONGPTR, - BT_BOOL, BT_UINT, BT_PTR_LONG, BT_PTR_LONG, BT_PTR_LONG) -DEF_FUNCTION_TYPE_4 (BT_FN_BOOL_UINT_ULLPTR_ULLPTR_ULLPTR, - BT_BOOL, BT_UINT, BT_PTR_ULONGLONG, BT_PTR_ULONGLONG, - BT_PTR_ULONGLONG) -DEF_FUNCTION_TYPE_4 (BT_FN_VOID_UINT_PTR_INT_PTR, BT_VOID, BT_INT, BT_PTR, - BT_INT, BT_PTR) -DEF_FUNCTION_TYPE_4 (BT_FN_BOOL_UINT_UINT_UINT_BOOL, - BT_BOOL, BT_UINT, BT_UINT, BT_UINT, BT_BOOL) - -DEF_FUNCTION_TYPE_5 (BT_FN_INT_STRING_INT_SIZE_CONST_STRING_VALIST_ARG, - BT_INT, BT_STRING, BT_INT, BT_SIZE, BT_CONST_STRING, - BT_VALIST_ARG) -DEF_FUNCTION_TYPE_5 (BT_FN_BOOL_LONG_LONG_LONG_LONGPTR_LONGPTR, - BT_BOOL, BT_LONG, BT_LONG, BT_LONG, - BT_PTR_LONG, BT_PTR_LONG) -DEF_FUNCTION_TYPE_5 (BT_FN_VOID_SIZE_VPTR_PTR_PTR_INT, BT_VOID, BT_SIZE, - BT_VOLATILE_PTR, BT_PTR, BT_PTR, BT_INT) -DEF_FUNCTION_TYPE_5 (BT_FN_BOOL_VPTR_PTR_I1_INT_INT, - BT_BOOL, BT_VOLATILE_PTR, BT_PTR, BT_I1, BT_INT, BT_INT) -DEF_FUNCTION_TYPE_5 (BT_FN_BOOL_VPTR_PTR_I2_INT_INT, - BT_BOOL, BT_VOLATILE_PTR, BT_PTR, BT_I2, BT_INT, BT_INT) -DEF_FUNCTION_TYPE_5 (BT_FN_BOOL_VPTR_PTR_I4_INT_INT, - BT_BOOL, BT_VOLATILE_PTR, BT_PTR, BT_I4, BT_INT, BT_INT) -DEF_FUNCTION_TYPE_5 (BT_FN_BOOL_VPTR_PTR_I8_INT_INT, - BT_BOOL, BT_VOLATILE_PTR, BT_PTR, BT_I8, BT_INT, BT_INT) -DEF_FUNCTION_TYPE_5 (BT_FN_BOOL_VPTR_PTR_I16_INT_INT, - BT_BOOL, BT_VOLATILE_PTR, BT_PTR, BT_I16, BT_INT, BT_INT) -DEF_FUNCTION_TYPE_5 (BT_FN_VOID_INT_SIZE_PTR_PTR_PTR, - BT_VOID, BT_INT, BT_SIZE, BT_PTR, BT_PTR, BT_PTR) -DEF_FUNCTION_TYPE_5 (BT_FN_VOID_OMPFN_PTR_UINT_UINT_UINT, - BT_VOID, BT_PTR_FN_VOID_PTR, BT_PTR, BT_UINT, BT_UINT, - BT_UINT) -DEF_FUNCTION_TYPE_5 (BT_FN_BOOL_UINT_LONGPTR_LONG_LONGPTR_LONGPTR, - BT_BOOL, BT_UINT, BT_PTR_LONG, BT_LONG, BT_PTR_LONG, - BT_PTR_LONG) -DEF_FUNCTION_TYPE_5 (BT_FN_BOOL_UINT_ULLPTR_ULL_ULLPTR_ULLPTR, - BT_BOOL, BT_UINT, BT_PTR_ULONGLONG, BT_ULONGLONG, - BT_PTR_ULONGLONG, BT_PTR_ULONGLONG) - -DEF_FUNCTION_TYPE_6 (BT_FN_INT_STRING_SIZE_INT_SIZE_CONST_STRING_VALIST_ARG, - BT_INT, BT_STRING, BT_SIZE, BT_INT, BT_SIZE, - BT_CONST_STRING, BT_VALIST_ARG) -DEF_FUNCTION_TYPE_6 (BT_FN_BOOL_LONG_LONG_LONG_LONG_LONGPTR_LONGPTR, - BT_BOOL, BT_LONG, BT_LONG, BT_LONG, BT_LONG, - BT_PTR_LONG, BT_PTR_LONG) -DEF_FUNCTION_TYPE_6 (BT_FN_BOOL_BOOL_ULL_ULL_ULL_ULLPTR_ULLPTR, - BT_BOOL, BT_BOOL, BT_ULONGLONG, BT_ULONGLONG, - BT_ULONGLONG, BT_PTR_ULONGLONG, BT_PTR_ULONGLONG) -DEF_FUNCTION_TYPE_6 (BT_FN_BOOL_VPTR_PTR_I1_BOOL_INT_INT, - BT_BOOL, BT_VOLATILE_PTR, BT_PTR, BT_I1, BT_BOOL, BT_INT, - BT_INT) -DEF_FUNCTION_TYPE_6 (BT_FN_BOOL_VPTR_PTR_I2_BOOL_INT_INT, - BT_BOOL, BT_VOLATILE_PTR, BT_PTR, BT_I2, BT_BOOL, BT_INT, - BT_INT) -DEF_FUNCTION_TYPE_6 (BT_FN_BOOL_VPTR_PTR_I4_BOOL_INT_INT, - BT_BOOL, BT_VOLATILE_PTR, BT_PTR, BT_I4, BT_BOOL, BT_INT, - BT_INT) -DEF_FUNCTION_TYPE_6 (BT_FN_BOOL_VPTR_PTR_I8_BOOL_INT_INT, - BT_BOOL, BT_VOLATILE_PTR, BT_PTR, BT_I8, BT_BOOL, BT_INT, - BT_INT) -DEF_FUNCTION_TYPE_6 (BT_FN_BOOL_VPTR_PTR_I16_BOOL_INT_INT, - BT_BOOL, BT_VOLATILE_PTR, BT_PTR, BT_I16, BT_BOOL, BT_INT, - BT_INT) -DEF_FUNCTION_TYPE_6 (BT_FN_BOOL_SIZE_VPTR_PTR_PTR_INT_INT, BT_BOOL, BT_SIZE, - BT_VOLATILE_PTR, BT_PTR, BT_PTR, BT_INT, BT_INT) - -DEF_FUNCTION_TYPE_7 (BT_FN_VOID_OMPFN_PTR_UINT_LONG_LONG_LONG_UINT, - BT_VOID, BT_PTR_FN_VOID_PTR, BT_PTR, BT_UINT, - BT_LONG, BT_LONG, BT_LONG, BT_UINT) -DEF_FUNCTION_TYPE_7 (BT_FN_BOOL_BOOL_ULL_ULL_ULL_ULL_ULLPTR_ULLPTR, - BT_BOOL, BT_BOOL, BT_ULONGLONG, BT_ULONGLONG, - BT_ULONGLONG, BT_ULONGLONG, - BT_PTR_ULONGLONG, BT_PTR_ULONGLONG) -DEF_FUNCTION_TYPE_7 (BT_FN_VOID_INT_SIZE_PTR_PTR_PTR_UINT_PTR, - BT_VOID, BT_INT, BT_SIZE, BT_PTR, BT_PTR, BT_PTR, BT_UINT, - BT_PTR) - -DEF_FUNCTION_TYPE_8 (BT_FN_VOID_OMPFN_PTR_UINT_LONG_LONG_LONG_LONG_UINT, - BT_VOID, BT_PTR_FN_VOID_PTR, BT_PTR, BT_UINT, - BT_LONG, BT_LONG, BT_LONG, BT_LONG, BT_UINT) -DEF_FUNCTION_TYPE_8 (BT_FN_BOOL_UINT_LONGPTR_LONG_LONG_LONGPTR_LONGPTR_PTR_PTR, - BT_BOOL, BT_UINT, BT_PTR_LONG, BT_LONG, BT_LONG, - BT_PTR_LONG, BT_PTR_LONG, BT_PTR, BT_PTR) -DEF_FUNCTION_TYPE_8 (BT_FN_BOOL_UINT_ULLPTR_LONG_ULL_ULLPTR_ULLPTR_PTR_PTR, - BT_BOOL, BT_UINT, BT_PTR_ULONGLONG, BT_LONG, BT_ULONGLONG, - BT_PTR_ULONGLONG, BT_PTR_ULONGLONG, BT_PTR, BT_PTR) - -DEF_FUNCTION_TYPE_9 (BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_UINT_PTR_PTR, - BT_VOID, BT_INT, BT_PTR_FN_VOID_PTR, BT_SIZE, BT_PTR, - BT_PTR, BT_PTR, BT_UINT, BT_PTR, BT_PTR) -DEF_FUNCTION_TYPE_9 (BT_FN_BOOL_LONG_LONG_LONG_LONG_LONG_LONGPTR_LONGPTR_PTR_PTR, - BT_BOOL, BT_LONG, BT_LONG, BT_LONG, BT_LONG, BT_LONG, - BT_PTR_LONG, BT_PTR_LONG, BT_PTR, BT_PTR) - -DEF_FUNCTION_TYPE_10 (BT_FN_VOID_OMPFN_PTR_OMPCPYFN_LONG_LONG_BOOL_UINT_PTR_INT_PTR, - BT_VOID, BT_PTR_FN_VOID_PTR, BT_PTR, - BT_PTR_FN_VOID_PTR_PTR, BT_LONG, BT_LONG, - BT_BOOL, BT_UINT, BT_PTR, BT_INT, BT_PTR) -DEF_FUNCTION_TYPE_10 (BT_FN_BOOL_BOOL_ULL_ULL_ULL_LONG_ULL_ULLPTR_ULLPTR_PTR_PTR, - BT_BOOL, BT_BOOL, BT_ULONGLONG, BT_ULONGLONG, - BT_ULONGLONG, BT_LONG, BT_ULONGLONG, BT_PTR_ULONGLONG, - BT_PTR_ULONGLONG, BT_PTR, BT_PTR) - -DEF_FUNCTION_TYPE_11 (BT_FN_VOID_OMPFN_PTR_OMPCPYFN_LONG_LONG_UINT_LONG_INT_LONG_LONG_LONG, - BT_VOID, BT_PTR_FN_VOID_PTR, BT_PTR, - BT_PTR_FN_VOID_PTR_PTR, BT_LONG, BT_LONG, - BT_UINT, BT_LONG, BT_INT, BT_LONG, BT_LONG, BT_LONG) -DEF_FUNCTION_TYPE_11 (BT_FN_VOID_OMPFN_PTR_OMPCPYFN_LONG_LONG_UINT_LONG_INT_ULL_ULL_ULL, - BT_VOID, BT_PTR_FN_VOID_PTR, BT_PTR, - BT_PTR_FN_VOID_PTR_PTR, BT_LONG, BT_LONG, - BT_UINT, BT_LONG, BT_INT, - BT_ULONGLONG, BT_ULONGLONG, BT_ULONGLONG) - -DEF_FUNCTION_TYPE_VAR_0 (BT_FN_VOID_VAR, BT_VOID) -DEF_FUNCTION_TYPE_VAR_0 (BT_FN_INT_VAR, BT_INT) -DEF_FUNCTION_TYPE_VAR_0 (BT_FN_PTR_VAR, BT_PTR) -DEF_FUNCTION_TYPE_VAR_0 (BT_FN_BOOL_VAR, BT_BOOL) - -DEF_FUNCTION_TYPE_VAR_1 (BT_FN_VOID_VALIST_REF_VAR, - BT_VOID, BT_VALIST_REF) -DEF_FUNCTION_TYPE_VAR_1 (BT_FN_VOID_CONST_PTR_VAR, - BT_VOID, BT_CONST_PTR) -DEF_FUNCTION_TYPE_VAR_1 (BT_FN_INT_CONST_STRING_VAR, - BT_INT, BT_CONST_STRING) -DEF_FUNCTION_TYPE_VAR_1 (BT_FN_UINT32_UINT32_VAR, - BT_UINT32, BT_UINT32) -DEF_FUNCTION_TYPE_VAR_1 (BT_FN_VOID_LONG_VAR, - BT_VOID, BT_LONG) -DEF_FUNCTION_TYPE_VAR_1 (BT_FN_VOID_ULL_VAR, - BT_VOID, BT_ULONGLONG) -DEF_FUNCTION_TYPE_VAR_1 (BT_FN_PTR_PTR_VAR, BT_PTR, BT_PTR) -DEF_FUNCTION_TYPE_VAR_1 (BT_FN_I1_I1_VAR, BT_I1, BT_I1) -DEF_FUNCTION_TYPE_VAR_1 (BT_FN_I2_I2_VAR, BT_I2, BT_I2) -DEF_FUNCTION_TYPE_VAR_1 (BT_FN_I4_I4_VAR, BT_I4, BT_I4) -DEF_FUNCTION_TYPE_VAR_1 (BT_FN_I8_I8_VAR, BT_I8, BT_I8) -DEF_FUNCTION_TYPE_VAR_1 (BT_FN_I16_I16_VAR, BT_I16, BT_I16) - -DEF_FUNCTION_TYPE_VAR_2 (BT_FN_INT_FILEPTR_CONST_STRING_VAR, - BT_INT, BT_FILEPTR, BT_CONST_STRING) -DEF_FUNCTION_TYPE_VAR_2 (BT_FN_INT_STRING_CONST_STRING_VAR, - BT_INT, BT_STRING, BT_CONST_STRING) -DEF_FUNCTION_TYPE_VAR_2 (BT_FN_INT_CONST_STRING_CONST_STRING_VAR, - BT_INT, BT_CONST_STRING, BT_CONST_STRING) -DEF_FUNCTION_TYPE_VAR_2 (BT_FN_INT_INT_CONST_STRING_VAR, - BT_INT, BT_INT, BT_CONST_STRING) -DEF_FUNCTION_TYPE_VAR_2 (BT_FN_PTR_CONST_PTR_SIZE_VAR, BT_PTR, - BT_CONST_PTR, BT_SIZE) -DEF_FUNCTION_TYPE_VAR_2 (BT_FN_VOID_INT_INT_VAR, BT_VOID, - BT_INT, BT_INT) - -DEF_FUNCTION_TYPE_VAR_3 (BT_FN_INT_STRING_SIZE_CONST_STRING_VAR, - BT_INT, BT_STRING, BT_SIZE, BT_CONST_STRING) -DEF_FUNCTION_TYPE_VAR_3 (BT_FN_SSIZE_STRING_SIZE_CONST_STRING_VAR, - BT_SSIZE, BT_STRING, BT_SIZE, BT_CONST_STRING) -DEF_FUNCTION_TYPE_VAR_3 (BT_FN_INT_FILEPTR_INT_CONST_STRING_VAR, - BT_INT, BT_FILEPTR, BT_INT, BT_CONST_STRING) - -DEF_FUNCTION_TYPE_VAR_4 (BT_FN_INT_STRING_INT_SIZE_CONST_STRING_VAR, - BT_INT, BT_STRING, BT_INT, BT_SIZE, BT_CONST_STRING) - -DEF_FUNCTION_TYPE_VAR_5 (BT_FN_INT_STRING_SIZE_INT_SIZE_CONST_STRING_VAR, - BT_INT, BT_STRING, BT_SIZE, BT_INT, BT_SIZE, - BT_CONST_STRING) - -DEF_FUNCTION_TYPE_VAR_5 (BT_FN_INT_INT_INT_INT_INT_INT_VAR, - BT_INT, BT_INT, BT_INT, BT_INT, BT_INT, BT_INT) - -DEF_FUNCTION_TYPE_VAR_6 (BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_VAR, - BT_VOID, BT_INT, BT_PTR_FN_VOID_PTR, BT_SIZE, - BT_PTR, BT_PTR, BT_PTR) - -DEF_FUNCTION_TYPE_VAR_7 (BT_FN_VOID_INT_SIZE_PTR_PTR_PTR_INT_INT_VAR, - BT_VOID, BT_INT, BT_SIZE, BT_PTR, BT_PTR, - BT_PTR, BT_INT, BT_INT) - -DEF_POINTER_TYPE (BT_PTR_FN_VOID_VAR, BT_FN_VOID_VAR) -DEF_FUNCTION_TYPE_3 (BT_FN_PTR_PTR_FN_VOID_VAR_PTR_SIZE, - BT_PTR, BT_PTR_FN_VOID_VAR, BT_PTR, BT_SIZE) - - -DEF_FUNCTION_TYPE_1 (BT_FN_I1_VPTR, BT_I1, BT_VOLATILE_PTR) -DEF_FUNCTION_TYPE_1 (BT_FN_I2_VPTR, BT_I2, BT_VOLATILE_PTR) -DEF_FUNCTION_TYPE_1 (BT_FN_I4_VPTR, BT_I4, BT_VOLATILE_PTR) -DEF_FUNCTION_TYPE_1 (BT_FN_I8_VPTR, BT_I8, BT_VOLATILE_PTR) -DEF_FUNCTION_TYPE_1 (BT_FN_FLOAT_VPTR, BT_FLOAT, BT_VOLATILE_PTR) -DEF_FUNCTION_TYPE_1 (BT_FN_DOUBLE_CONST_DOUBLE_PTR, BT_DOUBLE, BT_DOUBLE_PTR) -DEF_FUNCTION_TYPE_1 (BT_FN_LDOUBLE_VPTR, BT_LONGDOUBLE, BT_VOLATILE_PTR) - -DEF_FUNCTION_TYPE_2 (BT_FN_VOID_VPTR_I1, BT_VOID, BT_VOLATILE_PTR, BT_I1) -DEF_FUNCTION_TYPE_2 (BT_FN_VOID_VPTR_I2, BT_VOID, BT_VOLATILE_PTR, BT_I2) -DEF_FUNCTION_TYPE_2 (BT_FN_VOID_VPTR_I4, BT_VOID, BT_VOLATILE_PTR, BT_I4) -DEF_FUNCTION_TYPE_2 (BT_FN_VOID_VPTR_I8, BT_VOID, BT_VOLATILE_PTR, BT_I8) -DEF_FUNCTION_TYPE_2 (BT_FN_VOID_VPTR_FLOAT, BT_VOID, BT_VOLATILE_PTR, BT_FLOAT) -DEF_FUNCTION_TYPE_2 (BT_FN_VOID_VPTR_DOUBLE, BT_VOID, - BT_VOLATILE_PTR, BT_DOUBLE) -DEF_FUNCTION_TYPE_2 (BT_FN_VOID_VPTR_LDOUBLE, BT_VOID, - BT_VOLATILE_PTR, BT_LONGDOUBLE) -DEF_FUNCTION_TYPE_2 (BT_FN_VOID_VPTR_SIZE, BT_VOID, - BT_VOLATILE_PTR, BT_SIZE) diff --git a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/builtins.def b/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/builtins.def deleted file mode 100644 index 4ad95a12..00000000 --- a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/builtins.def +++ /dev/null @@ -1,1190 +0,0 @@ -/* This file contains the definitions and documentation for the - builtins used in the GNU compiler. - Copyright (C) 2000-2023 Free Software Foundation, Inc. - -This file is part of GCC. - -GCC is free software; you can redistribute it and/or modify it under -the terms of the GNU General Public License as published by the Free -Software Foundation; either version 3, or (at your option) any later -version. - -GCC is distributed in the hope that it will be useful, but WITHOUT ANY -WARRANTY; without even the implied warranty of MERCHANTABILITY or -FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -for more details. - -You should have received a copy of the GNU General Public License -along with GCC; see the file COPYING3. If not see -. */ - -/* Before including this file, you should define a macro: - - DEF_BUILTIN (ENUM, NAME, CLASS, TYPE, LIBTYPE, BOTH_P, - FALLBACK_P, NONANSI_P, ATTRS, IMPLICIT, COND) - - This macro will be called once for each builtin function. The - ENUM will be of type `enum built_in_function', and will indicate - which builtin function is being processed. The NAME of the builtin - function (which will always start with `__builtin_') is a string - literal. The CLASS is of type `enum built_in_class' and indicates - what kind of builtin is being processed. - - Some builtins are actually two separate functions. For example, - for `strcmp' there are two builtin functions; `__builtin_strcmp' - and `strcmp' itself. Both behave identically. Other builtins - define only the `__builtin' variant. If BOTH_P is TRUE, then this - builtin has both variants; otherwise, it is has only the first - variant. - - TYPE indicates the type of the function. The symbols correspond to - enumerals from builtin-types.def. If BOTH_P is true, then LIBTYPE - is the type of the non-`__builtin_' variant. Otherwise, LIBTYPE - should be ignored. - - If FALLBACK_P is true then, if for some reason, the compiler cannot - expand the builtin function directly, it will call the - corresponding library function (which does not have the - `__builtin_' prefix. - - If NONANSI_P is true, then the non-`__builtin_' variant is not an - ANSI/ISO library function, and so we should pretend it does not - exist when compiling in ANSI conformant mode. - - ATTRs is an attribute list as defined in builtin-attrs.def that - describes the attributes of this builtin function. - - IMPLICIT specifies condition when the builtin can be produced by - compiler. For instance C90 reserves floorf function, but does not - define it's meaning. When user uses floorf we may assume that the - floorf has the meaning we expect, but we can't produce floorf by - simplifying floor((double)float) since the runtime need not implement - it. - - The builtins is registered only if COND is true. */ - -/* A GCC builtin (like __builtin_saveregs) is provided by the - compiler, but does not correspond to a function in the standard - library. */ -#undef DEF_GCC_BUILTIN -#define DEF_GCC_BUILTIN(ENUM, NAME, TYPE, ATTRS) \ - DEF_BUILTIN (ENUM, "__builtin_" NAME, BUILT_IN_NORMAL, TYPE, BT_LAST, \ - false, false, false, ATTRS, true, true) - -/* Like DEF_GCC_BUILTIN, except we don't prepend "__builtin_". */ -#undef DEF_SYNC_BUILTIN -#define DEF_SYNC_BUILTIN(ENUM, NAME, TYPE, ATTRS) \ - DEF_BUILTIN (ENUM, NAME, BUILT_IN_NORMAL, TYPE, BT_LAST, \ - false, false, false, ATTRS, true, true) - -/* A set of GCC builtins for _FloatN and _FloatNx types. TYPE_MACRO - is called with an argument such as FLOAT32 to produce the enum - value for the type. */ -#undef DEF_GCC_FLOATN_NX_BUILTINS -#define DEF_GCC_FLOATN_NX_BUILTINS(ENUM, NAME, TYPE_MACRO, ATTRS) \ - DEF_GCC_BUILTIN (ENUM ## F16, NAME "f16", TYPE_MACRO (FLOAT16), ATTRS) \ - DEF_GCC_BUILTIN (ENUM ## F32, NAME "f32", TYPE_MACRO (FLOAT32), ATTRS) \ - DEF_GCC_BUILTIN (ENUM ## F64, NAME "f64", TYPE_MACRO (FLOAT64), ATTRS) \ - DEF_GCC_BUILTIN (ENUM ## F128, NAME "f128", TYPE_MACRO (FLOAT128), ATTRS) \ - DEF_GCC_BUILTIN (ENUM ## F32X, NAME "f32x", TYPE_MACRO (FLOAT32X), ATTRS) \ - DEF_GCC_BUILTIN (ENUM ## F64X, NAME "f64x", TYPE_MACRO (FLOAT64X), ATTRS) \ - DEF_GCC_BUILTIN (ENUM ## F128X, NAME "f128x", TYPE_MACRO (FLOAT128X), ATTRS) - -/* A library builtin (like __builtin_strchr) is a builtin equivalent - of an ANSI/ISO standard library function. In addition to the - `__builtin' version, we will create an ordinary version (e.g, - `strchr') as well. If we cannot compute the answer using the - builtin function, we will fall back to the standard library - version. */ -#undef DEF_LIB_BUILTIN -#define DEF_LIB_BUILTIN(ENUM, NAME, TYPE, ATTRS) \ - DEF_BUILTIN (ENUM, "__builtin_" NAME, BUILT_IN_NORMAL, TYPE, TYPE, \ - true, true, false, ATTRS, true, true) - -/* Like DEF_LIB_BUILTIN, except that the function is not one that is - specified by ANSI/ISO C. So, when we're being fully conformant we - ignore the version of these builtins that does not begin with - __builtin. */ -#undef DEF_EXT_LIB_BUILTIN -#define DEF_EXT_LIB_BUILTIN(ENUM, NAME, TYPE, ATTRS) \ - DEF_BUILTIN (ENUM, "__builtin_" NAME, BUILT_IN_NORMAL, TYPE, TYPE, \ - true, true, true, ATTRS, false, true) - -/* A set of GCC builtins for _FloatN and _FloatNx types. TYPE_MACRO is called - with an argument such as FLOAT32 to produce the enum value for the type. If - we are compiling for the C language with GNU extensions, we enable the name - without the __builtin_ prefix as well as the name with the __builtin_ - prefix. C++ does not enable these names by default because a class based - library should use the __builtin_ names. */ -#undef DEF_FLOATN_BUILTIN -#define DEF_FLOATN_BUILTIN(ENUM, NAME, TYPE, ATTRS) \ - DEF_BUILTIN (ENUM, "__builtin_" NAME, BUILT_IN_NORMAL, TYPE, TYPE, \ - targetm.floatn_builtin_p ((int) ENUM), true, true, ATTRS, \ - false, true) -#undef DEF_EXT_LIB_FLOATN_NX_BUILTINS -#define DEF_EXT_LIB_FLOATN_NX_BUILTINS(ENUM, NAME, TYPE_MACRO, ATTRS) \ - DEF_FLOATN_BUILTIN (ENUM ## F16, NAME "f16", TYPE_MACRO (FLOAT16), ATTRS) \ - DEF_FLOATN_BUILTIN (ENUM ## F32, NAME "f32", TYPE_MACRO (FLOAT32), ATTRS) \ - DEF_FLOATN_BUILTIN (ENUM ## F64, NAME "f64", TYPE_MACRO (FLOAT64), ATTRS) \ - DEF_FLOATN_BUILTIN (ENUM ## F128, NAME "f128", TYPE_MACRO (FLOAT128), ATTRS) \ - DEF_FLOATN_BUILTIN (ENUM ## F32X, NAME "f32x", TYPE_MACRO (FLOAT32X), ATTRS) \ - DEF_FLOATN_BUILTIN (ENUM ## F64X, NAME "f64x", TYPE_MACRO (FLOAT64X), ATTRS) \ - DEF_FLOATN_BUILTIN (ENUM ## F128X, NAME "f128x", TYPE_MACRO (FLOAT128X), \ - ATTRS) - -/* Like DEF_LIB_BUILTIN, except that the function is only a part of - the standard in C94 or above. */ -#undef DEF_C94_BUILTIN -#define DEF_C94_BUILTIN(ENUM, NAME, TYPE, ATTRS) \ - DEF_BUILTIN (ENUM, "__builtin_" NAME, BUILT_IN_NORMAL, TYPE, TYPE, \ - true, true, !flag_isoc94, ATTRS, \ - targetm.libc_has_function (function_c94, NULL_TREE), true) - -/* Like DEF_LIB_BUILTIN, except that the function is only a part of - the standard in C99 or above. */ -#undef DEF_C99_BUILTIN -#define DEF_C99_BUILTIN(ENUM, NAME, TYPE, ATTRS) \ - DEF_BUILTIN (ENUM, "__builtin_" NAME, BUILT_IN_NORMAL, TYPE, TYPE, \ - true, true, !flag_isoc99, ATTRS, \ - targetm.libc_has_function (function_c99_misc, NULL_TREE), true) - -/* Like DEF_LIB_BUILTIN, except that the function is only a part of - the standard in C11 or above. */ -#undef DEF_C11_BUILTIN -#define DEF_C11_BUILTIN(ENUM, NAME, TYPE, ATTRS) \ - DEF_BUILTIN (ENUM, "__builtin_" NAME, BUILT_IN_NORMAL, TYPE, TYPE, \ - true, true, !flag_isoc11, ATTRS, \ - targetm.libc_has_function (function_c11_misc, NULL_TREE), true) - -/* Like DEF_LIB_BUILTIN, except that the function is only a part of - the standard in C2x or above. */ -#undef DEF_C2X_BUILTIN -#define DEF_C2X_BUILTIN(ENUM, NAME, TYPE, ATTRS) \ - DEF_BUILTIN (ENUM, "__builtin_" NAME, BUILT_IN_NORMAL, TYPE, TYPE, \ - true, true, !flag_isoc2x, ATTRS, \ - targetm.libc_has_function (function_c2x_misc, NULL_TREE), true) - -/* Like DEF_C99_BUILTIN, but for complex math functions. */ -#undef DEF_C99_COMPL_BUILTIN -#define DEF_C99_COMPL_BUILTIN(ENUM, NAME, TYPE, ATTRS) \ - DEF_BUILTIN (ENUM, "__builtin_" NAME, BUILT_IN_NORMAL, TYPE, TYPE, \ - true, true, !flag_isoc99, ATTRS, \ - targetm.libc_has_function (function_c99_math_complex, \ - NULL_TREE), \ - true) - -/* Builtin that is specified by C99 and C90 reserve the name for future use. - We can still recognize the builtin in C90 mode but we can't produce it - implicitly. */ -#undef DEF_C99_C90RES_BUILTIN -#define DEF_C99_C90RES_BUILTIN(ENUM, NAME, TYPE, ATTRS) \ - DEF_BUILTIN (ENUM, "__builtin_" NAME, BUILT_IN_NORMAL, TYPE, TYPE, \ - true, true, !flag_isoc99, ATTRS, \ - targetm.libc_has_function (function_c99_misc, NULL_TREE), true) - -/* Builtin that C99 reserve the name for future use. We can still recognize - the builtin in C99 mode but we can't produce it implicitly. */ -#undef DEF_EXT_C99RES_BUILTIN -#define DEF_EXT_C99RES_BUILTIN(ENUM, NAME, TYPE, ATTRS) \ - DEF_BUILTIN (ENUM, "__builtin_" NAME, BUILT_IN_NORMAL, TYPE, TYPE, \ - true, true, true, ATTRS, false, true) - -/* Allocate the enum and the name for a builtin, but do not actually - define it here at all. */ -#undef DEF_BUILTIN_STUB -#define DEF_BUILTIN_STUB(ENUM, NAME) \ - DEF_BUILTIN (ENUM, NAME, BUILT_IN_NORMAL, BT_LAST, BT_LAST, false, false, \ - false, ATTR_LAST, false, false) - -/* Builtins used in implementing coroutine support. */ -#undef DEF_COROUTINE_BUILTIN -#define DEF_COROUTINE_BUILTIN(ENUM, NAME, TYPE, ATTRS) \ - DEF_BUILTIN (ENUM, "__builtin_coro_" NAME, BUILT_IN_NORMAL, TYPE, TYPE, \ - true, true, true, ATTRS, true, flag_coroutines) - -/* Builtin used by the implementation of OpenACC and OpenMP. Few of these are - actually implemented in the compiler; most are in libgomp. */ -#undef DEF_GOACC_BUILTIN -#define DEF_GOACC_BUILTIN(ENUM, NAME, TYPE, ATTRS) \ - DEF_BUILTIN (ENUM, "__builtin_" NAME, BUILT_IN_NORMAL, TYPE, TYPE, \ - false, true, true, ATTRS, false, \ - flag_openacc) -#undef DEF_GOACC_BUILTIN_COMPILER -#define DEF_GOACC_BUILTIN_COMPILER(ENUM, NAME, TYPE, ATTRS) \ - DEF_BUILTIN (ENUM, "__builtin_" NAME, BUILT_IN_NORMAL, TYPE, TYPE, \ - flag_openacc, true, true, ATTRS, false, true) -#undef DEF_GOACC_BUILTIN_ONLY -#define DEF_GOACC_BUILTIN_ONLY(ENUM, NAME, TYPE, ATTRS) \ - DEF_BUILTIN (ENUM, "__builtin_" NAME, BUILT_IN_NORMAL, TYPE, BT_LAST, \ - false, false, true, ATTRS, false, flag_openacc) -#undef DEF_GOMP_BUILTIN -#define DEF_GOMP_BUILTIN(ENUM, NAME, TYPE, ATTRS) \ - DEF_BUILTIN (ENUM, "__builtin_" NAME, BUILT_IN_NORMAL, TYPE, TYPE, \ - false, true, true, ATTRS, false, \ - (flag_openacc \ - || flag_openmp \ - || flag_tree_parallelize_loops > 1)) - -/* Builtin used by the implementation of GNU TM. These - functions are mapped to the actual implementation of the STM library. */ -#undef DEF_TM_BUILTIN -#define DEF_TM_BUILTIN(ENUM, NAME, TYPE, ATTRS) \ - DEF_BUILTIN (ENUM, "__builtin_" NAME, BUILT_IN_NORMAL, TYPE, BT_LAST, \ - false, true, true, ATTRS, false, flag_tm) - -/* Builtin used by the implementation of libsanitizer. These - functions are mapped to the actual implementation of the - libtsan library. */ -#undef DEF_SANITIZER_BUILTIN -#define DEF_SANITIZER_BUILTIN(ENUM, NAME, TYPE, ATTRS) \ - DEF_BUILTIN (ENUM, "__builtin_" NAME, BUILT_IN_NORMAL, TYPE, TYPE, \ - true, true, true, ATTRS, true, \ - (flag_sanitize & (SANITIZE_ADDRESS | SANITIZE_THREAD \ - | SANITIZE_HWADDRESS \ - | SANITIZE_UNDEFINED \ - | SANITIZE_UNDEFINED_NONDEFAULT) \ - || flag_sanitize_coverage)) - -/* Define an attribute list for math functions that are normally - "impure" because some of them may write into global memory for - `errno'. If !flag_errno_math they are instead "const". */ -#undef ATTR_MATHFN_ERRNO -#define ATTR_MATHFN_ERRNO (flag_errno_math ? \ - ATTR_ERRNOCONST_NOTHROW_LEAF_LIST : ATTR_CONST_NOTHROW_LEAF_LIST) - -/* Define an attribute list for math functions that are normally - "const" but if flag_rounding_math is set they are instead "pure". - This distinction accounts for the fact that some math functions - check the rounding mode which is akin to examining global - memory. */ -#undef ATTR_MATHFN_FPROUNDING -#define ATTR_MATHFN_FPROUNDING (flag_rounding_math ? \ - ATTR_PURE_NOTHROW_LEAF_LIST : ATTR_CONST_NOTHROW_LEAF_LIST) - -/* Define an attribute list for math functions that are normally - "impure" because some of them may write into global memory for - `errno'. If !flag_errno_math, we can possibly use "pure" or - "const" depending on whether we care about FP rounding. */ -#undef ATTR_MATHFN_FPROUNDING_ERRNO -#define ATTR_MATHFN_FPROUNDING_ERRNO (flag_errno_math ? \ - (flag_rounding_math ? ATTR_ERRNOPURE_NOTHROW_LEAF_LIST \ - : ATTR_ERRNOCONST_NOTHROW_LEAF_LIST) : ATTR_MATHFN_FPROUNDING) - -/* Define an attribute list for math functions that need to mind FP - rounding, but because they store into memory they are never "const" - or "pure". Use of this macro is mainly for documentation and - maintenance purposes. */ -#undef ATTR_MATHFN_FPROUNDING_STORE -#define ATTR_MATHFN_FPROUNDING_STORE ATTR_NOTHROW_LEAF_LIST - -/* Define an attribute list for leaf functions that do not throw - exceptions normally, but may throw exceptions when using - -fnon-call-exceptions. */ -#define ATTR_NOTHROWCALL_LEAF_LIST (flag_non_call_exceptions ? \ - ATTR_LEAF_LIST : ATTR_NOTHROW_LEAF_LIST) - -/* Make sure 0 is not a legitimate builtin. */ -DEF_BUILTIN_STUB(BUILT_IN_NONE, (const char *)0) - -/* Category: math builtins. */ -DEF_LIB_BUILTIN (BUILT_IN_ACOS, "acos", BT_FN_DOUBLE_DOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO) -DEF_C99_C90RES_BUILTIN (BUILT_IN_ACOSF, "acosf", BT_FN_FLOAT_FLOAT, ATTR_MATHFN_FPROUNDING_ERRNO) -DEF_C99_BUILTIN (BUILT_IN_ACOSH, "acosh", BT_FN_DOUBLE_DOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO) -DEF_C99_BUILTIN (BUILT_IN_ACOSHF, "acoshf", BT_FN_FLOAT_FLOAT, ATTR_MATHFN_FPROUNDING_ERRNO) -DEF_C99_BUILTIN (BUILT_IN_ACOSHL, "acoshl", BT_FN_LONGDOUBLE_LONGDOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO) -#define ACOSH_TYPE(F) BT_FN_##F##_##F -DEF_EXT_LIB_FLOATN_NX_BUILTINS (BUILT_IN_ACOSH, "acosh", ACOSH_TYPE, ATTR_MATHFN_FPROUNDING_ERRNO) -DEF_C99_C90RES_BUILTIN (BUILT_IN_ACOSL, "acosl", BT_FN_LONGDOUBLE_LONGDOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO) -DEF_EXT_LIB_FLOATN_NX_BUILTINS (BUILT_IN_ACOS, "acos", ACOSH_TYPE, ATTR_MATHFN_FPROUNDING_ERRNO) -DEF_C11_BUILTIN (BUILT_IN_ALIGNED_ALLOC, "aligned_alloc", BT_FN_PTR_SIZE_SIZE, ATTR_ALLOC_WARN_UNUSED_RESULT_SIZE_2_NOTHROW_LIST) -DEF_LIB_BUILTIN (BUILT_IN_ASIN, "asin", BT_FN_DOUBLE_DOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO) -DEF_C99_C90RES_BUILTIN (BUILT_IN_ASINF, "asinf", BT_FN_FLOAT_FLOAT, ATTR_MATHFN_FPROUNDING_ERRNO) -DEF_C99_BUILTIN (BUILT_IN_ASINH, "asinh", BT_FN_DOUBLE_DOUBLE, ATTR_MATHFN_FPROUNDING) -DEF_C99_BUILTIN (BUILT_IN_ASINHF, "asinhf", BT_FN_FLOAT_FLOAT, ATTR_MATHFN_FPROUNDING) -DEF_C99_BUILTIN (BUILT_IN_ASINHL, "asinhl", BT_FN_LONGDOUBLE_LONGDOUBLE, ATTR_MATHFN_FPROUNDING) -DEF_EXT_LIB_FLOATN_NX_BUILTINS (BUILT_IN_ASINH, "asinh", ACOSH_TYPE, ATTR_MATHFN_FPROUNDING) -DEF_C99_C90RES_BUILTIN (BUILT_IN_ASINL, "asinl", BT_FN_LONGDOUBLE_LONGDOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO) -DEF_EXT_LIB_FLOATN_NX_BUILTINS (BUILT_IN_ASIN, "asin", ACOSH_TYPE, ATTR_MATHFN_FPROUNDING_ERRNO) -#undef ACOSH_TYPE -DEF_LIB_BUILTIN (BUILT_IN_ATAN, "atan", BT_FN_DOUBLE_DOUBLE, ATTR_MATHFN_FPROUNDING) -DEF_LIB_BUILTIN (BUILT_IN_ATAN2, "atan2", BT_FN_DOUBLE_DOUBLE_DOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO) -DEF_C99_C90RES_BUILTIN (BUILT_IN_ATAN2F, "atan2f", BT_FN_FLOAT_FLOAT_FLOAT, ATTR_MATHFN_FPROUNDING_ERRNO) -DEF_C99_C90RES_BUILTIN (BUILT_IN_ATAN2L, "atan2l", BT_FN_LONGDOUBLE_LONGDOUBLE_LONGDOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO) -#define ATAN2_TYPE(F) BT_FN_##F##_##F##_##F -DEF_EXT_LIB_FLOATN_NX_BUILTINS (BUILT_IN_ATAN2, "atan2", ATAN2_TYPE, ATTR_MATHFN_FPROUNDING_ERRNO) -#undef ATAN2_TYPE -DEF_C99_C90RES_BUILTIN (BUILT_IN_ATANF, "atanf", BT_FN_FLOAT_FLOAT, ATTR_MATHFN_FPROUNDING) -DEF_C99_BUILTIN (BUILT_IN_ATANH, "atanh", BT_FN_DOUBLE_DOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO) -DEF_C99_BUILTIN (BUILT_IN_ATANHF, "atanhf", BT_FN_FLOAT_FLOAT, ATTR_MATHFN_FPROUNDING_ERRNO) -DEF_C99_BUILTIN (BUILT_IN_ATANHL, "atanhl", BT_FN_LONGDOUBLE_LONGDOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO) -#define ATANH_TYPE(F) BT_FN_##F##_##F -DEF_EXT_LIB_FLOATN_NX_BUILTINS (BUILT_IN_ATANH, "atanh", ATANH_TYPE, ATTR_MATHFN_FPROUNDING_ERRNO) -DEF_C99_C90RES_BUILTIN (BUILT_IN_ATANL, "atanl", BT_FN_LONGDOUBLE_LONGDOUBLE, ATTR_MATHFN_FPROUNDING) -DEF_EXT_LIB_FLOATN_NX_BUILTINS (BUILT_IN_ATAN, "atan", ATANH_TYPE, ATTR_MATHFN_FPROUNDING) -DEF_C99_BUILTIN (BUILT_IN_CBRT, "cbrt", BT_FN_DOUBLE_DOUBLE, ATTR_MATHFN_FPROUNDING) -DEF_C99_BUILTIN (BUILT_IN_CBRTF, "cbrtf", BT_FN_FLOAT_FLOAT, ATTR_MATHFN_FPROUNDING) -DEF_C99_BUILTIN (BUILT_IN_CBRTL, "cbrtl", BT_FN_LONGDOUBLE_LONGDOUBLE, ATTR_MATHFN_FPROUNDING) -DEF_EXT_LIB_FLOATN_NX_BUILTINS (BUILT_IN_CBRT, "cbrt", ATANH_TYPE, ATTR_MATHFN_FPROUNDING) -#undef ATANH_TYPE -DEF_LIB_BUILTIN (BUILT_IN_CEIL, "ceil", BT_FN_DOUBLE_DOUBLE, ATTR_CONST_NOTHROW_LEAF_LIST) -DEF_C99_C90RES_BUILTIN (BUILT_IN_CEILF, "ceilf", BT_FN_FLOAT_FLOAT, ATTR_CONST_NOTHROW_LEAF_LIST) -DEF_C99_C90RES_BUILTIN (BUILT_IN_CEILL, "ceill", BT_FN_LONGDOUBLE_LONGDOUBLE, ATTR_CONST_NOTHROW_LEAF_LIST) -#define CEIL_TYPE(F) BT_FN_##F##_##F -DEF_EXT_LIB_FLOATN_NX_BUILTINS (BUILT_IN_CEIL, "ceil", CEIL_TYPE, ATTR_CONST_NOTHROW_LEAF_LIST) -#undef CEIL_TYPE -DEF_C99_BUILTIN (BUILT_IN_COPYSIGN, "copysign", BT_FN_DOUBLE_DOUBLE_DOUBLE, ATTR_CONST_NOTHROW_LEAF_LIST) -DEF_C99_BUILTIN (BUILT_IN_COPYSIGNF, "copysignf", BT_FN_FLOAT_FLOAT_FLOAT, ATTR_CONST_NOTHROW_LEAF_LIST) -DEF_C99_BUILTIN (BUILT_IN_COPYSIGNL, "copysignl", BT_FN_LONGDOUBLE_LONGDOUBLE_LONGDOUBLE, ATTR_CONST_NOTHROW_LEAF_LIST) -#define COPYSIGN_TYPE(F) BT_FN_##F##_##F##_##F -DEF_EXT_LIB_FLOATN_NX_BUILTINS (BUILT_IN_COPYSIGN, "copysign", COPYSIGN_TYPE, ATTR_CONST_NOTHROW_LEAF_LIST) -#undef COPYSIGN_TYPE -DEF_LIB_BUILTIN (BUILT_IN_COS, "cos", BT_FN_DOUBLE_DOUBLE, ATTR_MATHFN_FPROUNDING) -DEF_C99_C90RES_BUILTIN (BUILT_IN_COSF, "cosf", BT_FN_FLOAT_FLOAT, ATTR_MATHFN_FPROUNDING) -DEF_LIB_BUILTIN (BUILT_IN_COSH, "cosh", BT_FN_DOUBLE_DOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO) -DEF_C99_C90RES_BUILTIN (BUILT_IN_COSHF, "coshf", BT_FN_FLOAT_FLOAT, ATTR_MATHFN_FPROUNDING_ERRNO) -DEF_C99_C90RES_BUILTIN (BUILT_IN_COSHL, "coshl", BT_FN_LONGDOUBLE_LONGDOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO) -#define COSH_TYPE(F) BT_FN_##F##_##F -DEF_EXT_LIB_FLOATN_NX_BUILTINS (BUILT_IN_COSH, "cosh", COSH_TYPE, ATTR_MATHFN_FPROUNDING_ERRNO) -DEF_C99_C90RES_BUILTIN (BUILT_IN_COSL, "cosl", BT_FN_LONGDOUBLE_LONGDOUBLE, ATTR_MATHFN_FPROUNDING) -DEF_EXT_LIB_FLOATN_NX_BUILTINS (BUILT_IN_COS, "cos", COSH_TYPE, ATTR_MATHFN_FPROUNDING) -DEF_EXT_LIB_BUILTIN (BUILT_IN_DREM, "drem", BT_FN_DOUBLE_DOUBLE_DOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO) -DEF_EXT_LIB_BUILTIN (BUILT_IN_DREMF, "dremf", BT_FN_FLOAT_FLOAT_FLOAT, ATTR_MATHFN_FPROUNDING_ERRNO) -DEF_EXT_LIB_BUILTIN (BUILT_IN_DREML, "dreml", BT_FN_LONGDOUBLE_LONGDOUBLE_LONGDOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO) -DEF_C99_BUILTIN (BUILT_IN_ERF, "erf", BT_FN_DOUBLE_DOUBLE, ATTR_MATHFN_FPROUNDING) -DEF_C99_BUILTIN (BUILT_IN_ERFC, "erfc", BT_FN_DOUBLE_DOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO) -DEF_C99_BUILTIN (BUILT_IN_ERFCF, "erfcf", BT_FN_FLOAT_FLOAT, ATTR_MATHFN_FPROUNDING_ERRNO) -DEF_C99_BUILTIN (BUILT_IN_ERFCL, "erfcl", BT_FN_LONGDOUBLE_LONGDOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO) -DEF_EXT_LIB_FLOATN_NX_BUILTINS (BUILT_IN_ERFC, "erfc", COSH_TYPE, ATTR_MATHFN_FPROUNDING_ERRNO) -DEF_C99_BUILTIN (BUILT_IN_ERFF, "erff", BT_FN_FLOAT_FLOAT, ATTR_MATHFN_FPROUNDING) -DEF_C99_BUILTIN (BUILT_IN_ERFL, "erfl", BT_FN_LONGDOUBLE_LONGDOUBLE, ATTR_MATHFN_FPROUNDING) -DEF_EXT_LIB_FLOATN_NX_BUILTINS (BUILT_IN_ERF, "erf", COSH_TYPE, ATTR_MATHFN_FPROUNDING) -DEF_LIB_BUILTIN (BUILT_IN_EXP, "exp", BT_FN_DOUBLE_DOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO) -DEF_C2X_BUILTIN (BUILT_IN_EXP10, "exp10", BT_FN_DOUBLE_DOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO) -DEF_C2X_BUILTIN (BUILT_IN_EXP10F, "exp10f", BT_FN_FLOAT_FLOAT, ATTR_MATHFN_FPROUNDING_ERRNO) -DEF_C2X_BUILTIN (BUILT_IN_EXP10L, "exp10l", BT_FN_LONGDOUBLE_LONGDOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO) -DEF_C99_BUILTIN (BUILT_IN_EXP2, "exp2", BT_FN_DOUBLE_DOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO) -DEF_C99_BUILTIN (BUILT_IN_EXP2F, "exp2f", BT_FN_FLOAT_FLOAT, ATTR_MATHFN_FPROUNDING_ERRNO) -DEF_C99_BUILTIN (BUILT_IN_EXP2L, "exp2l", BT_FN_LONGDOUBLE_LONGDOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO) -DEF_EXT_LIB_FLOATN_NX_BUILTINS (BUILT_IN_EXP2, "exp2", COSH_TYPE, ATTR_MATHFN_FPROUNDING_ERRNO) -DEF_C99_C90RES_BUILTIN (BUILT_IN_EXPF, "expf", BT_FN_FLOAT_FLOAT, ATTR_MATHFN_FPROUNDING_ERRNO) -DEF_C99_C90RES_BUILTIN (BUILT_IN_EXPL, "expl", BT_FN_LONGDOUBLE_LONGDOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO) -DEF_EXT_LIB_FLOATN_NX_BUILTINS (BUILT_IN_EXP, "exp", COSH_TYPE, ATTR_MATHFN_FPROUNDING_ERRNO) -DEF_C99_BUILTIN (BUILT_IN_EXPM1, "expm1", BT_FN_DOUBLE_DOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO) -DEF_EXT_LIB_FLOATN_NX_BUILTINS (BUILT_IN_EXPM1, "expm1", COSH_TYPE, ATTR_MATHFN_FPROUNDING_ERRNO) -#undef COSH_TYPE -DEF_C99_BUILTIN (BUILT_IN_EXPM1F, "expm1f", BT_FN_FLOAT_FLOAT, ATTR_MATHFN_FPROUNDING_ERRNO) -DEF_C99_BUILTIN (BUILT_IN_EXPM1L, "expm1l", BT_FN_LONGDOUBLE_LONGDOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO) -DEF_LIB_BUILTIN (BUILT_IN_FABS, "fabs", BT_FN_DOUBLE_DOUBLE, ATTR_CONST_NOTHROW_LEAF_LIST) -DEF_C99_C90RES_BUILTIN (BUILT_IN_FABSF, "fabsf", BT_FN_FLOAT_FLOAT, ATTR_CONST_NOTHROW_LEAF_LIST) -DEF_C99_C90RES_BUILTIN (BUILT_IN_FABSL, "fabsl", BT_FN_LONGDOUBLE_LONGDOUBLE, ATTR_CONST_NOTHROW_LEAF_LIST) -#define FABS_TYPE(F) BT_FN_##F##_##F -DEF_EXT_LIB_FLOATN_NX_BUILTINS (BUILT_IN_FABS, "fabs", FABS_TYPE, ATTR_CONST_NOTHROW_LEAF_LIST) -#undef FABS_TYPE -DEF_C2X_BUILTIN (BUILT_IN_FABSD32, "fabsd32", BT_FN_DFLOAT32_DFLOAT32, ATTR_CONST_NOTHROW_LEAF_LIST) -DEF_C2X_BUILTIN (BUILT_IN_FABSD64, "fabsd64", BT_FN_DFLOAT64_DFLOAT64, ATTR_CONST_NOTHROW_LEAF_LIST) -DEF_C2X_BUILTIN (BUILT_IN_FABSD128, "fabsd128", BT_FN_DFLOAT128_DFLOAT128, ATTR_CONST_NOTHROW_LEAF_LIST) -DEF_C99_BUILTIN (BUILT_IN_FDIM, "fdim", BT_FN_DOUBLE_DOUBLE_DOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO) -DEF_C99_BUILTIN (BUILT_IN_FDIMF, "fdimf", BT_FN_FLOAT_FLOAT_FLOAT, ATTR_MATHFN_FPROUNDING_ERRNO) -DEF_C99_BUILTIN (BUILT_IN_FDIML, "fdiml", BT_FN_LONGDOUBLE_LONGDOUBLE_LONGDOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO) -#define FDIM_TYPE(F) BT_FN_##F##_##F##_##F -DEF_EXT_LIB_FLOATN_NX_BUILTINS (BUILT_IN_FDIM, "fdim", FDIM_TYPE, ATTR_MATHFN_FPROUNDING_ERRNO) -#undef FDIM_TYPE -DEF_C99_BUILTIN (BUILT_IN_FECLEAREXCEPT, "feclearexcept", BT_FN_INT_INT, ATTR_NOTHROW_LEAF_LIST) -DEF_C99_BUILTIN (BUILT_IN_FEGETENV, "fegetenv", BT_FN_INT_FENV_T_PTR, ATTR_NOTHROW_LEAF_LIST) -DEF_C99_BUILTIN (BUILT_IN_FEGETEXCEPTFLAG, "fegetexceptflag", BT_FN_INT_FEXCEPT_T_PTR_INT, ATTR_NOTHROW_LEAF_LIST) -DEF_C99_BUILTIN (BUILT_IN_FEGETROUND, "fegetround", BT_FN_INT, ATTR_PURE_NOTHROW_LEAF_LIST) -DEF_C99_BUILTIN (BUILT_IN_FEHOLDEXCEPT, "feholdexcept", BT_FN_INT_FENV_T_PTR, ATTR_NOTHROW_LEAF_LIST) -DEF_C99_BUILTIN (BUILT_IN_FERAISEEXCEPT, "feraiseexcept", BT_FN_INT_INT, ATTR_NULL) -DEF_C99_BUILTIN (BUILT_IN_FESETENV, "fesetenv", BT_FN_INT_CONST_FENV_T_PTR, ATTR_NOTHROW_LEAF_LIST) -DEF_C99_BUILTIN (BUILT_IN_FESETEXCEPTFLAG, "fesetexceptflag", BT_FN_INT_CONST_FEXCEPT_T_PTR_INT, ATTR_NULL) -DEF_C99_BUILTIN (BUILT_IN_FESETROUND, "fesetround", BT_FN_INT_INT, ATTR_NOTHROW_LEAF_LIST) -DEF_C99_BUILTIN (BUILT_IN_FETESTEXCEPT, "fetestexcept", BT_FN_INT_INT, ATTR_NOTHROW_LEAF_LIST) -DEF_C99_BUILTIN (BUILT_IN_FEUPDATEENV, "feupdateenv", BT_FN_INT_CONST_FENV_T_PTR, ATTR_NULL) -DEF_LIB_BUILTIN (BUILT_IN_FLOOR, "floor", BT_FN_DOUBLE_DOUBLE, ATTR_CONST_NOTHROW_LEAF_LIST) -DEF_C99_C90RES_BUILTIN (BUILT_IN_FLOORF, "floorf", BT_FN_FLOAT_FLOAT, ATTR_CONST_NOTHROW_LEAF_LIST) -DEF_C99_C90RES_BUILTIN (BUILT_IN_FLOORL, "floorl", BT_FN_LONGDOUBLE_LONGDOUBLE, ATTR_CONST_NOTHROW_LEAF_LIST) -#define FLOOR_TYPE(F) BT_FN_##F##_##F -DEF_EXT_LIB_FLOATN_NX_BUILTINS (BUILT_IN_FLOOR, "floor", FLOOR_TYPE, ATTR_CONST_NOTHROW_LEAF_LIST) -#undef FLOOR_TYPE -DEF_C99_BUILTIN (BUILT_IN_FMA, "fma", BT_FN_DOUBLE_DOUBLE_DOUBLE_DOUBLE, ATTR_MATHFN_FPROUNDING) -DEF_C99_BUILTIN (BUILT_IN_FMAF, "fmaf", BT_FN_FLOAT_FLOAT_FLOAT_FLOAT, ATTR_MATHFN_FPROUNDING) -DEF_C99_BUILTIN (BUILT_IN_FMAL, "fmal", BT_FN_LONGDOUBLE_LONGDOUBLE_LONGDOUBLE_LONGDOUBLE, ATTR_MATHFN_FPROUNDING) -#define FMA_TYPE(F) BT_FN_##F##_##F##_##F##_##F -DEF_EXT_LIB_FLOATN_NX_BUILTINS (BUILT_IN_FMA, "fma", FMA_TYPE, ATTR_MATHFN_FPROUNDING) -#undef FMA_TYPE -DEF_C99_BUILTIN (BUILT_IN_FMAX, "fmax", BT_FN_DOUBLE_DOUBLE_DOUBLE, ATTR_CONST_NOTHROW_LEAF_LIST) -DEF_C99_BUILTIN (BUILT_IN_FMAXF, "fmaxf", BT_FN_FLOAT_FLOAT_FLOAT, ATTR_CONST_NOTHROW_LEAF_LIST) -DEF_C99_BUILTIN (BUILT_IN_FMAXL, "fmaxl", BT_FN_LONGDOUBLE_LONGDOUBLE_LONGDOUBLE, ATTR_CONST_NOTHROW_LEAF_LIST) -#define FMAX_TYPE(F) BT_FN_##F##_##F##_##F -DEF_EXT_LIB_FLOATN_NX_BUILTINS (BUILT_IN_FMAX, "fmax", FMAX_TYPE, ATTR_CONST_NOTHROW_LEAF_LIST) -#undef FMAX_TYPE -DEF_C99_BUILTIN (BUILT_IN_FMIN, "fmin", BT_FN_DOUBLE_DOUBLE_DOUBLE, ATTR_CONST_NOTHROW_LEAF_LIST) -DEF_C99_BUILTIN (BUILT_IN_FMINF, "fminf", BT_FN_FLOAT_FLOAT_FLOAT, ATTR_CONST_NOTHROW_LEAF_LIST) -DEF_C99_BUILTIN (BUILT_IN_FMINL, "fminl", BT_FN_LONGDOUBLE_LONGDOUBLE_LONGDOUBLE, ATTR_CONST_NOTHROW_LEAF_LIST) -#define FMIN_TYPE(F) BT_FN_##F##_##F##_##F -DEF_EXT_LIB_FLOATN_NX_BUILTINS (BUILT_IN_FMIN, "fmin", FMIN_TYPE, ATTR_CONST_NOTHROW_LEAF_LIST) -DEF_LIB_BUILTIN (BUILT_IN_FMOD, "fmod", BT_FN_DOUBLE_DOUBLE_DOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO) -DEF_C99_C90RES_BUILTIN (BUILT_IN_FMODF, "fmodf", BT_FN_FLOAT_FLOAT_FLOAT, ATTR_MATHFN_FPROUNDING_ERRNO) -DEF_C99_C90RES_BUILTIN (BUILT_IN_FMODL, "fmodl", BT_FN_LONGDOUBLE_LONGDOUBLE_LONGDOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO) -DEF_EXT_LIB_FLOATN_NX_BUILTINS (BUILT_IN_FMOD, "fmod", FMIN_TYPE, ATTR_MATHFN_FPROUNDING_ERRNO) -#undef FMIN_TYPE -DEF_LIB_BUILTIN (BUILT_IN_FREXP, "frexp", BT_FN_DOUBLE_DOUBLE_INTPTR, ATTR_MATHFN_FPROUNDING_STORE) -DEF_C99_C90RES_BUILTIN (BUILT_IN_FREXPF, "frexpf", BT_FN_FLOAT_FLOAT_INTPTR, ATTR_MATHFN_FPROUNDING_STORE) -DEF_C99_C90RES_BUILTIN (BUILT_IN_FREXPL, "frexpl", BT_FN_LONGDOUBLE_LONGDOUBLE_INTPTR, ATTR_MATHFN_FPROUNDING_STORE) -#define FREXP_TYPE(F) BT_FN_##F##_##F##_INTPTR -DEF_EXT_LIB_FLOATN_NX_BUILTINS (BUILT_IN_FREXP, "frexp", FREXP_TYPE, ATTR_MATHFN_FPROUNDING_STORE) -#undef FREXP_TYPE -DEF_EXT_LIB_BUILTIN (BUILT_IN_GAMMA, "gamma", BT_FN_DOUBLE_DOUBLE, ATTR_MATHFN_FPROUNDING_STORE) -DEF_EXT_LIB_BUILTIN (BUILT_IN_GAMMAF, "gammaf", BT_FN_FLOAT_FLOAT, ATTR_MATHFN_FPROUNDING_STORE) -DEF_EXT_LIB_BUILTIN (BUILT_IN_GAMMAL, "gammal", BT_FN_LONGDOUBLE_LONGDOUBLE, ATTR_MATHFN_FPROUNDING_STORE) -DEF_EXT_LIB_BUILTIN (BUILT_IN_GAMMA_R, "gamma_r", BT_FN_DOUBLE_DOUBLE_INTPTR, ATTR_MATHFN_FPROUNDING_STORE) -DEF_EXT_LIB_BUILTIN (BUILT_IN_GAMMAF_R, "gammaf_r", BT_FN_FLOAT_FLOAT_INTPTR, ATTR_MATHFN_FPROUNDING_STORE) -DEF_EXT_LIB_BUILTIN (BUILT_IN_GAMMAL_R, "gammal_r", BT_FN_LONGDOUBLE_LONGDOUBLE_INTPTR, ATTR_MATHFN_FPROUNDING_STORE) -DEF_GCC_BUILTIN (BUILT_IN_HUGE_VAL, "huge_val", BT_FN_DOUBLE, ATTR_CONST_NOTHROW_LEAF_LIST) -DEF_GCC_BUILTIN (BUILT_IN_HUGE_VALF, "huge_valf", BT_FN_FLOAT, ATTR_CONST_NOTHROW_LEAF_LIST) -DEF_GCC_BUILTIN (BUILT_IN_HUGE_VALL, "huge_vall", BT_FN_LONGDOUBLE, ATTR_CONST_NOTHROW_LEAF_LIST) -#define HUGE_VAL_TYPE(F) BT_FN_##F -DEF_GCC_FLOATN_NX_BUILTINS (BUILT_IN_HUGE_VAL, "huge_val", HUGE_VAL_TYPE, ATTR_CONST_NOTHROW_LEAF_LIST) -#undef HUGE_VAL_TYPE -DEF_C99_BUILTIN (BUILT_IN_HYPOT, "hypot", BT_FN_DOUBLE_DOUBLE_DOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO) -DEF_C99_BUILTIN (BUILT_IN_HYPOTF, "hypotf", BT_FN_FLOAT_FLOAT_FLOAT, ATTR_MATHFN_FPROUNDING_ERRNO) -DEF_C99_BUILTIN (BUILT_IN_HYPOTL, "hypotl", BT_FN_LONGDOUBLE_LONGDOUBLE_LONGDOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO) -#define HYPOT_TYPE(F) BT_FN_##F##_##F##_##F -DEF_EXT_LIB_FLOATN_NX_BUILTINS (BUILT_IN_HYPOT, "hypot", HYPOT_TYPE, ATTR_MATHFN_FPROUNDING_ERRNO) -#undef HYPOT_TYPE -DEF_GCC_BUILTIN (BUILT_IN_ICEIL, "iceil", BT_FN_INT_DOUBLE, ATTR_CONST_NOTHROW_LEAF_LIST) -DEF_GCC_BUILTIN (BUILT_IN_ICEILF, "iceilf", BT_FN_INT_FLOAT, ATTR_CONST_NOTHROW_LEAF_LIST) -DEF_GCC_BUILTIN (BUILT_IN_ICEILL, "iceill", BT_FN_INT_LONGDOUBLE, ATTR_CONST_NOTHROW_LEAF_LIST) -DEF_GCC_BUILTIN (BUILT_IN_IFLOOR, "ifloor", BT_FN_INT_DOUBLE, ATTR_CONST_NOTHROW_LEAF_LIST) -DEF_GCC_BUILTIN (BUILT_IN_IFLOORF, "ifloorf", BT_FN_INT_FLOAT, ATTR_CONST_NOTHROW_LEAF_LIST) -DEF_GCC_BUILTIN (BUILT_IN_IFLOORL, "ifloorl", BT_FN_INT_LONGDOUBLE, ATTR_CONST_NOTHROW_LEAF_LIST) -DEF_C99_BUILTIN (BUILT_IN_ILOGB, "ilogb", BT_FN_INT_DOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO) -DEF_C99_BUILTIN (BUILT_IN_ILOGBF, "ilogbf", BT_FN_INT_FLOAT, ATTR_MATHFN_FPROUNDING_ERRNO) -DEF_C99_BUILTIN (BUILT_IN_ILOGBL, "ilogbl", BT_FN_INT_LONGDOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO) -#define ILOGB_TYPE(F) BT_FN_INT_##F -DEF_EXT_LIB_FLOATN_NX_BUILTINS (BUILT_IN_ILOGB, "ilogb", ILOGB_TYPE, ATTR_MATHFN_FPROUNDING_ERRNO) -#undef ILOGB_TYPE -DEF_GCC_BUILTIN (BUILT_IN_INF, "inf", BT_FN_DOUBLE, ATTR_CONST_NOTHROW_LEAF_LIST) -DEF_GCC_BUILTIN (BUILT_IN_INFF, "inff", BT_FN_FLOAT, ATTR_CONST_NOTHROW_LEAF_LIST) -DEF_GCC_BUILTIN (BUILT_IN_INFL, "infl", BT_FN_LONGDOUBLE, ATTR_CONST_NOTHROW_LEAF_LIST) -#define INF_TYPE(F) BT_FN_##F -DEF_GCC_FLOATN_NX_BUILTINS (BUILT_IN_INF, "inf", INF_TYPE, ATTR_CONST_NOTHROW_LEAF_LIST) -#undef INF_TYPE -DEF_GCC_BUILTIN (BUILT_IN_INFD32, "infd32", BT_FN_DFLOAT32, ATTR_CONST_NOTHROW_LEAF_LIST) -DEF_GCC_BUILTIN (BUILT_IN_INFD64, "infd64", BT_FN_DFLOAT64, ATTR_CONST_NOTHROW_LEAF_LIST) -DEF_GCC_BUILTIN (BUILT_IN_INFD128, "infd128", BT_FN_DFLOAT128, ATTR_CONST_NOTHROW_LEAF_LIST) -DEF_GCC_BUILTIN (BUILT_IN_IRINT, "irint", BT_FN_INT_DOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO) -DEF_GCC_BUILTIN (BUILT_IN_IRINTF, "irintf", BT_FN_INT_FLOAT, ATTR_MATHFN_FPROUNDING_ERRNO) -DEF_GCC_BUILTIN (BUILT_IN_IRINTL, "irintl", BT_FN_INT_LONGDOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO) -DEF_GCC_BUILTIN (BUILT_IN_IROUND, "iround", BT_FN_INT_DOUBLE, ATTR_MATHFN_ERRNO) -DEF_GCC_BUILTIN (BUILT_IN_IROUNDF, "iroundf", BT_FN_INT_FLOAT, ATTR_MATHFN_ERRNO) -DEF_GCC_BUILTIN (BUILT_IN_IROUNDL, "iroundl", BT_FN_INT_LONGDOUBLE, ATTR_MATHFN_ERRNO) -DEF_EXT_LIB_BUILTIN (BUILT_IN_J0, "j0", BT_FN_DOUBLE_DOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO) -DEF_EXT_LIB_BUILTIN (BUILT_IN_J0F, "j0f", BT_FN_FLOAT_FLOAT, ATTR_MATHFN_FPROUNDING_ERRNO) -DEF_EXT_LIB_BUILTIN (BUILT_IN_J0L, "j0l", BT_FN_LONGDOUBLE_LONGDOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO) -DEF_EXT_LIB_BUILTIN (BUILT_IN_J1, "j1", BT_FN_DOUBLE_DOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO) -DEF_EXT_LIB_BUILTIN (BUILT_IN_J1F, "j1f", BT_FN_FLOAT_FLOAT, ATTR_MATHFN_FPROUNDING_ERRNO) -DEF_EXT_LIB_BUILTIN (BUILT_IN_J1L, "j1l", BT_FN_LONGDOUBLE_LONGDOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO) -DEF_EXT_LIB_BUILTIN (BUILT_IN_JN, "jn", BT_FN_DOUBLE_INT_DOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO) -DEF_EXT_LIB_BUILTIN (BUILT_IN_JNF, "jnf", BT_FN_FLOAT_INT_FLOAT, ATTR_MATHFN_FPROUNDING_ERRNO) -DEF_EXT_LIB_BUILTIN (BUILT_IN_JNL, "jnl", BT_FN_LONGDOUBLE_INT_LONGDOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO) -DEF_GCC_BUILTIN (BUILT_IN_LCEIL, "lceil", BT_FN_LONG_DOUBLE, ATTR_CONST_NOTHROW_LEAF_LIST) -DEF_GCC_BUILTIN (BUILT_IN_LCEILF, "lceilf", BT_FN_LONG_FLOAT, ATTR_CONST_NOTHROW_LEAF_LIST) -DEF_GCC_BUILTIN (BUILT_IN_LCEILL, "lceill", BT_FN_LONG_LONGDOUBLE, ATTR_CONST_NOTHROW_LEAF_LIST) -DEF_LIB_BUILTIN (BUILT_IN_LDEXP, "ldexp", BT_FN_DOUBLE_DOUBLE_INT, ATTR_MATHFN_FPROUNDING_ERRNO) -DEF_C99_C90RES_BUILTIN (BUILT_IN_LDEXPF, "ldexpf", BT_FN_FLOAT_FLOAT_INT, ATTR_MATHFN_FPROUNDING_ERRNO) -DEF_C99_C90RES_BUILTIN (BUILT_IN_LDEXPL, "ldexpl", BT_FN_LONGDOUBLE_LONGDOUBLE_INT, ATTR_MATHFN_FPROUNDING_ERRNO) -#define LDEXP_TYPE(F) BT_FN_##F##_##F##_INT -DEF_EXT_LIB_FLOATN_NX_BUILTINS (BUILT_IN_LDEXP, "ldexp", LDEXP_TYPE, ATTR_MATHFN_FPROUNDING_ERRNO) -#undef LDEXP_TYPE -DEF_GCC_BUILTIN (BUILT_IN_LFLOOR, "lfloor", BT_FN_LONG_DOUBLE, ATTR_CONST_NOTHROW_LEAF_LIST) -DEF_GCC_BUILTIN (BUILT_IN_LFLOORF, "lfloorf", BT_FN_LONG_FLOAT, ATTR_CONST_NOTHROW_LEAF_LIST) -DEF_GCC_BUILTIN (BUILT_IN_LFLOORL, "lfloorl", BT_FN_LONG_LONGDOUBLE, ATTR_CONST_NOTHROW_LEAF_LIST) -DEF_C99_BUILTIN (BUILT_IN_LGAMMA, "lgamma", BT_FN_DOUBLE_DOUBLE, ATTR_MATHFN_FPROUNDING_STORE) -DEF_C99_BUILTIN (BUILT_IN_LGAMMAF, "lgammaf", BT_FN_FLOAT_FLOAT, ATTR_MATHFN_FPROUNDING_STORE) -DEF_C99_BUILTIN (BUILT_IN_LGAMMAL, "lgammal", BT_FN_LONGDOUBLE_LONGDOUBLE, ATTR_MATHFN_FPROUNDING_STORE) -#define LGAMMA_TYPE(F) BT_FN_##F##_##F -DEF_EXT_LIB_FLOATN_NX_BUILTINS (BUILT_IN_LGAMMA, "lgamma", LGAMMA_TYPE, ATTR_MATHFN_FPROUNDING_STORE) -#undef LGAMMA_TYPE -DEF_EXT_LIB_BUILTIN (BUILT_IN_LGAMMA_R, "lgamma_r", BT_FN_DOUBLE_DOUBLE_INTPTR, ATTR_MATHFN_FPROUNDING_STORE) -DEF_EXT_LIB_BUILTIN (BUILT_IN_LGAMMAF_R, "lgammaf_r", BT_FN_FLOAT_FLOAT_INTPTR, ATTR_MATHFN_FPROUNDING_STORE) -DEF_EXT_LIB_BUILTIN (BUILT_IN_LGAMMAL_R, "lgammal_r", BT_FN_LONGDOUBLE_LONGDOUBLE_INTPTR, ATTR_MATHFN_FPROUNDING_STORE) -DEF_GCC_BUILTIN (BUILT_IN_LLCEIL, "llceil", BT_FN_LONGLONG_DOUBLE, ATTR_CONST_NOTHROW_LEAF_LIST) -DEF_GCC_BUILTIN (BUILT_IN_LLCEILF, "llceilf", BT_FN_LONGLONG_FLOAT, ATTR_CONST_NOTHROW_LEAF_LIST) -DEF_GCC_BUILTIN (BUILT_IN_LLCEILL, "llceill", BT_FN_LONGLONG_LONGDOUBLE, ATTR_CONST_NOTHROW_LEAF_LIST) -DEF_GCC_BUILTIN (BUILT_IN_LLFLOOR, "llfloor", BT_FN_LONGLONG_DOUBLE, ATTR_CONST_NOTHROW_LEAF_LIST) -DEF_GCC_BUILTIN (BUILT_IN_LLFLOORF, "llfloorf", BT_FN_LONGLONG_FLOAT, ATTR_CONST_NOTHROW_LEAF_LIST) -DEF_GCC_BUILTIN (BUILT_IN_LLFLOORL, "llfloorl", BT_FN_LONGLONG_LONGDOUBLE, ATTR_CONST_NOTHROW_LEAF_LIST) -DEF_C99_BUILTIN (BUILT_IN_LLRINT, "llrint", BT_FN_LONGLONG_DOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO) -DEF_C99_BUILTIN (BUILT_IN_LLRINTF, "llrintf", BT_FN_LONGLONG_FLOAT, ATTR_MATHFN_FPROUNDING_ERRNO) -DEF_C99_BUILTIN (BUILT_IN_LLRINTL, "llrintl", BT_FN_LONGLONG_LONGDOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO) -#define LLRINT_TYPE(F) BT_FN_LONGLONG_##F -DEF_EXT_LIB_FLOATN_NX_BUILTINS (BUILT_IN_LLRINT, "llrint", LLRINT_TYPE, ATTR_MATHFN_FPROUNDING_ERRNO) -DEF_C99_BUILTIN (BUILT_IN_LLROUND, "llround", BT_FN_LONGLONG_DOUBLE, ATTR_MATHFN_ERRNO) -DEF_C99_BUILTIN (BUILT_IN_LLROUNDF, "llroundf", BT_FN_LONGLONG_FLOAT, ATTR_MATHFN_ERRNO) -DEF_C99_BUILTIN (BUILT_IN_LLROUNDL, "llroundl", BT_FN_LONGLONG_LONGDOUBLE, ATTR_MATHFN_ERRNO) -DEF_EXT_LIB_FLOATN_NX_BUILTINS (BUILT_IN_LLROUND, "llround", LLRINT_TYPE, ATTR_MATHFN_FPROUNDING_ERRNO) -#undef LLRINT_TYPE -DEF_LIB_BUILTIN (BUILT_IN_LOG, "log", BT_FN_DOUBLE_DOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO) -DEF_LIB_BUILTIN (BUILT_IN_LOG10, "log10", BT_FN_DOUBLE_DOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO) -DEF_C99_C90RES_BUILTIN (BUILT_IN_LOG10F, "log10f", BT_FN_FLOAT_FLOAT, ATTR_MATHFN_FPROUNDING_ERRNO) -DEF_C99_C90RES_BUILTIN (BUILT_IN_LOG10L, "log10l", BT_FN_LONGDOUBLE_LONGDOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO) -#define LOG10_TYPE(F) BT_FN_##F##_##F -DEF_EXT_LIB_FLOATN_NX_BUILTINS (BUILT_IN_LOG10, "log10", LOG10_TYPE, ATTR_MATHFN_FPROUNDING_ERRNO) -DEF_C99_BUILTIN (BUILT_IN_LOG1P, "log1p", BT_FN_DOUBLE_DOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO) -DEF_C99_BUILTIN (BUILT_IN_LOG1PF, "log1pf", BT_FN_FLOAT_FLOAT, ATTR_MATHFN_FPROUNDING_ERRNO) -DEF_C99_BUILTIN (BUILT_IN_LOG1PL, "log1pl", BT_FN_LONGDOUBLE_LONGDOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO) -DEF_EXT_LIB_FLOATN_NX_BUILTINS (BUILT_IN_LOG1P, "log1p", LOG10_TYPE, ATTR_MATHFN_FPROUNDING_ERRNO) -DEF_C99_BUILTIN (BUILT_IN_LOG2, "log2", BT_FN_DOUBLE_DOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO) -DEF_C99_BUILTIN (BUILT_IN_LOG2F, "log2f", BT_FN_FLOAT_FLOAT, ATTR_MATHFN_FPROUNDING_ERRNO) -DEF_C99_BUILTIN (BUILT_IN_LOG2L, "log2l", BT_FN_LONGDOUBLE_LONGDOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO) -DEF_EXT_LIB_FLOATN_NX_BUILTINS (BUILT_IN_LOG2, "log2", LOG10_TYPE, ATTR_MATHFN_FPROUNDING_ERRNO) -DEF_C99_BUILTIN (BUILT_IN_LOGB, "logb", BT_FN_DOUBLE_DOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO) -DEF_C99_BUILTIN (BUILT_IN_LOGBF, "logbf", BT_FN_FLOAT_FLOAT, ATTR_MATHFN_FPROUNDING_ERRNO) -DEF_C99_BUILTIN (BUILT_IN_LOGBL, "logbl", BT_FN_LONGDOUBLE_LONGDOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO) -DEF_EXT_LIB_FLOATN_NX_BUILTINS (BUILT_IN_LOGB, "logb", LOG10_TYPE, ATTR_MATHFN_FPROUNDING_ERRNO) -DEF_C99_C90RES_BUILTIN (BUILT_IN_LOGF, "logf", BT_FN_FLOAT_FLOAT, ATTR_MATHFN_FPROUNDING_ERRNO) -DEF_C99_C90RES_BUILTIN (BUILT_IN_LOGL, "logl", BT_FN_LONGDOUBLE_LONGDOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO) -DEF_EXT_LIB_FLOATN_NX_BUILTINS (BUILT_IN_LOG, "log", LOG10_TYPE, ATTR_MATHFN_FPROUNDING_ERRNO) -#undef LOG10_TYPE -DEF_C99_BUILTIN (BUILT_IN_LRINT, "lrint", BT_FN_LONG_DOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO) -DEF_C99_BUILTIN (BUILT_IN_LRINTF, "lrintf", BT_FN_LONG_FLOAT, ATTR_MATHFN_FPROUNDING_ERRNO) -DEF_C99_BUILTIN (BUILT_IN_LRINTL, "lrintl", BT_FN_LONG_LONGDOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO) -#define LRINT_TYPE(F) BT_FN_LONG_##F -DEF_EXT_LIB_FLOATN_NX_BUILTINS (BUILT_IN_LRINT, "lrint", LRINT_TYPE, ATTR_MATHFN_FPROUNDING_ERRNO) -DEF_C99_BUILTIN (BUILT_IN_LROUND, "lround", BT_FN_LONG_DOUBLE, ATTR_MATHFN_ERRNO) -DEF_C99_BUILTIN (BUILT_IN_LROUNDF, "lroundf", BT_FN_LONG_FLOAT, ATTR_MATHFN_ERRNO) -DEF_C99_BUILTIN (BUILT_IN_LROUNDL, "lroundl", BT_FN_LONG_LONGDOUBLE, ATTR_MATHFN_ERRNO) -DEF_EXT_LIB_FLOATN_NX_BUILTINS (BUILT_IN_LROUND, "lround", LRINT_TYPE, ATTR_MATHFN_FPROUNDING_ERRNO) -#undef LRINT_TYPE -DEF_LIB_BUILTIN (BUILT_IN_MODF, "modf", BT_FN_DOUBLE_DOUBLE_DOUBLEPTR, ATTR_MATHFN_FPROUNDING_STORE) -DEF_C99_C90RES_BUILTIN (BUILT_IN_MODFF, "modff", BT_FN_FLOAT_FLOAT_FLOATPTR, ATTR_MATHFN_FPROUNDING_STORE) -DEF_C99_C90RES_BUILTIN (BUILT_IN_MODFL, "modfl", BT_FN_LONGDOUBLE_LONGDOUBLE_LONGDOUBLEPTR, ATTR_MATHFN_FPROUNDING_STORE) -#define MODF_TYPE(F) BT_FN_##F##_##F##_##F##PTR -DEF_EXT_LIB_FLOATN_NX_BUILTINS (BUILT_IN_MODF, "modf", MODF_TYPE, ATTR_MATHFN_FPROUNDING_STORE) -#undef MODF_TYPE -DEF_C99_BUILTIN (BUILT_IN_NAN, "nan", BT_FN_DOUBLE_CONST_STRING, ATTR_CONST_NOTHROW_NONNULL) -DEF_C99_BUILTIN (BUILT_IN_NANF, "nanf", BT_FN_FLOAT_CONST_STRING, ATTR_CONST_NOTHROW_NONNULL) -DEF_C99_BUILTIN (BUILT_IN_NANL, "nanl", BT_FN_LONGDOUBLE_CONST_STRING, ATTR_CONST_NOTHROW_NONNULL) -#define NAN_TYPE(F) BT_FN_##F##_CONST_STRING -DEF_EXT_LIB_FLOATN_NX_BUILTINS (BUILT_IN_NAN, "nan", NAN_TYPE, ATTR_CONST_NOTHROW_NONNULL) -DEF_C2X_BUILTIN (BUILT_IN_NAND32, "nand32", BT_FN_DFLOAT32_CONST_STRING, ATTR_CONST_NOTHROW_NONNULL) -DEF_C2X_BUILTIN (BUILT_IN_NAND64, "nand64", BT_FN_DFLOAT64_CONST_STRING, ATTR_CONST_NOTHROW_NONNULL) -DEF_C2X_BUILTIN (BUILT_IN_NAND128, "nand128", BT_FN_DFLOAT128_CONST_STRING, ATTR_CONST_NOTHROW_NONNULL) -DEF_GCC_BUILTIN (BUILT_IN_NANS, "nans", BT_FN_DOUBLE_CONST_STRING, ATTR_CONST_NOTHROW_NONNULL) -DEF_GCC_BUILTIN (BUILT_IN_NANSF, "nansf", BT_FN_FLOAT_CONST_STRING, ATTR_CONST_NOTHROW_NONNULL) -DEF_GCC_BUILTIN (BUILT_IN_NANSL, "nansl", BT_FN_LONGDOUBLE_CONST_STRING, ATTR_CONST_NOTHROW_NONNULL) -DEF_GCC_FLOATN_NX_BUILTINS (BUILT_IN_NANS, "nans", NAN_TYPE, ATTR_CONST_NOTHROW_NONNULL) -#undef NAN_TYPE -DEF_GCC_BUILTIN (BUILT_IN_NANSF16B, "nansf16b", BT_FN_BFLOAT16_CONST_STRING, ATTR_CONST_NOTHROW_NONNULL) -DEF_GCC_BUILTIN (BUILT_IN_NANSD32, "nansd32", BT_FN_DFLOAT32_CONST_STRING, ATTR_CONST_NOTHROW_NONNULL) -DEF_GCC_BUILTIN (BUILT_IN_NANSD64, "nansd64", BT_FN_DFLOAT64_CONST_STRING, ATTR_CONST_NOTHROW_NONNULL) -DEF_GCC_BUILTIN (BUILT_IN_NANSD128, "nansd128", BT_FN_DFLOAT128_CONST_STRING, ATTR_CONST_NOTHROW_NONNULL) -DEF_C99_BUILTIN (BUILT_IN_NEARBYINT, "nearbyint", BT_FN_DOUBLE_DOUBLE, ATTR_CONST_NOTHROW_LEAF_LIST) -DEF_C99_BUILTIN (BUILT_IN_NEARBYINTF, "nearbyintf", BT_FN_FLOAT_FLOAT, ATTR_CONST_NOTHROW_LEAF_LIST) -DEF_C99_BUILTIN (BUILT_IN_NEARBYINTL, "nearbyintl", BT_FN_LONGDOUBLE_LONGDOUBLE, ATTR_CONST_NOTHROW_LEAF_LIST) -#define NEARBYINT_TYPE(F) BT_FN_##F##_##F -DEF_EXT_LIB_FLOATN_NX_BUILTINS (BUILT_IN_NEARBYINT, "nearbyint", NEARBYINT_TYPE, ATTR_CONST_NOTHROW_LEAF_LIST) -#undef NEARBYINT_TYPE -DEF_C99_BUILTIN (BUILT_IN_NEXTAFTER, "nextafter", BT_FN_DOUBLE_DOUBLE_DOUBLE, ATTR_MATHFN_ERRNO) -DEF_C99_BUILTIN (BUILT_IN_NEXTAFTERF, "nextafterf", BT_FN_FLOAT_FLOAT_FLOAT, ATTR_MATHFN_ERRNO) -DEF_C99_BUILTIN (BUILT_IN_NEXTAFTERL, "nextafterl", BT_FN_LONGDOUBLE_LONGDOUBLE_LONGDOUBLE, ATTR_MATHFN_ERRNO) -#define NEXTAFTER_TYPE(F) BT_FN_##F##_##F##_##F -DEF_EXT_LIB_FLOATN_NX_BUILTINS (BUILT_IN_NEXTAFTER, "nextafter", NEXTAFTER_TYPE, ATTR_MATHFN_ERRNO) -DEF_GCC_BUILTIN (BUILT_IN_NEXTAFTERF16B, "nextafterf16b", BT_FN_BFLOAT16_BFLOAT16_BFLOAT16, ATTR_MATHFN_ERRNO) -DEF_C99_BUILTIN (BUILT_IN_NEXTTOWARD, "nexttoward", BT_FN_DOUBLE_DOUBLE_LONGDOUBLE, ATTR_MATHFN_ERRNO) -DEF_C99_BUILTIN (BUILT_IN_NEXTTOWARDF, "nexttowardf", BT_FN_FLOAT_FLOAT_LONGDOUBLE, ATTR_MATHFN_ERRNO) -DEF_C99_BUILTIN (BUILT_IN_NEXTTOWARDL, "nexttowardl", BT_FN_LONGDOUBLE_LONGDOUBLE_LONGDOUBLE, ATTR_MATHFN_ERRNO) -DEF_LIB_BUILTIN (BUILT_IN_POW, "pow", BT_FN_DOUBLE_DOUBLE_DOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO) -DEF_EXT_LIB_BUILTIN (BUILT_IN_POW10, "pow10", BT_FN_DOUBLE_DOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO) -DEF_EXT_LIB_BUILTIN (BUILT_IN_POW10F, "pow10f", BT_FN_FLOAT_FLOAT, ATTR_MATHFN_FPROUNDING_ERRNO) -DEF_EXT_LIB_BUILTIN (BUILT_IN_POW10L, "pow10l", BT_FN_LONGDOUBLE_LONGDOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO) -DEF_C99_C90RES_BUILTIN (BUILT_IN_POWF, "powf", BT_FN_FLOAT_FLOAT_FLOAT, ATTR_MATHFN_FPROUNDING_ERRNO) -DEF_GCC_BUILTIN (BUILT_IN_POWI, "powi", BT_FN_DOUBLE_DOUBLE_INT, ATTR_MATHFN_FPROUNDING) -DEF_GCC_BUILTIN (BUILT_IN_POWIF, "powif", BT_FN_FLOAT_FLOAT_INT, ATTR_MATHFN_FPROUNDING) -DEF_GCC_BUILTIN (BUILT_IN_POWIL, "powil", BT_FN_LONGDOUBLE_LONGDOUBLE_INT, ATTR_MATHFN_FPROUNDING) -DEF_C99_C90RES_BUILTIN (BUILT_IN_POWL, "powl", BT_FN_LONGDOUBLE_LONGDOUBLE_LONGDOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO) -DEF_EXT_LIB_FLOATN_NX_BUILTINS (BUILT_IN_POW, "pow", NEXTAFTER_TYPE, ATTR_MATHFN_FPROUNDING_ERRNO) -DEF_C99_BUILTIN (BUILT_IN_REMAINDER, "remainder", BT_FN_DOUBLE_DOUBLE_DOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO) -DEF_C99_BUILTIN (BUILT_IN_REMAINDERF, "remainderf", BT_FN_FLOAT_FLOAT_FLOAT, ATTR_MATHFN_FPROUNDING_ERRNO) -DEF_C99_BUILTIN (BUILT_IN_REMAINDERL, "remainderl", BT_FN_LONGDOUBLE_LONGDOUBLE_LONGDOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO) -DEF_EXT_LIB_FLOATN_NX_BUILTINS (BUILT_IN_REMAINDER, "remainder", NEXTAFTER_TYPE, ATTR_MATHFN_FPROUNDING_ERRNO) -#undef NEXTAFTER_TYPE -DEF_C99_BUILTIN (BUILT_IN_REMQUO, "remquo", BT_FN_DOUBLE_DOUBLE_DOUBLE_INTPTR, ATTR_MATHFN_FPROUNDING_STORE) -DEF_C99_BUILTIN (BUILT_IN_REMQUOF, "remquof", BT_FN_FLOAT_FLOAT_FLOAT_INTPTR, ATTR_MATHFN_FPROUNDING_STORE) -DEF_C99_BUILTIN (BUILT_IN_REMQUOL, "remquol", BT_FN_LONGDOUBLE_LONGDOUBLE_LONGDOUBLE_INTPTR, ATTR_MATHFN_FPROUNDING_STORE) -#define REMQUO_TYPE(F) BT_FN_##F##_##F##_##F##_INTPTR -DEF_EXT_LIB_FLOATN_NX_BUILTINS (BUILT_IN_REMQUO, "remquo", REMQUO_TYPE, ATTR_MATHFN_FPROUNDING_STORE) -#undef REMQUO_TYPE -DEF_C99_BUILTIN (BUILT_IN_RINT, "rint", BT_FN_DOUBLE_DOUBLE, ATTR_MATHFN_FPROUNDING) -DEF_C99_BUILTIN (BUILT_IN_RINTF, "rintf", BT_FN_FLOAT_FLOAT, ATTR_MATHFN_FPROUNDING) -DEF_C99_BUILTIN (BUILT_IN_RINTL, "rintl", BT_FN_LONGDOUBLE_LONGDOUBLE, ATTR_MATHFN_FPROUNDING) -#define RINT_TYPE(F) BT_FN_##F##_##F -DEF_EXT_LIB_FLOATN_NX_BUILTINS (BUILT_IN_RINT, "rint", RINT_TYPE, ATTR_CONST_NOTHROW_LEAF_LIST) -#undef RINT_TYPE -DEF_C2X_BUILTIN (BUILT_IN_ROUNDEVEN, "roundeven", BT_FN_DOUBLE_DOUBLE, ATTR_CONST_NOTHROW_LEAF_LIST) -DEF_C2X_BUILTIN (BUILT_IN_ROUNDEVENF, "roundevenf", BT_FN_FLOAT_FLOAT, ATTR_CONST_NOTHROW_LEAF_LIST) -DEF_C2X_BUILTIN (BUILT_IN_ROUNDEVENL, "roundevenl", BT_FN_LONGDOUBLE_LONGDOUBLE, ATTR_CONST_NOTHROW_LEAF_LIST) -DEF_C99_BUILTIN (BUILT_IN_ROUND, "round", BT_FN_DOUBLE_DOUBLE, ATTR_CONST_NOTHROW_LEAF_LIST) -DEF_C99_BUILTIN (BUILT_IN_ROUNDF, "roundf", BT_FN_FLOAT_FLOAT, ATTR_CONST_NOTHROW_LEAF_LIST) -DEF_C99_BUILTIN (BUILT_IN_ROUNDL, "roundl", BT_FN_LONGDOUBLE_LONGDOUBLE, ATTR_CONST_NOTHROW_LEAF_LIST) -#define ROUND_TYPE(F) BT_FN_##F##_##F -DEF_EXT_LIB_FLOATN_NX_BUILTINS (BUILT_IN_ROUND, "round", ROUND_TYPE, ATTR_CONST_NOTHROW_LEAF_LIST) -#undef ROUND_TYPE -#define ROUNDEVEN_TYPE(F) BT_FN_##F##_##F -DEF_EXT_LIB_FLOATN_NX_BUILTINS (BUILT_IN_ROUNDEVEN, "roundeven", ROUNDEVEN_TYPE, ATTR_CONST_NOTHROW_LEAF_LIST) -#undef ROUNDEVEN_TYPE -DEF_EXT_LIB_BUILTIN (BUILT_IN_SCALB, "scalb", BT_FN_DOUBLE_DOUBLE_DOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO) -DEF_EXT_LIB_BUILTIN (BUILT_IN_SCALBF, "scalbf", BT_FN_FLOAT_FLOAT_FLOAT, ATTR_MATHFN_FPROUNDING_ERRNO) -DEF_EXT_LIB_BUILTIN (BUILT_IN_SCALBL, "scalbl", BT_FN_LONGDOUBLE_LONGDOUBLE_LONGDOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO) -DEF_C99_BUILTIN (BUILT_IN_SCALBLN, "scalbln", BT_FN_DOUBLE_DOUBLE_LONG, ATTR_MATHFN_FPROUNDING_ERRNO) -DEF_C99_BUILTIN (BUILT_IN_SCALBLNF, "scalblnf", BT_FN_FLOAT_FLOAT_LONG, ATTR_MATHFN_FPROUNDING_ERRNO) -DEF_C99_BUILTIN (BUILT_IN_SCALBLNL, "scalblnl", BT_FN_LONGDOUBLE_LONGDOUBLE_LONG, ATTR_MATHFN_FPROUNDING_ERRNO) -#define SCALBLN_TYPE(F) BT_FN_##F##_##F##_LONG -DEF_EXT_LIB_FLOATN_NX_BUILTINS (BUILT_IN_SCALBLN, "scalbln", SCALBLN_TYPE, ATTR_MATHFN_FPROUNDING_ERRNO) -#undef SCALBLN_TYPE -DEF_C99_BUILTIN (BUILT_IN_SCALBN, "scalbn", BT_FN_DOUBLE_DOUBLE_INT, ATTR_MATHFN_FPROUNDING_ERRNO) -DEF_C99_BUILTIN (BUILT_IN_SCALBNF, "scalbnf", BT_FN_FLOAT_FLOAT_INT, ATTR_MATHFN_FPROUNDING_ERRNO) -DEF_C99_BUILTIN (BUILT_IN_SCALBNL, "scalbnl", BT_FN_LONGDOUBLE_LONGDOUBLE_INT, ATTR_MATHFN_FPROUNDING_ERRNO) -#define SCALBN_TYPE(F) BT_FN_##F##_##F##_INT -DEF_EXT_LIB_FLOATN_NX_BUILTINS (BUILT_IN_SCALBN, "scalbn", SCALBN_TYPE, ATTR_MATHFN_FPROUNDING_ERRNO) -#undef SCALBN_TYPE -DEF_EXT_LIB_BUILTIN (BUILT_IN_SIGNBIT, "signbit", BT_FN_INT_VAR, ATTR_CONST_NOTHROW_TYPEGENERIC_LEAF) -DEF_EXT_LIB_BUILTIN (BUILT_IN_SIGNBITF, "signbitf", BT_FN_INT_FLOAT, ATTR_CONST_NOTHROW_LEAF_LIST) -DEF_EXT_LIB_BUILTIN (BUILT_IN_SIGNBITL, "signbitl", BT_FN_INT_LONGDOUBLE, ATTR_CONST_NOTHROW_LEAF_LIST) -DEF_EXT_LIB_BUILTIN (BUILT_IN_SIGNBITD32, "signbitd32", BT_FN_INT_DFLOAT32, ATTR_CONST_NOTHROW_LEAF_LIST) -DEF_EXT_LIB_BUILTIN (BUILT_IN_SIGNBITD64, "signbitd64", BT_FN_INT_DFLOAT64, ATTR_CONST_NOTHROW_LEAF_LIST) -DEF_EXT_LIB_BUILTIN (BUILT_IN_SIGNBITD128, "signbitd128", BT_FN_INT_DFLOAT128, ATTR_CONST_NOTHROW_LEAF_LIST) -DEF_EXT_LIB_BUILTIN (BUILT_IN_SIGNIFICAND, "significand", BT_FN_DOUBLE_DOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO) -DEF_EXT_LIB_BUILTIN (BUILT_IN_SIGNIFICANDF, "significandf", BT_FN_FLOAT_FLOAT, ATTR_MATHFN_FPROUNDING_ERRNO) -DEF_EXT_LIB_BUILTIN (BUILT_IN_SIGNIFICANDL, "significandl", BT_FN_LONGDOUBLE_LONGDOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO) -DEF_LIB_BUILTIN (BUILT_IN_SIN, "sin", BT_FN_DOUBLE_DOUBLE, ATTR_MATHFN_FPROUNDING) -DEF_EXT_LIB_BUILTIN (BUILT_IN_SINCOS, "sincos", BT_FN_VOID_DOUBLE_DOUBLEPTR_DOUBLEPTR, ATTR_MATHFN_FPROUNDING_STORE) -DEF_EXT_LIB_BUILTIN (BUILT_IN_SINCOSF, "sincosf", BT_FN_VOID_FLOAT_FLOATPTR_FLOATPTR, ATTR_MATHFN_FPROUNDING_STORE) -DEF_EXT_LIB_BUILTIN (BUILT_IN_SINCOSL, "sincosl", BT_FN_VOID_LONGDOUBLE_LONGDOUBLEPTR_LONGDOUBLEPTR, ATTR_MATHFN_FPROUNDING_STORE) -DEF_C99_C90RES_BUILTIN (BUILT_IN_SINF, "sinf", BT_FN_FLOAT_FLOAT, ATTR_MATHFN_FPROUNDING) -DEF_LIB_BUILTIN (BUILT_IN_SINH, "sinh", BT_FN_DOUBLE_DOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO) -DEF_C99_C90RES_BUILTIN (BUILT_IN_SINHF, "sinhf", BT_FN_FLOAT_FLOAT, ATTR_MATHFN_FPROUNDING_ERRNO) -DEF_C99_C90RES_BUILTIN (BUILT_IN_SINHL, "sinhl", BT_FN_LONGDOUBLE_LONGDOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO) -#define SINH_TYPE(F) BT_FN_##F##_##F -DEF_EXT_LIB_FLOATN_NX_BUILTINS (BUILT_IN_SINH, "sinh", SINH_TYPE, ATTR_MATHFN_FPROUNDING_ERRNO) -DEF_C99_C90RES_BUILTIN (BUILT_IN_SINL, "sinl", BT_FN_LONGDOUBLE_LONGDOUBLE, ATTR_MATHFN_FPROUNDING) -DEF_EXT_LIB_FLOATN_NX_BUILTINS (BUILT_IN_SIN, "sin", SINH_TYPE, ATTR_MATHFN_FPROUNDING) -#undef SINH_TYPE -DEF_LIB_BUILTIN (BUILT_IN_SQRT, "sqrt", BT_FN_DOUBLE_DOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO) -DEF_C99_C90RES_BUILTIN (BUILT_IN_SQRTF, "sqrtf", BT_FN_FLOAT_FLOAT, ATTR_MATHFN_FPROUNDING_ERRNO) -DEF_C99_C90RES_BUILTIN (BUILT_IN_SQRTL, "sqrtl", BT_FN_LONGDOUBLE_LONGDOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO) -#define SQRT_TYPE(F) BT_FN_##F##_##F -DEF_EXT_LIB_FLOATN_NX_BUILTINS (BUILT_IN_SQRT, "sqrt", SQRT_TYPE, ATTR_MATHFN_FPROUNDING_ERRNO) -DEF_LIB_BUILTIN (BUILT_IN_TAN, "tan", BT_FN_DOUBLE_DOUBLE, ATTR_MATHFN_FPROUNDING) -DEF_C99_C90RES_BUILTIN (BUILT_IN_TANF, "tanf", BT_FN_FLOAT_FLOAT, ATTR_MATHFN_FPROUNDING) -DEF_LIB_BUILTIN (BUILT_IN_TANH, "tanh", BT_FN_DOUBLE_DOUBLE, ATTR_MATHFN_FPROUNDING) -DEF_C99_C90RES_BUILTIN (BUILT_IN_TANHF, "tanhf", BT_FN_FLOAT_FLOAT, ATTR_MATHFN_FPROUNDING) -DEF_C99_C90RES_BUILTIN (BUILT_IN_TANHL, "tanhl", BT_FN_LONGDOUBLE_LONGDOUBLE, ATTR_MATHFN_FPROUNDING) -DEF_EXT_LIB_FLOATN_NX_BUILTINS (BUILT_IN_TANH, "tanh", SQRT_TYPE, ATTR_MATHFN_FPROUNDING) -DEF_C99_C90RES_BUILTIN (BUILT_IN_TANL, "tanl", BT_FN_LONGDOUBLE_LONGDOUBLE, ATTR_MATHFN_FPROUNDING) -DEF_EXT_LIB_FLOATN_NX_BUILTINS (BUILT_IN_TAN, "tan", SQRT_TYPE, ATTR_MATHFN_FPROUNDING) -DEF_C99_BUILTIN (BUILT_IN_TGAMMA, "tgamma", BT_FN_DOUBLE_DOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO) -DEF_C99_BUILTIN (BUILT_IN_TGAMMAF, "tgammaf", BT_FN_FLOAT_FLOAT, ATTR_MATHFN_FPROUNDING_ERRNO) -DEF_C99_BUILTIN (BUILT_IN_TGAMMAL, "tgammal", BT_FN_LONGDOUBLE_LONGDOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO) -DEF_EXT_LIB_FLOATN_NX_BUILTINS (BUILT_IN_TGAMMA, "tgamma", SQRT_TYPE, ATTR_MATHFN_FPROUNDING_ERRNO) -#undef SQRT_TYPE -DEF_C99_BUILTIN (BUILT_IN_TRUNC, "trunc", BT_FN_DOUBLE_DOUBLE, ATTR_CONST_NOTHROW_LEAF_LIST) -DEF_C99_BUILTIN (BUILT_IN_TRUNCF, "truncf", BT_FN_FLOAT_FLOAT, ATTR_CONST_NOTHROW_LEAF_LIST) -DEF_C99_BUILTIN (BUILT_IN_TRUNCL, "truncl", BT_FN_LONGDOUBLE_LONGDOUBLE, ATTR_CONST_NOTHROW_LEAF_LIST) -#define TRUNC_TYPE(F) BT_FN_##F##_##F -DEF_EXT_LIB_FLOATN_NX_BUILTINS (BUILT_IN_TRUNC, "trunc", TRUNC_TYPE, ATTR_CONST_NOTHROW_LEAF_LIST) -#undef TRUNC_TYPE -DEF_EXT_LIB_BUILTIN (BUILT_IN_Y0, "y0", BT_FN_DOUBLE_DOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO) -DEF_EXT_LIB_BUILTIN (BUILT_IN_Y0F, "y0f", BT_FN_FLOAT_FLOAT, ATTR_MATHFN_FPROUNDING_ERRNO) -DEF_EXT_LIB_BUILTIN (BUILT_IN_Y0L, "y0l", BT_FN_LONGDOUBLE_LONGDOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO) -DEF_EXT_LIB_BUILTIN (BUILT_IN_Y1, "y1", BT_FN_DOUBLE_DOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO) -DEF_EXT_LIB_BUILTIN (BUILT_IN_Y1F, "y1f", BT_FN_FLOAT_FLOAT, ATTR_MATHFN_FPROUNDING_ERRNO) -DEF_EXT_LIB_BUILTIN (BUILT_IN_Y1L, "y1l", BT_FN_LONGDOUBLE_LONGDOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO) -DEF_EXT_LIB_BUILTIN (BUILT_IN_YN, "yn", BT_FN_DOUBLE_INT_DOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO) -DEF_EXT_LIB_BUILTIN (BUILT_IN_YNF, "ynf", BT_FN_FLOAT_INT_FLOAT, ATTR_MATHFN_FPROUNDING_ERRNO) -DEF_EXT_LIB_BUILTIN (BUILT_IN_YNL, "ynl", BT_FN_LONGDOUBLE_INT_LONGDOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO) - -/* Category: _Complex math builtins. */ -DEF_C99_COMPL_BUILTIN (BUILT_IN_CABS, "cabs", BT_FN_DOUBLE_COMPLEX_DOUBLE, ATTR_MATHFN_FPROUNDING) -DEF_C99_COMPL_BUILTIN (BUILT_IN_CABSF, "cabsf", BT_FN_FLOAT_COMPLEX_FLOAT, ATTR_MATHFN_FPROUNDING) -DEF_C99_COMPL_BUILTIN (BUILT_IN_CABSL, "cabsl", BT_FN_LONGDOUBLE_COMPLEX_LONGDOUBLE, ATTR_MATHFN_FPROUNDING) -#define CABS_TYPE(F) BT_FN_##F##_COMPLEX_##F -DEF_EXT_LIB_FLOATN_NX_BUILTINS (BUILT_IN_CABS, "cabs", CABS_TYPE, ATTR_MATHFN_FPROUNDING) -#undef CABS_TYPE -DEF_C99_COMPL_BUILTIN (BUILT_IN_CACOS, "cacos", BT_FN_COMPLEX_DOUBLE_COMPLEX_DOUBLE, ATTR_MATHFN_FPROUNDING) -DEF_C99_COMPL_BUILTIN (BUILT_IN_CACOSF, "cacosf", BT_FN_COMPLEX_FLOAT_COMPLEX_FLOAT, ATTR_MATHFN_FPROUNDING) -DEF_C99_COMPL_BUILTIN (BUILT_IN_CACOSH, "cacosh", BT_FN_COMPLEX_DOUBLE_COMPLEX_DOUBLE, ATTR_MATHFN_FPROUNDING) -DEF_C99_COMPL_BUILTIN (BUILT_IN_CACOSHF, "cacoshf", BT_FN_COMPLEX_FLOAT_COMPLEX_FLOAT, ATTR_MATHFN_FPROUNDING) -DEF_C99_COMPL_BUILTIN (BUILT_IN_CACOSHL, "cacoshl", BT_FN_COMPLEX_LONGDOUBLE_COMPLEX_LONGDOUBLE, ATTR_MATHFN_FPROUNDING) -#define CACOSH_TYPE(F) BT_FN_COMPLEX_##F##_COMPLEX_##F -DEF_EXT_LIB_FLOATN_NX_BUILTINS (BUILT_IN_CACOSH, "cacosh", CACOSH_TYPE, ATTR_MATHFN_FPROUNDING) -DEF_C99_COMPL_BUILTIN (BUILT_IN_CACOSL, "cacosl", BT_FN_COMPLEX_LONGDOUBLE_COMPLEX_LONGDOUBLE, ATTR_MATHFN_FPROUNDING) -DEF_EXT_LIB_FLOATN_NX_BUILTINS (BUILT_IN_CACOS, "cacos", CACOSH_TYPE, ATTR_MATHFN_FPROUNDING) -#undef CACOSH_TYPE -DEF_C99_COMPL_BUILTIN (BUILT_IN_CARG, "carg", BT_FN_DOUBLE_COMPLEX_DOUBLE, ATTR_MATHFN_FPROUNDING) -DEF_C99_COMPL_BUILTIN (BUILT_IN_CARGF, "cargf", BT_FN_FLOAT_COMPLEX_FLOAT, ATTR_MATHFN_FPROUNDING) -DEF_C99_COMPL_BUILTIN (BUILT_IN_CARGL, "cargl", BT_FN_LONGDOUBLE_COMPLEX_LONGDOUBLE, ATTR_MATHFN_FPROUNDING) -#define CARG_TYPE(F) BT_FN_##F##_COMPLEX_##F -DEF_EXT_LIB_FLOATN_NX_BUILTINS (BUILT_IN_CARG, "carg", CARG_TYPE, ATTR_MATHFN_FPROUNDING) -#undef CARG_TYPE -DEF_C99_COMPL_BUILTIN (BUILT_IN_CASIN, "casin", BT_FN_COMPLEX_DOUBLE_COMPLEX_DOUBLE, ATTR_MATHFN_FPROUNDING) -DEF_C99_COMPL_BUILTIN (BUILT_IN_CASINF, "casinf", BT_FN_COMPLEX_FLOAT_COMPLEX_FLOAT, ATTR_MATHFN_FPROUNDING) -DEF_C99_COMPL_BUILTIN (BUILT_IN_CASINH, "casinh", BT_FN_COMPLEX_DOUBLE_COMPLEX_DOUBLE, ATTR_MATHFN_FPROUNDING) -DEF_C99_COMPL_BUILTIN (BUILT_IN_CASINHF, "casinhf", BT_FN_COMPLEX_FLOAT_COMPLEX_FLOAT, ATTR_MATHFN_FPROUNDING) -DEF_C99_COMPL_BUILTIN (BUILT_IN_CASINHL, "casinhl", BT_FN_COMPLEX_LONGDOUBLE_COMPLEX_LONGDOUBLE, ATTR_MATHFN_FPROUNDING) -#define CASINH_TYPE(F) BT_FN_COMPLEX_##F##_COMPLEX_##F -DEF_EXT_LIB_FLOATN_NX_BUILTINS (BUILT_IN_CASINH, "casinh", CASINH_TYPE, ATTR_MATHFN_FPROUNDING) -DEF_C99_COMPL_BUILTIN (BUILT_IN_CASINL, "casinl", BT_FN_COMPLEX_LONGDOUBLE_COMPLEX_LONGDOUBLE, ATTR_MATHFN_FPROUNDING) -DEF_EXT_LIB_FLOATN_NX_BUILTINS (BUILT_IN_CASIN, "casin", CASINH_TYPE, ATTR_MATHFN_FPROUNDING) -DEF_C99_COMPL_BUILTIN (BUILT_IN_CATAN, "catan", BT_FN_COMPLEX_DOUBLE_COMPLEX_DOUBLE, ATTR_MATHFN_FPROUNDING) -DEF_C99_COMPL_BUILTIN (BUILT_IN_CATANF, "catanf", BT_FN_COMPLEX_FLOAT_COMPLEX_FLOAT, ATTR_MATHFN_FPROUNDING) -DEF_C99_COMPL_BUILTIN (BUILT_IN_CATANH, "catanh", BT_FN_COMPLEX_DOUBLE_COMPLEX_DOUBLE, ATTR_MATHFN_FPROUNDING) -DEF_C99_COMPL_BUILTIN (BUILT_IN_CATANHF, "catanhf", BT_FN_COMPLEX_FLOAT_COMPLEX_FLOAT, ATTR_MATHFN_FPROUNDING) -DEF_C99_COMPL_BUILTIN (BUILT_IN_CATANHL, "catanhl", BT_FN_COMPLEX_LONGDOUBLE_COMPLEX_LONGDOUBLE, ATTR_MATHFN_FPROUNDING) -DEF_EXT_LIB_FLOATN_NX_BUILTINS (BUILT_IN_CATANH, "catanh", CASINH_TYPE, ATTR_MATHFN_FPROUNDING) -DEF_C99_COMPL_BUILTIN (BUILT_IN_CATANL, "catanl", BT_FN_COMPLEX_LONGDOUBLE_COMPLEX_LONGDOUBLE, ATTR_MATHFN_FPROUNDING) -DEF_EXT_LIB_FLOATN_NX_BUILTINS (BUILT_IN_CATAN, "catan", CASINH_TYPE, ATTR_MATHFN_FPROUNDING) -DEF_C99_COMPL_BUILTIN (BUILT_IN_CCOS, "ccos", BT_FN_COMPLEX_DOUBLE_COMPLEX_DOUBLE, ATTR_MATHFN_FPROUNDING) -DEF_C99_COMPL_BUILTIN (BUILT_IN_CCOSF, "ccosf", BT_FN_COMPLEX_FLOAT_COMPLEX_FLOAT, ATTR_MATHFN_FPROUNDING) -DEF_C99_COMPL_BUILTIN (BUILT_IN_CCOSH, "ccosh", BT_FN_COMPLEX_DOUBLE_COMPLEX_DOUBLE, ATTR_MATHFN_FPROUNDING) -DEF_C99_COMPL_BUILTIN (BUILT_IN_CCOSHF, "ccoshf", BT_FN_COMPLEX_FLOAT_COMPLEX_FLOAT, ATTR_MATHFN_FPROUNDING) -DEF_C99_COMPL_BUILTIN (BUILT_IN_CCOSHL, "ccoshl", BT_FN_COMPLEX_LONGDOUBLE_COMPLEX_LONGDOUBLE, ATTR_MATHFN_FPROUNDING) -DEF_EXT_LIB_FLOATN_NX_BUILTINS (BUILT_IN_CCOSH, "ccosh", CASINH_TYPE, ATTR_MATHFN_FPROUNDING) -DEF_C99_COMPL_BUILTIN (BUILT_IN_CCOSL, "ccosl", BT_FN_COMPLEX_LONGDOUBLE_COMPLEX_LONGDOUBLE, ATTR_MATHFN_FPROUNDING) -DEF_EXT_LIB_FLOATN_NX_BUILTINS (BUILT_IN_CCOS, "ccos", CASINH_TYPE, ATTR_MATHFN_FPROUNDING) -DEF_C99_COMPL_BUILTIN (BUILT_IN_CEXP, "cexp", BT_FN_COMPLEX_DOUBLE_COMPLEX_DOUBLE, ATTR_MATHFN_FPROUNDING) -DEF_C99_COMPL_BUILTIN (BUILT_IN_CEXPF, "cexpf", BT_FN_COMPLEX_FLOAT_COMPLEX_FLOAT, ATTR_MATHFN_FPROUNDING) -DEF_C99_COMPL_BUILTIN (BUILT_IN_CEXPL, "cexpl", BT_FN_COMPLEX_LONGDOUBLE_COMPLEX_LONGDOUBLE, ATTR_MATHFN_FPROUNDING) -DEF_EXT_LIB_FLOATN_NX_BUILTINS (BUILT_IN_CEXP, "cexp", CASINH_TYPE, ATTR_MATHFN_FPROUNDING) -DEF_GCC_BUILTIN (BUILT_IN_CEXPI, "cexpi", BT_FN_COMPLEX_DOUBLE_DOUBLE, ATTR_MATHFN_FPROUNDING) -DEF_GCC_BUILTIN (BUILT_IN_CEXPIF, "cexpif", BT_FN_COMPLEX_FLOAT_FLOAT, ATTR_MATHFN_FPROUNDING) -DEF_GCC_BUILTIN (BUILT_IN_CEXPIL, "cexpil", BT_FN_COMPLEX_LONGDOUBLE_LONGDOUBLE, ATTR_MATHFN_FPROUNDING) -DEF_C99_COMPL_BUILTIN (BUILT_IN_CIMAG, "cimag", BT_FN_DOUBLE_COMPLEX_DOUBLE, ATTR_CONST_NOTHROW_LEAF_LIST) -DEF_C99_COMPL_BUILTIN (BUILT_IN_CIMAGF, "cimagf", BT_FN_FLOAT_COMPLEX_FLOAT, ATTR_CONST_NOTHROW_LEAF_LIST) -DEF_C99_COMPL_BUILTIN (BUILT_IN_CIMAGL, "cimagl", BT_FN_LONGDOUBLE_COMPLEX_LONGDOUBLE, ATTR_CONST_NOTHROW_LEAF_LIST) -DEF_C99_COMPL_BUILTIN (BUILT_IN_CLOG, "clog", BT_FN_COMPLEX_DOUBLE_COMPLEX_DOUBLE, ATTR_MATHFN_FPROUNDING) -DEF_C99_COMPL_BUILTIN (BUILT_IN_CLOGF, "clogf", BT_FN_COMPLEX_FLOAT_COMPLEX_FLOAT, ATTR_MATHFN_FPROUNDING) -DEF_C99_COMPL_BUILTIN (BUILT_IN_CLOGL, "clogl", BT_FN_COMPLEX_LONGDOUBLE_COMPLEX_LONGDOUBLE, ATTR_MATHFN_FPROUNDING) -DEF_EXT_LIB_FLOATN_NX_BUILTINS (BUILT_IN_CLOG, "clog", CASINH_TYPE, ATTR_MATHFN_FPROUNDING) -#undef CASINH_TYPE -DEF_EXT_C99RES_BUILTIN (BUILT_IN_CLOG10, "clog10", BT_FN_COMPLEX_DOUBLE_COMPLEX_DOUBLE, ATTR_MATHFN_FPROUNDING) -DEF_EXT_C99RES_BUILTIN (BUILT_IN_CLOG10F, "clog10f", BT_FN_COMPLEX_FLOAT_COMPLEX_FLOAT, ATTR_MATHFN_FPROUNDING) -DEF_EXT_C99RES_BUILTIN (BUILT_IN_CLOG10L, "clog10l", BT_FN_COMPLEX_LONGDOUBLE_COMPLEX_LONGDOUBLE, ATTR_MATHFN_FPROUNDING) -DEF_C99_COMPL_BUILTIN (BUILT_IN_CONJ, "conj", BT_FN_COMPLEX_DOUBLE_COMPLEX_DOUBLE, ATTR_CONST_NOTHROW_LEAF_LIST) -DEF_C99_COMPL_BUILTIN (BUILT_IN_CONJF, "conjf", BT_FN_COMPLEX_FLOAT_COMPLEX_FLOAT, ATTR_CONST_NOTHROW_LEAF_LIST) -DEF_C99_COMPL_BUILTIN (BUILT_IN_CONJL, "conjl", BT_FN_COMPLEX_LONGDOUBLE_COMPLEX_LONGDOUBLE, ATTR_CONST_NOTHROW_LEAF_LIST) -DEF_C99_COMPL_BUILTIN (BUILT_IN_CPOW, "cpow", BT_FN_COMPLEX_DOUBLE_COMPLEX_DOUBLE_COMPLEX_DOUBLE, ATTR_MATHFN_FPROUNDING) -DEF_C99_COMPL_BUILTIN (BUILT_IN_CPOWF, "cpowf", BT_FN_COMPLEX_FLOAT_COMPLEX_FLOAT_COMPLEX_FLOAT, ATTR_MATHFN_FPROUNDING) -DEF_C99_COMPL_BUILTIN (BUILT_IN_CPOWL, "cpowl", BT_FN_COMPLEX_LONGDOUBLE_COMPLEX_LONGDOUBLE_COMPLEX_LONGDOUBLE, ATTR_MATHFN_FPROUNDING) -#define CPOW_TYPE(F) BT_FN_COMPLEX_##F##_COMPLEX_##F##_COMPLEX_##F -DEF_EXT_LIB_FLOATN_NX_BUILTINS (BUILT_IN_CPOW, "cpow", CPOW_TYPE, ATTR_MATHFN_FPROUNDING) -#undef CPOW_TYPE -DEF_C99_COMPL_BUILTIN (BUILT_IN_CPROJ, "cproj", BT_FN_COMPLEX_DOUBLE_COMPLEX_DOUBLE, ATTR_CONST_NOTHROW_LEAF_LIST) -DEF_C99_COMPL_BUILTIN (BUILT_IN_CPROJF, "cprojf", BT_FN_COMPLEX_FLOAT_COMPLEX_FLOAT, ATTR_CONST_NOTHROW_LEAF_LIST) -DEF_C99_COMPL_BUILTIN (BUILT_IN_CPROJL, "cprojl", BT_FN_COMPLEX_LONGDOUBLE_COMPLEX_LONGDOUBLE, ATTR_CONST_NOTHROW_LEAF_LIST) -#define CPROJ_TYPE(F) BT_FN_COMPLEX_##F##_COMPLEX_##F -DEF_EXT_LIB_FLOATN_NX_BUILTINS (BUILT_IN_CPROJ, "cproj", CPROJ_TYPE, ATTR_CONST_NOTHROW_LEAF_LIST) -DEF_C99_COMPL_BUILTIN (BUILT_IN_CREAL, "creal", BT_FN_DOUBLE_COMPLEX_DOUBLE, ATTR_CONST_NOTHROW_LEAF_LIST) -DEF_C99_COMPL_BUILTIN (BUILT_IN_CREALF, "crealf", BT_FN_FLOAT_COMPLEX_FLOAT, ATTR_CONST_NOTHROW_LEAF_LIST) -DEF_C99_COMPL_BUILTIN (BUILT_IN_CREALL, "creall", BT_FN_LONGDOUBLE_COMPLEX_LONGDOUBLE, ATTR_CONST_NOTHROW_LEAF_LIST) -DEF_C99_COMPL_BUILTIN (BUILT_IN_CSIN, "csin", BT_FN_COMPLEX_DOUBLE_COMPLEX_DOUBLE, ATTR_MATHFN_FPROUNDING) -DEF_C99_COMPL_BUILTIN (BUILT_IN_CSINF, "csinf", BT_FN_COMPLEX_FLOAT_COMPLEX_FLOAT, ATTR_MATHFN_FPROUNDING) -DEF_C99_COMPL_BUILTIN (BUILT_IN_CSINH, "csinh", BT_FN_COMPLEX_DOUBLE_COMPLEX_DOUBLE, ATTR_MATHFN_FPROUNDING) -DEF_C99_COMPL_BUILTIN (BUILT_IN_CSINHF, "csinhf", BT_FN_COMPLEX_FLOAT_COMPLEX_FLOAT, ATTR_MATHFN_FPROUNDING) -DEF_C99_COMPL_BUILTIN (BUILT_IN_CSINHL, "csinhl", BT_FN_COMPLEX_LONGDOUBLE_COMPLEX_LONGDOUBLE, ATTR_MATHFN_FPROUNDING) -DEF_EXT_LIB_FLOATN_NX_BUILTINS (BUILT_IN_CSINH, "csinh", CPROJ_TYPE, ATTR_MATHFN_FPROUNDING) -DEF_C99_COMPL_BUILTIN (BUILT_IN_CSINL, "csinl", BT_FN_COMPLEX_LONGDOUBLE_COMPLEX_LONGDOUBLE, ATTR_MATHFN_FPROUNDING) -DEF_EXT_LIB_FLOATN_NX_BUILTINS (BUILT_IN_CSIN, "csin", CPROJ_TYPE, ATTR_MATHFN_FPROUNDING) -DEF_C99_COMPL_BUILTIN (BUILT_IN_CSQRT, "csqrt", BT_FN_COMPLEX_DOUBLE_COMPLEX_DOUBLE, ATTR_MATHFN_FPROUNDING) -DEF_C99_COMPL_BUILTIN (BUILT_IN_CSQRTF, "csqrtf", BT_FN_COMPLEX_FLOAT_COMPLEX_FLOAT, ATTR_MATHFN_FPROUNDING) -DEF_C99_COMPL_BUILTIN (BUILT_IN_CSQRTL, "csqrtl", BT_FN_COMPLEX_LONGDOUBLE_COMPLEX_LONGDOUBLE, ATTR_MATHFN_FPROUNDING) -DEF_EXT_LIB_FLOATN_NX_BUILTINS (BUILT_IN_CSQRT, "csqrt", CPROJ_TYPE, ATTR_MATHFN_FPROUNDING) -DEF_C99_COMPL_BUILTIN (BUILT_IN_CTAN, "ctan", BT_FN_COMPLEX_DOUBLE_COMPLEX_DOUBLE, ATTR_MATHFN_FPROUNDING) -DEF_C99_COMPL_BUILTIN (BUILT_IN_CTANF, "ctanf", BT_FN_COMPLEX_FLOAT_COMPLEX_FLOAT, ATTR_MATHFN_FPROUNDING) -DEF_C99_COMPL_BUILTIN (BUILT_IN_CTANH, "ctanh", BT_FN_COMPLEX_DOUBLE_COMPLEX_DOUBLE, ATTR_MATHFN_FPROUNDING) -DEF_C99_COMPL_BUILTIN (BUILT_IN_CTANHF, "ctanhf", BT_FN_COMPLEX_FLOAT_COMPLEX_FLOAT, ATTR_MATHFN_FPROUNDING) -DEF_C99_COMPL_BUILTIN (BUILT_IN_CTANHL, "ctanhl", BT_FN_COMPLEX_LONGDOUBLE_COMPLEX_LONGDOUBLE, ATTR_MATHFN_FPROUNDING) -DEF_EXT_LIB_FLOATN_NX_BUILTINS (BUILT_IN_CTANH, "ctanh", CPROJ_TYPE, ATTR_MATHFN_FPROUNDING) -DEF_C99_COMPL_BUILTIN (BUILT_IN_CTANL, "ctanl", BT_FN_COMPLEX_LONGDOUBLE_COMPLEX_LONGDOUBLE, ATTR_MATHFN_FPROUNDING) -DEF_EXT_LIB_FLOATN_NX_BUILTINS (BUILT_IN_CTAN, "ctan", CPROJ_TYPE, ATTR_MATHFN_FPROUNDING) -#undef CPROJ_TYPE - -/* Category: string/memory builtins. */ -DEF_EXT_LIB_BUILTIN (BUILT_IN_BCMP, "bcmp", BT_FN_INT_CONST_PTR_CONST_PTR_SIZE, ATTR_PURE_NOTHROW_NONNULL_LEAF) -DEF_EXT_LIB_BUILTIN (BUILT_IN_BCOPY, "bcopy", BT_FN_VOID_CONST_PTR_PTR_SIZE, ATTR_NOTHROW_NONNULL_LEAF) -DEF_EXT_LIB_BUILTIN (BUILT_IN_BZERO, "bzero", BT_FN_VOID_PTR_SIZE, ATTR_NOTHROW_NONNULL_LEAF) -DEF_EXT_LIB_BUILTIN (BUILT_IN_INDEX, "index", BT_FN_STRING_CONST_STRING_INT, ATTR_PURE_NOTHROW_NONNULL_LEAF) -DEF_LIB_BUILTIN (BUILT_IN_MEMCHR, "memchr", BT_FN_PTR_CONST_PTR_INT_SIZE, ATTR_PURE_NOTHROW_NONNULL_LEAF) -DEF_LIB_BUILTIN (BUILT_IN_MEMCMP, "memcmp", BT_FN_INT_CONST_PTR_CONST_PTR_SIZE, ATTR_PURE_NOTHROW_NONNULL_LEAF) -DEF_LIB_BUILTIN (BUILT_IN_MEMCPY, "memcpy", BT_FN_PTR_PTR_CONST_PTR_SIZE, ATTR_NOTHROW_NONNULL_LEAF) -DEF_LIB_BUILTIN (BUILT_IN_MEMMOVE, "memmove", BT_FN_PTR_PTR_CONST_PTR_SIZE, ATTR_NOTHROW_NONNULL_LEAF) -DEF_EXT_LIB_BUILTIN (BUILT_IN_MEMPCPY, "mempcpy", BT_FN_PTR_PTR_CONST_PTR_SIZE, ATTR_RETNONNULL_NOTHROW_LEAF) -DEF_LIB_BUILTIN (BUILT_IN_MEMSET, "memset", BT_FN_PTR_PTR_INT_SIZE, ATTR_NOTHROW_NONNULL_LEAF) -DEF_EXT_LIB_BUILTIN (BUILT_IN_RINDEX, "rindex", BT_FN_STRING_CONST_STRING_INT, ATTR_PURE_NOTHROW_NONNULL_LEAF) -DEF_EXT_LIB_BUILTIN (BUILT_IN_STPCPY, "stpcpy", BT_FN_STRING_STRING_CONST_STRING, ATTR_RETNONNULL_NOTHROW_LEAF) -DEF_EXT_LIB_BUILTIN (BUILT_IN_STPNCPY, "stpncpy", BT_FN_STRING_STRING_CONST_STRING_SIZE, ATTR_RETNONNULL_NOTHROW_LEAF) -DEF_EXT_LIB_BUILTIN (BUILT_IN_STRCASECMP, "strcasecmp", BT_FN_INT_CONST_STRING_CONST_STRING, ATTR_PURE_NOTHROW_NONNULL_LEAF) -DEF_LIB_BUILTIN (BUILT_IN_STRCAT, "strcat", BT_FN_STRING_STRING_CONST_STRING, ATTR_NOTHROW_NONNULL_LEAF) -DEF_LIB_BUILTIN (BUILT_IN_STRCHR, "strchr", BT_FN_STRING_CONST_STRING_INT, ATTR_PURE_NOTHROW_NONNULL_LEAF) -DEF_LIB_BUILTIN (BUILT_IN_STRCMP, "strcmp", BT_FN_INT_CONST_STRING_CONST_STRING, ATTR_PURE_NOTHROW_NONNULL_LEAF) -DEF_LIB_BUILTIN (BUILT_IN_STRCPY, "strcpy", BT_FN_STRING_STRING_CONST_STRING, ATTR_NOTHROW_NONNULL_LEAF) -DEF_LIB_BUILTIN (BUILT_IN_STRCSPN, "strcspn", BT_FN_SIZE_CONST_STRING_CONST_STRING, ATTR_PURE_NOTHROW_NONNULL_LEAF) -DEF_C2X_BUILTIN (BUILT_IN_STRDUP, "strdup", BT_FN_STRING_CONST_STRING, ATTR_MALLOC_WARN_UNUSED_RESULT_NOTHROW_NONNULL_LEAF) -DEF_C2X_BUILTIN (BUILT_IN_STRNDUP, "strndup", BT_FN_STRING_CONST_STRING_SIZE, ATTR_MALLOC_WARN_UNUSED_RESULT_NOTHROW_NONNULL_LEAF) -DEF_LIB_BUILTIN (BUILT_IN_STRLEN, "strlen", BT_FN_SIZE_CONST_STRING, ATTR_PURE_NOTHROW_NONNULL_LEAF) -DEF_EXT_LIB_BUILTIN (BUILT_IN_STRNCASECMP, "strncasecmp", BT_FN_INT_CONST_STRING_CONST_STRING_SIZE, ATTR_PURE_NOTHROW_NONNULL_LEAF) -DEF_LIB_BUILTIN (BUILT_IN_STRNCAT, "strncat", BT_FN_STRING_STRING_CONST_STRING_SIZE, ATTR_NOTHROW_NONNULL_LEAF) -DEF_LIB_BUILTIN (BUILT_IN_STRNCMP, "strncmp", BT_FN_INT_CONST_STRING_CONST_STRING_SIZE, ATTR_PURE_NOTHROW_NONNULL_LEAF) -DEF_LIB_BUILTIN (BUILT_IN_STRNCPY, "strncpy", BT_FN_STRING_STRING_CONST_STRING_SIZE, ATTR_NOTHROW_NONNULL_LEAF) -DEF_EXT_LIB_BUILTIN (BUILT_IN_STRNLEN, "strnlen", BT_FN_SIZE_CONST_STRING_SIZE, ATTR_PURE_NOTHROW_NONNULL_LEAF) -DEF_LIB_BUILTIN (BUILT_IN_STRPBRK, "strpbrk", BT_FN_STRING_CONST_STRING_CONST_STRING, ATTR_PURE_NOTHROW_NONNULL_LEAF) -DEF_LIB_BUILTIN (BUILT_IN_STRRCHR, "strrchr", BT_FN_STRING_CONST_STRING_INT, ATTR_PURE_NOTHROW_NONNULL_LEAF) -DEF_LIB_BUILTIN (BUILT_IN_STRSPN, "strspn", BT_FN_SIZE_CONST_STRING_CONST_STRING, ATTR_PURE_NOTHROW_NONNULL_LEAF) -DEF_LIB_BUILTIN (BUILT_IN_STRSTR, "strstr", BT_FN_STRING_CONST_STRING_CONST_STRING, ATTR_PURE_NOTHROW_NONNULL_LEAF) - -/* Category: stdio builtins. */ -DEF_LIB_BUILTIN (BUILT_IN_FPRINTF, "fprintf", BT_FN_INT_FILEPTR_CONST_STRING_VAR, ATTR_NONNULL_1_FORMAT_PRINTF_2_3) -DEF_EXT_LIB_BUILTIN (BUILT_IN_FPRINTF_UNLOCKED, "fprintf_unlocked", BT_FN_INT_FILEPTR_CONST_STRING_VAR, ATTR_NONNULL_1_FORMAT_PRINTF_2_3) -DEF_LIB_BUILTIN (BUILT_IN_PUTC, "putc", BT_FN_INT_INT_FILEPTR, ATTR_NONNULL_LIST) -DEF_EXT_LIB_BUILTIN (BUILT_IN_PUTC_UNLOCKED, "putc_unlocked", BT_FN_INT_INT_FILEPTR, ATTR_NONNULL_LIST) -DEF_LIB_BUILTIN (BUILT_IN_FPUTC, "fputc", BT_FN_INT_INT_FILEPTR, ATTR_NONNULL_LIST) -DEF_EXT_LIB_BUILTIN (BUILT_IN_FPUTC_UNLOCKED, "fputc_unlocked", BT_FN_INT_INT_FILEPTR, ATTR_NONNULL_LIST) -DEF_LIB_BUILTIN (BUILT_IN_FPUTS, "fputs", BT_FN_INT_CONST_STRING_FILEPTR, ATTR_NONNULL_LIST) -DEF_EXT_LIB_BUILTIN (BUILT_IN_FPUTS_UNLOCKED, "fputs_unlocked", BT_FN_INT_CONST_STRING_FILEPTR, ATTR_NONNULL_LIST) -DEF_LIB_BUILTIN (BUILT_IN_FSCANF, "fscanf", BT_FN_INT_FILEPTR_CONST_STRING_VAR, ATTR_FORMAT_SCANF_2_3) -DEF_LIB_BUILTIN (BUILT_IN_FWRITE, "fwrite", BT_FN_SIZE_CONST_PTR_SIZE_SIZE_FILEPTR, ATTR_NONNULL_LIST) -DEF_EXT_LIB_BUILTIN (BUILT_IN_FWRITE_UNLOCKED, "fwrite_unlocked", BT_FN_SIZE_CONST_PTR_SIZE_SIZE_FILEPTR, ATTR_NONNULL_LIST) -DEF_LIB_BUILTIN (BUILT_IN_PRINTF, "printf", BT_FN_INT_CONST_STRING_VAR, ATTR_FORMAT_PRINTF_1_2) -DEF_EXT_LIB_BUILTIN (BUILT_IN_PRINTF_UNLOCKED, "printf_unlocked", BT_FN_INT_CONST_STRING_VAR, ATTR_NONNULL_1_FORMAT_PRINTF_1_2) -DEF_LIB_BUILTIN (BUILT_IN_PUTCHAR, "putchar", BT_FN_INT_INT, ATTR_NULL) -DEF_EXT_LIB_BUILTIN (BUILT_IN_PUTCHAR_UNLOCKED, "putchar_unlocked", BT_FN_INT_INT, ATTR_NULL) -DEF_LIB_BUILTIN (BUILT_IN_PUTS, "puts", BT_FN_INT_CONST_STRING, ATTR_NONNULL_LIST) -DEF_EXT_LIB_BUILTIN (BUILT_IN_PUTS_UNLOCKED, "puts_unlocked", BT_FN_INT_CONST_STRING, ATTR_NONNULL_LIST) -DEF_LIB_BUILTIN (BUILT_IN_SCANF, "scanf", BT_FN_INT_CONST_STRING_VAR, ATTR_FORMAT_SCANF_1_2) -DEF_C99_BUILTIN (BUILT_IN_SNPRINTF, "snprintf", BT_FN_INT_STRING_SIZE_CONST_STRING_VAR, ATTR_FORMAT_PRINTF_NOTHROW_3_4) - -DEF_LIB_BUILTIN (BUILT_IN_SPRINTF, "sprintf", BT_FN_INT_STRING_CONST_STRING_VAR, ATTR_NOTHROW_NONNULL_1_FORMAT_PRINTF_2_3) -DEF_LIB_BUILTIN (BUILT_IN_SSCANF, "sscanf", BT_FN_INT_CONST_STRING_CONST_STRING_VAR, ATTR_FORMAT_SCANF_NOTHROW_2_3) -DEF_LIB_BUILTIN (BUILT_IN_VFPRINTF, "vfprintf", BT_FN_INT_FILEPTR_CONST_STRING_VALIST_ARG, ATTR_NONNULL_1_FORMAT_PRINTF_2_0) -DEF_C99_BUILTIN (BUILT_IN_VFSCANF, "vfscanf", BT_FN_INT_FILEPTR_CONST_STRING_VALIST_ARG, ATTR_FORMAT_SCANF_2_0) -DEF_LIB_BUILTIN (BUILT_IN_VPRINTF, "vprintf", BT_FN_INT_CONST_STRING_VALIST_ARG, ATTR_FORMAT_PRINTF_1_0) -DEF_C99_BUILTIN (BUILT_IN_VSCANF, "vscanf", BT_FN_INT_CONST_STRING_VALIST_ARG, ATTR_FORMAT_SCANF_1_0) -DEF_C99_BUILTIN (BUILT_IN_VSNPRINTF, "vsnprintf", BT_FN_INT_STRING_SIZE_CONST_STRING_VALIST_ARG, ATTR_FORMAT_PRINTF_NOTHROW_3_0) -DEF_LIB_BUILTIN (BUILT_IN_VSPRINTF, "vsprintf", BT_FN_INT_STRING_CONST_STRING_VALIST_ARG, ATTR_NOTHROW_NONNULL_1_FORMAT_PRINTF_2_0) -DEF_C99_BUILTIN (BUILT_IN_VSSCANF, "vsscanf", BT_FN_INT_CONST_STRING_CONST_STRING_VALIST_ARG, ATTR_FORMAT_SCANF_NOTHROW_2_0) - -/* Category: ctype builtins. */ -DEF_LIB_BUILTIN (BUILT_IN_ISALNUM, "isalnum", BT_FN_INT_INT, ATTR_PURE_NOTHROW_LEAF_LIST) -DEF_LIB_BUILTIN (BUILT_IN_ISALPHA, "isalpha", BT_FN_INT_INT, ATTR_PURE_NOTHROW_LEAF_LIST) -DEF_EXT_LIB_BUILTIN (BUILT_IN_ISASCII, "isascii", BT_FN_INT_INT, ATTR_CONST_NOTHROW_LEAF_LIST) -DEF_C99_BUILTIN (BUILT_IN_ISBLANK, "isblank", BT_FN_INT_INT, ATTR_PURE_NOTHROW_LEAF_LIST) -DEF_LIB_BUILTIN (BUILT_IN_ISCNTRL, "iscntrl", BT_FN_INT_INT, ATTR_PURE_NOTHROW_LEAF_LIST) -DEF_LIB_BUILTIN (BUILT_IN_ISDIGIT, "isdigit", BT_FN_INT_INT, ATTR_CONST_NOTHROW_LEAF_LIST) -DEF_LIB_BUILTIN (BUILT_IN_ISGRAPH, "isgraph", BT_FN_INT_INT, ATTR_PURE_NOTHROW_LEAF_LIST) -DEF_LIB_BUILTIN (BUILT_IN_ISLOWER, "islower", BT_FN_INT_INT, ATTR_PURE_NOTHROW_LEAF_LIST) -DEF_LIB_BUILTIN (BUILT_IN_ISPRINT, "isprint", BT_FN_INT_INT, ATTR_PURE_NOTHROW_LEAF_LIST) -DEF_LIB_BUILTIN (BUILT_IN_ISPUNCT, "ispunct", BT_FN_INT_INT, ATTR_PURE_NOTHROW_LEAF_LIST) -DEF_LIB_BUILTIN (BUILT_IN_ISSPACE, "isspace", BT_FN_INT_INT, ATTR_PURE_NOTHROW_LEAF_LIST) -DEF_LIB_BUILTIN (BUILT_IN_ISUPPER, "isupper", BT_FN_INT_INT, ATTR_PURE_NOTHROW_LEAF_LIST) -DEF_LIB_BUILTIN (BUILT_IN_ISXDIGIT, "isxdigit", BT_FN_INT_INT, ATTR_CONST_NOTHROW_LEAF_LIST) -DEF_EXT_LIB_BUILTIN (BUILT_IN_TOASCII, "toascii", BT_FN_INT_INT, ATTR_CONST_NOTHROW_LEAF_LIST) -DEF_LIB_BUILTIN (BUILT_IN_TOLOWER, "tolower", BT_FN_INT_INT, ATTR_PURE_NOTHROW_LEAF_LIST) -DEF_LIB_BUILTIN (BUILT_IN_TOUPPER, "toupper", BT_FN_INT_INT, ATTR_PURE_NOTHROW_LEAF_LIST) - -/* Category: wctype builtins. */ -DEF_C94_BUILTIN (BUILT_IN_ISWALNUM, "iswalnum", BT_FN_INT_WINT, ATTR_PURE_NOTHROW_LEAF_LIST) -DEF_C94_BUILTIN (BUILT_IN_ISWALPHA, "iswalpha", BT_FN_INT_WINT, ATTR_PURE_NOTHROW_LEAF_LIST) -DEF_C99_BUILTIN (BUILT_IN_ISWBLANK, "iswblank", BT_FN_INT_WINT, ATTR_PURE_NOTHROW_LEAF_LIST) -DEF_C94_BUILTIN (BUILT_IN_ISWCNTRL, "iswcntrl", BT_FN_INT_WINT, ATTR_PURE_NOTHROW_LEAF_LIST) -DEF_C94_BUILTIN (BUILT_IN_ISWDIGIT, "iswdigit", BT_FN_INT_WINT, ATTR_PURE_NOTHROW_LEAF_LIST) -DEF_C94_BUILTIN (BUILT_IN_ISWGRAPH, "iswgraph", BT_FN_INT_WINT, ATTR_PURE_NOTHROW_LEAF_LIST) -DEF_C94_BUILTIN (BUILT_IN_ISWLOWER, "iswlower", BT_FN_INT_WINT, ATTR_PURE_NOTHROW_LEAF_LIST) -DEF_C94_BUILTIN (BUILT_IN_ISWPRINT, "iswprint", BT_FN_INT_WINT, ATTR_PURE_NOTHROW_LEAF_LIST) -DEF_C94_BUILTIN (BUILT_IN_ISWPUNCT, "iswpunct", BT_FN_INT_WINT, ATTR_PURE_NOTHROW_LEAF_LIST) -DEF_C94_BUILTIN (BUILT_IN_ISWSPACE, "iswspace", BT_FN_INT_WINT, ATTR_PURE_NOTHROW_LEAF_LIST) -DEF_C94_BUILTIN (BUILT_IN_ISWUPPER, "iswupper", BT_FN_INT_WINT, ATTR_PURE_NOTHROW_LEAF_LIST) -DEF_C94_BUILTIN (BUILT_IN_ISWXDIGIT, "iswxdigit", BT_FN_INT_WINT, ATTR_PURE_NOTHROW_LEAF_LIST) -DEF_C94_BUILTIN (BUILT_IN_TOWLOWER, "towlower", BT_FN_WINT_WINT, ATTR_PURE_NOTHROW_LEAF_LIST) -DEF_C94_BUILTIN (BUILT_IN_TOWUPPER, "towupper", BT_FN_WINT_WINT, ATTR_PURE_NOTHROW_LEAF_LIST) - -/* Category: integer overflow checking builtins. */ -DEF_GCC_BUILTIN (BUILT_IN_ADD_OVERFLOW, "add_overflow", BT_FN_BOOL_VAR, ATTR_NOTHROW_NONNULL_TYPEGENERIC_LEAF) -DEF_GCC_BUILTIN (BUILT_IN_SUB_OVERFLOW, "sub_overflow", BT_FN_BOOL_VAR, ATTR_NOTHROW_NONNULL_TYPEGENERIC_LEAF) -DEF_GCC_BUILTIN (BUILT_IN_MUL_OVERFLOW, "mul_overflow", BT_FN_BOOL_VAR, ATTR_NOTHROW_NONNULL_TYPEGENERIC_LEAF) -DEF_GCC_BUILTIN (BUILT_IN_ADD_OVERFLOW_P, "add_overflow_p", BT_FN_BOOL_VAR, ATTR_CONST_NOTHROW_TYPEGENERIC_LEAF) -DEF_GCC_BUILTIN (BUILT_IN_SUB_OVERFLOW_P, "sub_overflow_p", BT_FN_BOOL_VAR, ATTR_CONST_NOTHROW_TYPEGENERIC_LEAF) -DEF_GCC_BUILTIN (BUILT_IN_MUL_OVERFLOW_P, "mul_overflow_p", BT_FN_BOOL_VAR, ATTR_CONST_NOTHROW_TYPEGENERIC_LEAF) -/* Clang compatibility. */ -DEF_GCC_BUILTIN (BUILT_IN_SADD_OVERFLOW, "sadd_overflow", BT_FN_BOOL_INT_INT_INTPTR, ATTR_NOTHROW_NONNULL_LEAF_LIST) -DEF_GCC_BUILTIN (BUILT_IN_SADDL_OVERFLOW, "saddl_overflow", BT_FN_BOOL_LONG_LONG_LONGPTR, ATTR_NOTHROW_NONNULL_LEAF_LIST) -DEF_GCC_BUILTIN (BUILT_IN_SADDLL_OVERFLOW, "saddll_overflow", BT_FN_BOOL_LONGLONG_LONGLONG_LONGLONGPTR, ATTR_NOTHROW_NONNULL_LEAF_LIST) -DEF_GCC_BUILTIN (BUILT_IN_SSUB_OVERFLOW, "ssub_overflow", BT_FN_BOOL_INT_INT_INTPTR, ATTR_NOTHROW_NONNULL_LEAF_LIST) -DEF_GCC_BUILTIN (BUILT_IN_SSUBL_OVERFLOW, "ssubl_overflow", BT_FN_BOOL_LONG_LONG_LONGPTR, ATTR_NOTHROW_NONNULL_LEAF_LIST) -DEF_GCC_BUILTIN (BUILT_IN_SSUBLL_OVERFLOW, "ssubll_overflow", BT_FN_BOOL_LONGLONG_LONGLONG_LONGLONGPTR, ATTR_NOTHROW_NONNULL_LEAF_LIST) -DEF_GCC_BUILTIN (BUILT_IN_SMUL_OVERFLOW, "smul_overflow", BT_FN_BOOL_INT_INT_INTPTR, ATTR_NOTHROW_NONNULL_LEAF_LIST) -DEF_GCC_BUILTIN (BUILT_IN_SMULL_OVERFLOW, "smull_overflow", BT_FN_BOOL_LONG_LONG_LONGPTR, ATTR_NOTHROW_NONNULL_LEAF_LIST) -DEF_GCC_BUILTIN (BUILT_IN_SMULLL_OVERFLOW, "smulll_overflow", BT_FN_BOOL_LONGLONG_LONGLONG_LONGLONGPTR, ATTR_NOTHROW_NONNULL_LEAF_LIST) -DEF_GCC_BUILTIN (BUILT_IN_UADD_OVERFLOW, "uadd_overflow", BT_FN_BOOL_UINT_UINT_UINTPTR, ATTR_NOTHROW_NONNULL_LEAF_LIST) -DEF_GCC_BUILTIN (BUILT_IN_UADDL_OVERFLOW, "uaddl_overflow", BT_FN_BOOL_ULONG_ULONG_ULONGPTR, ATTR_NOTHROW_NONNULL_LEAF_LIST) -DEF_GCC_BUILTIN (BUILT_IN_UADDLL_OVERFLOW, "uaddll_overflow", BT_FN_BOOL_ULONGLONG_ULONGLONG_ULONGLONGPTR, ATTR_NOTHROW_NONNULL_LEAF_LIST) -DEF_GCC_BUILTIN (BUILT_IN_USUB_OVERFLOW, "usub_overflow", BT_FN_BOOL_UINT_UINT_UINTPTR, ATTR_NOTHROW_NONNULL_LEAF_LIST) -DEF_GCC_BUILTIN (BUILT_IN_USUBL_OVERFLOW, "usubl_overflow", BT_FN_BOOL_ULONG_ULONG_ULONGPTR, ATTR_NOTHROW_NONNULL_LEAF_LIST) -DEF_GCC_BUILTIN (BUILT_IN_USUBLL_OVERFLOW, "usubll_overflow", BT_FN_BOOL_ULONGLONG_ULONGLONG_ULONGLONGPTR, ATTR_NOTHROW_NONNULL_LEAF_LIST) -DEF_GCC_BUILTIN (BUILT_IN_UMUL_OVERFLOW, "umul_overflow", BT_FN_BOOL_UINT_UINT_UINTPTR, ATTR_NOTHROW_NONNULL_LEAF_LIST) -DEF_GCC_BUILTIN (BUILT_IN_UMULL_OVERFLOW, "umull_overflow", BT_FN_BOOL_ULONG_ULONG_ULONGPTR, ATTR_NOTHROW_NONNULL_LEAF_LIST) -DEF_GCC_BUILTIN (BUILT_IN_UMULLL_OVERFLOW, "umulll_overflow", BT_FN_BOOL_ULONGLONG_ULONGLONG_ULONGLONGPTR, ATTR_NOTHROW_NONNULL_LEAF_LIST) - -/* Category: miscellaneous builtins. */ -DEF_LIB_BUILTIN (BUILT_IN_ABORT, "abort", BT_FN_VOID, ATTR_TMPURE_NORETURN_NOTHROW_LEAF_COLD_LIST) -DEF_LIB_BUILTIN (BUILT_IN_ABS, "abs", BT_FN_INT_INT, ATTR_CONST_NOTHROW_LEAF_LIST) -DEF_GCC_BUILTIN (BUILT_IN_AGGREGATE_INCOMING_ADDRESS, "aggregate_incoming_address", BT_FN_PTR_VAR, ATTR_LEAF_LIST) -DEF_EXT_LIB_BUILTIN (BUILT_IN_ALLOCA, "alloca", BT_FN_PTR_SIZE, ATTR_ALLOCA_WARN_UNUSED_RESULT_SIZE_1_NOTHROW_LEAF_LIST) -DEF_GCC_BUILTIN (BUILT_IN_APPLY, "apply", BT_FN_PTR_PTR_FN_VOID_VAR_PTR_SIZE, ATTR_NULL) -DEF_GCC_BUILTIN (BUILT_IN_APPLY_ARGS, "apply_args", BT_FN_PTR_VAR, ATTR_LEAF_LIST) -DEF_GCC_BUILTIN (BUILT_IN_BSWAP16, "bswap16", BT_FN_UINT16_UINT16, ATTR_CONST_NOTHROW_LEAF_LIST) -DEF_GCC_BUILTIN (BUILT_IN_BSWAP32, "bswap32", BT_FN_UINT32_UINT32, ATTR_CONST_NOTHROW_LEAF_LIST) -DEF_GCC_BUILTIN (BUILT_IN_BSWAP64, "bswap64", BT_FN_UINT64_UINT64, ATTR_CONST_NOTHROW_LEAF_LIST) -DEF_GCC_BUILTIN (BUILT_IN_BSWAP128, "bswap128", BT_FN_UINT128_UINT128, ATTR_CONST_NOTHROW_LEAF_LIST) - -DEF_EXT_LIB_BUILTIN (BUILT_IN_CLEAR_CACHE, "__clear_cache", BT_FN_VOID_PTR_PTR, ATTR_NOTHROW_LEAF_LIST) -/* [trans-mem]: Adjust BUILT_IN_TM_CALLOC if BUILT_IN_CALLOC is changed. */ -DEF_LIB_BUILTIN (BUILT_IN_CALLOC, "calloc", BT_FN_PTR_SIZE_SIZE, ATTR_MALLOC_WARN_UNUSED_RESULT_SIZE_1_2_NOTHROW_LEAF_LIST) -DEF_GCC_BUILTIN (BUILT_IN_CLASSIFY_TYPE, "classify_type", BT_FN_INT_VAR, ATTR_LEAF_LIST) -DEF_GCC_BUILTIN (BUILT_IN_CLEAR_PADDING, "clear_padding", BT_FN_VOID_VAR, ATTR_NOTHROW_NONNULL_TYPEGENERIC_LEAF) -DEF_GCC_BUILTIN (BUILT_IN_CLZ, "clz", BT_FN_INT_UINT, ATTR_CONST_NOTHROW_LEAF_LIST) -DEF_GCC_BUILTIN (BUILT_IN_CLZIMAX, "clzimax", BT_FN_INT_UINTMAX, ATTR_CONST_NOTHROW_LEAF_LIST) -DEF_GCC_BUILTIN (BUILT_IN_CLZL, "clzl", BT_FN_INT_ULONG, ATTR_CONST_NOTHROW_LEAF_LIST) -DEF_GCC_BUILTIN (BUILT_IN_CLZLL, "clzll", BT_FN_INT_ULONGLONG, ATTR_CONST_NOTHROW_LEAF_LIST) -DEF_GCC_BUILTIN (BUILT_IN_CONSTANT_P, "constant_p", BT_FN_INT_VAR, ATTR_CONST_NOTHROW_LEAF_LIST) -DEF_GCC_BUILTIN (BUILT_IN_CTZ, "ctz", BT_FN_INT_UINT, ATTR_CONST_NOTHROW_LEAF_LIST) -DEF_GCC_BUILTIN (BUILT_IN_CTZIMAX, "ctzimax", BT_FN_INT_UINTMAX, ATTR_CONST_NOTHROW_LEAF_LIST) -DEF_GCC_BUILTIN (BUILT_IN_CTZL, "ctzl", BT_FN_INT_ULONG, ATTR_CONST_NOTHROW_LEAF_LIST) -DEF_GCC_BUILTIN (BUILT_IN_CTZLL, "ctzll", BT_FN_INT_ULONGLONG, ATTR_CONST_NOTHROW_LEAF_LIST) -DEF_GCC_BUILTIN (BUILT_IN_CLRSB, "clrsb", BT_FN_INT_INT, ATTR_CONST_NOTHROW_LEAF_LIST) -DEF_GCC_BUILTIN (BUILT_IN_CLRSBIMAX, "clrsbimax", BT_FN_INT_INTMAX, ATTR_CONST_NOTHROW_LEAF_LIST) -DEF_GCC_BUILTIN (BUILT_IN_CLRSBL, "clrsbl", BT_FN_INT_LONG, ATTR_CONST_NOTHROW_LEAF_LIST) -DEF_GCC_BUILTIN (BUILT_IN_CLRSBLL, "clrsbll", BT_FN_INT_LONGLONG, ATTR_CONST_NOTHROW_LEAF_LIST) -DEF_EXT_LIB_BUILTIN (BUILT_IN_DCGETTEXT, "dcgettext", BT_FN_STRING_CONST_STRING_CONST_STRING_INT, ATTR_FORMAT_ARG_2) -DEF_EXT_LIB_BUILTIN (BUILT_IN_DGETTEXT, "dgettext", BT_FN_STRING_CONST_STRING_CONST_STRING, ATTR_FORMAT_ARG_2) -DEF_GCC_BUILTIN (BUILT_IN_DWARF_CFA, "dwarf_cfa", BT_FN_PTR, ATTR_NULL) -DEF_GCC_BUILTIN (BUILT_IN_DWARF_SP_COLUMN, "dwarf_sp_column", BT_FN_UINT, ATTR_NULL) -DEF_GCC_BUILTIN (BUILT_IN_EH_RETURN, "eh_return", BT_FN_VOID_PTRMODE_PTR, ATTR_NORETURN_NOTHROW_LEAF_LIST) -DEF_GCC_BUILTIN (BUILT_IN_EH_RETURN_DATA_REGNO, "eh_return_data_regno", BT_FN_INT_INT, ATTR_LEAF_LIST) -DEF_EXT_LIB_BUILTIN (BUILT_IN_EXECL, "execl", BT_FN_INT_CONST_STRING_CONST_STRING_VAR, ATTR_SENTINEL_NOTHROW_LIST) -DEF_EXT_LIB_BUILTIN (BUILT_IN_EXECLP, "execlp", BT_FN_INT_CONST_STRING_CONST_STRING_VAR, ATTR_SENTINEL_NOTHROW_LIST) -DEF_EXT_LIB_BUILTIN (BUILT_IN_EXECLE, "execle", BT_FN_INT_CONST_STRING_CONST_STRING_VAR, ATTR_NOTHROW_SENTINEL_1) -DEF_EXT_LIB_BUILTIN (BUILT_IN_EXECV, "execv", BT_FN_INT_CONST_STRING_PTR_CONST_STRING, ATTR_NOTHROW_LIST) -DEF_EXT_LIB_BUILTIN (BUILT_IN_EXECVP, "execvp", BT_FN_INT_CONST_STRING_PTR_CONST_STRING, ATTR_NOTHROW_LIST) -DEF_EXT_LIB_BUILTIN (BUILT_IN_EXECVE, "execve", BT_FN_INT_CONST_STRING_PTR_CONST_STRING_PTR_CONST_STRING, ATTR_NOTHROW_LIST) -DEF_LIB_BUILTIN (BUILT_IN_EXIT, "exit", BT_FN_VOID_INT, ATTR_NORETURN_NOTHROW_LIST) -DEF_GCC_BUILTIN (BUILT_IN_EXPECT, "expect", BT_FN_LONG_LONG_LONG, ATTR_CONST_NOTHROW_LEAF_LIST) -DEF_GCC_BUILTIN (BUILT_IN_EXPECT_WITH_PROBABILITY, "expect_with_probability", BT_FN_LONG_LONG_LONG_DOUBLE, ATTR_CONST_NOTHROW_LEAF_LIST) -DEF_GCC_BUILTIN (BUILT_IN_ASSUME_ALIGNED, "assume_aligned", BT_FN_PTR_CONST_PTR_SIZE_VAR, ATTR_CONST_NOTHROW_LEAF_LIST) -DEF_GCC_BUILTIN (BUILT_IN_EXTEND_POINTER, "extend_pointer", BT_FN_UNWINDWORD_PTR, ATTR_CONST_NOTHROW_LEAF_LIST) -DEF_GCC_BUILTIN (BUILT_IN_EXTRACT_RETURN_ADDR, "extract_return_addr", BT_FN_PTR_PTR, ATTR_LEAF_LIST) -DEF_EXT_LIB_BUILTIN (BUILT_IN_FFS, "ffs", BT_FN_INT_INT, ATTR_CONST_NOTHROW_LEAF_LIST) -DEF_EXT_LIB_BUILTIN (BUILT_IN_FFSIMAX, "ffsimax", BT_FN_INT_INTMAX, ATTR_CONST_NOTHROW_LEAF_LIST) -DEF_EXT_LIB_BUILTIN (BUILT_IN_FFSL, "ffsl", BT_FN_INT_LONG, ATTR_CONST_NOTHROW_LEAF_LIST) -DEF_EXT_LIB_BUILTIN (BUILT_IN_FFSLL, "ffsll", BT_FN_INT_LONGLONG, ATTR_CONST_NOTHROW_LEAF_LIST) -DEF_EXT_LIB_BUILTIN (BUILT_IN_FORK, "fork", BT_FN_PID, ATTR_NOTHROW_LIST) -DEF_GCC_BUILTIN (BUILT_IN_FRAME_ADDRESS, "frame_address", BT_FN_PTR_UINT, ATTR_NULL) -/* [trans-mem]: Adjust BUILT_IN_TM_FREE if BUILT_IN_FREE is changed. */ -DEF_LIB_BUILTIN (BUILT_IN_FREE, "free", BT_FN_VOID_PTR, ATTR_NOTHROW_LEAF_LIST) -DEF_GCC_BUILTIN (BUILT_IN_FROB_RETURN_ADDR, "frob_return_addr", BT_FN_PTR_PTR, ATTR_NULL) -DEF_EXT_LIB_BUILTIN (BUILT_IN_GETTEXT, "gettext", BT_FN_STRING_CONST_STRING, ATTR_FORMAT_ARG_1) -DEF_C99_BUILTIN (BUILT_IN_IMAXABS, "imaxabs", BT_FN_INTMAX_INTMAX, ATTR_CONST_NOTHROW_LEAF_LIST) -DEF_GCC_BUILTIN (BUILT_IN_INIT_DWARF_REG_SIZES, "init_dwarf_reg_size_table", BT_FN_VOID_PTR, ATTR_NULL) -DEF_EXT_LIB_BUILTIN (BUILT_IN_FINITE, "finite", BT_FN_INT_DOUBLE, ATTR_CONST_NOTHROW_LEAF_LIST) -DEF_EXT_LIB_BUILTIN (BUILT_IN_FINITEF, "finitef", BT_FN_INT_FLOAT, ATTR_CONST_NOTHROW_LEAF_LIST) -DEF_EXT_LIB_BUILTIN (BUILT_IN_FINITEL, "finitel", BT_FN_INT_LONGDOUBLE, ATTR_CONST_NOTHROW_LEAF_LIST) -DEF_EXT_LIB_BUILTIN (BUILT_IN_FINITED32, "finited32", BT_FN_INT_DFLOAT32, ATTR_CONST_NOTHROW_LEAF_LIST) -DEF_EXT_LIB_BUILTIN (BUILT_IN_FINITED64, "finited64", BT_FN_INT_DFLOAT64, ATTR_CONST_NOTHROW_LEAF_LIST) -DEF_EXT_LIB_BUILTIN (BUILT_IN_FINITED128, "finited128", BT_FN_INT_DFLOAT128, ATTR_CONST_NOTHROW_LEAF_LIST) -DEF_GCC_BUILTIN (BUILT_IN_FPCLASSIFY, "fpclassify", BT_FN_INT_INT_INT_INT_INT_INT_VAR, ATTR_CONST_NOTHROW_TYPEGENERIC_LEAF) -DEF_GCC_BUILTIN (BUILT_IN_ISFINITE, "isfinite", BT_FN_INT_VAR, ATTR_CONST_NOTHROW_TYPEGENERIC_LEAF) -DEF_GCC_BUILTIN (BUILT_IN_ISINF_SIGN, "isinf_sign", BT_FN_INT_VAR, ATTR_CONST_NOTHROW_TYPEGENERIC_LEAF) -DEF_C99_C90RES_BUILTIN (BUILT_IN_ISINF, "isinf", BT_FN_INT_VAR, ATTR_CONST_NOTHROW_TYPEGENERIC) -DEF_EXT_LIB_BUILTIN (BUILT_IN_ISINFF, "isinff", BT_FN_INT_FLOAT, ATTR_CONST_NOTHROW_LEAF_LIST) -DEF_EXT_LIB_BUILTIN (BUILT_IN_ISINFL, "isinfl", BT_FN_INT_LONGDOUBLE, ATTR_CONST_NOTHROW_LEAF_LIST) -DEF_EXT_LIB_BUILTIN (BUILT_IN_ISINFD32, "isinfd32", BT_FN_INT_DFLOAT32, ATTR_CONST_NOTHROW_LEAF_LIST) -DEF_EXT_LIB_BUILTIN (BUILT_IN_ISINFD64, "isinfd64", BT_FN_INT_DFLOAT64, ATTR_CONST_NOTHROW_LEAF_LIST) -DEF_EXT_LIB_BUILTIN (BUILT_IN_ISINFD128, "isinfd128", BT_FN_INT_DFLOAT128, ATTR_CONST_NOTHROW_LEAF_LIST) -DEF_C99_C90RES_BUILTIN (BUILT_IN_ISNAN, "isnan", BT_FN_INT_VAR, ATTR_CONST_NOTHROW_TYPEGENERIC_LEAF) -DEF_EXT_LIB_BUILTIN (BUILT_IN_ISNANF, "isnanf", BT_FN_INT_FLOAT, ATTR_CONST_NOTHROW_LEAF_LIST) -DEF_EXT_LIB_BUILTIN (BUILT_IN_ISNANL, "isnanl", BT_FN_INT_LONGDOUBLE, ATTR_CONST_NOTHROW_LEAF_LIST) -DEF_EXT_LIB_BUILTIN (BUILT_IN_ISNAND32, "isnand32", BT_FN_INT_DFLOAT32, ATTR_CONST_NOTHROW_LEAF_LIST) -DEF_EXT_LIB_BUILTIN (BUILT_IN_ISNAND64, "isnand64", BT_FN_INT_DFLOAT64, ATTR_CONST_NOTHROW_LEAF_LIST) -DEF_EXT_LIB_BUILTIN (BUILT_IN_ISNAND128, "isnand128", BT_FN_INT_DFLOAT128, ATTR_CONST_NOTHROW_LEAF_LIST) -DEF_GCC_BUILTIN (BUILT_IN_ISNORMAL, "isnormal", BT_FN_INT_VAR, ATTR_CONST_NOTHROW_TYPEGENERIC_LEAF) -DEF_GCC_BUILTIN (BUILT_IN_ISGREATER, "isgreater", BT_FN_INT_VAR, ATTR_CONST_NOTHROW_TYPEGENERIC_LEAF) -DEF_GCC_BUILTIN (BUILT_IN_ISGREATEREQUAL, "isgreaterequal", BT_FN_INT_VAR, ATTR_CONST_NOTHROW_TYPEGENERIC_LEAF) -DEF_GCC_BUILTIN (BUILT_IN_ISLESS, "isless", BT_FN_INT_VAR, ATTR_CONST_NOTHROW_TYPEGENERIC_LEAF) -DEF_GCC_BUILTIN (BUILT_IN_ISLESSEQUAL, "islessequal", BT_FN_INT_VAR, ATTR_CONST_NOTHROW_TYPEGENERIC_LEAF) -DEF_GCC_BUILTIN (BUILT_IN_ISLESSGREATER, "islessgreater", BT_FN_INT_VAR, ATTR_CONST_NOTHROW_TYPEGENERIC_LEAF) -DEF_GCC_BUILTIN (BUILT_IN_ISUNORDERED, "isunordered", BT_FN_INT_VAR, ATTR_CONST_NOTHROW_TYPEGENERIC_LEAF) -DEF_GCC_BUILTIN (BUILT_IN_ISSIGNALING, "issignaling", BT_FN_INT_VAR, ATTR_CONST_NOTHROW_TYPEGENERIC_LEAF) -DEF_LIB_BUILTIN (BUILT_IN_LABS, "labs", BT_FN_LONG_LONG, ATTR_CONST_NOTHROW_LEAF_LIST) -DEF_C99_BUILTIN (BUILT_IN_LLABS, "llabs", BT_FN_LONGLONG_LONGLONG, ATTR_CONST_NOTHROW_LEAF_LIST) -DEF_GCC_BUILTIN (BUILT_IN_LONGJMP, "longjmp", BT_FN_VOID_PTR_INT, ATTR_NORETURN_NOTHROW_LIST) -/* [trans-mem]: Adjust BUILT_IN_TM_MALLOC if BUILT_IN_MALLOC is changed. */ -DEF_LIB_BUILTIN (BUILT_IN_MALLOC, "malloc", BT_FN_PTR_SIZE, ATTR_MALLOC_WARN_UNUSED_RESULT_SIZE_1_NOTHROW_LEAF_LIST) -DEF_GCC_BUILTIN (BUILT_IN_NEXT_ARG, "next_arg", BT_FN_PTR_VAR, ATTR_LEAF_LIST) -DEF_GCC_BUILTIN (BUILT_IN_PARITY, "parity", BT_FN_INT_UINT, ATTR_CONST_NOTHROW_LEAF_LIST) -DEF_GCC_BUILTIN (BUILT_IN_PARITYIMAX, "parityimax", BT_FN_INT_UINTMAX, ATTR_CONST_NOTHROW_LEAF_LIST) -DEF_GCC_BUILTIN (BUILT_IN_PARITYL, "parityl", BT_FN_INT_ULONG, ATTR_CONST_NOTHROW_LEAF_LIST) -DEF_GCC_BUILTIN (BUILT_IN_PARITYLL, "parityll", BT_FN_INT_ULONGLONG, ATTR_CONST_NOTHROW_LEAF_LIST) -DEF_GCC_BUILTIN (BUILT_IN_POPCOUNT, "popcount", BT_FN_INT_UINT, ATTR_CONST_NOTHROW_LEAF_LIST) -DEF_GCC_BUILTIN (BUILT_IN_POPCOUNTIMAX, "popcountimax", BT_FN_INT_UINTMAX, ATTR_CONST_NOTHROW_LEAF_LIST) -DEF_GCC_BUILTIN (BUILT_IN_POPCOUNTL, "popcountl", BT_FN_INT_ULONG, ATTR_CONST_NOTHROW_LEAF_LIST) -DEF_GCC_BUILTIN (BUILT_IN_POPCOUNTLL, "popcountll", BT_FN_INT_ULONGLONG, ATTR_CONST_NOTHROW_LEAF_LIST) -DEF_EXT_LIB_BUILTIN (BUILT_IN_POSIX_MEMALIGN, "posix_memalign", BT_FN_INT_PTRPTR_SIZE_SIZE, ATTR_NOTHROW_NONNULL_LEAF) -DEF_GCC_BUILTIN (BUILT_IN_PREFETCH, "prefetch", BT_FN_VOID_CONST_PTR_VAR, ATTR_NOVOPS_LEAF_LIST) -DEF_LIB_BUILTIN (BUILT_IN_REALLOC, "realloc", BT_FN_PTR_PTR_SIZE, ATTR_ALLOC_WARN_UNUSED_RESULT_SIZE_2_NOTHROW_LEAF_LIST) -DEF_GCC_BUILTIN (BUILT_IN_RETURN, "return", BT_FN_VOID_PTR, ATTR_NORETURN_NOTHROW_LEAF_LIST) -DEF_GCC_BUILTIN (BUILT_IN_RETURN_ADDRESS, "return_address", BT_FN_PTR_UINT, ATTR_LEAF_LIST) -DEF_GCC_BUILTIN (BUILT_IN_SAVEREGS, "saveregs", BT_FN_PTR_VAR, ATTR_NULL) -DEF_GCC_BUILTIN (BUILT_IN_SETJMP, "setjmp", BT_FN_INT_PTR, ATTR_RT_NOTHROW_LEAF_LIST) -DEF_EXT_LIB_BUILTIN (BUILT_IN_STRFMON, "strfmon", BT_FN_SSIZE_STRING_SIZE_CONST_STRING_VAR, ATTR_FORMAT_STRFMON_NOTHROW_3_4) -DEF_LIB_BUILTIN (BUILT_IN_STRFTIME, "strftime", BT_FN_SIZE_STRING_SIZE_CONST_STRING_CONST_TM_PTR, ATTR_FORMAT_STRFTIME_NOTHROW_3_0) -DEF_GCC_BUILTIN (BUILT_IN_TRAP, "trap", BT_FN_VOID, ATTR_NORETURN_NOTHROW_LEAF_COLD_LIST) -DEF_GCC_BUILTIN (BUILT_IN_UNREACHABLE_TRAP, "unreachable trap", BT_FN_VOID, ATTR_CONST_NORETURN_NOTHROW_LEAF_COLD_LIST) -DEF_GCC_BUILTIN (BUILT_IN_UNREACHABLE, "unreachable", BT_FN_VOID, ATTR_CONST_NORETURN_NOTHROW_LEAF_COLD_LIST) -DEF_GCC_BUILTIN (BUILT_IN_UNWIND_INIT, "unwind_init", BT_FN_VOID, ATTR_NULL) -DEF_GCC_BUILTIN (BUILT_IN_UPDATE_SETJMP_BUF, "update_setjmp_buf", BT_FN_VOID_PTR, ATTR_NULL) -DEF_GCC_BUILTIN (BUILT_IN_VA_COPY, "va_copy", BT_FN_VOID_VALIST_REF_VALIST_ARG, ATTR_NOTHROW_LEAF_LIST) -DEF_GCC_BUILTIN (BUILT_IN_VA_END, "va_end", BT_FN_VOID_VALIST_REF, ATTR_NOTHROW_LEAF_LIST) -DEF_GCC_BUILTIN (BUILT_IN_VA_START, "va_start", BT_FN_VOID_VALIST_REF_VAR, ATTR_NOTHROW_LEAF_LIST) -DEF_GCC_BUILTIN (BUILT_IN_VA_ARG_PACK, "va_arg_pack", BT_FN_INT, ATTR_PURE_NOTHROW_LEAF_LIST) -DEF_GCC_BUILTIN (BUILT_IN_VA_ARG_PACK_LEN, "va_arg_pack_len", BT_FN_INT, ATTR_PURE_NOTHROW_LEAF_LIST) -DEF_EXT_LIB_BUILTIN (BUILT_IN__EXIT, "_exit", BT_FN_VOID_INT, ATTR_NORETURN_NOTHROW_LEAF_LIST) -DEF_C99_BUILTIN (BUILT_IN__EXIT2, "_Exit", BT_FN_VOID_INT, ATTR_NORETURN_NOTHROW_LEAF_LIST) - -/* Implementing nested functions. */ -DEF_BUILTIN_STUB (BUILT_IN_INIT_TRAMPOLINE, "__builtin_init_trampoline") -DEF_BUILTIN_STUB (BUILT_IN_INIT_HEAP_TRAMPOLINE, "__builtin_init_heap_trampoline") -DEF_BUILTIN_STUB (BUILT_IN_ADJUST_TRAMPOLINE, "__builtin_adjust_trampoline") -DEF_BUILTIN_STUB (BUILT_IN_INIT_DESCRIPTOR, "__builtin_init_descriptor") -DEF_BUILTIN_STUB (BUILT_IN_ADJUST_DESCRIPTOR, "__builtin_adjust_descriptor") -DEF_BUILTIN_STUB (BUILT_IN_NONLOCAL_GOTO, "__builtin_nonlocal_goto") - -/* Implementing __builtin_setjmp. */ -DEF_BUILTIN_STUB (BUILT_IN_SETJMP_SETUP, "__builtin_setjmp_setup") -DEF_BUILTIN_STUB (BUILT_IN_SETJMP_RECEIVER, "__builtin_setjmp_receiver") - -/* Implementing variable sized local variables. */ -DEF_BUILTIN_STUB (BUILT_IN_STACK_SAVE, "__builtin_stack_save") -DEF_BUILTIN_STUB (BUILT_IN_STACK_RESTORE, "__builtin_stack_restore") -DEF_BUILTIN_STUB (BUILT_IN_ALLOCA_WITH_ALIGN, "__builtin_alloca_with_align") -DEF_BUILTIN_STUB (BUILT_IN_ALLOCA_WITH_ALIGN_AND_MAX, "__builtin_alloca_with_align_and_max") - -/* An internal version of memcmp, used when the result is only tested for - equality with zero. */ -DEF_BUILTIN_STUB (BUILT_IN_MEMCMP_EQ, "__builtin_memcmp_eq") - -/* An internal version of strcmp/strncmp, used when the result is only - tested for equality with zero. */ -DEF_BUILTIN_STUB (BUILT_IN_STRCMP_EQ, "__builtin_strcmp_eq") -DEF_BUILTIN_STUB (BUILT_IN_STRNCMP_EQ, "__builtin_strncmp_eq") - -/* Object size checking builtins. */ -DEF_GCC_BUILTIN (BUILT_IN_OBJECT_SIZE, "object_size", BT_FN_SIZE_CONST_PTR_INT, ATTR_CONST_NOTHROW_LEAF_LIST) -DEF_GCC_BUILTIN (BUILT_IN_DYNAMIC_OBJECT_SIZE, "dynamic_object_size", BT_FN_SIZE_CONST_PTR_INT, ATTR_PURE_NOTHROW_LEAF_LIST) -DEF_EXT_LIB_BUILTIN (BUILT_IN_MEMCPY_CHK, "__memcpy_chk", BT_FN_PTR_PTR_CONST_PTR_SIZE_SIZE, ATTR_NOTHROW_NONNULL_LEAF) -DEF_EXT_LIB_BUILTIN (BUILT_IN_MEMMOVE_CHK, "__memmove_chk", BT_FN_PTR_PTR_CONST_PTR_SIZE_SIZE, ATTR_NOTHROW_NONNULL_LEAF) -DEF_EXT_LIB_BUILTIN (BUILT_IN_MEMPCPY_CHK, "__mempcpy_chk", BT_FN_PTR_PTR_CONST_PTR_SIZE_SIZE, ATTR_RETNONNULL_NOTHROW_LEAF) -DEF_EXT_LIB_BUILTIN (BUILT_IN_MEMSET_CHK, "__memset_chk", BT_FN_PTR_PTR_INT_SIZE_SIZE, ATTR_NOTHROW_NONNULL_LEAF) -DEF_EXT_LIB_BUILTIN (BUILT_IN_STPCPY_CHK, "__stpcpy_chk", BT_FN_STRING_STRING_CONST_STRING_SIZE, ATTR_RETNONNULL_NOTHROW_LEAF) -DEF_EXT_LIB_BUILTIN (BUILT_IN_STPNCPY_CHK, "__stpncpy_chk", BT_FN_STRING_STRING_CONST_STRING_SIZE_SIZE, ATTR_RETNONNULL_NOTHROW_LEAF) -DEF_EXT_LIB_BUILTIN (BUILT_IN_STRCAT_CHK, "__strcat_chk", BT_FN_STRING_STRING_CONST_STRING_SIZE, ATTR_NOTHROW_NONNULL_LEAF) -DEF_EXT_LIB_BUILTIN (BUILT_IN_STRCPY_CHK, "__strcpy_chk", BT_FN_STRING_STRING_CONST_STRING_SIZE, ATTR_NOTHROW_NONNULL_LEAF) -DEF_EXT_LIB_BUILTIN (BUILT_IN_STRNCAT_CHK, "__strncat_chk", BT_FN_STRING_STRING_CONST_STRING_SIZE_SIZE, ATTR_NOTHROW_NONNULL_LEAF) -DEF_EXT_LIB_BUILTIN (BUILT_IN_STRNCPY_CHK, "__strncpy_chk", BT_FN_STRING_STRING_CONST_STRING_SIZE_SIZE, ATTR_NOTHROW_NONNULL_LEAF) -DEF_EXT_LIB_BUILTIN (BUILT_IN_SNPRINTF_CHK, "__snprintf_chk", BT_FN_INT_STRING_SIZE_INT_SIZE_CONST_STRING_VAR, ATTR_FORMAT_PRINTF_NOTHROW_5_6) -DEF_EXT_LIB_BUILTIN (BUILT_IN_SPRINTF_CHK, "__sprintf_chk", BT_FN_INT_STRING_INT_SIZE_CONST_STRING_VAR, ATTR_NOTHROW_NONNULL_1_FORMAT_PRINTF_4_5) -DEF_EXT_LIB_BUILTIN (BUILT_IN_VSNPRINTF_CHK, "__vsnprintf_chk", BT_FN_INT_STRING_SIZE_INT_SIZE_CONST_STRING_VALIST_ARG, ATTR_FORMAT_PRINTF_NOTHROW_5_0) -DEF_EXT_LIB_BUILTIN (BUILT_IN_VSPRINTF_CHK, "__vsprintf_chk", BT_FN_INT_STRING_INT_SIZE_CONST_STRING_VALIST_ARG, ATTR_NOTHROW_NONNULL_1_FORMAT_PRINTF_4_0) -DEF_EXT_LIB_BUILTIN (BUILT_IN_FPRINTF_CHK, "__fprintf_chk", BT_FN_INT_FILEPTR_INT_CONST_STRING_VAR, ATTR_NONNULL_1_FORMAT_PRINTF_3_4) -DEF_EXT_LIB_BUILTIN (BUILT_IN_PRINTF_CHK, "__printf_chk", BT_FN_INT_INT_CONST_STRING_VAR, ATTR_FORMAT_PRINTF_2_3) -DEF_EXT_LIB_BUILTIN (BUILT_IN_VFPRINTF_CHK, "__vfprintf_chk", BT_FN_INT_FILEPTR_INT_CONST_STRING_VALIST_ARG, ATTR_NONNULL_1_FORMAT_PRINTF_3_0) -DEF_EXT_LIB_BUILTIN (BUILT_IN_VPRINTF_CHK, "__vprintf_chk", BT_FN_INT_INT_CONST_STRING_VALIST_ARG, ATTR_FORMAT_PRINTF_2_0) - -/* Profiling hooks. */ -DEF_BUILTIN (BUILT_IN_PROFILE_FUNC_ENTER, "__cyg_profile_func_enter", BUILT_IN_NORMAL, BT_FN_VOID_PTR_PTR, BT_LAST, - false, false, false, ATTR_NULL, true, true) -DEF_BUILTIN (BUILT_IN_PROFILE_FUNC_EXIT, "__cyg_profile_func_exit", BUILT_IN_NORMAL, BT_FN_VOID_PTR_PTR, BT_LAST, - false, false, false, ATTR_NULL, true, true) - -/* TLS thread pointer related builtins. */ -DEF_BUILTIN (BUILT_IN_THREAD_POINTER, "__builtin_thread_pointer", - BUILT_IN_NORMAL, BT_FN_PTR, BT_LAST, - false, false, true, ATTR_CONST_NOTHROW_LIST, true, - targetm.have_tls) - -DEF_BUILTIN (BUILT_IN_SET_THREAD_POINTER, "__builtin_set_thread_pointer", - BUILT_IN_NORMAL, BT_FN_VOID_PTR, BT_LAST, - false, false, true, ATTR_NOTHROW_LIST, true, - targetm.have_tls) - -/* TLS emulation. */ -DEF_BUILTIN (BUILT_IN_EMUTLS_GET_ADDRESS, targetm.emutls.get_address, - BUILT_IN_NORMAL, - BT_FN_PTR_PTR, BT_FN_PTR_PTR, - true, true, true, ATTR_CONST_NOTHROW_NONNULL_LEAF, false, - !targetm.have_tls) -DEF_BUILTIN (BUILT_IN_EMUTLS_REGISTER_COMMON, - targetm.emutls.register_common, BUILT_IN_NORMAL, - BT_FN_VOID_PTR_WORD_WORD_PTR, BT_FN_VOID_PTR_WORD_WORD_PTR, - true, true, true, ATTR_NOTHROW_LEAF_LIST, false, - !targetm.have_tls) - -/* Suppressing speculation. Users are expected to use the first (N) - variant, which will be translated internally into one of the other - types. */ - -DEF_GCC_BUILTIN (BUILT_IN_SPECULATION_SAFE_VALUE_N, "speculation_safe_value", - BT_FN_VOID_VAR, ATTR_NOVOPS_NOTHROW_LEAF_LIST) - -DEF_GCC_BUILTIN (BUILT_IN_SPECULATION_SAFE_VALUE_PTR, - "speculation_safe_value_ptr", BT_FN_PTR_PTR_VAR, - ATTR_NOVOPS_NOTHROW_LEAF_LIST) -DEF_GCC_BUILTIN (BUILT_IN_SPECULATION_SAFE_VALUE_1, "speculation_safe_value_1", - BT_FN_I1_I1_VAR, ATTR_NOVOPS_NOTHROW_LEAF_LIST) -DEF_GCC_BUILTIN (BUILT_IN_SPECULATION_SAFE_VALUE_2, "speculation_safe_value_2", - BT_FN_I2_I2_VAR, ATTR_NOVOPS_NOTHROW_LEAF_LIST) -DEF_GCC_BUILTIN (BUILT_IN_SPECULATION_SAFE_VALUE_4, "speculation_safe_value_4", - BT_FN_I4_I4_VAR, ATTR_NOVOPS_NOTHROW_LEAF_LIST) -DEF_GCC_BUILTIN (BUILT_IN_SPECULATION_SAFE_VALUE_8, "speculation_safe_value_8", - BT_FN_I8_I8_VAR, ATTR_NOVOPS_NOTHROW_LEAF_LIST) -DEF_GCC_BUILTIN (BUILT_IN_SPECULATION_SAFE_VALUE_16, - "speculation_safe_value_16", BT_FN_I16_I16_VAR, - ATTR_NOVOPS_NOTHROW_LEAF_LIST) - -/* Exception support. */ -DEF_BUILTIN_STUB (BUILT_IN_UNWIND_RESUME, "__builtin_unwind_resume") -DEF_BUILTIN_STUB (BUILT_IN_CXA_END_CLEANUP, "__builtin_cxa_end_cleanup") -DEF_BUILTIN_STUB (BUILT_IN_EH_POINTER, "__builtin_eh_pointer") -DEF_BUILTIN_STUB (BUILT_IN_EH_FILTER, "__builtin_eh_filter") -DEF_BUILTIN_STUB (BUILT_IN_EH_COPY_VALUES, "__builtin_eh_copy_values") - -/* __FILE__, __LINE__, __FUNCTION__ as builtins. */ -DEF_GCC_BUILTIN (BUILT_IN_FILE, "FILE", BT_FN_CONST_STRING, ATTR_NOTHROW_LEAF_LIST) -DEF_GCC_BUILTIN (BUILT_IN_FUNCTION, "FUNCTION", BT_FN_CONST_STRING, ATTR_NOTHROW_LEAF_LIST) -DEF_GCC_BUILTIN (BUILT_IN_LINE, "LINE", BT_FN_INT, ATTR_NOTHROW_LEAF_LIST) - -/* Synchronization Primitives. */ -#include "sync-builtins.def" - -/* Offloading and Multi Processing builtins. */ -#include "omp-builtins.def" - -/* GTM builtins. */ -#include "gtm-builtins.def" - -/* Sanitizer builtins. */ -#include "sanitizer.def" - -/* Coroutine builtins. */ -#include "coroutine-builtins.def" - -#undef DEF_BUILTIN diff --git a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/builtins.h b/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/builtins.h deleted file mode 100644 index 6a43de4b..00000000 --- a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/builtins.h +++ /dev/null @@ -1,160 +0,0 @@ -/* Expand builtin functions. - Copyright (C) 1988-2023 Free Software Foundation, Inc. - -This file is part of GCC. - -GCC is free software; you can redistribute it and/or modify it under -the terms of the GNU General Public License as published by the Free -Software Foundation; either version 3, or (at your option) any later -version. - -GCC is distributed in the hope that it will be useful, but WITHOUT ANY -WARRANTY; without even the implied warranty of MERCHANTABILITY or -FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -for more details. - -You should have received a copy of the GNU General Public License -along with GCC; see the file COPYING3. If not see -. */ - -#ifndef GCC_BUILTINS_H -#define GCC_BUILTINS_H - -#include - -/* Target-dependent globals. */ -struct target_builtins { - /* For each register that may be used for calling a function, this - gives a mode used to copy the register's value. VOIDmode indicates - the register is not used for calling a function. If the machine - has register windows, this gives only the outbound registers. - INCOMING_REGNO gives the corresponding inbound register. */ - fixed_size_mode_pod x_apply_args_mode[FIRST_PSEUDO_REGISTER]; - - /* For each register that may be used for returning values, this gives - a mode used to copy the register's value. VOIDmode indicates the - register is not used for returning values. If the machine has - register windows, this gives only the outbound registers. - INCOMING_REGNO gives the corresponding inbound register. */ - fixed_size_mode_pod x_apply_result_mode[FIRST_PSEUDO_REGISTER]; -}; - -extern struct target_builtins default_target_builtins; -#if SWITCHABLE_TARGET -extern struct target_builtins *this_target_builtins; -#else -#define this_target_builtins (&default_target_builtins) -#endif - -/* Non-zero if __builtin_constant_p should be folded right away. */ -extern bool force_folding_builtin_constant_p; - -extern bool called_as_built_in (tree); -extern bool get_object_alignment_1 (tree, unsigned int *, - unsigned HOST_WIDE_INT *); -extern bool get_object_alignment_2 (tree, unsigned int *, - unsigned HOST_WIDE_INT *, bool); -extern unsigned int get_object_alignment (tree); -extern bool get_pointer_alignment_1 (tree, unsigned int *, - unsigned HOST_WIDE_INT *); -extern unsigned int get_pointer_alignment (tree); -extern unsigned string_length (const void*, unsigned, unsigned); - -struct c_strlen_data -{ - /* [MINLEN, MAXBOUND, MAXLEN] is a range describing the length of - one or more strings of possibly unknown length. For a single - string of known length the range is a constant where - MINLEN == MAXBOUND == MAXLEN holds. - For other strings, MINLEN is the length of the shortest known - string. MAXBOUND is the length of a string that could be stored - in the largest array referenced by the expression. MAXLEN is - the length of the longest sequence of non-zero bytes - in an object referenced by the expression. For such strings, - MINLEN <= MAXBOUND <= MAXLEN holds. For example, given: - struct A { char a[7], b[]; }; - extern struct A *p; - n = strlen (p->a); - the computed range will be [0, 6, ALL_ONES]. - However, for a conditional expression involving a string - of known length and an array of unknown bound such as - n = strlen (i ? p->b : "123"); - the range will be [3, 3, ALL_ONES]. - MINLEN != 0 && MAXLEN == ALL_ONES indicates that MINLEN is - the length of the shortest known string and implies that - the shortest possible string referenced by the expression may - actually be the empty string. This distinction is useful for - diagnostics. get_range_strlen() return value distinguishes - between these two cases. - As the tighter (and more optimistic) bound, MAXBOUND is suitable - for diagnostics but not for optimization. - As the more conservative bound, MAXLEN is intended to be used - for optimization. */ - tree minlen; - tree maxlen; - tree maxbound; - /* When non-null, DECL refers to the declaration known to store - an unterminated constant character array, as in: - const char s[] = { 'a', 'b', 'c' }; - It is used to diagnose uses of such arrays in functions such as - strlen() that expect a nul-terminated string as an argument. */ - tree decl; - /* Non-constant offset from the beginning of a string not accounted - for in the length range. Used to improve diagnostics. */ - tree off; -}; - -extern tree c_strlen (tree, int, c_strlen_data * = NULL, unsigned = 1); -extern rtx c_readstr (const char *, scalar_int_mode, bool = true); -extern void expand_builtin_setjmp_setup (rtx, rtx); -extern void expand_builtin_setjmp_receiver (rtx); -extern void expand_builtin_update_setjmp_buf (rtx); -extern tree mathfn_built_in (tree, enum built_in_function fn); -extern tree mathfn_built_in (tree, combined_fn); -extern tree mathfn_built_in_type (combined_fn); -extern rtx builtin_strncpy_read_str (void *, void *, HOST_WIDE_INT, - fixed_size_mode); -extern rtx builtin_memset_read_str (void *, void *, HOST_WIDE_INT, - fixed_size_mode); -extern rtx expand_builtin_memset (tree, rtx, machine_mode); -extern rtx expand_builtin_saveregs (void); -extern tree std_build_builtin_va_list (void); -extern tree std_fn_abi_va_list (tree); -extern tree std_canonical_va_list_type (tree); -extern void std_expand_builtin_va_start (tree, rtx); -extern void expand_builtin_trap (void); -extern void expand_ifn_atomic_bit_test_and (gcall *); -extern void expand_ifn_atomic_compare_exchange (gcall *); -extern void expand_ifn_atomic_op_fetch_cmp_0 (gcall *); -extern rtx expand_builtin (tree, rtx, rtx, machine_mode, int); -extern enum built_in_function builtin_mathfn_code (const_tree); -extern tree fold_builtin_expect (location_t, tree, tree, tree, tree); -extern bool avoid_folding_inline_builtin (tree); -extern tree fold_call_expr (location_t, tree, bool); -extern tree fold_builtin_call_array (location_t, tree, tree, int, tree *); -extern bool validate_gimple_arglist (const gcall *, ...); -extern rtx default_expand_builtin (tree, rtx, rtx, machine_mode, int); -extern void maybe_emit_call_builtin___clear_cache (rtx, rtx); -extern bool fold_builtin_next_arg (tree, bool); -extern tree do_mpc_arg2 (tree, tree, tree, int, int (*)(mpc_ptr, mpc_srcptr, mpc_srcptr, mpc_rnd_t)); -extern tree fold_call_stmt (gcall *, bool); -extern void set_builtin_user_assembler_name (tree decl, const char *asmspec); -extern bool is_simple_builtin (tree); -extern bool is_inexpensive_builtin (tree); -extern bool readonly_data_expr (tree exp); -extern bool init_target_chars (void); -extern unsigned HOST_WIDE_INT target_newline; -extern unsigned HOST_WIDE_INT target_percent; -extern char target_percent_s[3]; -extern char target_percent_c[3]; -extern char target_percent_s_newline[4]; -extern bool target_char_cst_p (tree t, char *p); -extern rtx get_memory_rtx (tree exp, tree len); - -extern internal_fn associated_internal_fn (combined_fn, tree); -extern internal_fn associated_internal_fn (tree); -extern internal_fn replacement_internal_fn (gcall *); - -extern bool builtin_with_linkage_p (tree); - -#endif /* GCC_BUILTINS_H */ diff --git a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/bversion.h b/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/bversion.h deleted file mode 100644 index 1c60c866..00000000 --- a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/bversion.h +++ /dev/null @@ -1,4 +0,0 @@ -#define BUILDING_GCC_MAJOR 13 -#define BUILDING_GCC_MINOR 1 -#define BUILDING_GCC_PATCHLEVEL 0 -#define BUILDING_GCC_VERSION (BUILDING_GCC_MAJOR * 1000 + BUILDING_GCC_MINOR) diff --git a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/c-family/c-common.def b/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/c-family/c-common.def deleted file mode 100644 index 68ae9643..00000000 --- a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/c-family/c-common.def +++ /dev/null @@ -1,96 +0,0 @@ -/* This file contains the definitions and documentation for the - additional tree codes used in the GNU C compiler (see tree.def - for the standard codes). - Copyright (C) 1987-2023 Free Software Foundation, Inc. - Written by Benjamin Chelf - -This file is part of GCC. - -GCC is free software; you can redistribute it and/or modify it under -the terms of the GNU General Public License as published by the Free -Software Foundation; either version 3, or (at your option) any later -version. - -GCC is distributed in the hope that it will be useful, but WITHOUT ANY -WARRANTY; without even the implied warranty of MERCHANTABILITY or -FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -for more details. - -You should have received a copy of the GNU General Public License -along with GCC; see the file COPYING3. If not see -. */ - -/* Tree nodes used in the C frontend. These are also shared with the - C++ and Objective C frontends. */ - -/* A C_MAYBE_CONST_EXPR, currently only used for C and Objective C, - tracks information about constancy of an expression and VLA type - sizes or VM expressions from typeof that need to be evaluated - before the main expression. It is used during parsing and removed - in c_fully_fold. C_MAYBE_CONST_EXPR_PRE is the expression to - evaluate first, if not NULL; C_MAYBE_CONST_EXPR_EXPR is the main - expression. If C_MAYBE_CONST_EXPR_INT_OPERANDS is set then the - expression may be used in an unevaluated part of an integer - constant expression, but not in an evaluated part. If - C_MAYBE_CONST_EXPR_NON_CONST is set then the expression contains - something that cannot occur in an evaluated part of a constant - expression (or outside of sizeof in C90 mode); otherwise it does - not. */ -DEFTREECODE (C_MAYBE_CONST_EXPR, "c_maybe_const_expr", tcc_expression, 2) - -/* An EXCESS_PRECISION_EXPR represents an expression evaluated in greater - range or precision than its type. The type of the EXCESS_PRECISION_EXPR - is the semantic type while the operand represents what is actually being - evaluated. */ -DEFTREECODE (EXCESS_PRECISION_EXPR, "excess_precision_expr", tcc_expression, 1) - -/* Used to represent a user-defined literal. - The operands are an IDENTIFIER for the suffix, the VALUE of the literal, - and for numeric literals the original string representation of the - number. */ -DEFTREECODE (USERDEF_LITERAL, "userdef_literal", tcc_exceptional, 3) - -/* Represents a 'sizeof' expression during C++ template expansion, - or for the purpose of -Wsizeof-pointer-memaccess warning. */ -DEFTREECODE (SIZEOF_EXPR, "sizeof_expr", tcc_expression, 1) - -/* Like above, but enclosed in parentheses. Used to suppress warnings. */ -DEFTREECODE (PAREN_SIZEOF_EXPR, "paren_sizeof_expr", tcc_expression, 1) - -/* Used to represent a `for' statement. The operands are - FOR_INIT_STMT, FOR_COND, FOR_EXPR, FOR_BODY, and FOR_SCOPE, - respectively. */ -DEFTREECODE (FOR_STMT, "for_stmt", tcc_statement, 5) - -/* Used to represent a 'while' statement. The operands are WHILE_COND - and WHILE_BODY, respectively. */ -DEFTREECODE (WHILE_STMT, "while_stmt", tcc_statement, 2) - -/* Used to represent a 'do' statement. The operands are DO_COND and - DO_BODY, respectively. */ -DEFTREECODE (DO_STMT, "do_stmt", tcc_statement, 2) - -/* Used to represent a 'break' statement. */ -DEFTREECODE (BREAK_STMT, "break_stmt", tcc_statement, 0) - -/* Used to represent a 'continue' statement. */ -DEFTREECODE (CONTINUE_STMT, "continue_stmt", tcc_statement, 0) - -/* Used to represent a 'switch' statement. The operands are - SWITCH_STMT_COND, SWITCH_STMT_BODY, SWITCH_STMT_TYPE, and - SWITCH_STMT_SCOPE, respectively. */ -DEFTREECODE (SWITCH_STMT, "switch_stmt", tcc_statement, 4) - -/* Extensions for C++ Concepts. */ - -/* Concept definition. This is not entirely different than a VAR_DECL - except that a) it must be a template, and b) doesn't have the wide - range of value and linkage options available to variables. Used - by C++ FE and in c-family attribute handling. */ -DEFTREECODE (CONCEPT_DECL, "concept_decl", tcc_declaration, 0) - -/* -Local variables: -mode:c -End: -*/ diff --git a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/c-family/c-common.h b/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/c-family/c-common.h deleted file mode 100644 index f96350b6..00000000 --- a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/c-family/c-common.h +++ /dev/null @@ -1,1587 +0,0 @@ -/* Definitions for c-common.cc. - Copyright (C) 1987-2023 Free Software Foundation, Inc. - -This file is part of GCC. - -GCC is free software; you can redistribute it and/or modify it under -the terms of the GNU General Public License as published by the Free -Software Foundation; either version 3, or (at your option) any later -version. - -GCC is distributed in the hope that it will be useful, but WITHOUT ANY -WARRANTY; without even the implied warranty of MERCHANTABILITY or -FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -for more details. - -You should have received a copy of the GNU General Public License -along with GCC; see the file COPYING3. If not see -. */ - -#ifndef GCC_C_COMMON_H -#define GCC_C_COMMON_H - -#include "splay-tree.h" -#include "cpplib.h" -#include "alias.h" -#include "tree.h" -#include "fold-const.h" -#include "wide-int-bitmask.h" - -/* In order for the format checking to accept the C frontend - diagnostic framework extensions, you must include this file before - diagnostic-core.h, not after. The C front end formats are a subset of those - for C++, so they are the appropriate set to use in common code; - cp-tree.h overrides this for C++. */ -#if defined(GCC_DIAGNOSTIC_CORE_H) -#error \ -In order for the format checking to accept the C front end diagnostic \ -framework extensions, you must include this file before diagnostic-core.h \ -never after. -#endif -#ifndef GCC_DIAG_STYLE -#define GCC_DIAG_STYLE __gcc_cdiag__ -#endif -#include "diagnostic-core.h" - -/* Usage of TREE_LANG_FLAG_?: - 0: IDENTIFIER_MARKED (used by search routines). - C_MAYBE_CONST_EXPR_INT_OPERANDS (in C_MAYBE_CONST_EXPR, for C) - 1: C_DECLARED_LABEL_FLAG (in LABEL_DECL) - STATEMENT_LIST_STMT_EXPR (in STATEMENT_LIST) - C_MAYBE_CONST_EXPR_NON_CONST (in C_MAYBE_CONST_EXPR, for C) - 2: unused - 3: STATEMENT_LIST_HAS_LABEL (in STATEMENT_LIST) - 4: unused -*/ - -/* Reserved identifiers. This is the union of all the keywords for C, - C++, and Objective-C. All the type modifiers have to be in one - block at the beginning, because they are used as mask bits. There - are 28 type modifiers; if we add many more we will have to redesign - the mask mechanism. */ - -enum rid -{ - /* Modifiers: */ - /* C, in empirical order of frequency. */ - RID_STATIC = 0, - RID_UNSIGNED, RID_LONG, RID_CONST, RID_EXTERN, - RID_REGISTER, RID_TYPEDEF, RID_SHORT, RID_INLINE, - RID_VOLATILE, RID_SIGNED, RID_AUTO, RID_RESTRICT, - RID_NORETURN, RID_ATOMIC, - - /* C extensions */ - RID_COMPLEX, RID_THREAD, RID_SAT, - - /* C++ */ - RID_FRIEND, RID_VIRTUAL, RID_EXPLICIT, RID_EXPORT, RID_MUTABLE, - - /* ObjC ("PQ" reserved words - they do not appear after a '@' and - are keywords only in specific contexts) */ - RID_IN, RID_OUT, RID_INOUT, RID_BYCOPY, RID_BYREF, RID_ONEWAY, - - /* ObjC ("PATTR" reserved words - they do not appear after a '@' - and are keywords only as property attributes) */ - RID_GETTER, RID_SETTER, - RID_READONLY, RID_READWRITE, - RID_ASSIGN, RID_RETAIN, RID_COPY, - RID_PROPATOMIC, RID_NONATOMIC, - - /* ObjC nullability support keywords that also can appear in the - property attribute context. These values should remain contiguous - with the other property attributes. */ - RID_NULL_UNSPECIFIED, RID_NULLABLE, RID_NONNULL, RID_NULL_RESETTABLE, - - /* C (reserved and imaginary types not implemented, so any use is a - syntax error) */ - RID_IMAGINARY, - - /* C */ - RID_INT, RID_CHAR, RID_FLOAT, RID_DOUBLE, RID_VOID, - RID_ENUM, RID_STRUCT, RID_UNION, RID_IF, RID_ELSE, - RID_WHILE, RID_DO, RID_FOR, RID_SWITCH, RID_CASE, - RID_DEFAULT, RID_BREAK, RID_CONTINUE, RID_RETURN, RID_GOTO, - RID_SIZEOF, - - /* C extensions */ - RID_ASM, RID_TYPEOF, RID_TYPEOF_UNQUAL, RID_ALIGNOF, RID_ATTRIBUTE, - RID_VA_ARG, - RID_EXTENSION, RID_IMAGPART, RID_REALPART, RID_LABEL, RID_CHOOSE_EXPR, - RID_TYPES_COMPATIBLE_P, RID_BUILTIN_COMPLEX, RID_BUILTIN_SHUFFLE, - RID_BUILTIN_SHUFFLEVECTOR, RID_BUILTIN_CONVERTVECTOR, RID_BUILTIN_TGMATH, - RID_BUILTIN_HAS_ATTRIBUTE, RID_BUILTIN_ASSOC_BARRIER, - RID_DFLOAT32, RID_DFLOAT64, RID_DFLOAT128, - - /* TS 18661-3 keywords, in the same sequence as the TI_* values. */ - RID_FLOAT16, - RID_FLOATN_NX_FIRST = RID_FLOAT16, - RID_FLOAT32, - RID_FLOAT64, - RID_FLOAT128, - RID_FLOAT32X, - RID_FLOAT64X, - RID_FLOAT128X, -#define CASE_RID_FLOATN_NX \ - case RID_FLOAT16: case RID_FLOAT32: case RID_FLOAT64: case RID_FLOAT128: \ - case RID_FLOAT32X: case RID_FLOAT64X: case RID_FLOAT128X - - RID_FRACT, RID_ACCUM, RID_AUTO_TYPE, RID_BUILTIN_CALL_WITH_STATIC_CHAIN, - - /* "__GIMPLE", for the GIMPLE-parsing extension to the C frontend. */ - RID_GIMPLE, - - /* "__PHI", for parsing PHI function in GIMPLE FE. */ - RID_PHI, - - /* "__RTL", for the RTL-parsing extension to the C frontend. */ - RID_RTL, - - /* C11 */ - RID_ALIGNAS, RID_GENERIC, - - /* This means to warn that this is a C++ keyword, and then treat it - as a normal identifier. */ - RID_CXX_COMPAT_WARN, - - /* GNU transactional memory extension */ - RID_TRANSACTION_ATOMIC, RID_TRANSACTION_RELAXED, RID_TRANSACTION_CANCEL, - - /* Too many ways of getting the name of a function as a string */ - RID_FUNCTION_NAME, RID_PRETTY_FUNCTION_NAME, RID_C99_FUNCTION_NAME, - - /* C++ (some of these are keywords in Objective-C as well, but only - if they appear after a '@') */ - RID_BOOL, RID_WCHAR, RID_CLASS, - RID_PUBLIC, RID_PRIVATE, RID_PROTECTED, - RID_TEMPLATE, RID_NULL, RID_CATCH, - RID_DELETE, RID_FALSE, RID_NAMESPACE, - RID_NEW, RID_OFFSETOF, RID_OPERATOR, - RID_THIS, RID_THROW, RID_TRUE, - RID_TRY, RID_TYPENAME, RID_TYPEID, - RID_USING, RID_CHAR16, RID_CHAR32, - - /* casts */ - RID_CONSTCAST, RID_DYNCAST, RID_REINTCAST, RID_STATCAST, - - /* C++ extensions */ - RID_ADDRESSOF, - RID_BUILTIN_LAUNDER, - RID_BUILTIN_BIT_CAST, - -#define DEFTRAIT(TCC, CODE, NAME, ARITY) \ - RID_##CODE, -#include "cp/cp-trait.def" -#undef DEFTRAIT - - /* C++11 */ - RID_CONSTEXPR, RID_DECLTYPE, RID_NOEXCEPT, RID_NULLPTR, RID_STATIC_ASSERT, - - /* C++20 */ - RID_CONSTINIT, RID_CONSTEVAL, - - /* char8_t */ - RID_CHAR8, - - /* C++ concepts */ - RID_CONCEPT, RID_REQUIRES, - - /* C++ modules. */ - RID__MODULE, RID__IMPORT, RID__EXPORT, /* Internal tokens. */ - - /* C++ coroutines */ - RID_CO_AWAIT, RID_CO_YIELD, RID_CO_RETURN, - - /* C++ transactional memory. */ - RID_ATOMIC_NOEXCEPT, RID_ATOMIC_CANCEL, RID_SYNCHRONIZED, - - /* Objective-C ("AT" reserved words - they are only keywords when - they follow '@') */ - RID_AT_ENCODE, RID_AT_END, - RID_AT_CLASS, RID_AT_ALIAS, RID_AT_DEFS, - RID_AT_PRIVATE, RID_AT_PROTECTED, RID_AT_PUBLIC, RID_AT_PACKAGE, - RID_AT_PROTOCOL, RID_AT_SELECTOR, - RID_AT_THROW, RID_AT_TRY, RID_AT_CATCH, - RID_AT_FINALLY, RID_AT_SYNCHRONIZED, - RID_AT_OPTIONAL, RID_AT_REQUIRED, RID_AT_PROPERTY, - RID_AT_SYNTHESIZE, RID_AT_DYNAMIC, - RID_AT_INTERFACE, - RID_AT_IMPLEMENTATION, - - /* OpenMP */ - RID_OMP_ALL_MEMORY, - - /* Named address support, mapping the keyword to a particular named address - number. Named address space 0 is reserved for the generic address. If - there are more than 254 named addresses, the addr_space_t type will need - to be grown from an unsigned char to unsigned short. */ - RID_ADDR_SPACE_0, /* generic address */ - RID_ADDR_SPACE_1, - RID_ADDR_SPACE_2, - RID_ADDR_SPACE_3, - RID_ADDR_SPACE_4, - RID_ADDR_SPACE_5, - RID_ADDR_SPACE_6, - RID_ADDR_SPACE_7, - RID_ADDR_SPACE_8, - RID_ADDR_SPACE_9, - RID_ADDR_SPACE_10, - RID_ADDR_SPACE_11, - RID_ADDR_SPACE_12, - RID_ADDR_SPACE_13, - RID_ADDR_SPACE_14, - RID_ADDR_SPACE_15, - - RID_FIRST_ADDR_SPACE = RID_ADDR_SPACE_0, - RID_LAST_ADDR_SPACE = RID_ADDR_SPACE_15, - - /* __intN keywords. The _N_M here doesn't correspond to the intN - in the keyword; use the bitsize in int_n_t_data_t[M] for that. - For example, if int_n_t_data_t[0].bitsize is 13, then RID_INT_N_0 - is for __int13. */ - - /* Note that the range to use is RID_FIRST_INT_N through - RID_FIRST_INT_N + NUM_INT_N_ENTS - 1 and c-parser.cc has a list of - all RID_INT_N_* in a case statement. */ - - RID_INT_N_0, - RID_INT_N_1, - RID_INT_N_2, - RID_INT_N_3, - - RID_FIRST_INT_N = RID_INT_N_0, - RID_LAST_INT_N = RID_INT_N_3, - - RID_MAX, - - RID_FIRST_MODIFIER = RID_STATIC, - RID_LAST_MODIFIER = RID_ONEWAY, - - RID_FIRST_CXX11 = RID_CONSTEXPR, - RID_LAST_CXX11 = RID_STATIC_ASSERT, - RID_FIRST_CXX20 = RID_CONSTINIT, - RID_LAST_CXX20 = RID_CO_RETURN, - RID_FIRST_AT = RID_AT_ENCODE, - RID_LAST_AT = RID_AT_IMPLEMENTATION, - RID_FIRST_PQ = RID_IN, - RID_LAST_PQ = RID_ONEWAY, - RID_FIRST_PATTR = RID_GETTER, - RID_LAST_PATTR = RID_NULL_RESETTABLE -}; - -#define OBJC_IS_AT_KEYWORD(rid) \ - ((unsigned int) (rid) >= (unsigned int) RID_FIRST_AT && \ - (unsigned int) (rid) <= (unsigned int) RID_LAST_AT) - -#define OBJC_IS_PQ_KEYWORD(rid) \ - ((unsigned int) (rid) >= (unsigned int) RID_FIRST_PQ && \ - (unsigned int) (rid) <= (unsigned int) RID_LAST_PQ) - -/* Keywords permitted in an @property attribute context. */ -#define OBJC_IS_PATTR_KEYWORD(rid) \ - ((((unsigned int) (rid) >= (unsigned int) RID_FIRST_PATTR && \ - (unsigned int) (rid) <= (unsigned int) RID_LAST_PATTR)) \ - || rid == RID_CLASS) - -/* OBJC_IS_CXX_KEYWORD recognizes the 'CXX_OBJC' keywords (such as - 'class') which are shared in a subtle way between Objective-C and - C++. When the lexer is lexing in Objective-C/Objective-C++, if it - finds '@' followed by one of these identifiers (eg, '@class'), it - recognizes the whole as an Objective-C keyword. If the identifier - is found elsewhere, it follows the rules of the C/C++ language. - */ -#define OBJC_IS_CXX_KEYWORD(rid) \ - (rid == RID_CLASS || rid == RID_SYNCHRONIZED \ - || rid == RID_PUBLIC || rid == RID_PROTECTED || rid == RID_PRIVATE \ - || rid == RID_TRY || rid == RID_THROW || rid == RID_CATCH) - -/* The elements of `ridpointers' are identifier nodes for the reserved - type names and storage classes. It is indexed by a RID_... value. */ -extern GTY ((length ("(int) RID_MAX"))) tree *ridpointers; - -/* Standard named or nameless data types of the C compiler. */ - -enum c_tree_index -{ - CTI_CHAR8_TYPE, - CTI_CHAR16_TYPE, - CTI_CHAR32_TYPE, - CTI_WCHAR_TYPE, - CTI_UNDERLYING_WCHAR_TYPE, - CTI_WINT_TYPE, - CTI_SIGNED_SIZE_TYPE, /* For format checking only. */ - CTI_UNSIGNED_PTRDIFF_TYPE, /* For format checking only. */ - CTI_INTMAX_TYPE, - CTI_UINTMAX_TYPE, - CTI_WIDEST_INT_LIT_TYPE, - CTI_WIDEST_UINT_LIT_TYPE, - - /* Types for , that may not be defined on all - targets. */ - CTI_SIG_ATOMIC_TYPE, - CTI_INT8_TYPE, - CTI_INT16_TYPE, - CTI_INT32_TYPE, - CTI_INT64_TYPE, - CTI_UINT8_TYPE, - CTI_UINT16_TYPE, - CTI_UINT32_TYPE, - CTI_UINT64_TYPE, - CTI_INT_LEAST8_TYPE, - CTI_INT_LEAST16_TYPE, - CTI_INT_LEAST32_TYPE, - CTI_INT_LEAST64_TYPE, - CTI_UINT_LEAST8_TYPE, - CTI_UINT_LEAST16_TYPE, - CTI_UINT_LEAST32_TYPE, - CTI_UINT_LEAST64_TYPE, - CTI_INT_FAST8_TYPE, - CTI_INT_FAST16_TYPE, - CTI_INT_FAST32_TYPE, - CTI_INT_FAST64_TYPE, - CTI_UINT_FAST8_TYPE, - CTI_UINT_FAST16_TYPE, - CTI_UINT_FAST32_TYPE, - CTI_UINT_FAST64_TYPE, - CTI_INTPTR_TYPE, - CTI_UINTPTR_TYPE, - - CTI_CHAR_ARRAY_TYPE, - CTI_CHAR8_ARRAY_TYPE, - CTI_CHAR16_ARRAY_TYPE, - CTI_CHAR32_ARRAY_TYPE, - CTI_WCHAR_ARRAY_TYPE, - CTI_STRING_TYPE, - CTI_CONST_STRING_TYPE, - - /* Type for boolean expressions (bool in C++, int in C). */ - CTI_TRUTHVALUE_TYPE, - CTI_TRUTHVALUE_TRUE, - CTI_TRUTHVALUE_FALSE, - - CTI_DEFAULT_FUNCTION_TYPE, - - CTI_NULL, - CTI_NULLPTR, - CTI_NULLPTR_TYPE, - - /* These are not types, but we have to look them up all the time. */ - CTI_FUNCTION_NAME_DECL, - CTI_PRETTY_FUNCTION_NAME_DECL, - CTI_C99_FUNCTION_NAME_DECL, - - CTI_MODULE_HWM, - /* Below here entities change during compilation. */ - - CTI_SAVED_FUNCTION_NAME_DECLS, - - CTI_MAX -}; - -#define C_CPP_HASHNODE(id) \ - (&(((struct c_common_identifier *) (id))->node)) -#define C_RID_CODE(id) \ - ((enum rid) (((struct c_common_identifier *) (id))->node.rid_code)) -#define C_SET_RID_CODE(id, code) \ - (((struct c_common_identifier *) (id))->node.rid_code = (unsigned char) code) - -/* Identifier part common to the C front ends. Inherits from - tree_identifier, despite appearances. */ -struct GTY(()) c_common_identifier { - struct tree_common common; - struct cpp_hashnode node; -}; - -/* An entry in the reserved keyword table. */ - -struct c_common_resword -{ - const char *const word; - ENUM_BITFIELD(rid) const rid : 16; - const unsigned int disable : 32; -}; - -/* Mode used to build pointers (VOIDmode means ptr_mode). */ - -extern machine_mode c_default_pointer_mode; - -/* Extra cpp_ttype values for C++. */ - -/* A token type for template-ids. If a template-id is processed while - parsing tentatively, it is replaced with a CPP_TEMPLATE_ID token; - the value of the CPP_TEMPLATE_ID is whatever was returned by - cp_parser_template_id. */ -#define CPP_TEMPLATE_ID ((enum cpp_ttype) (CPP_KEYWORD + 1)) - -/* A token type for nested-name-specifiers. If a - nested-name-specifier is processed while parsing tentatively, it is - replaced with a CPP_NESTED_NAME_SPECIFIER token; the value of the - CPP_NESTED_NAME_SPECIFIER is whatever was returned by - cp_parser_nested_name_specifier_opt. */ -#define CPP_NESTED_NAME_SPECIFIER ((enum cpp_ttype) (CPP_TEMPLATE_ID + 1)) - -/* A token type for pre-parsed C++0x decltype. */ -#define CPP_DECLTYPE ((enum cpp_ttype) (CPP_NESTED_NAME_SPECIFIER + 1)) - -/* A token type for pre-parsed primary-expression (lambda- or statement-). */ -#define CPP_PREPARSED_EXPR ((enum cpp_ttype) (CPP_DECLTYPE + 1)) - -/* The number of token types, including C++-specific ones. */ -#define N_CP_TTYPES ((int) (CPP_PREPARSED_EXPR + 1)) - -/* Disable mask. Keywords are disabled if (reswords[i].disable & - mask) is _true_. Thus for keywords which are present in all - languages the disable field is zero. */ - -#define D_CONLY 0x0001 /* C only (not in C++). */ -#define D_CXXONLY 0x0002 /* C++ only (not in C). */ -#define D_C99 0x0004 /* In C, C99 only. */ -#define D_C2X 0x0008 /* In C, C2X only. */ -#define D_CXX11 0x0010 /* In C++, C++11 only. */ -#define D_EXT 0x0020 /* GCC extension. */ -#define D_EXT89 0x0040 /* GCC extension incorporated in C99. */ -#define D_EXT11 0x0080 /* GCC extension incorporated in C2X. */ -#define D_ASM 0x0100 /* Disabled by -fno-asm. */ -#define D_OBJC 0x0200 /* In Objective C and neither C nor C++. */ -#define D_CXX_OBJC 0x0400 /* In Objective C, and C++, but not C. */ -#define D_CXXWARN 0x0800 /* In C warn with -Wcxx-compat. */ -#define D_CXX_CONCEPTS 0x1000 /* In C++, only with concepts. */ -#define D_TRANSMEM 0x2000 /* C++ transactional memory TS. */ -#define D_CXX_CHAR8_T 0x4000 /* In C++, only with -fchar8_t. */ -#define D_CXX20 0x8000 /* In C++, C++20 only. */ -#define D_CXX_COROUTINES 0x10000 /* In C++, only with coroutines. */ -#define D_CXX_MODULES 0x20000 /* In C++, only with modules. */ - -#define D_CXX_CONCEPTS_FLAGS D_CXXONLY | D_CXX_CONCEPTS -#define D_CXX_CHAR8_T_FLAGS D_CXXONLY | D_CXX_CHAR8_T -#define D_CXX_MODULES_FLAGS (D_CXXONLY | D_CXX_MODULES) -#define D_CXX_COROUTINES_FLAGS (D_CXXONLY | D_CXX_COROUTINES) - -/* The reserved keyword table. */ -extern const struct c_common_resword c_common_reswords[]; - -/* The number of items in the reserved keyword table. */ -extern const unsigned int num_c_common_reswords; - -#define char8_type_node c_global_trees[CTI_CHAR8_TYPE] -#define char16_type_node c_global_trees[CTI_CHAR16_TYPE] -#define char32_type_node c_global_trees[CTI_CHAR32_TYPE] -#define wchar_type_node c_global_trees[CTI_WCHAR_TYPE] -#define underlying_wchar_type_node c_global_trees[CTI_UNDERLYING_WCHAR_TYPE] -#define wint_type_node c_global_trees[CTI_WINT_TYPE] -#define signed_size_type_node c_global_trees[CTI_SIGNED_SIZE_TYPE] -#define unsigned_ptrdiff_type_node c_global_trees[CTI_UNSIGNED_PTRDIFF_TYPE] -#define intmax_type_node c_global_trees[CTI_INTMAX_TYPE] -#define uintmax_type_node c_global_trees[CTI_UINTMAX_TYPE] -#define widest_integer_literal_type_node c_global_trees[CTI_WIDEST_INT_LIT_TYPE] -#define widest_unsigned_literal_type_node c_global_trees[CTI_WIDEST_UINT_LIT_TYPE] - -#define sig_atomic_type_node c_global_trees[CTI_SIG_ATOMIC_TYPE] -#define int8_type_node c_global_trees[CTI_INT8_TYPE] -#define int16_type_node c_global_trees[CTI_INT16_TYPE] -#define int32_type_node c_global_trees[CTI_INT32_TYPE] -#define int64_type_node c_global_trees[CTI_INT64_TYPE] -#define uint8_type_node c_global_trees[CTI_UINT8_TYPE] -#define c_uint16_type_node c_global_trees[CTI_UINT16_TYPE] -#define c_uint32_type_node c_global_trees[CTI_UINT32_TYPE] -#define c_uint64_type_node c_global_trees[CTI_UINT64_TYPE] -#define int_least8_type_node c_global_trees[CTI_INT_LEAST8_TYPE] -#define int_least16_type_node c_global_trees[CTI_INT_LEAST16_TYPE] -#define int_least32_type_node c_global_trees[CTI_INT_LEAST32_TYPE] -#define int_least64_type_node c_global_trees[CTI_INT_LEAST64_TYPE] -#define uint_least8_type_node c_global_trees[CTI_UINT_LEAST8_TYPE] -#define uint_least16_type_node c_global_trees[CTI_UINT_LEAST16_TYPE] -#define uint_least32_type_node c_global_trees[CTI_UINT_LEAST32_TYPE] -#define uint_least64_type_node c_global_trees[CTI_UINT_LEAST64_TYPE] -#define int_fast8_type_node c_global_trees[CTI_INT_FAST8_TYPE] -#define int_fast16_type_node c_global_trees[CTI_INT_FAST16_TYPE] -#define int_fast32_type_node c_global_trees[CTI_INT_FAST32_TYPE] -#define int_fast64_type_node c_global_trees[CTI_INT_FAST64_TYPE] -#define uint_fast8_type_node c_global_trees[CTI_UINT_FAST8_TYPE] -#define uint_fast16_type_node c_global_trees[CTI_UINT_FAST16_TYPE] -#define uint_fast32_type_node c_global_trees[CTI_UINT_FAST32_TYPE] -#define uint_fast64_type_node c_global_trees[CTI_UINT_FAST64_TYPE] -#define intptr_type_node c_global_trees[CTI_INTPTR_TYPE] -#define uintptr_type_node c_global_trees[CTI_UINTPTR_TYPE] - -#define truthvalue_type_node c_global_trees[CTI_TRUTHVALUE_TYPE] -#define truthvalue_true_node c_global_trees[CTI_TRUTHVALUE_TRUE] -#define truthvalue_false_node c_global_trees[CTI_TRUTHVALUE_FALSE] - -#define char_array_type_node c_global_trees[CTI_CHAR_ARRAY_TYPE] -#define char8_array_type_node c_global_trees[CTI_CHAR8_ARRAY_TYPE] -#define char16_array_type_node c_global_trees[CTI_CHAR16_ARRAY_TYPE] -#define char32_array_type_node c_global_trees[CTI_CHAR32_ARRAY_TYPE] -#define wchar_array_type_node c_global_trees[CTI_WCHAR_ARRAY_TYPE] -#define string_type_node c_global_trees[CTI_STRING_TYPE] -#define const_string_type_node c_global_trees[CTI_CONST_STRING_TYPE] - -#define default_function_type c_global_trees[CTI_DEFAULT_FUNCTION_TYPE] - -#define function_name_decl_node c_global_trees[CTI_FUNCTION_NAME_DECL] -#define pretty_function_name_decl_node c_global_trees[CTI_PRETTY_FUNCTION_NAME_DECL] -#define c99_function_name_decl_node c_global_trees[CTI_C99_FUNCTION_NAME_DECL] -#define saved_function_name_decls c_global_trees[CTI_SAVED_FUNCTION_NAME_DECLS] - -/* The node for C++ `__null'. */ -#define null_node c_global_trees[CTI_NULL] -/* The nodes for `nullptr'. */ -#define nullptr_node c_global_trees[CTI_NULLPTR] -#define nullptr_type_node c_global_trees[CTI_NULLPTR_TYPE] - -extern GTY(()) tree c_global_trees[CTI_MAX]; - -/* Mark which labels are explicitly declared. - These may be shadowed, and may be referenced from nested functions. */ -#define C_DECLARED_LABEL_FLAG(label) TREE_LANG_FLAG_1 (label) - -enum c_language_kind -{ - clk_c = 0, /* C90, C94, C99, C11 or C2X */ - clk_objc = 1, /* clk_c with ObjC features. */ - clk_cxx = 2, /* ANSI/ISO C++ */ - clk_objcxx = 3 /* clk_cxx with ObjC features. */ -}; - -/* To test for a specific language use c_language, defined by each - front end. For "ObjC features" or "not C++" use the macros. */ -extern c_language_kind c_language; - -#define c_dialect_cxx() ((c_language & clk_cxx) != 0) -#define c_dialect_objc() ((c_language & clk_objc) != 0) - -/* The various name of operator that appears in error messages. */ -enum ref_operator { - /* NULL */ - RO_NULL, - /* array indexing */ - RO_ARRAY_INDEXING, - /* unary * */ - RO_UNARY_STAR, - /* -> */ - RO_ARROW, - /* implicit conversion */ - RO_IMPLICIT_CONVERSION, - /* ->* */ - RO_ARROW_STAR -}; - -/* Information about a statement tree. */ - -struct GTY(()) stmt_tree_s { - /* A stack of statement lists being collected. */ - vec *x_cur_stmt_list; - - /* In C++, Nonzero if we should treat statements as full - expressions. In particular, this variable is non-zero if at the - end of a statement we should destroy any temporaries created - during that statement. Similarly, if, at the end of a block, we - should destroy any local variables in this block. Normally, this - variable is nonzero, since those are the normal semantics of - C++. - - This flag has no effect in C. */ - int stmts_are_full_exprs_p; -}; - -typedef struct stmt_tree_s *stmt_tree; - -/* Global state pertinent to the current function. Some C dialects - extend this structure with additional fields. */ - -struct GTY(()) c_language_function { - /* While we are parsing the function, this contains information - about the statement-tree that we are building. */ - struct stmt_tree_s x_stmt_tree; - - /* Vector of locally defined typedefs, for - -Wunused-local-typedefs. */ - vec *local_typedefs; -}; - -#define stmt_list_stack (current_stmt_tree ()->x_cur_stmt_list) - -/* When building a statement-tree, this is the current statement list - being collected. */ -#define cur_stmt_list (stmt_list_stack->last ()) - -#define building_stmt_list_p() (stmt_list_stack && !stmt_list_stack->is_empty()) - -/* Language-specific hooks. */ - -/* If non-NULL, this function is called after a precompile header file - is loaded. */ -extern void (*lang_post_pch_load) (void); - -extern void push_file_scope (void); -extern void pop_file_scope (void); -extern stmt_tree current_stmt_tree (void); -extern tree push_stmt_list (void); -extern tree pop_stmt_list (tree); -extern tree add_stmt (tree); -extern void push_cleanup (tree, tree, bool); - -extern tree build_modify_expr (location_t, tree, tree, enum tree_code, - location_t, tree, tree); -extern tree build_indirect_ref (location_t, tree, ref_operator); - -extern bool has_c_linkage (const_tree decl); -extern bool c_decl_implicit (const_tree); - -/* Switches common to the C front ends. */ - -/* Nonzero means don't output line number information. */ - -extern char flag_no_line_commands; - -/* Nonzero causes -E output not to be done, but directives such as - #define that have side effects are still obeyed. */ - -extern char flag_no_output; - -/* Nonzero means dump macros in some fashion; contains the 'D', 'M', - 'N' or 'U' of the command line switch. */ - -extern char flag_dump_macros; - -/* Nonzero means pass #include lines through to the output. */ - -extern char flag_dump_includes; - -/* Nonzero means process PCH files while preprocessing. */ - -extern bool flag_pch_preprocess; - -/* The file name to which we should write a precompiled header, or - NULL if no header will be written in this compile. */ - -extern const char *pch_file; - -/* Nonzero if an ISO standard was selected. It rejects macros in the - user's namespace. */ - -extern int flag_iso; - -/* C/ObjC language option variables. */ - - -/* Nonzero means allow type mismatches in conditional expressions; - just make their values `void'. */ - -extern int flag_cond_mismatch; - -/* Nonzero means enable C89 Amendment 1 features. */ - -extern int flag_isoc94; - -/* Nonzero means use the ISO C99 (or later) dialect of C. */ - -extern int flag_isoc99; - -/* Nonzero means use the ISO C11 (or later) dialect of C. */ - -extern int flag_isoc11; - -/* Nonzero means use the ISO C2X dialect of C. */ - -extern int flag_isoc2x; - -/* Nonzero means that we have builtin functions, and main is an int. */ - -extern int flag_hosted; - -/* ObjC language option variables. */ - - -/* Tells the compiler that this is a special run. Do not perform any - compiling, instead we are to test some platform dependent features - and output a C header file with appropriate definitions. */ - -extern int print_struct_values; - -/* Tells the compiler what is the constant string class for ObjC. */ - -extern const char *constant_string_class_name; - - -/* C++ language option variables. */ - -/* The reference version of the ABI for -Wabi. */ - -extern int warn_abi_version; - -/* Return TRUE if one of {flag_abi_version,flag_abi_compat_version} is - less than N and the other is at least N. */ -#define abi_compat_version_crosses(N) \ - (abi_version_at_least(N) \ - != (flag_abi_compat_version == 0 \ - || flag_abi_compat_version >= (N))) - -/* Return TRUE if one of {flag_abi_version,warn_abi_version} is - less than N and the other is at least N, for use by -Wabi. */ -#define abi_version_crosses(N) \ - (abi_version_at_least(N) \ - != (warn_abi_version == 0 \ - || warn_abi_version >= (N))) - -/* The supported C++ dialects. */ - -enum cxx_dialect { - cxx_unset, - /* C++98 with TC1 */ - cxx98, - cxx03 = cxx98, - /* C++11 */ - cxx0x, - cxx11 = cxx0x, - /* C++14 */ - cxx14, - /* C++17 */ - cxx17, - /* C++20 */ - cxx20, - /* C++23 */ - cxx23 -}; - -/* The C++ dialect being used. C++98 is the default. */ -extern enum cxx_dialect cxx_dialect; - -/* Maximum template instantiation depth. This limit is rather - arbitrary, but it exists to limit the time it takes to notice - excessively recursive template instantiations. */ - -extern int max_tinst_depth; - -/* Nonzero means that we should not issue warnings about problems that - occur when the code is executed, because the code being processed - is not expected to be executed. This is set during parsing. This - is used for cases like sizeof() and "0 ? a : b". This is a count, - not a bool, because unexecuted expressions can nest. */ - -extern int c_inhibit_evaluation_warnings; - -/* Depending on which phase of processing we are in, we may need - to prefer input_location to libcpp's locations. (Specifically, - after the C++ lexer is done lexing tokens, but prior to calling - cpp_finish (), we need to do so. */ - -extern bool override_libcpp_locations; - -/* C types are partitioned into three subsets: object, function, and - incomplete types. */ -#define C_TYPE_OBJECT_P(type) \ - (TREE_CODE (type) != FUNCTION_TYPE && TYPE_SIZE (type)) - -#define C_TYPE_INCOMPLETE_P(type) \ - (TREE_CODE (type) != FUNCTION_TYPE && TYPE_SIZE (type) == 0) - -#define C_TYPE_FUNCTION_P(type) \ - (TREE_CODE (type) == FUNCTION_TYPE) - -/* For convenience we define a single macro to identify the class of - object or incomplete types. */ -#define C_TYPE_OBJECT_OR_INCOMPLETE_P(type) \ - (!C_TYPE_FUNCTION_P (type)) - -/* Return true if TYPE is a vector type that should be subject to the GNU - vector extensions (as opposed to a vector type that is used only for - the purposes of defining target-specific built-in functions). */ - -inline bool -gnu_vector_type_p (const_tree type) -{ - return TREE_CODE (type) == VECTOR_TYPE && !TYPE_INDIVISIBLE_P (type); -} - -struct visibility_flags -{ - unsigned inpragma : 1; /* True when in #pragma GCC visibility. */ - unsigned inlines_hidden : 1; /* True when -finlineshidden in effect. */ -}; - -/* These enumerators are possible types of unsafe conversions. */ -enum conversion_safety { - /* The conversion is safe. */ - SAFE_CONVERSION = 0, - /* Another type of conversion with problems. */ - UNSAFE_OTHER, - /* Conversion between signed and unsigned integers. */ - UNSAFE_SIGN, - /* Conversions that reduce the precision of reals including conversions - from reals to integers. */ - UNSAFE_REAL, - /* Conversions from complex to reals or integers, that discard imaginary - component. */ - UNSAFE_IMAGINARY -}; - -/* Global visibility options. */ -extern struct visibility_flags visibility_options; - -/* Attribute table common to the C front ends. */ -extern const struct attribute_spec c_common_attribute_table[]; -extern const struct attribute_spec c_common_format_attribute_table[]; - -/* Pointer to function to lazily generate the VAR_DECL for __FUNCTION__ etc. - ID is the identifier to use, NAME is the string. - TYPE_DEP indicates whether it depends on type of the function or not - (i.e. __PRETTY_FUNCTION__). */ - -extern tree (*make_fname_decl) (location_t, tree, int); - -/* In c-decl.cc and cp/tree.cc. FIXME. */ -extern void c_register_addr_space (const char *str, addr_space_t as); - -/* In c-common.cc. */ -extern bool in_late_binary_op; -extern const char *c_addr_space_name (addr_space_t as); -extern tree identifier_global_value (tree); -extern tree identifier_global_tag (tree); -extern bool names_builtin_p (const char *); -extern tree c_linkage_bindings (tree); -extern void record_builtin_type (enum rid, const char *, tree); -extern void start_fname_decls (void); -extern void finish_fname_decls (void); -extern const char *fname_as_string (int); -extern tree fname_decl (location_t, unsigned, tree); - -extern int check_user_alignment (const_tree, bool, bool); -extern bool check_function_arguments (location_t loc, const_tree, const_tree, - int, tree *, vec *); -extern void check_function_arguments_recurse (void (*) - (void *, tree, - unsigned HOST_WIDE_INT), - void *, tree, - unsigned HOST_WIDE_INT, - opt_code); -extern bool check_builtin_function_arguments (location_t, vec, - tree, tree, int, tree *); -extern void check_function_format (const_tree, tree, int, tree *, - vec *); -extern bool attribute_fallthrough_p (tree); -extern tree handle_format_attribute (tree *, tree, tree, int, bool *); -extern tree handle_format_arg_attribute (tree *, tree, tree, int, bool *); -extern bool c_common_handle_option (size_t, const char *, HOST_WIDE_INT, int, - location_t, - const struct cl_option_handlers *); -extern bool default_handle_c_option (size_t, const char *, int); -extern tree c_common_type_for_mode (machine_mode, int); -extern tree c_common_type_for_size (unsigned int, int); -extern tree c_common_fixed_point_type_for_size (unsigned int, unsigned int, - int, int); -extern tree c_common_unsigned_type (tree); -extern tree c_common_signed_type (tree); -extern tree c_common_signed_or_unsigned_type (int, tree); -extern void c_common_init_ts (void); -extern tree c_build_bitfield_integer_type (unsigned HOST_WIDE_INT, int); -extern enum conversion_safety unsafe_conversion_p (tree, tree, tree, bool); -extern bool decl_with_nonnull_addr_p (const_tree); -extern tree c_fully_fold (tree, bool, bool *, bool = false); -extern tree c_wrap_maybe_const (tree, bool); -extern tree c_common_truthvalue_conversion (location_t, tree); -extern void c_apply_type_quals_to_decl (int, tree); -extern tree c_sizeof_or_alignof_type (location_t, tree, bool, bool, int); -extern tree c_alignof_expr (location_t, tree); -/* Print an error message for invalid operands to arith operation CODE. - NOP_EXPR is used as a special case (see truthvalue_conversion). */ -extern void binary_op_error (rich_location *, enum tree_code, tree, tree); -extern tree fix_string_type (tree); -extern tree convert_and_check (location_t, tree, tree, bool = false); -extern bool c_determine_visibility (tree); -extern bool vector_types_compatible_elements_p (tree, tree); -extern void mark_valid_location_for_stdc_pragma (bool); -extern bool valid_location_for_stdc_pragma_p (void); -extern void set_float_const_decimal64 (void); -extern void clear_float_const_decimal64 (void); -extern bool float_const_decimal64_p (void); - -extern bool keyword_begins_type_specifier (enum rid); -extern bool keyword_is_storage_class_specifier (enum rid); -extern bool keyword_is_type_qualifier (enum rid); -extern bool keyword_is_decl_specifier (enum rid); -extern unsigned max_align_t_align (void); -extern bool cxx_fundamental_alignment_p (unsigned); -extern bool pointer_to_zero_sized_aggr_p (tree); -extern bool bool_promoted_to_int_p (tree); -extern tree fold_for_warn (tree); -extern tree c_common_get_narrower (tree, int *); -extern bool get_attribute_operand (tree, unsigned HOST_WIDE_INT *); -extern void c_common_finalize_early_debug (void); -extern unsigned int c_strict_flex_array_level_of (tree); -extern bool c_option_is_from_cpp_diagnostics (int); - -/* Used by convert_and_check; in front ends. */ -extern tree convert_init (tree, tree); - -#define c_sizeof(LOC, T) c_sizeof_or_alignof_type (LOC, T, true, false, 1) -#define c_alignof(LOC, T) c_sizeof_or_alignof_type (LOC, T, false, false, 1) - -/* Subroutine of build_binary_op, used for certain operations. */ -extern tree shorten_binary_op (tree result_type, tree op0, tree op1, bool bitwise); - -/* Return true if division or modulo op0 / op1 or op0 % op1 may be shortened. - We can shorten only if we can guarantee that op0 is not signed integral - minimum or op1 is not -1, because e.g. (long long) INT_MIN / -1 is - well defined INT_MAX + 1LL if long long is wider than int, but INT_MIN / -1 - is UB. */ -inline bool -may_shorten_divmod (tree op0, tree op1) -{ - tree type0 = TREE_TYPE (op0); - if (TYPE_UNSIGNED (type0)) - return true; - /* A cast from narrower unsigned won't be signed integral minimum, - but cast from same or wider precision unsigned could be. */ - if (TREE_CODE (op0) == NOP_EXPR - && INTEGRAL_TYPE_P (TREE_TYPE (TREE_OPERAND (op0, 0))) - && TYPE_UNSIGNED (TREE_TYPE (TREE_OPERAND (op0, 0))) - && (TYPE_PRECISION (TREE_TYPE (TREE_OPERAND (op0, 0))) - < TYPE_PRECISION (type0))) - return true; - if (TREE_CODE (op1) == INTEGER_CST && !integer_all_onesp (op1)) - return true; - return false; -} - -/* Subroutine of build_binary_op, used for comparison operations. - See if the operands have both been converted from subword integer types - and, if so, perhaps change them both back to their original type. */ -extern tree shorten_compare (location_t, tree *, tree *, tree *, - enum tree_code *); - -extern tree pointer_int_sum (location_t, enum tree_code, tree, tree, - bool = true); - -/* Add qualifiers to a type, in the fashion for C. */ -extern tree c_build_qualified_type (tree, int, tree = NULL_TREE, size_t = 0); - -/* Build tree nodes and builtin functions common to both C and C++ language - frontends. */ -extern void c_common_nodes_and_builtins (void); - -extern void disable_builtin_function (const char *); - -extern void set_compound_literal_name (tree decl); - -extern tree build_va_arg (location_t, tree, tree); - -extern const unsigned int c_family_lang_mask; -extern unsigned int c_common_option_lang_mask (void); -extern void c_common_diagnostics_set_defaults (diagnostic_context *); -extern bool c_common_complain_wrong_lang_p (const struct cl_option *); -extern void c_common_init_options_struct (struct gcc_options *); -extern void c_common_init_options (unsigned int, struct cl_decoded_option *); -extern bool c_common_post_options (const char **); -extern bool c_common_init (void); -extern void c_common_finish (void); -extern void c_common_parse_file (void); -extern alias_set_type c_common_get_alias_set (tree); -extern void c_register_builtin_type (tree, const char*); -extern bool c_promoting_integer_type_p (const_tree); -extern bool self_promoting_args_p (const_tree); -extern tree strip_pointer_operator (tree); -extern tree strip_pointer_or_array_types (tree); -extern HOST_WIDE_INT c_common_to_target_charset (HOST_WIDE_INT); - -/* This is the basic parsing function. */ -extern void c_parse_file (void); - -extern void c_parse_final_cleanups (void); - -/* These macros provide convenient access to the various _STMT nodes. */ - -/* Nonzero if a given STATEMENT_LIST represents the outermost binding - if a statement expression. */ -#define STATEMENT_LIST_STMT_EXPR(NODE) \ - TREE_LANG_FLAG_1 (STATEMENT_LIST_CHECK (NODE)) - -/* Nonzero if a label has been added to the statement list. */ -#define STATEMENT_LIST_HAS_LABEL(NODE) \ - TREE_LANG_FLAG_3 (STATEMENT_LIST_CHECK (NODE)) - -/* C_MAYBE_CONST_EXPR accessors. */ -#define C_MAYBE_CONST_EXPR_PRE(NODE) \ - TREE_OPERAND (C_MAYBE_CONST_EXPR_CHECK (NODE), 0) -#define C_MAYBE_CONST_EXPR_EXPR(NODE) \ - TREE_OPERAND (C_MAYBE_CONST_EXPR_CHECK (NODE), 1) -#define C_MAYBE_CONST_EXPR_INT_OPERANDS(NODE) \ - TREE_LANG_FLAG_0 (C_MAYBE_CONST_EXPR_CHECK (NODE)) -#define C_MAYBE_CONST_EXPR_NON_CONST(NODE) \ - TREE_LANG_FLAG_1 (C_MAYBE_CONST_EXPR_CHECK (NODE)) -#define EXPR_INT_CONST_OPERANDS(EXPR) \ - (INTEGRAL_TYPE_P (TREE_TYPE (EXPR)) \ - && (TREE_CODE (EXPR) == INTEGER_CST \ - || (TREE_CODE (EXPR) == C_MAYBE_CONST_EXPR \ - && C_MAYBE_CONST_EXPR_INT_OPERANDS (EXPR)))) - -/* In a FIELD_DECL, nonzero if the decl was originally a bitfield. */ -#define DECL_C_BIT_FIELD(NODE) \ - (DECL_LANG_FLAG_4 (FIELD_DECL_CHECK (NODE)) == 1) -#define SET_DECL_C_BIT_FIELD(NODE) \ - (DECL_LANG_FLAG_4 (FIELD_DECL_CHECK (NODE)) = 1) -#define CLEAR_DECL_C_BIT_FIELD(NODE) \ - (DECL_LANG_FLAG_4 (FIELD_DECL_CHECK (NODE)) = 0) - -/* True if the decl was an unnamed bitfield. */ -#define DECL_UNNAMED_BIT_FIELD(NODE) \ - (DECL_C_BIT_FIELD (NODE) && !DECL_NAME (NODE)) - -/* True iff TYPE is cv decltype(nullptr). */ -#define NULLPTR_TYPE_P(TYPE) (TREE_CODE (TYPE) == NULLPTR_TYPE) - -/* Returns the underlying type of the given enumeration type. The - underlying type is determined in different ways, depending on the - properties of the enum: - - - In C++0x or C2x, the underlying type can be explicitly specified, e.g., - - enum E1 : char { ... } // underlying type is char - - - In a C++0x scoped enumeration, the underlying type is int - unless otherwises specified: - - enum class E2 { ... } // underlying type is int - - - Otherwise, the underlying type is determined based on the - values of the enumerators. In this case, the - ENUM_UNDERLYING_TYPE will not be set until after the definition - of the enumeration is completed by finish_enum. */ -#define ENUM_UNDERLYING_TYPE(TYPE) \ - TREE_TYPE (ENUMERAL_TYPE_CHECK (TYPE)) - -/* Determines whether an ENUMERAL_TYPE has an explicit - underlying type. */ -#define ENUM_FIXED_UNDERLYING_TYPE_P(NODE) (TYPE_LANG_FLAG_5 (NODE)) - -extern tree do_case (location_t, tree, tree, tree); -extern tree build_stmt (location_t, enum tree_code, ...); -extern tree build_real_imag_expr (location_t, enum tree_code, tree); - -/* These functions must be defined by each front-end which implements - a variant of the C language. They are used in c-common.cc. */ - -extern tree build_unary_op (location_t, enum tree_code, tree, bool); -extern tree build_binary_op (location_t, enum tree_code, tree, tree, bool); -extern tree perform_integral_promotions (tree); - -/* These functions must be defined by each front-end which implements - a variant of the C language. They are used by port files. */ - -extern tree default_conversion (tree); - -/* Given two integer or real types, return the type for their sum. - Given two compatible ANSI C types, returns the merged type. */ - -extern tree common_type (tree, tree); - -extern tree decl_constant_value (tree); - -/* Handle increment and decrement of boolean types. */ -extern tree boolean_increment (enum tree_code, tree); - -extern int case_compare (splay_tree_key, splay_tree_key); - -extern tree c_add_case_label (location_t, splay_tree, tree, tree, tree, - tree = NULL_TREE); -extern bool c_switch_covers_all_cases_p (splay_tree, tree); -extern bool c_block_may_fallthru (const_tree); - -extern tree build_function_call (location_t, tree, tree); - -extern tree build_function_call_vec (location_t, vec, tree, - vec *, vec *, - tree = NULL_TREE); - -extern tree resolve_overloaded_builtin (location_t, tree, vec *); - -extern tree finish_label_address_expr (tree, location_t); - -/* Same function prototype, but the C and C++ front ends have - different implementations. Used in c-common.cc. */ -extern tree lookup_label (tree); -extern tree lookup_name (tree); -extern bool lvalue_p (const_tree); -extern int maybe_adjust_arg_pos_for_attribute (const_tree); -extern bool instantiation_dependent_expression_p (tree); - -extern bool vector_targets_convertible_p (const_tree t1, const_tree t2); -extern bool vector_types_convertible_p (const_tree t1, const_tree t2, bool emit_lax_note); -extern tree c_build_vec_perm_expr (location_t, tree, tree, tree, bool = true); -extern tree c_build_shufflevector (location_t, tree, tree, - const vec &, bool = true); -extern tree c_build_vec_convert (location_t, tree, location_t, tree, bool = true); - -extern void init_c_lex (void); - -extern void c_cpp_builtins (cpp_reader *); -extern void c_cpp_builtins_optimize_pragma (cpp_reader *, tree, tree); -extern bool c_cpp_diagnostic (cpp_reader *, enum cpp_diagnostic_level, - enum cpp_warning_reason, rich_location *, - const char *, va_list *) - ATTRIBUTE_GCC_DIAG(5,0); -extern int c_common_has_attribute (cpp_reader *, bool); -extern int c_common_has_builtin (cpp_reader *); - -extern bool parse_optimize_options (tree, bool); - -/* Positive if an implicit `extern "C"' scope has just been entered; - negative if such a scope has just been exited. */ -extern GTY(()) int pending_lang_change; - -/* Information recorded about each file examined during compilation. */ - -struct c_fileinfo -{ - int time; /* Time spent in the file. */ - - /* Flags used only by C++. - INTERFACE_ONLY nonzero means that we are in an "interface" section - of the compiler. INTERFACE_UNKNOWN nonzero means we cannot trust - the value of INTERFACE_ONLY. If INTERFACE_UNKNOWN is zero and - INTERFACE_ONLY is zero, it means that we are responsible for - exporting definitions that others might need. */ - short interface_only; - short interface_unknown; -}; - -struct c_fileinfo *get_fileinfo (const char *); -extern void dump_time_statistics (void); - -extern bool c_dump_tree (void *, tree); - -extern void verify_sequence_points (tree); - -extern tree fold_offsetof (tree, tree = size_type_node, - tree_code ctx = ERROR_MARK); - -extern int complete_array_type (tree *, tree, bool); -extern void complete_flexible_array_elts (tree); - -extern tree builtin_type_for_size (int, bool); - -extern void c_common_mark_addressable_vec (tree); - -extern void set_underlying_type (tree); -extern bool user_facing_original_type_p (const_tree); -extern void record_types_used_by_current_var_decl (tree); -extern vec *make_tree_vector (void); -extern void release_tree_vector (vec *); -extern vec *make_tree_vector_single (tree); -extern vec *make_tree_vector_from_list (tree); -extern vec *make_tree_vector_from_ctor (tree); -extern vec *make_tree_vector_copy (const vec *); - -/* Used for communication between c_common_type_for_mode and - c_register_builtin_type. */ -extern GTY(()) tree registered_builtin_types; - -/* Read SOURCE_DATE_EPOCH from environment to have a deterministic - timestamp to replace embedded current dates to get reproducible - results. Returns -1 if SOURCE_DATE_EPOCH is not defined. */ -extern time_t cb_get_source_date_epoch (cpp_reader *pfile); - -/* The value (as a unix timestamp) corresponds to date - "Dec 31 9999 23:59:59 UTC", which is the latest date that __DATE__ and - __TIME__ can store. */ -#define MAX_SOURCE_DATE_EPOCH HOST_WIDE_INT_C (253402300799) - -/* Callback for libcpp for offering spelling suggestions for misspelled - directives. */ -extern const char *cb_get_suggestion (cpp_reader *, const char *, - const char *const *); - -extern GTY(()) string_concat_db *g_string_concat_db; - -class substring_loc; -extern const char *c_get_substring_location (const substring_loc &substr_loc, - location_t *out_loc); - -/* In c-gimplify.cc. */ -typedef struct bc_state -{ - tree bc_label[2]; -} bc_state_t; -extern void save_bc_state (bc_state_t *); -extern void restore_bc_state (bc_state_t *); -extern tree c_genericize_control_stmt (tree *, int *, void *, - walk_tree_fn, walk_tree_lh); -extern void c_genericize (tree); -extern int c_gimplify_expr (tree *, gimple_seq *, gimple_seq *); -extern tree c_build_bind_expr (location_t, tree, tree); - -/* In c-lex.cc. */ -extern enum cpp_ttype -conflict_marker_get_final_tok_kind (enum cpp_ttype tok1_kind); - -/* In c-pch.cc */ -extern void pch_init (void); -extern void pch_cpp_save_state (void); -extern int c_common_valid_pch (cpp_reader *pfile, const char *name, int fd); -extern void c_common_read_pch (cpp_reader *pfile, const char *name, int fd, - const char *orig); -extern void c_common_write_pch (void); -extern void c_common_no_more_pch (void); -extern void c_common_pch_pragma (cpp_reader *pfile, const char *); - -/* In *-checksum.c */ -extern const unsigned char executable_checksum[16]; - -/* In c-cppbuiltin.cc */ -extern void builtin_define_std (const char *macro); -extern void builtin_define_with_value (const char *, const char *, int); -extern void builtin_define_with_int_value (const char *, HOST_WIDE_INT); -extern void builtin_define_type_sizeof (const char *, tree); -extern void c_stddef_cpp_builtins (void); -extern void fe_file_change (const line_map_ordinary *); -extern void c_parse_error (const char *, enum cpp_ttype, tree, unsigned char, - rich_location *richloc); - -/* In c-ppoutput.cc */ -extern void init_pp_output (FILE *); -extern void preprocess_file (cpp_reader *); -extern void pp_file_change (const line_map_ordinary *); -extern void pp_dir_change (cpp_reader *, const char *); -extern bool check_missing_format_attribute (tree, tree); -extern void c_pp_stream_token (cpp_reader *, const cpp_token *, location_t loc); - -/* In c-omp.cc */ -typedef wide_int_bitmask omp_clause_mask; - -#define OMP_CLAUSE_MASK_1 omp_clause_mask (1) - -enum c_omp_clause_split -{ - C_OMP_CLAUSE_SPLIT_TARGET = 0, - C_OMP_CLAUSE_SPLIT_TEAMS, - C_OMP_CLAUSE_SPLIT_DISTRIBUTE, - C_OMP_CLAUSE_SPLIT_PARALLEL, - C_OMP_CLAUSE_SPLIT_FOR, - C_OMP_CLAUSE_SPLIT_SIMD, - C_OMP_CLAUSE_SPLIT_COUNT, - C_OMP_CLAUSE_SPLIT_SECTIONS = C_OMP_CLAUSE_SPLIT_FOR, - C_OMP_CLAUSE_SPLIT_TASKLOOP = C_OMP_CLAUSE_SPLIT_FOR, - C_OMP_CLAUSE_SPLIT_LOOP = C_OMP_CLAUSE_SPLIT_FOR, - C_OMP_CLAUSE_SPLIT_MASKED = C_OMP_CLAUSE_SPLIT_DISTRIBUTE -}; - -enum c_omp_region_type -{ - C_ORT_OMP = 1 << 0, - C_ORT_ACC = 1 << 1, - C_ORT_DECLARE_SIMD = 1 << 2, - C_ORT_TARGET = 1 << 3, - C_ORT_OMP_DECLARE_SIMD = C_ORT_OMP | C_ORT_DECLARE_SIMD, - C_ORT_OMP_TARGET = C_ORT_OMP | C_ORT_TARGET -}; - -extern tree c_finish_omp_master (location_t, tree); -extern tree c_finish_omp_masked (location_t, tree, tree); -extern tree c_finish_omp_taskgroup (location_t, tree, tree); -extern tree c_finish_omp_critical (location_t, tree, tree, tree); -extern tree c_finish_omp_ordered (location_t, tree, tree); -extern void c_finish_omp_barrier (location_t); -extern tree c_finish_omp_atomic (location_t, enum tree_code, enum tree_code, - tree, tree, tree, tree, tree, tree, bool, - enum omp_memory_order, bool, bool = false); -extern bool c_omp_depend_t_p (tree); -extern void c_finish_omp_depobj (location_t, tree, enum omp_clause_depend_kind, - tree); -extern void c_finish_omp_flush (location_t, int); -extern void c_finish_omp_taskwait (location_t); -extern void c_finish_omp_taskyield (location_t); -extern tree c_finish_omp_for (location_t, enum tree_code, tree, tree, tree, - tree, tree, tree, tree, bool); -extern bool c_omp_check_loop_iv (tree, tree, walk_tree_lh); -extern bool c_omp_check_loop_iv_exprs (location_t, enum tree_code, tree, int, - tree, tree, tree, walk_tree_lh); -extern tree c_finish_oacc_wait (location_t, tree, tree); -extern tree c_oacc_split_loop_clauses (tree, tree *, bool); -extern void c_omp_split_clauses (location_t, enum tree_code, omp_clause_mask, - tree, tree *); -extern tree c_omp_declare_simd_clauses_to_numbers (tree, tree); -extern void c_omp_declare_simd_clauses_to_decls (tree, tree); -extern bool c_omp_predefined_variable (tree); -extern enum omp_clause_default_kind c_omp_predetermined_sharing (tree); -extern enum omp_clause_defaultmap_kind c_omp_predetermined_mapping (tree); -extern tree c_omp_check_context_selector (location_t, tree); -extern void c_omp_mark_declare_variant (location_t, tree, tree); -extern void c_omp_adjust_map_clauses (tree, bool); - -enum c_omp_directive_kind { - C_OMP_DIR_STANDALONE, - C_OMP_DIR_CONSTRUCT, - C_OMP_DIR_DECLARATIVE, - C_OMP_DIR_UTILITY, - C_OMP_DIR_INFORMATIONAL -}; - -struct c_omp_directive { - const char *first, *second, *third; - unsigned int id; - enum c_omp_directive_kind kind; - bool simd; -}; - -extern const struct c_omp_directive c_omp_directives[]; -extern const struct c_omp_directive *c_omp_categorize_directive (const char *, - const char *, - const char *); - -/* Return next tree in the chain for chain_next walking of tree nodes. */ -inline tree -c_tree_chain_next (tree t) -{ - /* TREE_CHAIN of a type is TYPE_STUB_DECL, which is different - kind of object, never a long chain of nodes. Prefer - TYPE_NEXT_VARIANT for types. */ - if (CODE_CONTAINS_STRUCT (TREE_CODE (t), TS_TYPE_COMMON)) - return TYPE_NEXT_VARIANT (t); - /* Otherwise, if there is TREE_CHAIN, return it. */ - if (CODE_CONTAINS_STRUCT (TREE_CODE (t), TS_COMMON)) - return TREE_CHAIN (t); - return NULL; -} - -/* Mask used by tm_stmt_attr. */ -#define TM_STMT_ATTR_OUTER 2 -#define TM_STMT_ATTR_ATOMIC 4 -#define TM_STMT_ATTR_RELAXED 8 - -/* Mask used by tm_attr_to_mask and tm_mask_to_attr. Note that these - are ordered specifically such that more restrictive attributes are - at lower bit positions. This fact is known by the C++ tm attribute - inheritance code such that least bit extraction (mask & -mask) results - in the most restrictive attribute. */ -#define TM_ATTR_SAFE 1 -#define TM_ATTR_CALLABLE 2 -#define TM_ATTR_PURE 4 -#define TM_ATTR_IRREVOCABLE 8 -#define TM_ATTR_MAY_CANCEL_OUTER 16 - -/* A suffix-identifier value doublet that represents user-defined literals - for C++-0x. */ -enum overflow_type { - OT_UNDERFLOW = -1, - OT_NONE, - OT_OVERFLOW -}; - -struct GTY(()) tree_userdef_literal { - struct tree_base base; - tree suffix_id; - tree value; - tree num_string; - enum overflow_type overflow; -}; - -#define USERDEF_LITERAL_SUFFIX_ID(NODE) \ - (((struct tree_userdef_literal *)USERDEF_LITERAL_CHECK (NODE))->suffix_id) - -#define USERDEF_LITERAL_VALUE(NODE) \ - (((struct tree_userdef_literal *)USERDEF_LITERAL_CHECK (NODE))->value) - -#define USERDEF_LITERAL_OVERFLOW(NODE) \ - (((struct tree_userdef_literal *)USERDEF_LITERAL_CHECK (NODE))->overflow) - -#define USERDEF_LITERAL_NUM_STRING(NODE) \ - (((struct tree_userdef_literal *)USERDEF_LITERAL_CHECK (NODE))->num_string) - -#define USERDEF_LITERAL_TYPE(NODE) \ - (TREE_TYPE (USERDEF_LITERAL_VALUE (NODE))) - -extern tree build_userdef_literal (tree suffix_id, tree value, - enum overflow_type overflow, - tree num_string); - - -/* WHILE_STMT accessors. These give access to the condition of the - while statement and the body of the while statement, respectively. */ -#define WHILE_COND(NODE) TREE_OPERAND (WHILE_STMT_CHECK (NODE), 0) -#define WHILE_BODY(NODE) TREE_OPERAND (WHILE_STMT_CHECK (NODE), 1) - -/* DO_STMT accessors. These give access to the condition of the do - statement and the body of the do statement, respectively. */ -#define DO_COND(NODE) TREE_OPERAND (DO_STMT_CHECK (NODE), 0) -#define DO_BODY(NODE) TREE_OPERAND (DO_STMT_CHECK (NODE), 1) - -/* FOR_STMT accessors. These give access to the init statement, - condition, update expression, and body of the for statement, - respectively. */ -#define FOR_INIT_STMT(NODE) TREE_OPERAND (FOR_STMT_CHECK (NODE), 0) -#define FOR_COND(NODE) TREE_OPERAND (FOR_STMT_CHECK (NODE), 1) -#define FOR_EXPR(NODE) TREE_OPERAND (FOR_STMT_CHECK (NODE), 2) -#define FOR_BODY(NODE) TREE_OPERAND (FOR_STMT_CHECK (NODE), 3) -#define FOR_SCOPE(NODE) TREE_OPERAND (FOR_STMT_CHECK (NODE), 4) - -#define SWITCH_STMT_COND(NODE) TREE_OPERAND (SWITCH_STMT_CHECK (NODE), 0) -#define SWITCH_STMT_BODY(NODE) TREE_OPERAND (SWITCH_STMT_CHECK (NODE), 1) -#define SWITCH_STMT_TYPE(NODE) TREE_OPERAND (SWITCH_STMT_CHECK (NODE), 2) -#define SWITCH_STMT_SCOPE(NODE) TREE_OPERAND (SWITCH_STMT_CHECK (NODE), 3) -/* True if there are case labels for all possible values of switch cond, either - because there is a default: case label or because the case label ranges cover - all values. */ -#define SWITCH_STMT_ALL_CASES_P(NODE) \ - TREE_LANG_FLAG_0 (SWITCH_STMT_CHECK (NODE)) -/* True if the body of a switch stmt contains no BREAK_STMTs. */ -#define SWITCH_STMT_NO_BREAK_P(NODE) \ - TREE_LANG_FLAG_2 (SWITCH_STMT_CHECK (NODE)) - - -/* Nonzero if NODE is the target for genericization of 'break' stmts. */ -#define LABEL_DECL_BREAK(NODE) \ - DECL_LANG_FLAG_0 (LABEL_DECL_CHECK (NODE)) - -/* Nonzero if NODE is the target for genericization of 'continue' stmts. */ -#define LABEL_DECL_CONTINUE(NODE) \ - DECL_LANG_FLAG_1 (LABEL_DECL_CHECK (NODE)) - -extern bool convert_vector_to_array_for_subscript (location_t, tree *, tree); - -/* Possibe cases of scalar_to_vector conversion. */ -enum stv_conv { - stv_error, /* Error occurred. */ - stv_nothing, /* Nothing happened. */ - stv_firstarg, /* First argument must be expanded. */ - stv_secondarg /* Second argument must be expanded. */ -}; - -extern enum stv_conv scalar_to_vector (location_t loc, enum tree_code code, - tree op0, tree op1, bool); - -extern tree find_inv_trees (tree *, int *, void *); -extern tree replace_inv_trees (tree *, int *, void *); - -extern bool reject_gcc_builtin (const_tree, location_t = UNKNOWN_LOCATION); -extern bool valid_array_size_p (location_t, const_tree, tree, bool = true); -extern void invalid_array_size_error (location_t, cst_size_error, - const_tree, const_tree); - -/* In c-warn.cc. */ -extern void constant_expression_warning (tree); -extern void constant_expression_error (tree); -extern void overflow_warning (location_t, tree, tree = NULL_TREE); -extern void warn_logical_operator (location_t, enum tree_code, tree, - enum tree_code, tree, enum tree_code, tree); -extern void warn_tautological_cmp (const op_location_t &, enum tree_code, - tree, tree); -extern void warn_logical_not_parentheses (location_t, enum tree_code, tree, - tree); -extern bool warn_if_unused_value (const_tree, location_t, bool = false); -extern bool strict_aliasing_warning (location_t, tree, tree); -extern void sizeof_pointer_memaccess_warning (location_t *, tree, - vec *, tree *, - bool (*) (tree, tree)); -extern void check_main_parameter_types (tree decl); -extern void warnings_for_convert_and_check (location_t, tree, tree, tree); -extern void c_do_switch_warnings (splay_tree, location_t, tree, tree, bool); -extern void warn_for_omitted_condop (location_t, tree); -extern bool warn_for_restrict (unsigned, tree *, unsigned); -extern void warn_for_address_or_pointer_of_packed_member (tree, tree); -extern void warn_parm_array_mismatch (location_t, tree, tree); -extern void maybe_warn_sizeof_array_div (location_t, tree, tree, tree, tree); -extern void do_warn_array_compare (location_t, tree_code, tree, tree); - -/* Places where an lvalue, or modifiable lvalue, may be required. - Used to select diagnostic messages in lvalue_error and - readonly_error. */ -enum lvalue_use { - lv_assign, - lv_increment, - lv_decrement, - lv_addressof, - lv_asm -}; - -extern void lvalue_error (location_t, enum lvalue_use); -extern void invalid_indirection_error (location_t, tree, ref_operator); -extern void readonly_error (location_t, tree, enum lvalue_use); -extern void warn_array_subscript_with_type_char (location_t, tree); -extern void warn_about_parentheses (location_t, - enum tree_code, - enum tree_code, tree, - enum tree_code, tree); -extern void warn_for_unused_label (tree label); -extern void warn_for_div_by_zero (location_t, tree divisor); -extern void warn_for_memset (location_t, tree, tree, int); -extern void warn_for_sign_compare (location_t, - tree orig_op0, tree orig_op1, - tree op0, tree op1, - tree result_type, - enum tree_code resultcode); -extern void do_warn_double_promotion (tree, tree, tree, const char *, - location_t); -extern void do_warn_unused_parameter (tree); -extern void record_locally_defined_typedef (tree); -extern void maybe_record_typedef_use (tree); -extern void maybe_warn_unused_local_typedefs (void); -extern void maybe_warn_bool_compare (location_t, enum tree_code, tree, tree); -extern bool maybe_warn_shift_overflow (location_t, tree, tree); -extern void warn_duplicated_cond_add_or_warn (location_t, tree, vec **); -extern bool diagnose_mismatched_attributes (tree, tree); -extern tree do_warn_duplicated_branches_r (tree *, int *, void *); -extern void warn_for_multistatement_macros (location_t, location_t, - location_t, enum rid); - -extern void check_for_xor_used_as_pow (location_t lhs_loc, tree lhs_val, - location_t operator_loc, - location_t rhs_loc, tree rhs_val); - -/* In c-attribs.cc. */ -extern bool attribute_takes_identifier_p (const_tree); -extern tree handle_deprecated_attribute (tree *, tree, tree, int, bool *); -extern tree handle_unused_attribute (tree *, tree, tree, int, bool *); -extern tree handle_fallthrough_attribute (tree *, tree, tree, int, bool *); -extern int parse_tm_stmt_attr (tree, int); -extern int tm_attr_to_mask (tree); -extern tree tm_mask_to_attr (int); -extern tree find_tm_attribute (tree); -extern const struct attribute_spec::exclusions attr_cold_hot_exclusions[]; -extern const struct attribute_spec::exclusions attr_noreturn_exclusions[]; -extern tree handle_noreturn_attribute (tree *, tree, tree, int, bool *); -extern bool has_attribute (location_t, tree, tree, tree (*)(tree)); -extern tree build_attr_access_from_parms (tree, bool); - -/* In c-format.cc. */ -extern bool valid_format_string_type_p (tree); - -/* A bitmap of flags to positional_argument. */ -enum posargflags { - /* Consider positional attribute argument value zero valid. */ - POSARG_ZERO = 1, - /* Consider positional attribute argument value valid if it refers - to the ellipsis (i.e., beyond the last typed argument). */ - POSARG_ELLIPSIS = 2 -}; - -extern tree positional_argument (const_tree, const_tree, tree &, tree_code, - int = 0, int = posargflags ()); - -extern enum flt_eval_method -excess_precision_mode_join (enum flt_eval_method, enum flt_eval_method); - -extern int c_flt_eval_method (bool ts18661_p); -extern void add_no_sanitize_value (tree node, unsigned int flags); - -extern void maybe_add_include_fixit (rich_location *, const char *, bool); -extern void maybe_suggest_missing_token_insertion (rich_location *richloc, - enum cpp_ttype token_type, - location_t prev_token_loc); -extern tree braced_lists_to_strings (tree, tree); - -#if CHECKING_P -namespace selftest { - /* Declarations for specific families of tests within c-family, - by source file, in alphabetical order. */ - extern void c_diagnostic_cc_tests (void); - extern void c_format_cc_tests (void); - extern void c_indentation_cc_tests (void); - extern void c_opt_problem_cc_tests (void); - extern void c_pretty_print_cc_tests (void); - extern void c_spellcheck_cc_tests (void); - - /* The entrypoint for running all of the above tests. */ - extern void c_family_tests (void); -} // namespace selftest -#endif /* #if CHECKING_P */ - -#endif /* ! GCC_C_COMMON_H */ diff --git a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/c-family/c-objc.h b/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/c-family/c-objc.h deleted file mode 100644 index ee88a794..00000000 --- a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/c-family/c-objc.h +++ /dev/null @@ -1,183 +0,0 @@ -/* Definitions of Objective-C front-end entry points used for C and C++. - Copyright (C) 1987-2023 Free Software Foundation, Inc. - -This file is part of GCC. - -GCC is free software; you can redistribute it and/or modify it under -the terms of the GNU General Public License as published by the Free -Software Foundation; either version 3, or (at your option) any later -version. - -GCC is distributed in the hope that it will be useful, but WITHOUT ANY -WARRANTY; without even the implied warranty of MERCHANTABILITY or -FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -for more details. - -You should have received a copy of the GNU General Public License -along with GCC; see the file COPYING3. If not see -. */ - -#ifndef GCC_C_COMMON_OBJC_H -#define GCC_C_COMMON_OBJC_H - -/* ObjC ivar visibility types. */ -enum GTY(()) objc_ivar_visibility_kind { - OBJC_IVAR_VIS_PROTECTED = 0, - OBJC_IVAR_VIS_PUBLIC = 1, - OBJC_IVAR_VIS_PRIVATE = 2, - OBJC_IVAR_VIS_PACKAGE = 3 -}; - -/* ObjC property attribute kinds. - These have two fields; a unique value (that identifies which attribute) - and a group key that indicates membership of an exclusion group. - Only one member may be present from an exclusion group in a given attribute - list. - getters and setters have additional rules, since they are excluded from - non-overlapping group sets. */ - -enum objc_property_attribute_group -{ - OBJC_PROPATTR_GROUP_UNKNOWN = 0, - OBJC_PROPATTR_GROUP_GETTER, - OBJC_PROPATTR_GROUP_SETTER, - OBJC_PROPATTR_GROUP_READWRITE, - OBJC_PROPATTR_GROUP_ASSIGN, - OBJC_PROPATTR_GROUP_ATOMIC, - OBJC_PROPATTR_GROUP_NULLABLE, - OBJC_PROPATTR_GROUP_CLASS, - OBJC_PROPATTR_GROUP_MAX -}; - -enum objc_property_attribute_kind -{ - OBJC_PROPERTY_ATTR_UNKNOWN = 0|OBJC_PROPATTR_GROUP_UNKNOWN, - OBJC_PROPERTY_ATTR_GETTER = ( 1 << 8)|OBJC_PROPATTR_GROUP_GETTER, - OBJC_PROPERTY_ATTR_SETTER = ( 2 << 8)|OBJC_PROPATTR_GROUP_SETTER, - OBJC_PROPERTY_ATTR_READONLY = ( 3 << 8)|OBJC_PROPATTR_GROUP_READWRITE, - OBJC_PROPERTY_ATTR_READWRITE = ( 4 << 8)|OBJC_PROPATTR_GROUP_READWRITE, - OBJC_PROPERTY_ATTR_ASSIGN = ( 5 << 8)|OBJC_PROPATTR_GROUP_ASSIGN, - OBJC_PROPERTY_ATTR_RETAIN = ( 6 << 8)|OBJC_PROPATTR_GROUP_ASSIGN, - OBJC_PROPERTY_ATTR_COPY = ( 7 << 8)|OBJC_PROPATTR_GROUP_ASSIGN, - OBJC_PROPERTY_ATTR_ATOMIC = ( 8 << 8)|OBJC_PROPATTR_GROUP_ATOMIC, - OBJC_PROPERTY_ATTR_NONATOMIC = ( 9 << 8)|OBJC_PROPATTR_GROUP_ATOMIC, - OBJC_PROPERTY_ATTR_NULL_UNSPECIFIED = (12 << 8)|OBJC_PROPATTR_GROUP_NULLABLE, - OBJC_PROPERTY_ATTR_NULLABLE = (13 << 8)|OBJC_PROPATTR_GROUP_NULLABLE, - OBJC_PROPERTY_ATTR_NONNULL = (14 << 8)|OBJC_PROPATTR_GROUP_NULLABLE, - OBJC_PROPERTY_ATTR_NULL_RESETTABLE = (15 << 8)|OBJC_PROPATTR_GROUP_NULLABLE, - OBJC_PROPERTY_ATTR_CLASS = (16 << 8)|OBJC_PROPATTR_GROUP_CLASS, - OBJC_PROPERTY_ATTR_MAX = (255 << 8|OBJC_PROPATTR_GROUP_MAX) -}; - -#define OBJC_PROPATTR_GROUP_MASK 0x0f - -/* To contain parsed, but unverified, information about a single property - attribute. */ -struct property_attribute_info -{ - property_attribute_info () = default; - property_attribute_info (tree name, location_t loc, - enum objc_property_attribute_kind k) - : name (name), ident (NULL_TREE), prop_loc (loc), prop_kind (k), - parse_error (false) {} - - enum objc_property_attribute_group group () - { - return (enum objc_property_attribute_group) - ((unsigned)prop_kind & OBJC_PROPATTR_GROUP_MASK); - } - - tree name; /* Name of the attribute. */ - tree ident; /* For getter/setter cases, the method/selector name. */ - location_t prop_loc; /* Extended location covering the parsed attr. */ - enum objc_property_attribute_kind prop_kind : 16; - unsigned parse_error : 1; /* The C/C++ parser saw an error in this attr. */ -}; - -extern enum objc_property_attribute_kind objc_prop_attr_kind_for_rid (enum rid); - -/* Objective-C / Objective-C++ entry points. */ - -/* The following ObjC/ObjC++ functions are called by the C and/or C++ - front-ends; they all must have corresponding stubs in stub-objc.cc. */ -extern void objc_write_global_declarations (void); -extern tree objc_is_class_name (tree); -extern tree objc_is_object_ptr (tree); -extern void objc_check_decl (tree); -extern void objc_check_global_decl (tree); -extern tree objc_common_type (tree, tree); -extern bool objc_compare_types (tree, tree, int, tree); -extern bool objc_have_common_type (tree, tree, int, tree); -extern bool objc_diagnose_private_ivar (tree); -extern void objc_volatilize_decl (tree); -extern tree objc_rewrite_function_call (tree, tree); -extern tree objc_message_selector (void); -extern tree objc_lookup_ivar (tree, tree); -extern void objc_clear_super_receiver (void); -extern int objc_is_public (tree, tree); -extern tree objc_is_id (tree); -extern void objc_declare_alias (tree, tree); -extern void objc_declare_class (tree); -extern void objc_declare_protocol (tree, tree); -extern tree objc_build_message_expr (tree, tree); -extern tree objc_finish_message_expr (tree, tree, tree, tree*); -extern tree objc_build_selector_expr (location_t, tree); -extern tree objc_build_protocol_expr (tree); -extern tree objc_build_encode_expr (tree); -extern tree objc_build_string_object (tree); -extern tree objc_get_protocol_qualified_type (tree, tree); -extern tree objc_get_class_reference (tree); -extern tree objc_get_class_ivars (tree); -extern bool objc_detect_field_duplicates (bool); -extern void objc_start_class_interface (tree, location_t, tree, tree, tree); -extern void objc_start_category_interface (tree, tree, tree, tree); -extern void objc_start_protocol (tree, tree, tree); -extern void objc_continue_interface (void); -extern void objc_finish_interface (void); -extern void objc_start_class_implementation (tree, tree); -extern void objc_start_category_implementation (tree, tree); -extern void objc_continue_implementation (void); -extern void objc_finish_implementation (void); -extern void objc_set_visibility (objc_ivar_visibility_kind); -extern tree objc_build_method_signature (bool, tree, tree, tree, bool); -extern void objc_add_method_declaration (bool, tree, tree); -extern bool objc_start_method_definition (bool, tree, tree, tree); -extern void objc_finish_method_definition (tree); -extern void objc_add_instance_variable (tree); -extern tree objc_build_keyword_decl (tree, tree, tree, tree); -extern tree objc_build_throw_stmt (location_t, tree); -extern void objc_begin_try_stmt (location_t, tree); -extern tree objc_finish_try_stmt (void); -extern void objc_begin_catch_clause (tree); -extern void objc_finish_catch_clause (void); -extern void objc_build_finally_clause (location_t, tree); -extern tree objc_build_synchronized (location_t, tree, tree); -extern int objc_static_init_needed_p (void); -extern tree objc_generate_static_init_call (tree); -extern tree objc_generate_write_barrier (tree, enum tree_code, tree); -extern void objc_set_method_opt (bool); -extern void objc_finish_foreach_loop (location_t, tree, tree, tree, tree, tree); -extern bool objc_method_decl (enum tree_code); -extern void objc_add_property_declaration (location_t, tree, - vec&); -extern tree objc_maybe_build_component_ref (tree, tree); -extern tree objc_build_class_component_ref (tree, tree); -extern tree objc_maybe_build_modify_expr (tree, tree); -extern tree objc_build_incr_expr_for_property_ref (location_t, enum tree_code, - tree, tree); -extern void objc_add_synthesize_declaration (location_t, tree); -extern void objc_add_dynamic_declaration (location_t, tree); -extern const char * objc_maybe_printable_name (tree, int); -extern bool objc_is_property_ref (tree); -extern bool objc_non_constant_expr_p (tree); -extern bool objc_string_ref_type_p (tree); -extern void objc_check_format_arg (tree, tree); -extern void objc_finish_function (void); -extern void objc_maybe_warn_exceptions (location_t); - -/* The following are provided by the C and C++ front-ends, and called by - ObjC/ObjC++. */ -extern void *objc_get_current_scope (void); -extern void objc_mark_locals_volatile (void *); - -#endif /* ! GCC_C_COMMON_OBJC_H */ diff --git a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/c-family/c-pragma.h b/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/c-family/c-pragma.h deleted file mode 100644 index 9cc95ab3..00000000 --- a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/c-family/c-pragma.h +++ /dev/null @@ -1,286 +0,0 @@ -/* Pragma related interfaces. - Copyright (C) 1995-2023 Free Software Foundation, Inc. - -This file is part of GCC. - -GCC is free software; you can redistribute it and/or modify it under -the terms of the GNU General Public License as published by the Free -Software Foundation; either version 3, or (at your option) any later -version. - -GCC is distributed in the hope that it will be useful, but WITHOUT ANY -WARRANTY; without even the implied warranty of MERCHANTABILITY or -FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -for more details. - -You should have received a copy of the GNU General Public License -along with GCC; see the file COPYING3. If not see -. */ - -#ifndef GCC_C_PRAGMA_H -#define GCC_C_PRAGMA_H - -#include "cpplib.h" /* For enum cpp_ttype. */ - -/* Pragma identifiers built in to the front end parsers. Identifiers - for ancillary handlers will follow these. */ -enum pragma_kind { - PRAGMA_NONE = 0, - - PRAGMA_OACC_ATOMIC, - PRAGMA_OACC_CACHE, - PRAGMA_OACC_DATA, - PRAGMA_OACC_DECLARE, - PRAGMA_OACC_ENTER_DATA, - PRAGMA_OACC_EXIT_DATA, - PRAGMA_OACC_HOST_DATA, - PRAGMA_OACC_KERNELS, - PRAGMA_OACC_LOOP, - PRAGMA_OACC_PARALLEL, - PRAGMA_OACC_ROUTINE, - PRAGMA_OACC_SERIAL, - PRAGMA_OACC_UPDATE, - PRAGMA_OACC_WAIT, - - /* PRAGMA_OMP__START_ should be equal to the first PRAGMA_OMP_* code. */ - PRAGMA_OMP_ALLOCATE, - PRAGMA_OMP__START_ = PRAGMA_OMP_ALLOCATE, - PRAGMA_OMP_ASSUME, - PRAGMA_OMP_ASSUMES, - PRAGMA_OMP_ATOMIC, - PRAGMA_OMP_BARRIER, - PRAGMA_OMP_BEGIN, - PRAGMA_OMP_CANCEL, - PRAGMA_OMP_CANCELLATION_POINT, - PRAGMA_OMP_CRITICAL, - PRAGMA_OMP_DECLARE, - PRAGMA_OMP_DEPOBJ, - PRAGMA_OMP_DISTRIBUTE, - PRAGMA_OMP_ERROR, - PRAGMA_OMP_END, - PRAGMA_OMP_FLUSH, - PRAGMA_OMP_FOR, - PRAGMA_OMP_LOOP, - PRAGMA_OMP_NOTHING, - PRAGMA_OMP_MASKED, - PRAGMA_OMP_MASTER, - PRAGMA_OMP_ORDERED, - PRAGMA_OMP_PARALLEL, - PRAGMA_OMP_REQUIRES, - PRAGMA_OMP_SCAN, - PRAGMA_OMP_SCOPE, - PRAGMA_OMP_SECTION, - PRAGMA_OMP_SECTIONS, - PRAGMA_OMP_SIMD, - PRAGMA_OMP_SINGLE, - PRAGMA_OMP_TARGET, - PRAGMA_OMP_TASK, - PRAGMA_OMP_TASKGROUP, - PRAGMA_OMP_TASKLOOP, - PRAGMA_OMP_TASKWAIT, - PRAGMA_OMP_TASKYIELD, - PRAGMA_OMP_THREADPRIVATE, - PRAGMA_OMP_TEAMS, - /* PRAGMA_OMP__LAST_ should be equal to the last PRAGMA_OMP_* code. */ - PRAGMA_OMP__LAST_ = PRAGMA_OMP_TEAMS, - - PRAGMA_GCC_PCH_PREPROCESS, - PRAGMA_IVDEP, - PRAGMA_UNROLL, - - PRAGMA_FIRST_EXTERNAL -}; - - -/* All clauses defined by OpenACC 2.0, and OpenMP 2.5, 3.0, 3.1, 4.0, 4.5, 5.0, - 5.1 and 5.2. Used internally by both C and C++ parsers. */ -enum pragma_omp_clause { - PRAGMA_OMP_CLAUSE_NONE = 0, - - PRAGMA_OMP_CLAUSE_AFFINITY, - PRAGMA_OMP_CLAUSE_ALIGNED, - PRAGMA_OMP_CLAUSE_ALLOCATE, - PRAGMA_OMP_CLAUSE_BIND, - PRAGMA_OMP_CLAUSE_COLLAPSE, - PRAGMA_OMP_CLAUSE_COPYIN, - PRAGMA_OMP_CLAUSE_COPYPRIVATE, - PRAGMA_OMP_CLAUSE_DEFAULT, - PRAGMA_OMP_CLAUSE_DEFAULTMAP, - PRAGMA_OMP_CLAUSE_DEPEND, - PRAGMA_OMP_CLAUSE_DETACH, - PRAGMA_OMP_CLAUSE_DEVICE, - PRAGMA_OMP_CLAUSE_DEVICE_TYPE, - PRAGMA_OMP_CLAUSE_DIST_SCHEDULE, - PRAGMA_OMP_CLAUSE_DOACROSS, - PRAGMA_OMP_CLAUSE_ENTER, - PRAGMA_OMP_CLAUSE_FILTER, - PRAGMA_OMP_CLAUSE_FINAL, - PRAGMA_OMP_CLAUSE_FIRSTPRIVATE, - PRAGMA_OMP_CLAUSE_FOR, - PRAGMA_OMP_CLAUSE_FROM, - PRAGMA_OMP_CLAUSE_GRAINSIZE, - PRAGMA_OMP_CLAUSE_HAS_DEVICE_ADDR, - PRAGMA_OMP_CLAUSE_HINT, - PRAGMA_OMP_CLAUSE_IF, - PRAGMA_OMP_CLAUSE_IN_REDUCTION, - PRAGMA_OMP_CLAUSE_INBRANCH, - PRAGMA_OMP_CLAUSE_IS_DEVICE_PTR, - PRAGMA_OMP_CLAUSE_LASTPRIVATE, - PRAGMA_OMP_CLAUSE_LINEAR, - PRAGMA_OMP_CLAUSE_LINK, - PRAGMA_OMP_CLAUSE_MAP, - PRAGMA_OMP_CLAUSE_MERGEABLE, - PRAGMA_OMP_CLAUSE_NOGROUP, - PRAGMA_OMP_CLAUSE_NONTEMPORAL, - PRAGMA_OMP_CLAUSE_NOTINBRANCH, - PRAGMA_OMP_CLAUSE_NOWAIT, - PRAGMA_OMP_CLAUSE_NUM_TASKS, - PRAGMA_OMP_CLAUSE_NUM_TEAMS, - PRAGMA_OMP_CLAUSE_NUM_THREADS, - PRAGMA_OMP_CLAUSE_ORDER, - PRAGMA_OMP_CLAUSE_ORDERED, - PRAGMA_OMP_CLAUSE_PARALLEL, - PRAGMA_OMP_CLAUSE_PRIORITY, - PRAGMA_OMP_CLAUSE_PRIVATE, - PRAGMA_OMP_CLAUSE_PROC_BIND, - PRAGMA_OMP_CLAUSE_REDUCTION, - PRAGMA_OMP_CLAUSE_SAFELEN, - PRAGMA_OMP_CLAUSE_SCHEDULE, - PRAGMA_OMP_CLAUSE_SECTIONS, - PRAGMA_OMP_CLAUSE_SHARED, - PRAGMA_OMP_CLAUSE_SIMD, - PRAGMA_OMP_CLAUSE_SIMDLEN, - PRAGMA_OMP_CLAUSE_TASK_REDUCTION, - PRAGMA_OMP_CLAUSE_TASKGROUP, - PRAGMA_OMP_CLAUSE_THREAD_LIMIT, - PRAGMA_OMP_CLAUSE_THREADS, - PRAGMA_OMP_CLAUSE_TO, - PRAGMA_OMP_CLAUSE_UNIFORM, - PRAGMA_OMP_CLAUSE_UNTIED, - PRAGMA_OMP_CLAUSE_USE_DEVICE_PTR, - PRAGMA_OMP_CLAUSE_USE_DEVICE_ADDR, - - /* Clauses for OpenACC. */ - PRAGMA_OACC_CLAUSE_ASYNC, - PRAGMA_OACC_CLAUSE_ATTACH, - PRAGMA_OACC_CLAUSE_AUTO, - PRAGMA_OACC_CLAUSE_COPY, - PRAGMA_OACC_CLAUSE_COPYOUT, - PRAGMA_OACC_CLAUSE_CREATE, - PRAGMA_OACC_CLAUSE_DELETE, - PRAGMA_OACC_CLAUSE_DEVICEPTR, - PRAGMA_OACC_CLAUSE_DEVICE_RESIDENT, - PRAGMA_OACC_CLAUSE_FINALIZE, - PRAGMA_OACC_CLAUSE_GANG, - PRAGMA_OACC_CLAUSE_HOST, - PRAGMA_OACC_CLAUSE_INDEPENDENT, - PRAGMA_OACC_CLAUSE_NO_CREATE, - PRAGMA_OACC_CLAUSE_NOHOST, - PRAGMA_OACC_CLAUSE_NUM_GANGS, - PRAGMA_OACC_CLAUSE_NUM_WORKERS, - PRAGMA_OACC_CLAUSE_PRESENT, - PRAGMA_OACC_CLAUSE_SELF, - PRAGMA_OACC_CLAUSE_SEQ, - PRAGMA_OACC_CLAUSE_TILE, - PRAGMA_OACC_CLAUSE_VECTOR, - PRAGMA_OACC_CLAUSE_VECTOR_LENGTH, - PRAGMA_OACC_CLAUSE_WAIT, - PRAGMA_OACC_CLAUSE_WORKER, - PRAGMA_OACC_CLAUSE_IF_PRESENT, - PRAGMA_OACC_CLAUSE_COLLAPSE = PRAGMA_OMP_CLAUSE_COLLAPSE, - PRAGMA_OACC_CLAUSE_COPYIN = PRAGMA_OMP_CLAUSE_COPYIN, - PRAGMA_OACC_CLAUSE_DEVICE = PRAGMA_OMP_CLAUSE_DEVICE, - PRAGMA_OACC_CLAUSE_DEFAULT = PRAGMA_OMP_CLAUSE_DEFAULT, - PRAGMA_OACC_CLAUSE_DETACH = PRAGMA_OMP_CLAUSE_DETACH, - PRAGMA_OACC_CLAUSE_FIRSTPRIVATE = PRAGMA_OMP_CLAUSE_FIRSTPRIVATE, - PRAGMA_OACC_CLAUSE_IF = PRAGMA_OMP_CLAUSE_IF, - PRAGMA_OACC_CLAUSE_PRIVATE = PRAGMA_OMP_CLAUSE_PRIVATE, - PRAGMA_OACC_CLAUSE_REDUCTION = PRAGMA_OMP_CLAUSE_REDUCTION, - PRAGMA_OACC_CLAUSE_LINK = PRAGMA_OMP_CLAUSE_LINK, - PRAGMA_OACC_CLAUSE_USE_DEVICE = PRAGMA_OMP_CLAUSE_USE_DEVICE_PTR -}; - -extern struct cpp_reader* parse_in; - -/* It's safe to always leave visibility pragma enabled as if - visibility is not supported on the host OS platform the - statements are ignored. */ -extern void push_visibility (const char *, int); -extern bool pop_visibility (int); - -extern void init_pragma (void); - -/* Front-end wrappers for pragma registration. */ -typedef void (*pragma_handler_1arg)(struct cpp_reader *); -/* A second pragma handler, which adds a void * argument allowing to pass extra - data to the handler. */ -typedef void (*pragma_handler_2arg)(struct cpp_reader *, void *); - -/* This union allows to abstract the different handlers. */ -union gen_pragma_handler { - pragma_handler_1arg handler_1arg; - pragma_handler_2arg handler_2arg; -}; -/* Internally used to keep the data of the handler. */ -struct internal_pragma_handler { - union gen_pragma_handler handler, early_handler; - /* Permits to know if handler is a pragma_handler_1arg (extra_data is false) - or a pragma_handler_2arg (extra_data is true). */ - bool extra_data; - /* A data field which can be used when extra_data is true. */ - void * data; -}; - -extern void c_register_pragma (const char *space, const char *name, - pragma_handler_1arg handler); -extern void c_register_pragma_with_data (const char *space, const char *name, - pragma_handler_2arg handler, - void *data); - -extern void c_register_pragma_with_expansion (const char *space, - const char *name, - pragma_handler_1arg handler); -extern void c_register_pragma_with_expansion_and_data (const char *space, - const char *name, - pragma_handler_2arg handler, - void *data); -extern void c_invoke_pragma_handler (unsigned int); - -/* Early pragma handlers run in addition to the normal ones. They can be used - by frontends such as C++ that may want to process some pragmas during lexing - before they start processing them. */ -extern void -c_register_pragma_with_early_handler (const char *space, const char *name, - pragma_handler_1arg handler, - pragma_handler_1arg early_handler); -extern void c_invoke_early_pragma_handler (unsigned int); -extern void c_pp_invoke_early_pragma_handler (unsigned int); - - -extern void maybe_apply_pragma_weak (tree); -extern void maybe_apply_pending_pragma_weaks (void); -extern tree maybe_apply_renaming_pragma (tree, tree); -extern void maybe_apply_pragma_scalar_storage_order (tree); -extern void add_to_renaming_pragma_list (tree, tree); - -extern enum cpp_ttype pragma_lex (tree *, location_t *loc = NULL); - -/* Flags for use with c_lex_with_flags. The values here were picked - so that 0 means to translate and join strings. */ -#define C_LEX_STRING_NO_TRANSLATE 1 /* Do not lex strings into - execution character set. */ -#define C_LEX_STRING_NO_JOIN 2 /* Do not concatenate strings - nor translate them into execution - character set. */ - -/* This is not actually available to pragma parsers. It's merely a - convenient location to declare this function for c-lex, after - having enum cpp_ttype declared. */ -extern enum cpp_ttype c_lex_with_flags (tree *, location_t *, unsigned char *, - int); - -extern void c_pp_lookup_pragma (unsigned int, const char **, const char **); - -extern GTY(()) tree pragma_extern_prefix; - -#endif /* GCC_C_PRAGMA_H */ diff --git a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/c-family/c-pretty-print.h b/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/c-family/c-pretty-print.h deleted file mode 100644 index a7076f29..00000000 --- a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/c-family/c-pretty-print.h +++ /dev/null @@ -1,142 +0,0 @@ -/* Various declarations for the C and C++ pretty-printers. - Copyright (C) 2002-2023 Free Software Foundation, Inc. - Contributed by Gabriel Dos Reis - -This file is part of GCC. - -GCC is free software; you can redistribute it and/or modify it under -the terms of the GNU General Public License as published by the Free -Software Foundation; either version 3, or (at your option) any later -version. - -GCC is distributed in the hope that it will be useful, but WITHOUT ANY -WARRANTY; without even the implied warranty of MERCHANTABILITY or -FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -for more details. - -You should have received a copy of the GNU General Public License -along with GCC; see the file COPYING3. If not see -. */ - -#ifndef GCC_C_PRETTY_PRINTER -#define GCC_C_PRETTY_PRINTER - -#include "tree.h" -#include "c-family/c-common.h" -#include "pretty-print.h" - - -enum pp_c_pretty_print_flags - { - pp_c_flag_abstract = 1 << 1, - pp_c_flag_gnu_v3 = 1 << 2, - pp_c_flag_last_bit = 3 - }; - - -/* The data type used to bundle information necessary for pretty-printing - a C or C++ entity. */ -class c_pretty_printer; - -/* The type of a C pretty-printer 'member' function. */ -typedef void (*c_pretty_print_fn) (c_pretty_printer *, tree); - -/* The datatype that contains information necessary for pretty-printing - a tree that represents a C construct. Any pretty-printer for a - language using C syntax can derive from this datatype and reuse - facilities provided here. A derived pretty-printer can override - any function listed in the vtable below. See cp/cxx-pretty-print.h - and cp/cxx-pretty-print.cc for an example of derivation. */ -class c_pretty_printer : public pretty_printer -{ -public: - c_pretty_printer (); - pretty_printer *clone () const override; - - // Format string, possibly translated. - void translate_string (const char *); - - virtual void constant (tree); - virtual void id_expression (tree); - virtual void primary_expression (tree); - virtual void postfix_expression (tree); - virtual void unary_expression (tree); - virtual void multiplicative_expression (tree); - virtual void conditional_expression (tree); - virtual void assignment_expression (tree); - virtual void expression (tree); - - virtual void type_id (tree); - virtual void statement (tree); - - virtual void declaration (tree); - virtual void declaration_specifiers (tree); - virtual void simple_type_specifier (tree); - virtual void function_specifier (tree); - virtual void storage_class_specifier (tree); - virtual void declarator (tree); - virtual void direct_declarator (tree); - virtual void abstract_declarator (tree); - virtual void direct_abstract_declarator (tree); - - virtual void initializer (tree); - /* Points to the first element of an array of offset-list. - Not used yet. */ - int *offset_list; - - pp_flags flags; - - /* These must be overridden by each of the C and C++ front-end to - reflect their understanding of syntactic productions when they differ. */ - c_pretty_print_fn type_specifier_seq; - c_pretty_print_fn ptr_operator; - c_pretty_print_fn parameter_list; -}; - -#define pp_c_tree_identifier(PPI, ID) \ - pp_c_identifier (PPI, IDENTIFIER_POINTER (ID)) - -#define pp_type_specifier_seq(PP, D) (PP)->type_specifier_seq (PP, D) -#define pp_ptr_operator(PP, D) (PP)->ptr_operator (PP, D) -#define pp_parameter_list(PP, T) (PP)->parameter_list (PP, T) - -void pp_c_whitespace (c_pretty_printer *); -void pp_c_left_paren (c_pretty_printer *); -void pp_c_right_paren (c_pretty_printer *); -void pp_c_left_brace (c_pretty_printer *); -void pp_c_right_brace (c_pretty_printer *); -void pp_c_left_bracket (c_pretty_printer *); -void pp_c_right_bracket (c_pretty_printer *); -void pp_c_dot (c_pretty_printer *); -void pp_c_ampersand (c_pretty_printer *); -void pp_c_star (c_pretty_printer *); -void pp_c_arrow (c_pretty_printer *); -void pp_c_semicolon (c_pretty_printer *); -void pp_c_complement (c_pretty_printer *); -void pp_c_exclamation (c_pretty_printer *); -void pp_c_space_for_pointer_operator (c_pretty_printer *, tree); - -/* Declarations. */ -void pp_c_tree_decl_identifier (c_pretty_printer *, tree); -void pp_c_function_definition (c_pretty_printer *, tree); -void pp_c_attributes_display (c_pretty_printer *, tree); -void pp_c_cv_qualifiers (c_pretty_printer *pp, int qualifiers, bool func_type); -void pp_c_type_qualifier_list (c_pretty_printer *, tree); -void pp_c_parameter_type_list (c_pretty_printer *, tree); -void pp_c_specifier_qualifier_list (c_pretty_printer *, tree); -/* Expressions. */ -void pp_c_logical_or_expression (c_pretty_printer *, tree); -void pp_c_expression_list (c_pretty_printer *, tree); -void pp_c_constructor_elts (c_pretty_printer *, vec *); -void pp_c_call_argument_list (c_pretty_printer *, tree); -void pp_c_type_cast (c_pretty_printer *, tree); -void pp_c_cast_expression (c_pretty_printer *, tree); -void pp_c_init_declarator (c_pretty_printer *, tree); -void pp_c_ws_string (c_pretty_printer *, const char *); -void pp_c_identifier (c_pretty_printer *, const char *); -void pp_c_string_literal (c_pretty_printer *, tree); -void pp_c_integer_constant (c_pretty_printer *, tree); - -void print_c_tree (FILE *file, tree t); - -#endif /* GCC_C_PRETTY_PRINTER */ diff --git a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/c-tree.h b/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/c-tree.h deleted file mode 100644 index e6b6fe9a..00000000 --- a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/c-tree.h +++ /dev/null @@ -1,911 +0,0 @@ -/* Definitions for C parsing and type checking. - Copyright (C) 1987-2023 Free Software Foundation, Inc. - -This file is part of GCC. - -GCC is free software; you can redistribute it and/or modify it under -the terms of the GNU General Public License as published by the Free -Software Foundation; either version 3, or (at your option) any later -version. - -GCC is distributed in the hope that it will be useful, but WITHOUT ANY -WARRANTY; without even the implied warranty of MERCHANTABILITY or -FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -for more details. - -You should have received a copy of the GNU General Public License -along with GCC; see the file COPYING3. If not see -. */ - -#ifndef GCC_C_TREE_H -#define GCC_C_TREE_H - -#include "c-family/c-common.h" -#include "diagnostic.h" - -/* struct lang_identifier is private to c-decl.cc, but langhooks.cc needs to - know how big it is. This is sanity-checked in c-decl.cc. */ -#define C_SIZEOF_STRUCT_LANG_IDENTIFIER \ - (sizeof (struct c_common_identifier) + 3 * sizeof (void *)) - -/* In a RECORD_TYPE or UNION_TYPE, nonzero if any component is read-only. */ -#define C_TYPE_FIELDS_READONLY(TYPE) TREE_LANG_FLAG_1 (TYPE) - -/* In a RECORD_TYPE or UNION_TYPE, nonzero if any component is volatile. */ -#define C_TYPE_FIELDS_VOLATILE(TYPE) TREE_LANG_FLAG_2 (TYPE) - -/* In a RECORD_TYPE or UNION_TYPE, nonzero if any component is - volatile, restrict-qualified or atomic; that is, has a type not - permitted for a constexpr object. */ -#define C_TYPE_FIELDS_NON_CONSTEXPR(TYPE) TREE_LANG_FLAG_4 (TYPE) - -/* In a RECORD_TYPE or UNION_TYPE or ENUMERAL_TYPE - nonzero if the definition of the type has already started. */ -#define C_TYPE_BEING_DEFINED(TYPE) TYPE_LANG_FLAG_0 (TYPE) - -/* In an incomplete RECORD_TYPE, UNION_TYPE or ENUMERAL_TYPE, a list of - variable declarations whose type would be completed by completing - that type. */ -#define C_TYPE_INCOMPLETE_VARS(TYPE) \ - TYPE_LANG_SLOT_1 (TREE_CHECK4 (TYPE, RECORD_TYPE, UNION_TYPE, \ - QUAL_UNION_TYPE, ENUMERAL_TYPE)) - -/* In an IDENTIFIER_NODE, nonzero if this identifier is actually a - keyword. C_RID_CODE (node) is then the RID_* value of the keyword. */ -#define C_IS_RESERVED_WORD(ID) TREE_LANG_FLAG_0 (ID) - -/* Record whether a type or decl was written with nonconstant size. - Note that TYPE_SIZE may have simplified to a constant. */ -#define C_TYPE_VARIABLE_SIZE(TYPE) TYPE_LANG_FLAG_1 (TYPE) -#define C_DECL_VARIABLE_SIZE(TYPE) DECL_LANG_FLAG_0 (TYPE) - -/* Record whether a type is variably modified. */ -#define C_TYPE_VARIABLY_MODIFIED(TYPE) TYPE_LANG_FLAG_6 (TYPE) - - -/* Record whether a type is defined inside a struct or union type. - This is used for -Wc++-compat. */ -#define C_TYPE_DEFINED_IN_STRUCT(TYPE) TYPE_LANG_FLAG_2 (TYPE) - -/* Record whether a typedef for type `int' was actually `signed int'. */ -#define C_TYPEDEF_EXPLICITLY_SIGNED(EXP) DECL_LANG_FLAG_1 (EXP) - -/* For a FUNCTION_DECL, nonzero if it was defined without an explicit - return type. */ -#define C_FUNCTION_IMPLICIT_INT(EXP) DECL_LANG_FLAG_1 (EXP) - -/* For a FUNCTION_DECL, nonzero if it was an implicit declaration. */ -#define C_DECL_IMPLICIT(EXP) DECL_LANG_FLAG_2 (EXP) - -/* For a PARM_DECL, nonzero if it was declared as an array. */ -#define C_ARRAY_PARAMETER(NODE) DECL_LANG_FLAG_0 (NODE) - -/* For FUNCTION_DECLs, evaluates true if the decl is built-in but has - been declared. */ -#define C_DECL_DECLARED_BUILTIN(EXP) \ - DECL_LANG_FLAG_3 (FUNCTION_DECL_CHECK (EXP)) - -/* For FUNCTION_DECLs, evaluates true if the decl is built-in, has a - built-in prototype and does not have a non-built-in prototype. */ -#define C_DECL_BUILTIN_PROTOTYPE(EXP) \ - DECL_LANG_FLAG_6 (FUNCTION_DECL_CHECK (EXP)) - -/* Record whether a decl was declared register. This is strictly a - front-end flag, whereas DECL_REGISTER is used for code generation; - they may differ for structures with volatile fields. */ -#define C_DECL_REGISTER(EXP) DECL_LANG_FLAG_4 (EXP) - -/* Record whether a decl was used in an expression anywhere except an - unevaluated operand of sizeof / typeof / alignof. This is only - used for functions declared static but not defined, though outside - sizeof and typeof it is set for other function decls as well. */ -#define C_DECL_USED(EXP) DECL_LANG_FLAG_5 (FUNCTION_DECL_CHECK (EXP)) - -/* Record whether a variable has been declared threadprivate by - #pragma omp threadprivate. */ -#define C_DECL_THREADPRIVATE_P(DECL) DECL_LANG_FLAG_3 (VAR_DECL_CHECK (DECL)) - -/* Set on VAR_DECLs for compound literals. */ -#define C_DECL_COMPOUND_LITERAL_P(DECL) \ - DECL_LANG_FLAG_5 (VAR_DECL_CHECK (DECL)) - -/* Set on decls used as placeholders for a C2x underspecified object - definition. */ -#define C_DECL_UNDERSPECIFIED(DECL) DECL_LANG_FLAG_7 (DECL) - -/* Set on VAR_DECLs declared as 'constexpr'. */ -#define C_DECL_DECLARED_CONSTEXPR(DECL) \ - DECL_LANG_FLAG_8 (VAR_DECL_CHECK (DECL)) - -/* Nonzero for a decl which either doesn't exist or isn't a prototype. - N.B. Could be simplified if all built-in decls had complete prototypes - (but this is presently difficult because some of them need FILE*). */ -#define C_DECL_ISNT_PROTOTYPE(EXP) \ - (EXP == 0 \ - || (!prototype_p (TREE_TYPE (EXP)) \ - && !fndecl_built_in_p (EXP))) - -/* For FUNCTION_TYPE, a hidden list of types of arguments. The same as - TYPE_ARG_TYPES for functions with prototypes, but created for functions - without prototypes. */ -#define TYPE_ACTUAL_ARG_TYPES(NODE) \ - TYPE_LANG_SLOT_1 (FUNCTION_TYPE_CHECK (NODE)) - -/* For a CONSTRUCTOR, whether some initializer contains a - subexpression meaning it is not a constant expression. */ -#define CONSTRUCTOR_NON_CONST(EXPR) TREE_LANG_FLAG_1 (CONSTRUCTOR_CHECK (EXPR)) - -/* For a SAVE_EXPR, nonzero if the operand of the SAVE_EXPR has already - been folded. */ -#define SAVE_EXPR_FOLDED_P(EXP) TREE_LANG_FLAG_1 (SAVE_EXPR_CHECK (EXP)) - -/* Whether a type has boolean semantics: either a boolean type or an - enumeration type with a boolean type as its underlying type. */ -#define C_BOOLEAN_TYPE_P(TYPE) \ - (TREE_CODE (TYPE) == BOOLEAN_TYPE \ - || (TREE_CODE (TYPE) == ENUMERAL_TYPE \ - && ENUM_UNDERLYING_TYPE (TYPE) != NULL_TREE \ - && TREE_CODE (ENUM_UNDERLYING_TYPE (TYPE)) == BOOLEAN_TYPE)) - -/* Record parser information about an expression that is irrelevant - for code generation alongside a tree representing its value. */ -struct c_expr -{ - /* The value of the expression. */ - tree value; - /* Record the original unary/binary operator of an expression, which may - have been changed by fold, STRING_CST for unparenthesized string - constants, C_MAYBE_CONST_EXPR for __builtin_constant_p calls - (even if parenthesized), for subexpressions, and for non-constant - initializers, or ERROR_MARK for other expressions (including - parenthesized expressions). */ - enum tree_code original_code; - /* If not NULL, the original type of an expression. This will - differ from the type of the value field for an enum constant. - The type of an enum constant is a plain integer type, but this - field will be the enum type. */ - tree original_type; - - /* The source range of this expression. This is redundant - for node values that have locations, but not all node kinds - have locations (e.g. constants, and references to params, locals, - etc), so we stash a copy here. */ - source_range src_range; - - /* True if this was directly from a decimal constant token. */ - bool m_decimal : 1; - - /* Access to the first and last locations within the source spelling - of this expression. */ - location_t get_start () const { return src_range.m_start; } - location_t get_finish () const { return src_range.m_finish; } - - location_t get_location () const - { - if (EXPR_HAS_LOCATION (value)) - return EXPR_LOCATION (value); - else - return make_location (get_start (), get_start (), get_finish ()); - } - - /* Set the value to error_mark_node whilst ensuring that src_range - and m_decimal are initialized. */ - void set_error () - { - value = error_mark_node; - src_range.m_start = UNKNOWN_LOCATION; - src_range.m_finish = UNKNOWN_LOCATION; - m_decimal = 0; - } -}; - -/* Type alias for struct c_expr. This allows to use the structure - inside the VEC types. */ -typedef struct c_expr c_expr_t; - -/* A kind of type specifier. Note that this information is currently - only used to distinguish tag definitions, tag references and typeof - uses. */ -enum c_typespec_kind { - /* No typespec. This appears only in struct c_declspec. */ - ctsk_none, - /* A reserved keyword type specifier. */ - ctsk_resword, - /* A reference to a tag, previously declared, such as "struct foo". - This includes where the previous declaration was as a different - kind of tag, in which case this is only valid if shadowing that - tag in an inner scope. */ - ctsk_tagref, - /* Likewise, with standard attributes present in the reference. */ - ctsk_tagref_attrs, - /* A reference to a tag, not previously declared in a visible - scope. */ - ctsk_tagfirstref, - /* Likewise, with standard attributes present in the reference. */ - ctsk_tagfirstref_attrs, - /* A definition of a tag such as "struct foo { int a; }". */ - ctsk_tagdef, - /* A typedef name. */ - ctsk_typedef, - /* An ObjC-specific kind of type specifier. */ - ctsk_objc, - /* A typeof specifier, or _Atomic ( type-name ). */ - ctsk_typeof -}; - -/* A type specifier: this structure is created in the parser and - passed to declspecs_add_type only. */ -struct c_typespec { - /* What kind of type specifier this is. */ - enum c_typespec_kind kind; - /* Whether the expression has operands suitable for use in constant - expressions. */ - bool expr_const_operands; - /* Whether the type specifier includes an enum type specifier (that - is, ": specifier-qualifier-list" in a declaration using - "enum"). */ - bool has_enum_type_specifier; - /* The specifier itself. */ - tree spec; - /* An expression to be evaluated before the type specifier, in the - case of typeof specifiers, or NULL otherwise or if no such - expression is required for a particular typeof specifier. In - particular, when typeof is applied to an expression of variably - modified type, that expression must be evaluated in order to - determine array sizes that form part of the type, but the - expression itself (as opposed to the array sizes) forms no part - of the type and so needs to be recorded separately. */ - tree expr; -}; - -/* A storage class specifier. */ -enum c_storage_class { - csc_none, - csc_auto, - csc_extern, - csc_register, - csc_static, - csc_typedef -}; - -/* A type specifier keyword "void", "_Bool", "char", "int", "float", - "double", "_Decimal32", "_Decimal64", "_Decimal128", "_Fract", "_Accum", - or none of these. */ -enum c_typespec_keyword { - cts_none, - cts_void, - cts_bool, - cts_char, - cts_int, - cts_float, - cts_int_n, - cts_double, - cts_dfloat32, - cts_dfloat64, - cts_dfloat128, - cts_floatn_nx, - cts_fract, - cts_accum, - cts_auto_type -}; - -/* This enum lists all the possible declarator specifiers, storage - class or attribute that a user can write. There is at least one - enumerator per possible declarator specifier in the struct - c_declspecs below. - - It is used to index the array of declspec locations in struct - c_declspecs. */ -enum c_declspec_word { - cdw_typespec /* A catch-all for a typespec. */, - cdw_storage_class /* A catch-all for a storage class */, - cdw_attributes, - cdw_typedef, - cdw_explicit_signed, - cdw_deprecated, - cdw_default_int, - cdw_long, - cdw_long_long, - cdw_short, - cdw_signed, - cdw_unsigned, - cdw_complex, - cdw_inline, - cdw_noreturn, - cdw_thread, - cdw_const, - cdw_volatile, - cdw_restrict, - cdw_atomic, - cdw_saturating, - cdw_alignas, - cdw_address_space, - cdw_gimple, - cdw_rtl, - cdw_number_of_elements /* This one must always be the last - enumerator. */ -}; - -enum c_declspec_il { - cdil_none, - cdil_gimple, /* __GIMPLE */ - cdil_gimple_cfg, /* __GIMPLE(cfg) */ - cdil_gimple_ssa, /* __GIMPLE(ssa) */ - cdil_rtl /* __RTL */ -}; - -/* A sequence of declaration specifiers in C. When a new declaration - specifier is added, please update the enum c_declspec_word above - accordingly. */ -struct c_declspecs { - location_t locations[cdw_number_of_elements]; - /* The type specified, if a single type specifier such as a struct, - union or enum specifier, typedef name or typeof specifies the - whole type, or NULL_TREE if none or a keyword such as "void" or - "char" is used. Does not include qualifiers. */ - tree type; - /* Any expression to be evaluated before the type, from a typeof - specifier. */ - tree expr; - /* The attributes from a typedef decl. */ - tree decl_attr; - /* When parsing, the GNU attributes and prefix standard attributes. - Outside the parser, this will be NULL; attributes (possibly from - multiple lists) will be passed separately. */ - tree attrs; - /* When parsing, postfix standard attributes (which appertain to the - type specified by the preceding declaration specifiers, unlike - prefix standard attributes which appertain to the declaration or - declarations as a whole). */ - tree postfix_attrs; - /* The pass to start compiling a __GIMPLE or __RTL function with. */ - char *gimple_or_rtl_pass; - /* ENTRY BB count. */ - profile_count entry_bb_count; - /* The base-2 log of the greatest alignment required by an _Alignas - specifier, in bytes, or -1 if no such specifiers with nonzero - alignment. */ - int align_log; - /* For the __intN declspec, this stores the index into the int_n_* arrays. */ - int int_n_idx; - /* For the _FloatN and _FloatNx declspec, this stores the index into - the floatn_nx_types array. */ - int floatn_nx_idx; - /* The storage class specifier, or csc_none if none. */ - enum c_storage_class storage_class; - /* Any type specifier keyword used such as "int", not reflecting - modifiers such as "short", or cts_none if none. */ - ENUM_BITFIELD (c_typespec_keyword) typespec_word : 8; - /* The kind of type specifier if one has been seen, ctsk_none - otherwise. */ - ENUM_BITFIELD (c_typespec_kind) typespec_kind : 4; - ENUM_BITFIELD (c_declspec_il) declspec_il : 3; - /* Whether any expressions in typeof specifiers may appear in - constant expressions. */ - BOOL_BITFIELD expr_const_operands : 1; - /* Whether any declaration specifiers have been seen at all. */ - BOOL_BITFIELD declspecs_seen_p : 1; - /* Whether any declaration specifiers other than standard attributes - have been seen at all. If only standard attributes have been - seen, this is an attribute-declaration. */ - BOOL_BITFIELD non_std_attrs_seen_p : 1; - /* Whether something other than a storage class specifier or - attribute has been seen. This is used to warn for the - obsolescent usage of storage class specifiers other than at the - start of the list. (Doing this properly would require function - specifiers to be handled separately from storage class - specifiers.) */ - BOOL_BITFIELD non_sc_seen_p : 1; - /* Whether the type is specified by a typedef or typeof name. */ - BOOL_BITFIELD typedef_p : 1; - /* Whether the type is explicitly "signed" or specified by a typedef - whose type is explicitly "signed". */ - BOOL_BITFIELD explicit_signed_p : 1; - /* Whether the specifiers include a deprecated typedef. */ - BOOL_BITFIELD deprecated_p : 1; - /* Whether the specifiers include an unavailable typedef. */ - BOOL_BITFIELD unavailable_p : 1; - /* Whether the type defaulted to "int" because there were no type - specifiers. */ - BOOL_BITFIELD default_int_p : 1; - /* Whether "long" was specified. */ - BOOL_BITFIELD long_p : 1; - /* Whether "long" was specified more than once. */ - BOOL_BITFIELD long_long_p : 1; - /* Whether "short" was specified. */ - BOOL_BITFIELD short_p : 1; - /* Whether "signed" was specified. */ - BOOL_BITFIELD signed_p : 1; - /* Whether "unsigned" was specified. */ - BOOL_BITFIELD unsigned_p : 1; - /* Whether "complex" was specified. */ - BOOL_BITFIELD complex_p : 1; - /* Whether "inline" was specified. */ - BOOL_BITFIELD inline_p : 1; - /* Whether "_Noreturn" was speciied. */ - BOOL_BITFIELD noreturn_p : 1; - /* Whether "__thread" or "_Thread_local" was specified. */ - BOOL_BITFIELD thread_p : 1; - /* Whether "__thread" rather than "_Thread_local" was specified. */ - BOOL_BITFIELD thread_gnu_p : 1; - /* Whether "const" was specified. */ - BOOL_BITFIELD const_p : 1; - /* Whether "volatile" was specified. */ - BOOL_BITFIELD volatile_p : 1; - /* Whether "restrict" was specified. */ - BOOL_BITFIELD restrict_p : 1; - /* Whether "_Atomic" was specified. */ - BOOL_BITFIELD atomic_p : 1; - /* Whether "_Sat" was specified. */ - BOOL_BITFIELD saturating_p : 1; - /* Whether any alignment specifier (even with zero alignment) was - specified. */ - BOOL_BITFIELD alignas_p : 1; - /* Whether an enum type specifier (": specifier-qualifier-list") was - specified other than in a definition of that enum (if so, this is - invalid unless it is an empty declaration "enum identifier - enum-type-specifier;", but such an empty declaration is valid in - C2x when "enum identifier;" would not be). */ - BOOL_BITFIELD enum_type_specifier_ref_p : 1; - /* Whether "auto" was specified in C2X (or later) mode and means the - type is to be deduced from an initializer, or would mean that if - no type specifier appears later in these declaration - specifiers. */ - BOOL_BITFIELD c2x_auto_p : 1; - /* Whether "constexpr" was specified. */ - BOOL_BITFIELD constexpr_p : 1; - /* The address space that the declaration belongs to. */ - addr_space_t address_space; -}; - -/* The various kinds of declarators in C. */ -enum c_declarator_kind { - /* An identifier. */ - cdk_id, - /* A function. */ - cdk_function, - /* An array. */ - cdk_array, - /* A pointer. */ - cdk_pointer, - /* Parenthesized declarator with nested attributes. */ - cdk_attrs -}; - -struct c_arg_tag { - /* The argument name. */ - tree id; - /* The type of the argument. */ - tree type; -}; - - -/* Information about the parameters in a function declarator. */ -struct c_arg_info { - /* A list of parameter decls. */ - tree parms; - /* A list of structure, union and enum tags defined. */ - vec *tags; - /* A list of argument types to go in the FUNCTION_TYPE. */ - tree types; - /* A list of non-parameter decls (notably enumeration constants) - defined with the parameters. */ - tree others; - /* A compound expression of VLA sizes from the parameters, or NULL. - In a function definition, these are used to ensure that - side-effects in sizes of arrays converted to pointers (such as a - parameter int i[n++]) take place; otherwise, they are - ignored. */ - tree pending_sizes; - /* True when these arguments had [*]. */ - BOOL_BITFIELD had_vla_unspec : 1; - /* True when the arguments are a (...) prototype. */ - BOOL_BITFIELD no_named_args_stdarg_p : 1; -}; - -/* A declarator. */ -struct c_declarator { - /* The kind of declarator. */ - enum c_declarator_kind kind; - location_t id_loc; /* Currently only set for cdk_id, cdk_array. */ - /* Except for cdk_id, the contained declarator. For cdk_id, NULL. */ - struct c_declarator *declarator; - union { - /* For identifiers. */ - struct { - /* An IDENTIFIER_NODE, or NULL_TREE if an abstract - declarator. */ - tree id; - /* Any attributes (which apply to the declaration rather than to - the type described by the outer declarators). */ - tree attrs; - } id; - /* For functions. */ - struct c_arg_info *arg_info; - /* For arrays. */ - struct { - /* The array dimension, or NULL for [] and [*]. */ - tree dimen; - /* The qualifiers inside []. */ - int quals; - /* The attributes (currently ignored) inside []. */ - tree attrs; - /* Whether [static] was used. */ - BOOL_BITFIELD static_p : 1; - /* Whether [*] was used. */ - BOOL_BITFIELD vla_unspec_p : 1; - } array; - /* For pointers, the qualifiers on the pointer type. */ - int pointer_quals; - /* For attributes. */ - tree attrs; - } u; -}; - -/* A type name. */ -struct c_type_name { - /* The declaration specifiers. */ - struct c_declspecs *specs; - /* The declarator. */ - struct c_declarator *declarator; -}; - -/* A parameter. */ -struct c_parm { - /* The declaration specifiers, minus any prefix attributes. */ - struct c_declspecs *specs; - /* The attributes. */ - tree attrs; - /* The declarator. */ - struct c_declarator *declarator; - /* The location of the parameter. */ - location_t loc; -}; - -/* Used when parsing an enum. Initialized by start_enum. */ -struct c_enum_contents -{ - /* While defining an enum type, this is 1 plus the last enumerator - constant value. */ - tree enum_next_value; - - /* The enumeration type itself. */ - tree enum_type; - - /* Nonzero means that there was overflow computing enum_next_value. */ - int enum_overflow; -}; - -/* A type of reference to a static identifier in an inline - function. */ -enum c_inline_static_type { - /* Identifier with internal linkage used in function that may be an - inline definition (i.e., file-scope static). */ - csi_internal, - /* Modifiable object with static storage duration defined in - function that may be an inline definition (i.e., local - static). */ - csi_modifiable -}; - - -/* in c-parser.cc */ -extern void c_parse_init (void); -extern bool c_keyword_starts_typename (enum rid keyword); - -/* in c-aux-info.cc */ -extern void gen_aux_info_record (tree, int, int, int); - -/* in c-decl.cc */ -struct c_spot_bindings; -class c_struct_parse_info; -extern struct obstack parser_obstack; -/* Set to IN_ITERATION_STMT if parsing an iteration-statement, - to IN_OMP_BLOCK if parsing OpenMP structured block and - IN_OMP_FOR if parsing OpenMP loop. If parsing a switch statement, - this is bitwise ORed with IN_SWITCH_STMT, unless parsing an - iteration-statement, OpenMP block or loop within that switch. */ -#define IN_SWITCH_STMT 1 -#define IN_ITERATION_STMT 2 -#define IN_OMP_BLOCK 4 -#define IN_OMP_FOR 8 -#define IN_OBJC_FOREACH 16 -extern unsigned char in_statement; - -extern bool switch_statement_break_seen_p; - -extern bool global_bindings_p (void); -extern tree pushdecl (tree); -extern unsigned int start_underspecified_init (location_t, tree); -extern void finish_underspecified_init (tree, unsigned int); -extern void push_scope (void); -extern tree pop_scope (void); -extern void c_bindings_start_stmt_expr (struct c_spot_bindings *); -extern void c_bindings_end_stmt_expr (struct c_spot_bindings *); - -extern void record_inline_static (location_t, tree, tree, - enum c_inline_static_type); -extern void c_init_decl_processing (void); -extern void c_print_identifier (FILE *, tree, int); -extern int quals_from_declspecs (const struct c_declspecs *); -extern struct c_declarator *build_array_declarator (location_t, tree, - struct c_declspecs *, - bool, bool); -extern tree build_enumerator (location_t, location_t, struct c_enum_contents *, - tree, tree); -extern tree check_for_loop_decls (location_t, bool); -extern void mark_forward_parm_decls (void); -extern void declare_parm_level (void); -extern void undeclared_variable (location_t, tree); -extern tree lookup_label_for_goto (location_t, tree); -extern tree declare_label (tree); -extern tree define_label (location_t, tree); -extern struct c_spot_bindings *c_get_switch_bindings (void); -extern void c_release_switch_bindings (struct c_spot_bindings *); -extern bool c_check_switch_jump_warnings (struct c_spot_bindings *, - location_t, location_t); -extern void finish_decl (tree, location_t, tree, tree, tree); -extern tree finish_enum (tree, tree, tree); -extern void finish_function (location_t = input_location); -extern tree finish_struct (location_t, tree, tree, tree, - class c_struct_parse_info *); -extern tree c_simulate_enum_decl (location_t, const char *, - vec *); -extern tree c_simulate_record_decl (location_t, const char *, - array_slice); -extern struct c_arg_info *build_arg_info (void); -extern struct c_arg_info *get_parm_info (bool, tree); -extern tree grokfield (location_t, struct c_declarator *, - struct c_declspecs *, tree, tree *); -extern tree groktypename (struct c_type_name *, tree *, bool *); -extern tree grokparm (const struct c_parm *, tree *); -extern tree implicitly_declare (location_t, tree); -extern void keep_next_level (void); -extern void pending_xref_error (void); -extern void c_push_function_context (void); -extern void c_pop_function_context (void); -extern void push_parm_decl (const struct c_parm *, tree *); -extern struct c_declarator *set_array_declarator_inner (struct c_declarator *, - struct c_declarator *); -extern tree c_builtin_function (tree); -extern tree c_builtin_function_ext_scope (tree); -extern tree c_simulate_builtin_function_decl (tree); -extern void c_warn_unused_attributes (tree); -extern tree c_warn_type_attributes (tree); -extern void shadow_tag (const struct c_declspecs *); -extern void shadow_tag_warned (const struct c_declspecs *, int); -extern tree start_enum (location_t, struct c_enum_contents *, tree, tree); -extern bool start_function (struct c_declspecs *, struct c_declarator *, tree); -extern tree start_decl (struct c_declarator *, struct c_declspecs *, bool, - tree, bool = true, location_t * = NULL); -extern tree start_struct (location_t, enum tree_code, tree, - class c_struct_parse_info **); -extern void store_parm_decls (void); -extern void store_parm_decls_from (struct c_arg_info *); -extern void temp_store_parm_decls (tree, tree); -extern void temp_pop_parm_decls (void); -extern tree xref_tag (enum tree_code, tree); -extern struct c_typespec parser_xref_tag (location_t, enum tree_code, tree, - bool, tree, bool); -extern struct c_parm *build_c_parm (struct c_declspecs *, tree, - struct c_declarator *, location_t); -extern struct c_declarator *build_attrs_declarator (tree, - struct c_declarator *); -extern struct c_declarator *build_function_declarator (struct c_arg_info *, - struct c_declarator *); -extern struct c_declarator *build_id_declarator (tree); -extern struct c_declarator *make_pointer_declarator (struct c_declspecs *, - struct c_declarator *); -extern struct c_declspecs *build_null_declspecs (void); -extern struct c_declspecs *declspecs_add_qual (location_t, - struct c_declspecs *, tree); -extern struct c_declspecs *declspecs_add_type (location_t, - struct c_declspecs *, - struct c_typespec); -extern struct c_declspecs *declspecs_add_scspec (location_t, - struct c_declspecs *, tree); -extern struct c_declspecs *declspecs_add_attrs (location_t, - struct c_declspecs *, tree); -extern struct c_declspecs *declspecs_add_addrspace (location_t, - struct c_declspecs *, - addr_space_t); -extern struct c_declspecs *declspecs_add_alignas (location_t, - struct c_declspecs *, tree); -extern struct c_declspecs *finish_declspecs (struct c_declspecs *); - -/* in c-objc-common.cc */ -extern bool c_objc_common_init (void); -extern bool c_missing_noreturn_ok_p (tree); -extern bool c_warn_unused_global_decl (const_tree); -extern void c_initialize_diagnostics (diagnostic_context *); -extern bool c_var_mod_p (tree x, tree fn); -extern alias_set_type c_get_alias_set (tree); - -/* in c-typeck.cc */ -extern int in_alignof; -extern int in_sizeof; -extern int in_typeof; -extern bool c_in_omp_for; - -extern tree c_last_sizeof_arg; -extern location_t c_last_sizeof_loc; - -extern struct c_switch *c_switch_stack; - -extern bool null_pointer_constant_p (const_tree); - - -inline -bool c_type_variably_modified_p (tree t) -{ - return error_mark_node != t && C_TYPE_VARIABLY_MODIFIED (t); -} - - -extern bool char_type_p (tree); -extern tree c_objc_common_truthvalue_conversion (location_t, tree); -extern tree require_complete_type (location_t, tree); -extern bool same_translation_unit_p (const_tree, const_tree); -extern int comptypes (tree, tree); -extern int comptypes_check_different_types (tree, tree, bool *); -extern int comptypes_check_enum_int (tree, tree, bool *); -extern bool c_mark_addressable (tree, bool = false); -extern void c_incomplete_type_error (location_t, const_tree, const_tree); -extern tree c_type_promotes_to (tree); -extern struct c_expr default_function_array_conversion (location_t, - struct c_expr); -extern struct c_expr default_function_array_read_conversion (location_t, - struct c_expr); -extern struct c_expr convert_lvalue_to_rvalue (location_t, struct c_expr, - bool, bool, bool = false); -extern tree decl_constant_value_1 (tree, bool); -extern void mark_exp_read (tree); -extern tree composite_type (tree, tree); -extern tree build_component_ref (location_t, tree, tree, location_t, - location_t); -extern tree build_array_ref (location_t, tree, tree); -extern tree build_external_ref (location_t, tree, bool, tree *); -extern void pop_maybe_used (bool); -extern struct c_expr c_expr_sizeof_expr (location_t, struct c_expr); -extern struct c_expr c_expr_sizeof_type (location_t, struct c_type_name *); -extern struct c_expr parser_build_unary_op (location_t, enum tree_code, - struct c_expr); -extern struct c_expr parser_build_binary_op (location_t, - enum tree_code, struct c_expr, - struct c_expr); -extern tree build_conditional_expr (location_t, tree, bool, tree, tree, - location_t, tree, tree, location_t); -extern tree build_compound_expr (location_t, tree, tree); -extern tree c_cast_expr (location_t, struct c_type_name *, tree); -extern tree build_c_cast (location_t, tree, tree); -extern void store_init_value (location_t, tree, tree, tree); -extern void maybe_warn_string_init (location_t, tree, struct c_expr); -extern void start_init (tree, tree, bool, bool, rich_location *); -extern void finish_init (void); -extern void really_start_incremental_init (tree); -extern void finish_implicit_inits (location_t, struct obstack *); -extern void push_init_level (location_t, int, struct obstack *); -extern struct c_expr pop_init_level (location_t, int, struct obstack *, - location_t); -extern void set_init_index (location_t, tree, tree, struct obstack *); -extern void set_init_label (location_t, tree, location_t, struct obstack *); -extern void process_init_element (location_t, struct c_expr, bool, - struct obstack *); -extern tree build_compound_literal (location_t, tree, tree, bool, - unsigned int, struct c_declspecs *); -extern void check_compound_literal_type (location_t, struct c_type_name *); -extern tree c_start_switch (location_t, location_t, tree, bool); -extern void c_finish_switch (tree, tree); -extern tree build_asm_expr (location_t, tree, tree, tree, tree, tree, bool, - bool); -extern tree build_asm_stmt (bool, tree); -extern int c_types_compatible_p (tree, tree); -extern tree c_begin_compound_stmt (bool); -extern tree c_end_compound_stmt (location_t, tree, bool); -extern void c_finish_if_stmt (location_t, tree, tree, tree); -extern void c_finish_loop (location_t, location_t, tree, location_t, tree, - tree, tree, tree, bool); -extern tree c_begin_stmt_expr (void); -extern tree c_finish_stmt_expr (location_t, tree); -extern tree c_process_expr_stmt (location_t, tree); -extern tree c_finish_expr_stmt (location_t, tree); -extern tree c_finish_return (location_t, tree, tree); -extern tree c_finish_bc_stmt (location_t, tree, bool); -extern tree c_finish_goto_label (location_t, tree); -extern tree c_finish_goto_ptr (location_t, c_expr val); -extern tree c_expr_to_decl (tree, bool *, bool *); -extern tree c_finish_omp_construct (location_t, enum tree_code, tree, tree); -extern tree c_finish_oacc_data (location_t, tree, tree); -extern tree c_finish_oacc_host_data (location_t, tree, tree); -extern tree c_begin_omp_parallel (void); -extern tree c_finish_omp_parallel (location_t, tree, tree); -extern tree c_begin_omp_task (void); -extern tree c_finish_omp_task (location_t, tree, tree); -extern void c_finish_omp_cancel (location_t, tree); -extern void c_finish_omp_cancellation_point (location_t, tree); -extern tree c_finish_omp_clauses (tree, enum c_omp_region_type); -extern tree c_build_va_arg (location_t, tree, location_t, tree); -extern tree c_finish_transaction (location_t, tree, int); -extern bool c_tree_equal (tree, tree); -extern tree c_build_function_call_vec (location_t, const vec&, - tree, vec *, - vec *); -extern tree c_omp_clause_copy_ctor (tree, tree, tree); - -/* Set to 0 at beginning of a function definition, set to 1 if - a return statement that specifies a return value is seen. */ - -extern int current_function_returns_value; - -/* Set to 0 at beginning of a function definition, set to 1 if - a return statement with no argument is seen. */ - -extern int current_function_returns_null; - -/* Set to 0 at beginning of a function definition, set to 1 if - a call to a noreturn function is seen. */ - -extern int current_function_returns_abnormally; - -/* In c-decl.cc */ - -/* Tell the binding oracle what kind of binding we are looking for. */ - -enum c_oracle_request -{ - C_ORACLE_SYMBOL, - C_ORACLE_TAG, - C_ORACLE_LABEL -}; - -/* If this is non-NULL, then it is a "binding oracle" which can lazily - create bindings when needed by the C compiler. The oracle is told - the name and type of the binding to create. It can call pushdecl - or the like to ensure the binding is visible; or do nothing, - leaving the binding untouched. c-decl.cc takes note of when the - oracle has been called and will not call it again if it fails to - create a given binding. */ - -typedef void c_binding_oracle_function (enum c_oracle_request, tree identifier); - -extern c_binding_oracle_function *c_binding_oracle; - -extern void c_finish_incomplete_decl (tree); -extern tree c_omp_reduction_id (enum tree_code, tree); -extern tree c_omp_reduction_decl (tree); -extern tree c_omp_reduction_lookup (tree, tree); -extern tree c_check_omp_declare_reduction_r (tree *, int *, void *); -extern bool c_check_in_current_scope (tree); -extern void c_pushtag (location_t, tree, tree); -extern void c_bind (location_t, tree, bool); -extern bool tag_exists_p (enum tree_code, tree); - -/* In c-errors.cc */ -extern bool pedwarn_c90 (location_t, int opt, const char *, ...) - ATTRIBUTE_GCC_DIAG(3,4); -extern bool pedwarn_c99 (location_t, int opt, const char *, ...) - ATTRIBUTE_GCC_DIAG(3,4); -extern bool pedwarn_c11 (location_t, int opt, const char *, ...) - ATTRIBUTE_GCC_DIAG(3,4); - -extern void -set_c_expr_source_range (c_expr *expr, - location_t start, location_t finish); - -extern void -set_c_expr_source_range (c_expr *expr, - source_range src_range); - -/* In c-fold.cc */ -extern vec incomplete_record_decls; - -extern const char *c_get_sarif_source_language (const char *filename); - -#if CHECKING_P -namespace selftest { - extern void run_c_tests (void); -} // namespace selftest -#endif /* #if CHECKING_P */ - - -#endif /* ! GCC_C_TREE_H */ diff --git a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/calls.h b/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/calls.h deleted file mode 100644 index c7f8c5e4..00000000 --- a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/calls.h +++ /dev/null @@ -1,138 +0,0 @@ -/* Declarations and data types for RTL call insn generation. - Copyright (C) 2013-2023 Free Software Foundation, Inc. - -This file is part of GCC. - -GCC is free software; you can redistribute it and/or modify it under -the terms of the GNU General Public License as published by the Free -Software Foundation; either version 3, or (at your option) any later -version. - -GCC is distributed in the hope that it will be useful, but WITHOUT ANY -WARRANTY; without even the implied warranty of MERCHANTABILITY or -FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -for more details. - -You should have received a copy of the GNU General Public License -along with GCC; see the file COPYING3. If not see -. */ - -#ifndef GCC_CALLS_H -#define GCC_CALLS_H - -/* Describes a function argument. - - Each argument conceptually has a gimple-level type. Usually this type - is available directly as a tree via the TYPE field, but when calling - libgcc support functions it might instead be inferred from a mode, - in which case the type isn't available directly. - - This gimple-level type might go through promotion before being passed to - the target function. Depending on the context, the MODE field is either - the mode of the gimple-level type (whether explicitly given or not) - or the mode after promotion has been performed. */ -class function_arg_info -{ -public: - function_arg_info () - : type (NULL_TREE), mode (VOIDmode), named (false), - pass_by_reference (false) - {} - - /* Initialize an argument of mode MODE, either before or after promotion. */ - function_arg_info (machine_mode mode, bool named) - : type (NULL_TREE), mode (mode), named (named), pass_by_reference (false) - {} - - /* Initialize an unpromoted argument of type TYPE. */ - function_arg_info (tree type, bool named) - : type (type), mode (TYPE_MODE (type)), named (named), - pass_by_reference (false) - {} - - /* Initialize an argument with explicit properties. */ - function_arg_info (tree type, machine_mode mode, bool named) - : type (type), mode (mode), named (named), pass_by_reference (false) - {} - - /* Return true if the gimple-level type is an aggregate. */ - bool aggregate_type_p () const { return type && AGGREGATE_TYPE_P (type); } - - /* Return the size of the gimple-level type, or -1 if the size is - variable or otherwise not representable as a poly_int64. - - Use this function when MODE is the mode of the type before promotion, - or in any context if the target never promotes function arguments. */ - poly_int64 type_size_in_bytes () const - { - if (type) - return int_size_in_bytes (type); - return GET_MODE_SIZE (mode); - } - - /* Return the size of the argument after promotion, or -1 if the size - is variable or otherwise not representable as a poly_int64. - - Use this function when MODE is the mode of the type after promotion. */ - poly_int64 promoted_size_in_bytes () const - { - if (mode == BLKmode) - return int_size_in_bytes (type); - return GET_MODE_SIZE (mode); - } - - /* True if the argument represents the end of the argument list, - as returned by end_marker (). */ - bool end_marker_p () const { return mode == VOIDmode; } - - /* Return a function_arg_info that represents the end of the - argument list. */ - static function_arg_info end_marker () - { - return function_arg_info (void_type_node, /*named=*/true); - } - - /* The type of the argument, or null if not known (which is true for - libgcc support functions). */ - tree type; - - /* The mode of the argument. Depending on context, this might be - the mode of the argument type or the mode after promotion. */ - machine_mode mode; - - /* True if the argument is treated as a named argument, false if it is - treated as an unnamed variadic argument (i.e. one passed through - "..."). See also TARGET_STRICT_ARGUMENT_NAMING. */ - unsigned int named : 1; - - /* True if we have decided to pass the argument by reference, in which case - the function_arg_info describes a pointer to the original argument. */ - unsigned int pass_by_reference : 1; -}; - -extern int flags_from_decl_or_type (const_tree); -extern int call_expr_flags (const_tree); -extern int setjmp_call_p (const_tree); -extern bool gimple_maybe_alloca_call_p (const gimple *); -extern bool gimple_alloca_call_p (const gimple *); -extern bool alloca_call_p (const_tree); -extern bool must_pass_in_stack_var_size (const function_arg_info &); -extern bool must_pass_in_stack_var_size_or_pad (const function_arg_info &); -extern bool must_pass_va_arg_in_stack (tree); -extern rtx prepare_call_address (tree, rtx, rtx, rtx *, int, int); -extern bool shift_return_value (machine_mode, bool, rtx); -extern rtx expand_call (tree, rtx, int); -extern void fixup_tail_calls (void); - -extern bool pass_by_reference (CUMULATIVE_ARGS *, function_arg_info); -extern bool pass_va_arg_by_reference (tree); -extern bool apply_pass_by_reference_rules (CUMULATIVE_ARGS *, - function_arg_info &); -extern bool reference_callee_copied (CUMULATIVE_ARGS *, - const function_arg_info &); -extern void maybe_complain_about_tail_call (tree, const char *); - -extern rtx rtx_for_static_chain (const_tree, bool); -extern bool cxx17_empty_base_field_p (const_tree); - -#endif // GCC_CALLS_H diff --git a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/ccmp.h b/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/ccmp.h deleted file mode 100644 index f6f73897..00000000 --- a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/ccmp.h +++ /dev/null @@ -1,25 +0,0 @@ -/* Conditional comapre related functions. - Copyright (C) 2014-2023 Free Software Foundation, Inc. - -This file is part of GCC. - -GCC is free software; you can redistribute it and/or modify it under -the terms of the GNU General Public License as published by the Free -Software Foundation; either version 3, or (at your option) any later -version. - -GCC is distributed in the hope that it will be useful, but WITHOUT ANY -WARRANTY; without even the implied warranty of MERCHANTABILITY or -FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -for more details. - -You should have received a copy of the GNU General Public License -along with GCC; see the file COPYING3. If not see -. */ - -#ifndef GCC_CCMP_H -#define GCC_CCMP_H - -extern rtx expand_ccmp_expr (gimple *, machine_mode); - -#endif /* GCC_CCMP_H */ diff --git a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/cfg-flags.def b/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/cfg-flags.def deleted file mode 100644 index 2d8ccd93..00000000 --- a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/cfg-flags.def +++ /dev/null @@ -1,191 +0,0 @@ -/* Flags on basic blocks and edges. - Copyright (C) 2012-2023 Free Software Foundation, Inc. - -This file is part of GCC. - -GCC is free software; you can redistribute it and/or modify it under -the terms of the GNU General Public License as published by the Free -Software Foundation; either version 3, or (at your option) any later -version. - -GCC is distributed in the hope that it will be useful, but WITHOUT ANY -WARRANTY; without even the implied warranty of MERCHANTABILITY or -FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -for more details. - -You should have received a copy of the GNU General Public License -along with GCC; see the file COPYING3. If not see -. */ - -/* This file defines flags that may appear on basic blocks or on - edges. Source files define DEF_BASIC_BLOCK_FLAG or DEF_EDGE_FLAG - appropriately before including this file. */ - -#if !defined(DEF_BASIC_BLOCK_FLAG) && !defined(DEF_EDGE_FLAG) -#error "You must define DEF_BASIC_BLOCK_FLAG or DEF_EDGE_FLAG" -#endif - -#ifdef DEF_BASIC_BLOCK_FLAG - -/* Masks for basic_block.flags. - - The format of this file is: DEF_BASIC_BLOCK_FLAG(NAME, IDX). - NAME is the name of the basic block flag. A flag BB_#NAME will be - created and the name is used in dump_edge_info. - IDX is a sequence number that is used to determine the value - of the flag, which is 1 << IDX). - - BB_HOT_PARTITION and BB_COLD_PARTITION should be preserved throughout - the compilation, so they are never cleared. - - All other flags may be cleared by clear_bb_flags(). It is generally - a bad idea to rely on any flags being up-to-date. */ - -/* Only set on blocks that have just been created by create_bb. */ -DEF_BASIC_BLOCK_FLAG(NEW, 0) - -/* Set by find_unreachable_blocks. Do not rely on this being set in any - pass. */ -DEF_BASIC_BLOCK_FLAG(REACHABLE, 1) - -/* Set for blocks in an irreducible loop by loop analysis. */ -DEF_BASIC_BLOCK_FLAG(IRREDUCIBLE_LOOP, 2) - -/* Set on blocks that may actually not be single-entry single-exit block. */ -DEF_BASIC_BLOCK_FLAG(SUPERBLOCK, 3) - -/* Set on basic blocks that the scheduler should not touch. This is used - by SMS to prevent other schedulers from messing with the loop schedule. */ -DEF_BASIC_BLOCK_FLAG(DISABLE_SCHEDULE, 4) - -/* Set on blocks that should be put in a hot section. */ -DEF_BASIC_BLOCK_FLAG(HOT_PARTITION, 5) - -/* Set on blocks that should be put in a cold section. */ -DEF_BASIC_BLOCK_FLAG(COLD_PARTITION, 6) - -/* Set on block that was duplicated. */ -DEF_BASIC_BLOCK_FLAG(DUPLICATED, 7) - -/* Set if the label at the top of this block is the target of a non-local goto. */ -DEF_BASIC_BLOCK_FLAG(NON_LOCAL_GOTO_TARGET, 8) - -/* Set on blocks that are in RTL format. */ -DEF_BASIC_BLOCK_FLAG(RTL, 9) - -/* Set on blocks that are forwarder blocks. - Only used in cfgcleanup.cc. */ -DEF_BASIC_BLOCK_FLAG(FORWARDER_BLOCK, 10) - -/* Set on blocks that cannot be threaded through. - Only used for jump threading. */ -DEF_BASIC_BLOCK_FLAG(NONTHREADABLE_BLOCK, 11) - -/* Set on blocks that were modified in some way. This bit is set in - df_set_bb_dirty, but not cleared by df_analyze, so it can be used - to test whether a block has been modified prior to a df_analyze call. */ -DEF_BASIC_BLOCK_FLAG(MODIFIED, 12) - -/* A general visited flag for passes to use. */ -DEF_BASIC_BLOCK_FLAG(VISITED, 13) - -/* Set on blocks that are in a transaction. This is calculated on - demand, and is available after calling compute_transaction_bits(). */ -DEF_BASIC_BLOCK_FLAG(IN_TRANSACTION, 14) - -#endif - -#ifdef DEF_EDGE_FLAG - -/* Masks for edge.flags. - - The format of this file is: DEF_EDGE_FLAG(NAME, IDX, STRING). - NAME is the name of the edge flag. A flag EDGE_#NAME will be - created and the name is used in dump_edge_info. - IDX is a sequence number that is used to determine the value - of the flag, which is 1 << IDX). */ - -/* 'Straight line' flow. In GIMPLE and in cfglayout mode, all normal - edges are fallthru edges. In cfgrtl mode, this flag really means - that control flow falls through to the next basic block in the line. */ -DEF_EDGE_FLAG(FALLTHRU, 0) - -/* Strange flow, like a computed jump or exception handling. Usually - this means that the edge cannot be split. */ -DEF_EDGE_FLAG(ABNORMAL, 1) - -/* Edge out of a basic block that ends with a CALL_INSN with abnormal - exit, like an exception or a non-local goto. - ABNORMAL_CALL edges also have ABNORMAL set. - This flag is only used for the RTL CFG. */ -DEF_EDGE_FLAG(ABNORMAL_CALL, 2) - -/* Exception edge. Exception handling edges represent possible control - transfers from a trapping instruction to an exception handler. - EH edges also have ABNORMAL set for the RTL CFG. */ -DEF_EDGE_FLAG(EH, 3) - -/* Never merge blocks via this edge. This is used for exception handling, - to prevent merging away edges to the post-landing-pad basic block. - This flag is only used for the RTL CFG. */ -DEF_EDGE_FLAG(PRESERVE, 4) - -/* Not a real edge. This is used to connect parts of the CFG that do - not halt, such as infinite loops and noreturn functions, to the - EXIT_BLOCK, so that traversing of the reverse CFG is possible. */ -DEF_EDGE_FLAG(FAKE, 5) - -/* A back edge, marked in a depth-first search of the CFG. Back edges - are hints that this edge may be part of a loop in the CFG. */ -DEF_EDGE_FLAG(DFS_BACK, 6) - -/* Edge in a part of the CFG that is an irreducible loop. */ -DEF_EDGE_FLAG(IRREDUCIBLE_LOOP, 7) - -/* Edge taken when controlling predicate is nonzero. - This is only used for the GIMPLE CFG. */ -DEF_EDGE_FLAG(TRUE_VALUE, 8) - -/* Edge taken when controlling predicate is zero. - This is only used for the GIMPLE CFG. */ -DEF_EDGE_FLAG(FALSE_VALUE, 9) - -/* Edge is executable. This is only used in GIMPLE SSA-CCP and VRP. - This is only used for the GIMPLE CFG. */ -DEF_EDGE_FLAG(EXECUTABLE, 10) - -/* Edge crosses between hot and cold sections, when we do partitioning. - This flag is only used for the RTL CFG. */ -DEF_EDGE_FLAG(CROSSING, 11) - -/* Edge from a sibcall CALL_INSN to exit. - SIBCALL edges also have ABNORMAL set. - This flag is only used for the RTL CFG. */ -DEF_EDGE_FLAG(SIBCALL, 12) - -/* Candidate for straight line flow. Only used in bb-reorder.cc. - This flag is only used for the RTL CFG. */ -DEF_EDGE_FLAG(CAN_FALLTHRU, 13) - -/* Exit of a loop. This is only used in ifcvt.cc. - This flag is only used for the RTL CFG. */ -DEF_EDGE_FLAG(LOOP_EXIT, 14) - -/* Uninstrumented edge out of a GIMPLE_TRANSACTION statement. */ -DEF_EDGE_FLAG(TM_UNINSTRUMENTED, 15) - -/* Abort (over) edge out of a GIMPLE_TRANSACTION statement. */ -DEF_EDGE_FLAG(TM_ABORT, 16) - -/* An edge we should ignore. It should be entirely local to - passes. ie, it is never set on any edge upon the completion - of any pass. */ -DEF_EDGE_FLAG(IGNORE, 17) - -#endif - -/* -Local variables: -mode:c -End: -*/ diff --git a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/cfg.h b/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/cfg.h deleted file mode 100644 index 4cd2958b..00000000 --- a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/cfg.h +++ /dev/null @@ -1,186 +0,0 @@ -/* Control flow graph manipulation code header file. - Copyright (C) 2014-2023 Free Software Foundation, Inc. - -This file is part of GCC. - -GCC is free software; you can redistribute it and/or modify it under -the terms of the GNU General Public License as published by the Free -Software Foundation; either version 3, or (at your option) any later -version. - -GCC is distributed in the hope that it will be useful, but WITHOUT ANY -WARRANTY; without even the implied warranty of MERCHANTABILITY or -FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -for more details. - -You should have received a copy of the GNU General Public License -along with GCC; see the file COPYING3. If not see -. */ - -#ifndef GCC_CFG_H -#define GCC_CFG_H - -#include "dominance.h" - -/* What sort of profiling information we have. */ -enum profile_status_d -{ - PROFILE_ABSENT, - PROFILE_GUESSED, - PROFILE_READ, - PROFILE_LAST /* Last value, used by profile streaming. */ -}; - -/* A structure to group all the per-function control flow graph data. - The x_* prefixing is necessary because otherwise references to the - fields of this struct are interpreted as the defines for backward - source compatibility following the definition of this struct. */ -struct GTY(()) control_flow_graph { - /* Block pointers for the exit and entry of a function. - These are always the head and tail of the basic block list. */ - basic_block x_entry_block_ptr; - basic_block x_exit_block_ptr; - - /* Index by basic block number, get basic block struct info. */ - vec *x_basic_block_info; - - /* Number of basic blocks in this flow graph. */ - int x_n_basic_blocks; - - /* Number of edges in this flow graph. */ - int x_n_edges; - - /* The first free basic block number. */ - int x_last_basic_block; - - /* UIDs for LABEL_DECLs. */ - int last_label_uid; - - /* Mapping of labels to their associated blocks. At present - only used for the gimple CFG. */ - vec *x_label_to_block_map; - - enum profile_status_d x_profile_status; - - /* Whether the dominators and the postdominators are available. */ - enum dom_state x_dom_computed[2]; - - /* Number of basic blocks in the dominance tree. */ - unsigned x_n_bbs_in_dom_tree[2]; - - /* Maximal number of entities in the single jumptable. Used to estimate - final flowgraph size. */ - int max_jumptable_ents; - - /* Maximal count of BB in function. */ - profile_count count_max; - - /* Dynamically allocated edge/bb flags. */ - int edge_flags_allocated; - int bb_flags_allocated; -}; - - -extern void init_flow (function *); -extern void free_cfg (function *); -extern basic_block alloc_block (void); -extern void link_block (basic_block, basic_block); -extern void unlink_block (basic_block); -extern void compact_blocks (void); -extern void expunge_block (basic_block); -extern edge unchecked_make_edge (basic_block, basic_block, int); -extern edge cached_make_edge (sbitmap, basic_block, basic_block, int); -extern edge make_edge (basic_block, basic_block, int); -extern edge make_single_succ_edge (basic_block, basic_block, int); -extern void remove_edge_raw (edge); -extern void redirect_edge_succ (edge, basic_block); -extern void redirect_edge_pred (edge, basic_block); -extern void clear_bb_flags (void); -extern void dump_edge_info (FILE *, edge, dump_flags_t, int); -extern void debug (edge_def &ref); -extern void debug (edge_def *ptr); -extern void alloc_aux_for_blocks (int); -extern void clear_aux_for_blocks (void); -extern void free_aux_for_blocks (void); -extern void alloc_aux_for_edge (edge, int); -extern void alloc_aux_for_edges (int); -extern void clear_aux_for_edges (void); -extern void free_aux_for_edges (void); -extern void debug_bb (basic_block); -extern basic_block debug_bb_n (int); -extern void debug_bb (basic_block, dump_flags_t); -extern basic_block debug_bb_n (int, dump_flags_t); -extern void dump_bb_info (FILE *, basic_block, int, dump_flags_t, bool, bool); -extern void brief_dump_cfg (FILE *, dump_flags_t); -extern void update_bb_profile_for_threading (basic_block, profile_count, edge); -extern void scale_bbs_frequencies_profile_count (basic_block *, int, - profile_count, profile_count); -extern void scale_bbs_frequencies (basic_block *, int, profile_probability); -extern void initialize_original_copy_tables (void); -extern void reset_original_copy_tables (void); -extern void free_original_copy_tables (void); -extern bool original_copy_tables_initialized_p (void); -extern void set_bb_original (basic_block, basic_block); -extern basic_block get_bb_original (basic_block); -extern void set_bb_copy (basic_block, basic_block); -extern basic_block get_bb_copy (basic_block); -void set_loop_copy (class loop *, class loop *); -class loop *get_loop_copy (class loop *); - -/* Generic RAII class to allocate a bit from storage of integer type T. - The allocated bit is accessible as mask with the single bit set - via the conversion operator to T. */ - -template -class auto_flag -{ -public: - /* static assert T is integer type of max HOST_WIDE_INT precision. */ - auto_flag (T *sptr) - { - m_sptr = sptr; - int free_bit = ffs_hwi (~*sptr); - /* If there are no unset bits... */ - if (free_bit == 0) - gcc_unreachable (); - m_flag = HOST_WIDE_INT_1U << (free_bit - 1); - /* ...or if T is signed and thus the complement is sign-extended, - check if we ran out of bits. We could spare us this bit - if we could use C++11 std::make_unsigned::type to pass - ~*sptr to ffs_hwi. */ - if (m_flag == 0) - gcc_unreachable (); - gcc_checking_assert ((*sptr & m_flag) == 0); - *sptr |= m_flag; - } - ~auto_flag () - { - gcc_checking_assert ((*m_sptr & m_flag) == m_flag); - *m_sptr &= ~m_flag; - } - operator T () const { return m_flag; } -private: - T *m_sptr; - T m_flag; -}; - -/* RAII class to allocate an edge flag for temporary use. You have - to clear the flag from all edges when you are finished using it. */ - -class auto_edge_flag : public auto_flag -{ -public: - auto_edge_flag (function *fun) - : auto_flag (&fun->cfg->edge_flags_allocated) {} -}; - -/* RAII class to allocate a bb flag for temporary use. You have - to clear the flag from all edges when you are finished using it. */ -class auto_bb_flag : public auto_flag -{ -public: - auto_bb_flag (function *fun) - : auto_flag (&fun->cfg->bb_flags_allocated) {} -}; - -#endif /* GCC_CFG_H */ diff --git a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/cfganal.h b/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/cfganal.h deleted file mode 100644 index 0b6c67df..00000000 --- a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/cfganal.h +++ /dev/null @@ -1,90 +0,0 @@ -/* Control flow graph analysis header file. - Copyright (C) 2014-2023 Free Software Foundation, Inc. - -This file is part of GCC. - -GCC is free software; you can redistribute it and/or modify it under -the terms of the GNU General Public License as published by the Free -Software Foundation; either version 3, or (at your option) any later -version. - -GCC is distributed in the hope that it will be useful, but WITHOUT ANY -WARRANTY; without even the implied warranty of MERCHANTABILITY or -FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -for more details. - -You should have received a copy of the GNU General Public License -along with GCC; see the file COPYING3. If not see -. */ - - -#ifndef GCC_CFGANAL_H -#define GCC_CFGANAL_H - -/* This structure maintains an edge list vector. */ -/* FIXME: Make this a vec. */ -struct edge_list -{ - int num_edges; - edge *index_to_edge; -}; - - -/* Class to compute and manage control dependences on an edge-list. */ -class control_dependences -{ -public: - control_dependences (); - ~control_dependences (); - bitmap get_edges_dependent_on (int); - basic_block get_edge_src (int); - basic_block get_edge_dest (int); - -private: - void set_control_dependence_map_bit (basic_block, int); - void clear_control_dependence_bitmap (basic_block); - void find_control_dependence (int); - vec control_dependence_map; - vec > m_el; - bitmap_obstack m_bitmaps; -}; - -extern bool mark_dfs_back_edges (struct function *); -extern bool mark_dfs_back_edges (void); -extern void verify_marked_backedges (struct function *); -extern void find_unreachable_blocks (void); -extern void verify_no_unreachable_blocks (void); -struct edge_list * create_edge_list (void); -void free_edge_list (struct edge_list *); -void print_edge_list (FILE *, struct edge_list *); -void verify_edge_list (FILE *, struct edge_list *); -edge find_edge (basic_block, basic_block); -int find_edge_index (struct edge_list *, basic_block, basic_block); -extern void remove_fake_edges (void); -extern void remove_fake_exit_edges (void); -extern void add_noreturn_fake_exit_edges (void); -extern void connect_infinite_loops_to_exit (void); -extern int post_order_compute (int *, bool, bool); -extern basic_block dfs_find_deadend (basic_block); -extern void inverted_post_order_compute (vec *postorder, sbitmap *start_points = 0); -extern int pre_and_rev_post_order_compute_fn (struct function *, - int *, int *, bool); -extern int pre_and_rev_post_order_compute (int *, int *, bool); -extern int rev_post_order_and_mark_dfs_back_seme (struct function *, edge, - bitmap, bool, int *, - vec > *); -extern int dfs_enumerate_from (basic_block, int, - bool (*)(const_basic_block, const void *), - basic_block *, int, const void *); -extern void compute_dominance_frontiers (class bitmap_head *); -extern bitmap compute_idf (bitmap, class bitmap_head *); -extern void bitmap_intersection_of_succs (sbitmap, sbitmap *, basic_block); -extern void bitmap_intersection_of_preds (sbitmap, sbitmap *, basic_block); -extern void bitmap_union_of_succs (sbitmap, sbitmap *, basic_block); -extern void bitmap_union_of_preds (sbitmap, sbitmap *, basic_block); -extern basic_block * single_pred_before_succ_order (void); -extern edge single_incoming_edge_ignoring_loop_edges (basic_block, bool); -extern edge single_pred_edge_ignoring_loop_edges (basic_block, bool); - - -#endif /* GCC_CFGANAL_H */ diff --git a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/cfgbuild.h b/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/cfgbuild.h deleted file mode 100644 index 51d3eccb..00000000 --- a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/cfgbuild.h +++ /dev/null @@ -1,28 +0,0 @@ -/* Control flow graph building header file. - Copyright (C) 2014-2023 Free Software Foundation, Inc. - -This file is part of GCC. - -GCC is free software; you can redistribute it and/or modify it under -the terms of the GNU General Public License as published by the Free -Software Foundation; either version 3, or (at your option) any later -version. - -GCC is distributed in the hope that it will be useful, but WITHOUT ANY -WARRANTY; without even the implied warranty of MERCHANTABILITY or -FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -for more details. - -You should have received a copy of the GNU General Public License -along with GCC; see the file COPYING3. If not see -. */ - -#ifndef GCC_CFGBUILD_H -#define GCC_CFGBUILD_H - -extern bool inside_basic_block_p (const rtx_insn *); -extern bool control_flow_insn_p (const rtx_insn *); -extern void rtl_make_eh_edge (sbitmap, basic_block, rtx); -extern void find_many_sub_basic_blocks (sbitmap); - -#endif /* GCC_CFGBUILD_H */ diff --git a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/cfgcleanup.h b/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/cfgcleanup.h deleted file mode 100644 index 46ce6406..00000000 --- a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/cfgcleanup.h +++ /dev/null @@ -1,35 +0,0 @@ -/* Control flow optimization header file. - Copyright (C) 2014-2023 Free Software Foundation, Inc. - -This file is part of GCC. - -GCC is free software; you can redistribute it and/or modify it under -the terms of the GNU General Public License as published by the Free -Software Foundation; either version 3, or (at your option) any later -version. - -GCC is distributed in the hope that it will be useful, but WITHOUT ANY -WARRANTY; without even the implied warranty of MERCHANTABILITY or -FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -for more details. - -You should have received a copy of the GNU General Public License -along with GCC; see the file COPYING3. If not see -. */ - - -#ifndef GCC_CFGCLEANUP_H -#define GCC_CFGCLEANUP_H - -enum replace_direction { dir_none, dir_forward, dir_backward, dir_both }; - -extern int flow_find_cross_jump (basic_block, basic_block, rtx_insn **, - rtx_insn **, enum replace_direction*); -extern int flow_find_head_matching_sequence (basic_block, basic_block, - rtx_insn **, rtx_insn **, int); -extern bool delete_unreachable_blocks (void); -extern void delete_dead_jumptables (void); -extern bool cleanup_cfg (int); -extern bool bb_is_just_return (basic_block, rtx_insn **, rtx_insn **); - -#endif /* GCC_CFGCLEANUP_H */ diff --git a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/cfgexpand.h b/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/cfgexpand.h deleted file mode 100644 index 0e551f6c..00000000 --- a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/cfgexpand.h +++ /dev/null @@ -1,28 +0,0 @@ -/* Header file for lowering trees to RTL. - Copyright (C) 2013-2023 Free Software Foundation, Inc. - -This file is part of GCC. - -GCC is free software; you can redistribute it and/or modify it under -the terms of the GNU General Public License as published by the Free -Software Foundation; either version 3, or (at your option) any later -version. - -GCC is distributed in the hope that it will be useful, but WITHOUT ANY -WARRANTY; without even the implied warranty of MERCHANTABILITY or -FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - for more details. - -You should have received a copy of the GNU General Public License -along with GCC; see the file COPYING3. If not see -. */ - -#ifndef GCC_CFGEXPAND_H -#define GCC_CFGEXPAND_H - -extern tree gimple_assign_rhs_to_tree (gimple *); -extern HOST_WIDE_INT estimated_stack_frame_size (struct cgraph_node *); -extern void set_parm_rtl (tree, rtx); - - -#endif /* GCC_CFGEXPAND_H */ diff --git a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/cfghooks.h b/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/cfghooks.h deleted file mode 100644 index 7c87712c..00000000 --- a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/cfghooks.h +++ /dev/null @@ -1,289 +0,0 @@ -/* Hooks for cfg representation specific functions. - Copyright (C) 2003-2023 Free Software Foundation, Inc. - Contributed by Sebastian Pop - -This file is part of GCC. - -GCC is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 3, or (at your option) -any later version. - -GCC is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GCC; see the file COPYING3. If not see -. */ - -#ifndef GCC_CFGHOOKS_H -#define GCC_CFGHOOKS_H - -#include "predict.h" - -/* Structure to gather statistic about profile consistency, per pass. - An array of this structure, indexed by pass static number, is allocated - in passes.cc. The structure is defined here so that different CFG modes - can do their book-keeping via CFG hooks. - - For every field[2], field[0] is the count before the pass runs, and - field[1] is the post-pass count. This allows us to monitor the effect - of each individual pass on the profile consistency. - - This structure is not supposed to be used by anything other than passes.cc - and one CFG hook per CFG mode. */ -struct profile_record -{ - /* A weighted cost of the run-time of the function body. */ - double time; - /* Frequency of execution of basic blocks where sum(prob) of the block's - predecessors doesn't match reasonably probability 1. */ - double dyn_mismatched_prob_out; - /* Frequency of execution basic blocks where sum(count) of the block's - predecessors doesn't match reasonably well with the incoming frequency. */ - double dyn_mismatched_count_in; - /* The number of basic blocks where sum(prob) of the block's predecessors - doesn't match reasonably probability 1. */ - int num_mismatched_prob_out; - /* The number of basic blocks where sum(count) of the block's predecessors - doesn't match reasonably well with the incoming frequency. */ - int num_mismatched_count_in; - /* A weighted cost of the size of the function body. */ - int size; - /* True iff this pass actually was run. */ - bool run; - bool fdo; -}; - -typedef int_hash dependence_hash; - -/* Optional data for duplicate_block. */ - -class copy_bb_data -{ -public: - copy_bb_data() : dependence_map (NULL) {} - ~copy_bb_data () { delete dependence_map; } - - /* A map from the copied BBs dependence info cliques to - equivalents in the BBs duplicated to. */ - hash_map *dependence_map; -}; - -struct cfg_hooks -{ - /* Name of the corresponding ir. */ - const char *name; - - /* Debugging. */ - int (*verify_flow_info) (void); - void (*dump_bb) (FILE *, basic_block, int, dump_flags_t); - void (*dump_bb_for_graph) (pretty_printer *, basic_block); - - /* Basic CFG manipulation. */ - - /* Return new basic block. */ - basic_block (*create_basic_block) (void *head, void *end, basic_block after); - - /* Redirect edge E to the given basic block B and update underlying program - representation. Returns edge representing redirected branch (that may not - be equivalent to E in the case of duplicate edges being removed) or NULL - if edge is not easily redirectable for whatever reason. */ - edge (*redirect_edge_and_branch) (edge e, basic_block b); - - /* Same as the above but allows redirecting of fallthru edges. In that case - newly created forwarder basic block is returned. The edge must - not be abnormal. */ - basic_block (*redirect_edge_and_branch_force) (edge, basic_block); - - /* Returns true if it is possible to remove the edge by redirecting it - to the destination of the other edge going from its source. */ - bool (*can_remove_branch_p) (const_edge); - - /* Remove statements corresponding to a given basic block. */ - void (*delete_basic_block) (basic_block); - - /* Creates a new basic block just after basic block B by splitting - everything after specified instruction I. */ - basic_block (*split_block) (basic_block b, void * i); - - /* Move block B immediately after block A. */ - bool (*move_block_after) (basic_block b, basic_block a); - - /* Return true when blocks A and B can be merged into single basic block. */ - bool (*can_merge_blocks_p) (basic_block a, basic_block b); - - /* Merge blocks A and B. */ - void (*merge_blocks) (basic_block a, basic_block b); - - /* Predict edge E using PREDICTOR to given PROBABILITY. */ - void (*predict_edge) (edge e, enum br_predictor predictor, int probability); - - /* Return true if the one of outgoing edges is already predicted by - PREDICTOR. */ - bool (*predicted_by_p) (const_basic_block bb, enum br_predictor predictor); - - /* Return true when block A can be duplicated. */ - bool (*can_duplicate_block_p) (const_basic_block a); - - /* Duplicate block A. */ - basic_block (*duplicate_block) (basic_block a, copy_bb_data *); - - /* Higher level functions representable by primitive operations above if - we didn't have some oddities in RTL and Tree representations. */ - basic_block (*split_edge) (edge); - void (*make_forwarder_block) (edge); - - /* Try to make the edge fallthru. */ - void (*tidy_fallthru_edge) (edge); - - /* Make the edge non-fallthru. */ - basic_block (*force_nonfallthru) (edge); - - /* Say whether a block ends with a call, possibly followed by some - other code that must stay with the call. */ - bool (*block_ends_with_call_p) (basic_block); - - /* Say whether a block ends with a conditional branch. Switches - and unconditional branches do not qualify. */ - bool (*block_ends_with_condjump_p) (const_basic_block); - - /* Add fake edges to the function exit for any non constant and non noreturn - calls, volatile inline assembly in the bitmap of blocks specified by - BLOCKS or to the whole CFG if BLOCKS is zero. Return the number of blocks - that were split. - - The goal is to expose cases in which entering a basic block does not imply - that all subsequent instructions must be executed. */ - int (*flow_call_edges_add) (sbitmap); - - /* This function is called immediately after edge E is added to the - edge vector E->dest->preds. */ - void (*execute_on_growing_pred) (edge); - - /* This function is called immediately before edge E is removed from - the edge vector E->dest->preds. */ - void (*execute_on_shrinking_pred) (edge); - - /* A hook for duplicating loop in CFG, currently this is used - in loop versioning. */ - bool (*cfg_hook_duplicate_loop_body_to_header_edge) (class loop *, edge, - unsigned, sbitmap, edge, - vec *, int); - - /* Add condition to new basic block and update CFG used in loop - versioning. */ - void (*lv_add_condition_to_bb) (basic_block, basic_block, basic_block, - void *); - /* Update the PHI nodes in case of loop versioning. */ - void (*lv_adjust_loop_header_phi) (basic_block, basic_block, - basic_block, edge); - - /* Given a condition BB extract the true/false taken/not taken edges - (depending if we are on tree's or RTL). */ - void (*extract_cond_bb_edges) (basic_block, edge *, edge *); - - - /* Add PHI arguments queued in PENDINT_STMT list on edge E to edge - E->dest (only in tree-ssa loop versioning. */ - void (*flush_pending_stmts) (edge); - - /* True if a block contains no executable instructions. */ - bool (*empty_block_p) (basic_block); - - /* Split a basic block if it ends with a conditional branch and if - the other part of the block is not empty. */ - basic_block (*split_block_before_cond_jump) (basic_block); - - /* Do book-keeping of a basic block for the profile consistency checker. */ - void (*account_profile_record) (basic_block, struct profile_record *); -}; - -extern void verify_flow_info (void); - -/* Check control flow invariants, if internal consistency checks are - enabled. */ - -inline void -checking_verify_flow_info (void) -{ - /* TODO: Add a separate option for -fchecking=cfg. */ - if (flag_checking) - verify_flow_info (); -} - -extern void dump_bb (FILE *, basic_block, int, dump_flags_t); -extern void dump_bb_for_graph (pretty_printer *, basic_block); -extern void dump_flow_info (FILE *, dump_flags_t); - -extern edge redirect_edge_and_branch (edge, basic_block); -extern basic_block redirect_edge_and_branch_force (edge, basic_block); -extern edge redirect_edge_succ_nodup (edge, basic_block); -extern bool can_remove_branch_p (const_edge); -extern void remove_branch (edge); -extern void remove_edge (edge); -extern edge split_block (basic_block, rtx); -extern edge split_block (basic_block, gimple *); -extern edge split_block_after_labels (basic_block); -extern bool move_block_after (basic_block, basic_block); -extern void delete_basic_block (basic_block); -extern basic_block split_edge (edge); -extern basic_block create_basic_block (rtx, rtx, basic_block); -extern basic_block create_basic_block (gimple_seq, basic_block); -extern basic_block create_empty_bb (basic_block); -extern bool can_merge_blocks_p (basic_block, basic_block); -extern void merge_blocks (basic_block, basic_block); -extern edge make_forwarder_block (basic_block, bool (*)(edge), - void (*) (basic_block)); -extern basic_block force_nonfallthru (edge); -extern void tidy_fallthru_edge (edge); -extern void tidy_fallthru_edges (void); -extern void predict_edge (edge e, enum br_predictor predictor, int probability); -extern bool predicted_by_p (const_basic_block bb, enum br_predictor predictor); -extern bool can_duplicate_block_p (const_basic_block); -extern basic_block duplicate_block (basic_block, edge, basic_block, - copy_bb_data * = NULL); -extern bool block_ends_with_call_p (basic_block bb); -extern bool empty_block_p (basic_block); -extern basic_block split_block_before_cond_jump (basic_block); -extern bool block_ends_with_condjump_p (const_basic_block bb); -extern int flow_call_edges_add (sbitmap); -extern void execute_on_growing_pred (edge); -extern void execute_on_shrinking_pred (edge); -extern bool -cfg_hook_duplicate_loop_body_to_header_edge (class loop *loop, edge, - unsigned int ndupl, - sbitmap wont_exit, edge orig, - vec *to_remove, int flags); - -extern void lv_flush_pending_stmts (edge); -extern void extract_cond_bb_edges (basic_block, edge *, edge*); -extern void lv_adjust_loop_header_phi (basic_block, basic_block, basic_block, - edge); -extern void lv_add_condition_to_bb (basic_block, basic_block, basic_block, - void *); - -extern bool can_copy_bbs_p (basic_block *, unsigned); -extern void copy_bbs (basic_block *, unsigned, basic_block *, - edge *, unsigned, edge *, class loop *, - basic_block, bool); - -void profile_record_check_consistency (profile_record *); -void profile_record_account_profile (profile_record *); - -/* Hooks containers. */ -extern struct cfg_hooks gimple_cfg_hooks; -extern struct cfg_hooks rtl_cfg_hooks; -extern struct cfg_hooks cfg_layout_rtl_cfg_hooks; - -/* Declarations. */ -extern enum ir_type current_ir_type (void); -extern void rtl_register_cfg_hooks (void); -extern void cfg_layout_rtl_register_cfg_hooks (void); -extern void gimple_register_cfg_hooks (void); -extern struct cfg_hooks get_cfg_hooks (void); -extern void set_cfg_hooks (struct cfg_hooks); - -#endif /* GCC_CFGHOOKS_H */ diff --git a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/cfgloop.h b/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/cfgloop.h deleted file mode 100644 index e7ac2b5f..00000000 --- a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/cfgloop.h +++ /dev/null @@ -1,936 +0,0 @@ -/* Natural loop functions - Copyright (C) 1987-2023 Free Software Foundation, Inc. - -This file is part of GCC. - -GCC is free software; you can redistribute it and/or modify it under -the terms of the GNU General Public License as published by the Free -Software Foundation; either version 3, or (at your option) any later -version. - -GCC is distributed in the hope that it will be useful, but WITHOUT ANY -WARRANTY; without even the implied warranty of MERCHANTABILITY or -FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -for more details. - -You should have received a copy of the GNU General Public License -along with GCC; see the file COPYING3. If not see -. */ - -#ifndef GCC_CFGLOOP_H -#define GCC_CFGLOOP_H - -#include "cfgloopmanip.h" - -/* Structure to hold decision about unrolling/peeling. */ -enum lpt_dec -{ - LPT_NONE, - LPT_UNROLL_CONSTANT, - LPT_UNROLL_RUNTIME, - LPT_UNROLL_STUPID -}; - -struct GTY (()) lpt_decision { - enum lpt_dec decision; - unsigned times; -}; - -/* The type of extend applied to an IV. */ -enum iv_extend_code -{ - IV_SIGN_EXTEND, - IV_ZERO_EXTEND, - IV_UNKNOWN_EXTEND -}; - -/* The structure describing a bound on number of iterations of a loop. */ - -class GTY ((chain_next ("%h.next"))) nb_iter_bound { -public: - /* The statement STMT is executed at most ... */ - gimple *stmt; - - /* ... BOUND + 1 times (BOUND must be an unsigned constant). - The + 1 is added for the following reasons: - - a) 0 would otherwise be unused, while we would need to care more about - overflows (as MAX + 1 is sometimes produced as the estimate on number - of executions of STMT). - b) it is consistent with the result of number_of_iterations_exit. */ - widest_int bound; - - /* True if, after executing the statement BOUND + 1 times, we will - leave the loop; that is, all the statements after it are executed at most - BOUND times. */ - bool is_exit; - - /* The next bound in the list. */ - class nb_iter_bound *next; -}; - -/* Description of the loop exit. */ - -struct GTY ((for_user)) loop_exit { - /* The exit edge. */ - edge e; - - /* Previous and next exit in the list of the exits of the loop. */ - struct loop_exit *prev; - struct loop_exit *next; - - /* Next element in the list of loops from that E exits. */ - struct loop_exit *next_e; -}; - -struct loop_exit_hasher : ggc_ptr_hash -{ - typedef edge compare_type; - - static hashval_t hash (loop_exit *); - static bool equal (loop_exit *, edge); - static void remove (loop_exit *); -}; - -typedef class loop *loop_p; - -/* An integer estimation of the number of iterations. Estimate_state - describes what is the state of the estimation. */ -enum loop_estimation -{ - /* Estimate was not computed yet. */ - EST_NOT_COMPUTED, - /* Estimate is ready. */ - EST_AVAILABLE, - EST_LAST -}; - -/* The structure describing non-overflow control induction variable for - loop's exit edge. */ -struct GTY ((chain_next ("%h.next"))) control_iv { - tree base; - tree step; - struct control_iv *next; -}; - -/* Structure to hold information for each natural loop. */ -class GTY ((chain_next ("%h.next"))) loop { -public: - /* Index into loops array. Note indices will never be reused after loop - is destroyed. */ - int num; - - /* Number of loop insns. */ - unsigned ninsns; - - /* Basic block of loop header. */ - basic_block header; - - /* Basic block of loop latch. */ - basic_block latch; - - /* For loop unrolling/peeling decision. */ - struct lpt_decision lpt_decision; - - /* Average number of executed insns per iteration. */ - unsigned av_ninsns; - - /* Number of blocks contained within the loop. */ - unsigned num_nodes; - - /* Superloops of the loop, starting with the outermost loop. */ - vec *superloops; - - /* The first inner (child) loop or NULL if innermost loop. */ - class loop *inner; - - /* Link to the next (sibling) loop. */ - class loop *next; - - /* Auxiliary info specific to a pass. */ - void *GTY ((skip (""))) aux; - - /* The number of times the latch of the loop is executed. This can be an - INTEGER_CST, or a symbolic expression representing the number of - iterations like "N - 1", or a COND_EXPR containing the runtime - conditions under which the number of iterations is non zero. - - Don't access this field directly: number_of_latch_executions - computes and caches the computed information in this field. */ - tree nb_iterations; - - /* An integer guaranteed to be greater or equal to nb_iterations. Only - valid if any_upper_bound is true. */ - widest_int nb_iterations_upper_bound; - - widest_int nb_iterations_likely_upper_bound; - - /* An integer giving an estimate on nb_iterations. Unlike - nb_iterations_upper_bound, there is no guarantee that it is at least - nb_iterations. */ - widest_int nb_iterations_estimate; - - /* If > 0, an integer, where the user asserted that for any - I in [ 0, nb_iterations ) and for any J in - [ I, min ( I + safelen, nb_iterations ) ), the Ith and Jth iterations - of the loop can be safely evaluated concurrently. */ - int safelen; - - /* Preferred vectorization factor for the loop if non-zero. */ - int simdlen; - - /* Constraints are generally set by consumers and affect certain - semantics of niter analyzer APIs. Currently the APIs affected are - number_of_iterations_exit* functions and their callers. One typical - use case of constraints is to vectorize possibly infinite loop: - - 1) Compute niter->assumptions by calling niter analyzer API and - record it as possible condition for loop versioning. - 2) Clear buffered result of niter/scev analyzer. - 3) Set constraint LOOP_C_FINITE assuming the loop is finite. - 4) Analyze data references. Since data reference analysis depends - on niter/scev analyzer, the point is that niter/scev analysis - is done under circumstance of LOOP_C_FINITE constraint. - 5) Version the loop with niter->assumptions computed in step 1). - 6) Vectorize the versioned loop in which niter->assumptions is - checked to be true. - 7) Update constraints in versioned loops so that niter analyzer - in following passes can use it. - - Note consumers are usually the loop optimizers and it is consumers' - responsibility to set/clear constraints correctly. Failing to do - that might result in hard to track down bugs in niter/scev consumers. */ - unsigned constraints; - - /* An integer estimation of the number of iterations. Estimate_state - describes what is the state of the estimation. */ - ENUM_BITFIELD(loop_estimation) estimate_state : 8; - - unsigned any_upper_bound : 1; - unsigned any_estimate : 1; - unsigned any_likely_upper_bound : 1; - - /* True if the loop can be parallel. */ - unsigned can_be_parallel : 1; - - /* True if -Waggressive-loop-optimizations warned about this loop - already. */ - unsigned warned_aggressive_loop_optimizations : 1; - - /* True if this loop should never be vectorized. */ - unsigned dont_vectorize : 1; - - /* True if we should try harder to vectorize this loop. */ - unsigned force_vectorize : 1; - - /* True if the loop is part of an oacc kernels region. */ - unsigned in_oacc_kernels_region : 1; - - /* True if the loop is known to be finite. This is a localized - flag_finite_loops or similar pragmas state. */ - unsigned finite_p : 1; - - /* The number of times to unroll the loop. 0 means no information given, - just do what we always do. A value of 1 means do not unroll the loop. - A value of USHRT_MAX means unroll with no specific unrolling factor. - Other values means unroll with the given unrolling factor. */ - unsigned short unroll; - - /* If this loop was inlined the main clique of the callee which does - not need remapping when copying the loop body. */ - unsigned short owned_clique; - - /* For SIMD loops, this is a unique identifier of the loop, referenced - by IFN_GOMP_SIMD_VF, IFN_GOMP_SIMD_LANE and IFN_GOMP_SIMD_LAST_LANE - builtins. */ - tree simduid; - - /* In loop optimization, it's common to generate loops from the original - loop. This field records the index of the original loop which can be - used to track the original loop from newly generated loops. This can - be done by calling function get_loop (cfun, orig_loop_num). Note the - original loop could be destroyed for various reasons thus no longer - exists, as a result, function call to get_loop returns NULL pointer. - In this case, this field should not be used and needs to be cleared - whenever possible. */ - int orig_loop_num; - - /* Upper bound on number of iterations of a loop. */ - class nb_iter_bound *bounds; - - /* Non-overflow control ivs of a loop. */ - struct control_iv *control_ivs; - - /* Head of the cyclic list of the exits of the loop. */ - struct loop_exit *exits; - - /* Number of iteration analysis data for RTL. */ - class niter_desc *simple_loop_desc; - - /* For sanity checking during loop fixup we record here the former - loop header for loops marked for removal. Note that this prevents - the basic-block from being collected but its index can still be - reused. */ - basic_block former_header; -}; - -/* Set if the loop is known to be infinite. */ -#define LOOP_C_INFINITE (1 << 0) -/* Set if the loop is known to be finite without any assumptions. */ -#define LOOP_C_FINITE (1 << 1) - -/* Set C to the LOOP constraint. */ -inline void -loop_constraint_set (class loop *loop, unsigned c) -{ - loop->constraints |= c; -} - -/* Clear C from the LOOP constraint. */ -inline void -loop_constraint_clear (class loop *loop, unsigned c) -{ - loop->constraints &= ~c; -} - -/* Check if C is set in the LOOP constraint. */ -inline bool -loop_constraint_set_p (class loop *loop, unsigned c) -{ - return (loop->constraints & c) == c; -} - -/* Flags for state of loop structure. */ -enum -{ - LOOPS_HAVE_PREHEADERS = 1, - LOOPS_HAVE_SIMPLE_LATCHES = 2, - LOOPS_HAVE_MARKED_IRREDUCIBLE_REGIONS = 4, - LOOPS_HAVE_RECORDED_EXITS = 8, - LOOPS_MAY_HAVE_MULTIPLE_LATCHES = 16, - LOOP_CLOSED_SSA = 32, - LOOPS_NEED_FIXUP = 64, - LOOPS_HAVE_FALLTHRU_PREHEADERS = 128 -}; - -#define LOOPS_NORMAL (LOOPS_HAVE_PREHEADERS | LOOPS_HAVE_SIMPLE_LATCHES \ - | LOOPS_HAVE_MARKED_IRREDUCIBLE_REGIONS) -#define AVOID_CFG_MODIFICATIONS (LOOPS_MAY_HAVE_MULTIPLE_LATCHES) - -/* Structure to hold CFG information about natural loops within a function. */ -struct GTY (()) loops { - /* State of loops. */ - int state; - - /* Array of the loops. */ - vec *larray; - - /* Maps edges to the list of their descriptions as loop exits. Edges - whose sources or destinations have loop_father == NULL (which may - happen during the cfg manipulations) should not appear in EXITS. */ - hash_table *GTY(()) exits; - - /* Pointer to root of loop hierarchy tree. */ - class loop *tree_root; -}; - -/* Loop recognition. */ -bool bb_loop_header_p (basic_block); -void init_loops_structure (struct function *, struct loops *, unsigned); -extern struct loops *flow_loops_find (struct loops *); -extern void disambiguate_loops_with_multiple_latches (void); -extern void flow_loops_free (struct loops *); -extern void flow_loops_dump (FILE *, - void (*)(const class loop *, FILE *, int), int); -extern void flow_loop_dump (const class loop *, FILE *, - void (*)(const class loop *, FILE *, int), int); -class loop *alloc_loop (void); -extern void flow_loop_free (class loop *); -int flow_loop_nodes_find (basic_block, class loop *); -unsigned fix_loop_structure (bitmap changed_bbs); -bool mark_irreducible_loops (void); -void release_recorded_exits (function *); -void record_loop_exits (void); -void rescan_loop_exit (edge, bool, bool); -void sort_sibling_loops (function *); - -/* Loop data structure manipulation/querying. */ -extern void flow_loop_tree_node_add (class loop *, class loop *, - class loop * = NULL); -extern void flow_loop_tree_node_remove (class loop *); -extern bool flow_loop_nested_p (const class loop *, const class loop *); -extern bool flow_bb_inside_loop_p (const class loop *, const_basic_block); -extern class loop * find_common_loop (class loop *, class loop *); -class loop *superloop_at_depth (class loop *, unsigned); -struct eni_weights; -extern int num_loop_insns (const class loop *); -extern int average_num_loop_insns (const class loop *); -extern unsigned get_loop_level (const class loop *); -extern bool loop_exit_edge_p (const class loop *, const_edge); -extern bool loop_exits_to_bb_p (class loop *, basic_block); -extern bool loop_exits_from_bb_p (class loop *, basic_block); -extern void mark_loop_exit_edges (void); -extern dump_user_location_t get_loop_location (class loop *loop); - -/* Loops & cfg manipulation. */ -extern basic_block *get_loop_body (const class loop *); -extern unsigned get_loop_body_with_size (const class loop *, basic_block *, - unsigned); -extern basic_block *get_loop_body_in_dom_order (const class loop *); -extern basic_block *get_loop_body_in_bfs_order (const class loop *); -extern basic_block *get_loop_body_in_custom_order (const class loop *, - int (*) (const void *, const void *)); -extern basic_block *get_loop_body_in_custom_order (const class loop *, void *, - int (*) (const void *, const void *, void *)); - -extern auto_vec get_loop_exit_edges (const class loop *, basic_block * = NULL); -extern edge single_exit (const class loop *); -extern edge single_likely_exit (class loop *loop, const vec &); -extern unsigned num_loop_branches (const class loop *); - -extern edge loop_preheader_edge (const class loop *); -extern edge loop_latch_edge (const class loop *); - -extern void add_bb_to_loop (basic_block, class loop *); -extern void remove_bb_from_loops (basic_block); - -extern void cancel_loop_tree (class loop *); -extern void delete_loop (class loop *); - - -extern void verify_loop_structure (void); - -/* Loop analysis. */ -extern bool just_once_each_iteration_p (const class loop *, const_basic_block); -gcov_type expected_loop_iterations_unbounded (const class loop *, - bool *read_profile_p = NULL, bool by_profile_only = false); -extern unsigned expected_loop_iterations (class loop *); -extern rtx doloop_condition_get (rtx_insn *); - -void mark_loop_for_removal (loop_p); - -/* Induction variable analysis. */ - -/* The description of induction variable. The things are a bit complicated - due to need to handle subregs and extends. The value of the object described - by it can be obtained as follows (all computations are done in extend_mode): - - Value in i-th iteration is - delta + mult * extend_{extend_mode} (subreg_{mode} (base + i * step)). - - If first_special is true, the value in the first iteration is - delta + mult * base - - If extend = UNKNOWN, first_special must be false, delta 0, mult 1 and value is - subreg_{mode} (base + i * step) - - The get_iv_value function can be used to obtain these expressions. - - ??? Add a third mode field that would specify the mode in that inner - computation is done, which would enable it to be different from the - outer one? */ - -class rtx_iv -{ -public: - /* Its base and step (mode of base and step is supposed to be extend_mode, - see the description above). */ - rtx base, step; - - /* The type of extend applied to it (IV_SIGN_EXTEND, IV_ZERO_EXTEND, - or IV_UNKNOWN_EXTEND). */ - enum iv_extend_code extend; - - /* Operations applied in the extended mode. */ - rtx delta, mult; - - /* The mode it is extended to. */ - scalar_int_mode extend_mode; - - /* The mode the variable iterates in. */ - scalar_int_mode mode; - - /* Whether the first iteration needs to be handled specially. */ - unsigned first_special : 1; -}; - -/* The description of an exit from the loop and of the number of iterations - till we take the exit. */ - -class GTY(()) niter_desc -{ -public: - /* The edge out of the loop. */ - edge out_edge; - - /* The other edge leading from the condition. */ - edge in_edge; - - /* True if we are able to say anything about number of iterations of the - loop. */ - bool simple_p; - - /* True if the loop iterates the constant number of times. */ - bool const_iter; - - /* Number of iterations if constant. */ - uint64_t niter; - - /* Assumptions under that the rest of the information is valid. */ - rtx assumptions; - - /* Assumptions under that the loop ends before reaching the latch, - even if value of niter_expr says otherwise. */ - rtx noloop_assumptions; - - /* Condition under that the loop is infinite. */ - rtx infinite; - - /* Whether the comparison is signed. */ - bool signed_p; - - /* The mode in that niter_expr should be computed. */ - scalar_int_mode mode; - - /* The number of iterations of the loop. */ - rtx niter_expr; -}; - -extern void iv_analysis_loop_init (class loop *); -extern bool iv_analyze (rtx_insn *, scalar_int_mode, rtx, class rtx_iv *); -extern bool iv_analyze_result (rtx_insn *, rtx, class rtx_iv *); -extern bool iv_analyze_expr (rtx_insn *, scalar_int_mode, rtx, - class rtx_iv *); -extern rtx get_iv_value (class rtx_iv *, rtx); -extern bool biv_p (rtx_insn *, scalar_int_mode, rtx); -extern void iv_analysis_done (void); - -extern class niter_desc *get_simple_loop_desc (class loop *loop); -extern void free_simple_loop_desc (class loop *loop); - -inline class niter_desc * -simple_loop_desc (class loop *loop) -{ - return loop->simple_loop_desc; -} - -/* Accessors for the loop structures. */ - -/* Returns the loop with index NUM from FNs loop tree. */ - -inline class loop * -get_loop (struct function *fn, unsigned num) -{ - return (*loops_for_fn (fn)->larray)[num]; -} - -/* Returns the number of superloops of LOOP. */ - -inline unsigned -loop_depth (const class loop *loop) -{ - return vec_safe_length (loop->superloops); -} - -/* Returns the immediate superloop of LOOP, or NULL if LOOP is the outermost - loop. */ - -inline class loop * -loop_outer (const class loop *loop) -{ - unsigned n = vec_safe_length (loop->superloops); - - if (n == 0) - return NULL; - - return (*loop->superloops)[n - 1]; -} - -/* Returns true if LOOP has at least one exit edge. */ - -inline bool -loop_has_exit_edges (const class loop *loop) -{ - return loop->exits->next->e != NULL; -} - -/* Returns the list of loops in FN. */ - -inline vec * -get_loops (struct function *fn) -{ - struct loops *loops = loops_for_fn (fn); - if (!loops) - return NULL; - - return loops->larray; -} - -/* Returns the number of loops in FN (including the removed - ones and the fake loop that forms the root of the loop tree). */ - -inline unsigned -number_of_loops (struct function *fn) -{ - struct loops *loops = loops_for_fn (fn); - if (!loops) - return 0; - - return vec_safe_length (loops->larray); -} - -/* Returns true if state of the loops satisfies all properties - described by FLAGS. */ - -inline bool -loops_state_satisfies_p (function *fn, unsigned flags) -{ - return (loops_for_fn (fn)->state & flags) == flags; -} - -inline bool -loops_state_satisfies_p (unsigned flags) -{ - return loops_state_satisfies_p (cfun, flags); -} - -/* Sets FLAGS to the loops state. */ - -inline void -loops_state_set (function *fn, unsigned flags) -{ - loops_for_fn (fn)->state |= flags; -} - -inline void -loops_state_set (unsigned flags) -{ - loops_state_set (cfun, flags); -} - -/* Clears FLAGS from the loops state. */ - -inline void -loops_state_clear (function *fn, unsigned flags) -{ - loops_for_fn (fn)->state &= ~flags; -} - -inline void -loops_state_clear (unsigned flags) -{ - if (!current_loops) - return; - loops_state_clear (cfun, flags); -} - -/* Check loop structure invariants, if internal consistency checks are - enabled. */ - -inline void -checking_verify_loop_structure (void) -{ - /* VERIFY_LOOP_STRUCTURE essentially asserts that no loops need fixups. - - The loop optimizers should never make changes to the CFG which - require loop fixups. But the low level CFG manipulation code may - set the flag conservatively. - - Go ahead and clear the flag here. That avoids the assert inside - VERIFY_LOOP_STRUCTURE, and if there is an inconsistency in the loop - structures VERIFY_LOOP_STRUCTURE will detect it. - - This also avoid the compile time cost of excessive fixups. */ - loops_state_clear (LOOPS_NEED_FIXUP); - if (flag_checking) - verify_loop_structure (); -} - -/* Loop iterators. */ - -/* Flags for loop iteration. */ - -enum li_flags -{ - LI_INCLUDE_ROOT = 1, /* Include the fake root of the loop tree. */ - LI_FROM_INNERMOST = 2, /* Iterate over the loops in the reverse order, - starting from innermost ones. */ - LI_ONLY_INNERMOST = 4 /* Iterate only over innermost loops. */ -}; - -/* Provide the functionality of std::as_const to support range-based for - to use const iterator. (We can't use std::as_const itself because it's - a C++17 feature.) */ -template -constexpr const T & -as_const (T &t) -{ - return t; -} - -/* A list for visiting loops, which contains the loop numbers instead of - the loop pointers. If the loop ROOT is offered (non-null), the visiting - will start from it, otherwise it would start from the tree_root of - loops_for_fn (FN) instead. The scope is restricted in function FN and - the visiting order is specified by FLAGS. */ - -class loops_list -{ -public: - loops_list (function *fn, unsigned flags, class loop *root = nullptr); - - template class Iter - { - public: - Iter (const loops_list &l, unsigned idx) : list (l), curr_idx (idx) - { - fill_curr_loop (); - } - - T operator* () const { return curr_loop; } - - Iter & - operator++ () - { - if (curr_idx < list.to_visit.length ()) - { - /* Bump the index and fill a new one. */ - curr_idx++; - fill_curr_loop (); - } - else - gcc_assert (!curr_loop); - - return *this; - } - - bool - operator!= (const Iter &rhs) const - { - return this->curr_idx != rhs.curr_idx; - } - - private: - /* Fill the current loop starting from the current index. */ - void fill_curr_loop (); - - /* Reference to the loop list to visit. */ - const loops_list &list; - - /* The current index in the list to visit. */ - unsigned curr_idx; - - /* The loop implied by the current index. */ - class loop *curr_loop; - }; - - using iterator = Iter; - using const_iterator = Iter; - - iterator - begin () - { - return iterator (*this, 0); - } - - iterator - end () - { - return iterator (*this, to_visit.length ()); - } - - const_iterator - begin () const - { - return const_iterator (*this, 0); - } - - const_iterator - end () const - { - return const_iterator (*this, to_visit.length ()); - } - -private: - /* Walk loop tree starting from ROOT as the visiting order specified - by FLAGS. */ - void walk_loop_tree (class loop *root, unsigned flags); - - /* The function we are visiting. */ - function *fn; - - /* The list of loops to visit. */ - auto_vec to_visit; -}; - -/* Starting from current index CURR_IDX (inclusive), find one index - which stands for one valid loop and fill the found loop as CURR_LOOP, - if we can't find one, set CURR_LOOP as null. */ - -template -inline void -loops_list::Iter::fill_curr_loop () -{ - int anum; - - while (this->list.to_visit.iterate (this->curr_idx, &anum)) - { - class loop *loop = get_loop (this->list.fn, anum); - if (loop) - { - curr_loop = loop; - return; - } - this->curr_idx++; - } - - curr_loop = nullptr; -} - -/* Set up the loops list to visit according to the specified - function scope FN and iterating order FLAGS. If ROOT is - not null, the visiting would start from it, otherwise it - will start from tree_root of loops_for_fn (FN). */ - -inline loops_list::loops_list (function *fn, unsigned flags, class loop *root) -{ - struct loops *loops = loops_for_fn (fn); - gcc_assert (!root || loops); - - /* Check mutually exclusive flags should not co-exist. */ - unsigned checked_flags = LI_ONLY_INNERMOST | LI_FROM_INNERMOST; - gcc_assert ((flags & checked_flags) != checked_flags); - - this->fn = fn; - if (!loops) - return; - - class loop *tree_root = root ? root : loops->tree_root; - - this->to_visit.reserve_exact (number_of_loops (fn)); - - /* When root is tree_root of loops_for_fn (fn) and the visiting - order is LI_ONLY_INNERMOST, we would like to use linear - search here since it has a more stable bound than the - walk_loop_tree. */ - if (flags & LI_ONLY_INNERMOST && tree_root == loops->tree_root) - { - gcc_assert (tree_root->num == 0); - if (tree_root->inner == NULL) - { - if (flags & LI_INCLUDE_ROOT) - this->to_visit.quick_push (0); - - return; - } - - class loop *aloop; - unsigned int i; - for (i = 1; vec_safe_iterate (loops->larray, i, &aloop); i++) - if (aloop != NULL && aloop->inner == NULL) - this->to_visit.quick_push (aloop->num); - } - else - walk_loop_tree (tree_root, flags); -} - -/* The properties of the target. */ -struct target_cfgloop { - /* Number of available registers. */ - unsigned x_target_avail_regs; - - /* Number of available registers that are call-clobbered. */ - unsigned x_target_clobbered_regs; - - /* Number of registers reserved for temporary expressions. */ - unsigned x_target_res_regs; - - /* The cost for register when there still is some reserve, but we are - approaching the number of available registers. */ - unsigned x_target_reg_cost[2]; - - /* The cost for register when we need to spill. */ - unsigned x_target_spill_cost[2]; -}; - -extern struct target_cfgloop default_target_cfgloop; -#if SWITCHABLE_TARGET -extern struct target_cfgloop *this_target_cfgloop; -#else -#define this_target_cfgloop (&default_target_cfgloop) -#endif - -#define target_avail_regs \ - (this_target_cfgloop->x_target_avail_regs) -#define target_clobbered_regs \ - (this_target_cfgloop->x_target_clobbered_regs) -#define target_res_regs \ - (this_target_cfgloop->x_target_res_regs) -#define target_reg_cost \ - (this_target_cfgloop->x_target_reg_cost) -#define target_spill_cost \ - (this_target_cfgloop->x_target_spill_cost) - -/* Register pressure estimation for induction variable optimizations & loop - invariant motion. */ -extern unsigned estimate_reg_pressure_cost (unsigned, unsigned, bool, bool); -extern void init_set_costs (void); - -/* Loop optimizer initialization. */ -extern void loop_optimizer_init (unsigned); -extern void loop_optimizer_finalize (function *, bool = false); -inline void -loop_optimizer_finalize () -{ - loop_optimizer_finalize (cfun); -} - -/* Optimization passes. */ -enum -{ - UAP_UNROLL = 1, /* Enables unrolling of loops if it seems profitable. */ - UAP_UNROLL_ALL = 2 /* Enables unrolling of all loops. */ -}; - -extern void doloop_optimize_loops (void); -extern void move_loop_invariants (void); -extern auto_vec get_loop_hot_path (const class loop *loop); - -/* Returns the outermost loop of the loop nest that contains LOOP.*/ -inline class loop * -loop_outermost (class loop *loop) -{ - unsigned n = vec_safe_length (loop->superloops); - - if (n <= 1) - return loop; - - return (*loop->superloops)[1]; -} - -extern void record_niter_bound (class loop *, const widest_int &, bool, bool); -extern HOST_WIDE_INT get_estimated_loop_iterations_int (class loop *); -extern HOST_WIDE_INT get_max_loop_iterations_int (const class loop *); -extern HOST_WIDE_INT get_likely_max_loop_iterations_int (class loop *); -extern bool get_estimated_loop_iterations (class loop *loop, widest_int *nit); -extern bool get_max_loop_iterations (const class loop *loop, widest_int *nit); -extern bool get_likely_max_loop_iterations (class loop *loop, widest_int *nit); -extern int bb_loop_depth (const_basic_block); - -/* Converts VAL to widest_int. */ - -inline widest_int -gcov_type_to_wide_int (gcov_type val) -{ - HOST_WIDE_INT a[2]; - - a[0] = (unsigned HOST_WIDE_INT) val; - /* If HOST_BITS_PER_WIDE_INT == HOST_BITS_PER_WIDEST_INT, avoid shifting by - the size of type. */ - val >>= HOST_BITS_PER_WIDE_INT - 1; - val >>= 1; - a[1] = (unsigned HOST_WIDE_INT) val; - - return widest_int::from_array (a, 2); -} -#endif /* GCC_CFGLOOP_H */ diff --git a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/cfgloopmanip.h b/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/cfgloopmanip.h deleted file mode 100644 index 93e417fc..00000000 --- a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/cfgloopmanip.h +++ /dev/null @@ -1,63 +0,0 @@ -/* Loop manipulation header. - Copyright (C) 2014-2023 Free Software Foundation, Inc. - -This file is part of GCC. - -GCC is free software; you can redistribute it and/or modify it under -the terms of the GNU General Public License as published by the Free -Software Foundation; either version 3, or (at your option) any later -version. - -GCC is distributed in the hope that it will be useful, but WITHOUT ANY -WARRANTY; without even the implied warranty of MERCHANTABILITY or -FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -for more details. - -You should have received a copy of the GNU General Public License -along with GCC; see the file COPYING3. If not see -. */ - -#ifndef GCC_CFGLOOPMANIP_H -#define GCC_CFGLOOPMANIP_H - -enum -{ - CP_SIMPLE_PREHEADERS = 1, - CP_FALLTHRU_PREHEADERS = 2 -}; - -#define DLTHE_FLAG_UPDATE_FREQ 1 /* Update frequencies in - duplicate_loop_to_header_edge. */ -#define DLTHE_RECORD_COPY_NUMBER 2 /* Record copy number in the aux - field of newly create BB. */ -#define DLTHE_FLAG_COMPLETTE_PEEL 4 /* Update frequencies expecting - a complete peeling. */ -extern edge mfb_kj_edge; - -extern bool remove_path (edge, bool * = NULL, bitmap = NULL); -extern void place_new_loop (struct function *, class loop *); -extern void add_loop (class loop *, class loop *); -extern void scale_loop_frequencies (class loop *, profile_probability); -extern void scale_loop_profile (class loop *, profile_probability, gcov_type); -extern edge create_empty_if_region_on_edge (edge, tree); -extern class loop *create_empty_loop_on_edge (edge, tree, tree, tree, tree, - tree *, tree *, class loop *); -extern void unloop (class loop *, bool *, bitmap); -extern void copy_loop_info (class loop *loop, class loop *target); -extern class loop * duplicate_loop (class loop *, class loop *, - class loop * = NULL); -extern void duplicate_subloops (class loop *, class loop *); -extern bool can_duplicate_loop_p (const class loop *loop); -extern bool -duplicate_loop_body_to_header_edge (class loop *, edge, unsigned, sbitmap, edge, - vec *, int); -extern bool mfb_keep_just (edge); -basic_block create_preheader (class loop *, int); -extern void create_preheaders (int); -extern void force_single_succ_latches (void); -class loop * loop_version (class loop *, void *, - basic_block *, - profile_probability, profile_probability, - profile_probability, profile_probability, bool); - -#endif /* GCC_CFGLOOPMANIP_H */ diff --git a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/cfgrtl.h b/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/cfgrtl.h deleted file mode 100644 index e2951344..00000000 --- a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/cfgrtl.h +++ /dev/null @@ -1,61 +0,0 @@ -/* Define control flow data structures for the CFG. - Copyright (C) 2014-2023 Free Software Foundation, Inc. - -This file is part of GCC. - -GCC is free software; you can redistribute it and/or modify it under -the terms of the GNU General Public License as published by the Free -Software Foundation; either version 3, or (at your option) any later -version. - -GCC is distributed in the hope that it will be useful, but WITHOUT ANY -WARRANTY; without even the implied warranty of MERCHANTABILITY or -FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -for more details. - -You should have received a copy of the GNU General Public License -along with GCC; see the file COPYING3. If not see -. */ - -#ifndef GCC_CFGRTL_H -#define GCC_CFGRTL_H - -extern void delete_insn (rtx_insn *); -extern bool delete_insn_and_edges (rtx_insn *); -extern void delete_insn_chain (rtx, rtx_insn *, bool); -extern basic_block create_basic_block_structure (rtx_insn *, rtx_insn *, - rtx_note *, basic_block); -extern void compute_bb_for_insn (void); -extern unsigned int free_bb_for_insn (void); -extern rtx_insn *entry_of_function (void); -extern void update_bb_for_insn (basic_block); -extern bool contains_no_active_insn_p (const_basic_block); -extern bool forwarder_block_p (const_basic_block); -extern bool can_fallthru (basic_block, basic_block); -extern rtx_note *bb_note (basic_block); -extern rtx_code_label *block_label (basic_block); -extern edge try_redirect_by_replacing_jump (edge, basic_block, bool); -extern void emit_barrier_after_bb (basic_block bb); -extern basic_block force_nonfallthru_and_redirect (edge, basic_block, rtx); -extern void insert_insn_on_edge (rtx, edge); -extern void commit_one_edge_insertion (edge e); -extern void commit_edge_insertions (void); -extern void print_rtl_with_bb (FILE *, const rtx_insn *, dump_flags_t); -extern void update_br_prob_note (basic_block); -extern rtx_insn *get_last_bb_insn (basic_block); -extern void fixup_partitions (void); -extern bool purge_dead_edges (basic_block); -extern bool purge_all_dead_edges (void); -extern bool fixup_abnormal_edges (void); -extern void update_cfg_for_uncondjump (rtx_insn *); -extern rtx_insn *unlink_insn_chain (rtx_insn *, rtx_insn *); -extern void relink_block_chain (bool); -extern rtx_insn *duplicate_insn_chain (rtx_insn *, rtx_insn *, - class loop *, class copy_bb_data *); -extern void cfg_layout_initialize (int); -extern void cfg_layout_finalize (void); -extern void break_superblocks (void); -extern void init_rtl_bb_info (basic_block); -extern void find_bbs_reachable_by_hot_paths (hash_set *); - -#endif /* GCC_CFGRTL_H */ diff --git a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/cgraph.h b/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/cgraph.h deleted file mode 100644 index f5f54769..00000000 --- a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/cgraph.h +++ /dev/null @@ -1,3576 +0,0 @@ -/* Callgraph handling code. - Copyright (C) 2003-2023 Free Software Foundation, Inc. - Contributed by Jan Hubicka - -This file is part of GCC. - -GCC is free software; you can redistribute it and/or modify it under -the terms of the GNU General Public License as published by the Free -Software Foundation; either version 3, or (at your option) any later -version. - -GCC is distributed in the hope that it will be useful, but WITHOUT ANY -WARRANTY; without even the implied warranty of MERCHANTABILITY or -FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -for more details. - -You should have received a copy of the GNU General Public License -along with GCC; see the file COPYING3. If not see -. */ - -#ifndef GCC_CGRAPH_H -#define GCC_CGRAPH_H - -#include "profile-count.h" -#include "ipa-ref.h" -#include "plugin-api.h" -#include "ipa-param-manipulation.h" - -extern void debuginfo_early_init (void); -extern void debuginfo_init (void); -extern void debuginfo_fini (void); -extern void debuginfo_start (void); -extern void debuginfo_stop (void); -extern void debuginfo_early_start (void); -extern void debuginfo_early_stop (void); - -class ipa_opt_pass_d; -typedef ipa_opt_pass_d *ipa_opt_pass; - -/* Symbol table consists of functions and variables. - TODO: add labels and CONST_DECLs. */ -enum symtab_type -{ - SYMTAB_SYMBOL, - SYMTAB_FUNCTION, - SYMTAB_VARIABLE -}; - -/* Section names are stored as reference counted strings in GGC safe hashtable - (to make them survive through PCH). */ - -struct GTY((for_user)) section_hash_entry -{ - int ref_count; - char *name; /* As long as this datastructure stays in GGC, we cannot put - string at the tail of structure of GGC dies in horrible - way */ -}; - -struct section_name_hasher : ggc_ptr_hash -{ - typedef const char *compare_type; - - static hashval_t hash (section_hash_entry *); - static bool equal (section_hash_entry *, const char *); -}; - -enum availability -{ - /* Not yet set by cgraph_function_body_availability. */ - AVAIL_UNSET, - /* Function body/variable initializer is unknown. */ - AVAIL_NOT_AVAILABLE, - /* Function body/variable initializer is known but might be replaced - by a different one from other compilation unit and thus needs to - be dealt with a care. Like AVAIL_NOT_AVAILABLE it can have - arbitrary side effects on escaping variables and functions, while - like AVAILABLE it might access static variables. */ - AVAIL_INTERPOSABLE, - /* Function body/variable initializer is known and will be used in final - program. */ - AVAIL_AVAILABLE, - /* Function body/variable initializer is known and all it's uses are - explicitly visible within current unit (i.e. it's address is never taken - and it is not exported to other units). Currently used only for - functions. */ - AVAIL_LOCAL -}; - -/* Classification of symbols WRT partitioning. */ -enum symbol_partitioning_class -{ - /* External declarations are ignored by partitioning algorithms and they are - added into the boundary later via compute_ltrans_boundary. */ - SYMBOL_EXTERNAL, - /* Partitioned symbols are put into one of partitions. */ - SYMBOL_PARTITION, - /* Duplicated symbols (such as comdat or constant pool references) are - copied into every node needing them via add_symbol_to_partition. */ - SYMBOL_DUPLICATE -}; - -/* Base of all entries in the symbol table. - The symtab_node is inherited by cgraph and varpol nodes. */ -struct GTY((desc ("%h.type"), tag ("SYMTAB_SYMBOL"), - chain_next ("%h.next"), chain_prev ("%h.previous"))) - symtab_node -{ -public: - friend class symbol_table; - - /* Constructor. */ - explicit symtab_node (symtab_type t) - : type (t), resolution (LDPR_UNKNOWN), definition (false), alias (false), - transparent_alias (false), weakref (false), cpp_implicit_alias (false), - symver (false), analyzed (false), writeonly (false), - refuse_visibility_changes (false), externally_visible (false), - no_reorder (false), force_output (false), forced_by_abi (false), - unique_name (false), implicit_section (false), body_removed (false), - semantic_interposition (flag_semantic_interposition), - used_from_other_partition (false), in_other_partition (false), - address_taken (false), in_init_priority_hash (false), - need_lto_streaming (false), offloadable (false), ifunc_resolver (false), - order (false), next_sharing_asm_name (NULL), - previous_sharing_asm_name (NULL), same_comdat_group (NULL), ref_list (), - alias_target (NULL), lto_file_data (NULL), aux (NULL), - x_comdat_group (NULL_TREE), x_section (NULL) - {} - - /* Return name. */ - const char *name () const; - - /* Return dump name. */ - const char *dump_name () const; - - /* Return asm name. */ - const char *asm_name () const; - - /* Return dump name with assembler name. */ - const char *dump_asm_name () const; - - /* Return visibility name. */ - const char *get_visibility_string () const; - - /* Return type_name name. */ - const char *get_symtab_type_string () const; - - /* Add node into symbol table. This function is not used directly, but via - cgraph/varpool node creation routines. */ - void register_symbol (void); - - /* Remove symbol from symbol table. */ - void remove (void); - - /* Undo any definition or use of the symbol. */ - void reset (void); - - /* Dump symtab node to F. */ - void dump (FILE *f); - - /* Dump symtab callgraph in graphviz format. */ - void dump_graphviz (FILE *f); - - /* Dump symtab node to stderr. */ - void DEBUG_FUNCTION debug (void); - - /* Verify consistency of node. */ - void DEBUG_FUNCTION verify (void); - - /* Return ipa reference from this symtab_node to - REFERRED_NODE or REFERRED_VARPOOL_NODE. USE_TYPE specify type - of the use and STMT the statement (if it exists). */ - ipa_ref *create_reference (symtab_node *referred_node, - enum ipa_ref_use use_type); - - /* Return ipa reference from this symtab_node to - REFERRED_NODE or REFERRED_VARPOOL_NODE. USE_TYPE specify type - of the use and STMT the statement (if it exists). */ - ipa_ref *create_reference (symtab_node *referred_node, - enum ipa_ref_use use_type, gimple *stmt); - - /* If VAL is a reference to a function or a variable, add a reference from - this symtab_node to the corresponding symbol table node. Return the new - reference or NULL if none was created. */ - ipa_ref *maybe_create_reference (tree val, gimple *stmt); - - /* Clone all references from symtab NODE to this symtab_node. */ - void clone_references (symtab_node *node); - - /* Remove all stmt references in non-speculative references. - Those are not maintained during inlining & clonning. - The exception are speculative references that are updated along - with callgraph edges associated with them. */ - void clone_referring (symtab_node *node); - - /* Clone reference REF to this symtab_node and set its stmt to STMT. */ - ipa_ref *clone_reference (ipa_ref *ref, gimple *stmt); - - /* Find the structure describing a reference to REFERRED_NODE of USE_TYPE and - associated with statement STMT or LTO_STMT_UID. */ - ipa_ref *find_reference (symtab_node *referred_node, gimple *stmt, - unsigned int lto_stmt_uid, - enum ipa_ref_use use_type); - - /* Remove all references that are associated with statement STMT. */ - void remove_stmt_references (gimple *stmt); - - /* Remove all stmt references in non-speculative references. - Those are not maintained during inlining & clonning. - The exception are speculative references that are updated along - with callgraph edges associated with them. */ - void clear_stmts_in_references (void); - - /* Remove all references in ref list. */ - void remove_all_references (void); - - /* Remove all referring items in ref list. */ - void remove_all_referring (void); - - /* Dump references in ref list to FILE. */ - void dump_references (FILE *file); - - /* Dump referring in list to FILE. */ - void dump_referring (FILE *); - - /* Get number of references for this node. */ - inline unsigned num_references (void) - { - return ref_list.references.length (); - } - - /* Iterates I-th reference in the list, REF is also set. */ - ipa_ref *iterate_reference (unsigned i, ipa_ref *&ref); - - /* Iterates I-th referring item in the list, REF is also set. */ - ipa_ref *iterate_referring (unsigned i, ipa_ref *&ref); - - /* Iterates I-th referring alias item in the list, REF is also set. */ - ipa_ref *iterate_direct_aliases (unsigned i, ipa_ref *&ref); - - /* Return true if symtab node and TARGET represents - semantically equivalent symbols. */ - bool semantically_equivalent_p (symtab_node *target); - - /* Classify symbol symtab node for partitioning. */ - enum symbol_partitioning_class get_partitioning_class (void); - - /* Return comdat group. */ - tree get_comdat_group () - { - return x_comdat_group; - } - - /* Return comdat group as identifier_node. */ - tree get_comdat_group_id () - { - if (x_comdat_group && TREE_CODE (x_comdat_group) != IDENTIFIER_NODE) - x_comdat_group = DECL_ASSEMBLER_NAME (x_comdat_group); - return x_comdat_group; - } - - /* Set comdat group. */ - void set_comdat_group (tree group) - { - gcc_checking_assert (!group || TREE_CODE (group) == IDENTIFIER_NODE - || DECL_P (group)); - x_comdat_group = group; - } - - /* Return section as string. */ - const char * get_section () const - { - if (!x_section) - return NULL; - return x_section->name; - } - - /* Remove node from same comdat group. */ - void remove_from_same_comdat_group (void); - - /* Add this symtab_node to the same comdat group that OLD is in. */ - void add_to_same_comdat_group (symtab_node *old_node); - - /* Dissolve the same_comdat_group list in which NODE resides. */ - void dissolve_same_comdat_group_list (void); - - /* Return true when symtab_node is known to be used from other (non-LTO) - object file. Known only when doing LTO via linker plugin. */ - bool used_from_object_file_p (void); - - /* Walk the alias chain to return the symbol NODE is alias of. - If NODE is not an alias, return NODE. - When AVAILABILITY is non-NULL, get minimal availability in the chain. - When REF is non-NULL, assume that reference happens in symbol REF - when determining the availability. */ - symtab_node *ultimate_alias_target (enum availability *avail = NULL, - struct symtab_node *ref = NULL); - - /* Return next reachable static symbol with initializer after NODE. */ - inline symtab_node *next_defined_symbol (void); - - /* Add reference recording that symtab node is alias of TARGET. - If TRANSPARENT is true make the alias to be transparent alias. - The function can fail in the case of aliasing cycles; in this case - it returns false. */ - bool resolve_alias (symtab_node *target, bool transparent = false); - - /* C++ FE sometimes change linkage flags after producing same - body aliases. */ - void fixup_same_cpp_alias_visibility (symtab_node *target); - - /* Call callback on symtab node and aliases associated to this node. - When INCLUDE_OVERWRITABLE is false, overwritable aliases and thunks are - skipped. */ - bool call_for_symbol_and_aliases (bool (*callback) (symtab_node *, void *), - void *data, - bool include_overwrite); - - /* If node cannot be interposable by static or dynamic linker to point to - different definition, return this symbol. Otherwise look for alias with - such property and if none exists, introduce new one. */ - symtab_node *noninterposable_alias (void); - - /* Return node that alias is aliasing. */ - inline symtab_node *get_alias_target (void); - - /* Return DECL that alias is aliasing. */ - inline tree get_alias_target_tree (); - - /* Set section for symbol and its aliases. */ - void set_section (const char *section); - - /* Like set_section, but copying the section name from another node. */ - void set_section (const symtab_node &other); - - /* Set section, do not recurse into aliases. - When one wants to change section of symbol and its aliases, - use set_section. */ - void set_section_for_node (const char *section); - - /* Like set_section_for_node, but copying the section name from another - node. */ - void set_section_for_node (const symtab_node &other); - - /* Set initialization priority to PRIORITY. */ - void set_init_priority (priority_type priority); - - /* Return the initialization priority. */ - priority_type get_init_priority (); - - /* Return availability of NODE when referenced from REF. */ - enum availability get_availability (symtab_node *ref = NULL); - - /* During LTO stream-in this predicate can be used to check whether node - in question prevails in the linking to save some memory usage. */ - bool prevailing_p (void); - - /* Return true if NODE binds to current definition in final executable - when referenced from REF. If REF is NULL return conservative value - for any reference. */ - bool binds_to_current_def_p (symtab_node *ref = NULL); - - /* Make DECL local. */ - void make_decl_local (void); - - /* Copy visibility from N. */ - void copy_visibility_from (symtab_node *n); - - /* Return desired alignment of the definition. This is NOT alignment useful - to access THIS, because THIS may be interposable and DECL_ALIGN should - be used instead. It however must be guaranteed when output definition - of THIS. */ - unsigned int definition_alignment (); - - /* Return true if alignment can be increased. */ - bool can_increase_alignment_p (); - - /* Increase alignment of symbol to ALIGN. */ - void increase_alignment (unsigned int align); - - /* Return true if list contains an alias. */ - bool has_aliases_p (void); - - /* Return true when the symbol is real symbol, i.e. it is not inline clone - or abstract function kept for debug info purposes only. */ - bool real_symbol_p (void); - - /* Return true when the symbol needs to be output to the LTO symbol table. */ - bool output_to_lto_symbol_table_p (void); - - /* Determine if symbol declaration is needed. That is, visible to something - either outside this translation unit, something magic in the system - configury. This function is used just during symbol creation. */ - bool needed_p (void); - - /* Return true if this symbol is a function from the C frontend specified - directly in RTL form (with "__RTL"). */ - bool native_rtl_p () const; - - /* Return true when there are references to the node. */ - bool referred_to_p (bool include_self = true); - - /* Return true if symbol can be discarded by linker from the binary. - Assume that symbol is used (so there is no need to take into account - garbage collecting linkers) - - This can happen for comdats, commons and weaks when they are prevailed - by other definition at static linking time. */ - inline bool - can_be_discarded_p (void) - { - return ((DECL_EXTERNAL (decl) - && !in_other_partition) - || ((get_comdat_group () - || DECL_COMMON (decl) - || (DECL_SECTION_NAME (decl) && DECL_WEAK (decl))) - && ((resolution != LDPR_PREVAILING_DEF - && resolution != LDPR_PREVAILING_DEF_IRONLY_EXP) - || flag_incremental_link) - && resolution != LDPR_PREVAILING_DEF_IRONLY)); - } - - /* Return true if NODE is local to a particular COMDAT group, and must not - be named from outside the COMDAT. This is used for C++ decloned - constructors. */ - inline bool comdat_local_p (void) - { - return (same_comdat_group && !TREE_PUBLIC (decl)); - } - - /* Return true if ONE and TWO are part of the same COMDAT group. */ - inline bool in_same_comdat_group_p (symtab_node *target); - - /* Return true if symbol is known to be nonzero. */ - bool nonzero_address (); - - /* Return 0 if symbol is known to have different address than S2, - Return 1 if symbol is known to have same address as S2, - return 2 otherwise. - - If MEMORY_ACCESSED is true, assume that both memory pointer to THIS - and S2 is going to be accessed. This eliminates the situations when - either THIS or S2 is NULL and is useful for comparing bases when deciding - about memory aliasing. */ - int equal_address_to (symtab_node *s2, bool memory_accessed = false); - - /* Return true if symbol's address may possibly be compared to other - symbol's address. */ - bool address_matters_p (); - - /* Return true if NODE's address can be compared. This use properties - of NODE only and does not look if the address is actually taken in - interesting way. For that use ADDRESS_MATTERS_P instead. */ - bool address_can_be_compared_p (void); - - /* Return symbol table node associated with DECL, if any, - and NULL otherwise. */ - static inline symtab_node *get (const_tree decl) - { - /* Check that we are called for sane type of object - functions - and static or external variables. */ - gcc_checking_assert (TREE_CODE (decl) == FUNCTION_DECL - || (TREE_CODE (decl) == VAR_DECL - && (TREE_STATIC (decl) || DECL_EXTERNAL (decl) - || in_lto_p))); - /* Check that the mapping is sane - perhaps this check can go away, - but at the moment frontends tends to corrupt the mapping by calling - memcpy/memset on the tree nodes. */ - gcc_checking_assert (!decl->decl_with_vis.symtab_node - || decl->decl_with_vis.symtab_node->decl == decl); - return decl->decl_with_vis.symtab_node; - } - - /* Try to find a symtab node for declaration DECL and if it does not - exist or if it corresponds to an inline clone, create a new one. */ - static inline symtab_node * get_create (tree node); - - /* Return the cgraph node that has ASMNAME for its DECL_ASSEMBLER_NAME. - Return NULL if there's no such node. */ - static symtab_node *get_for_asmname (const_tree asmname); - - /* Verify symbol table for internal consistency. */ - static DEBUG_FUNCTION void verify_symtab_nodes (void); - - /* Perform internal consistency checks, if they are enabled. */ - static inline void checking_verify_symtab_nodes (void); - - /* Type of the symbol. */ - ENUM_BITFIELD (symtab_type) type : 8; - - /* The symbols resolution. */ - ENUM_BITFIELD (ld_plugin_symbol_resolution) resolution : 8; - - /*** Flags representing the symbol type. ***/ - - /* True when symbol corresponds to a definition in current unit. - set via finalize_function or finalize_decl */ - unsigned definition : 1; - /* True when symbol is an alias. - Set by assemble_alias. */ - unsigned alias : 1; - /* When true the alias is translated into its target symbol either by GCC - or assembler (it also may just be a duplicate declaration of the same - linker name). - - Currently transparent aliases come in three different flavors - - aliases having the same assembler name as their target (aka duplicated - declarations). In this case the assembler names compare via - assembler_names_equal_p and weakref is false - - aliases that are renamed at a time being output to final file - by varasm.cc. For those DECL_ASSEMBLER_NAME have - IDENTIFIER_TRANSPARENT_ALIAS set and thus also their assembler - name must be unique. - Weakrefs belong to this category when we target assembler without - .weakref directive. - - weakrefs that are renamed by assembler via .weakref directive. - In this case the alias may or may not be definition (depending if - target declaration was seen by the compiler), weakref is set. - Unless we are before renaming statics, assembler names are different. - - Given that we now support duplicate declarations, the second option is - redundant and will be removed. */ - unsigned transparent_alias : 1; - /* True when alias is a weakref. */ - unsigned weakref : 1; - /* C++ frontend produce same body aliases and extra name aliases for - virtual functions and vtables that are obviously equivalent. - Those aliases are bit special, especially because C++ frontend - visibility code is so ugly it cannot get them right at first time - and their visibility needs to be copied from their "masters" at - the end of parsing. */ - unsigned cpp_implicit_alias : 1; - /* The alias is a symbol version. */ - unsigned symver : 1; - /* Set once the definition was analyzed. The list of references and - other properties are built during analysis. */ - unsigned analyzed : 1; - /* Set for write-only variables. */ - unsigned writeonly : 1; - /* Visibility of symbol was used for further optimization; do not - permit further changes. */ - unsigned refuse_visibility_changes : 1; - - /*** Visibility and linkage flags. ***/ - - /* Set when function is visible by other units. */ - unsigned externally_visible : 1; - /* Don't reorder to other symbols having this set. */ - unsigned no_reorder : 1; - /* The symbol will be assumed to be used in an invisible way (like - by an toplevel asm statement). */ - unsigned force_output : 1; - /* Like FORCE_OUTPUT, but in the case it is ABI requiring the symbol to be - exported. Unlike FORCE_OUTPUT this flag gets cleared to symbols promoted - to static and it does not inhibit optimization. */ - unsigned forced_by_abi : 1; - /* True when the name is known to be unique and thus it does not need mangling. */ - unsigned unique_name : 1; - /* Specify whether the section was set by user or by - compiler via -ffunction-sections. */ - unsigned implicit_section : 1; - /* True when body and other characteristics have been removed by - symtab_remove_unreachable_nodes. */ - unsigned body_removed : 1; - /* True when symbol should comply to -fsemantic-interposition flag. */ - unsigned semantic_interposition : 1; - - /*** WHOPR Partitioning flags. - These flags are used at ltrans stage when only part of the callgraph is - available. ***/ - - /* Set when variable is used from other LTRANS partition. */ - unsigned used_from_other_partition : 1; - /* Set when function is available in the other LTRANS partition. - During WPA output it is used to mark nodes that are present in - multiple partitions. */ - unsigned in_other_partition : 1; - - - - /*** other flags. ***/ - - /* Set when symbol has address taken. */ - unsigned address_taken : 1; - /* Set when init priority is set. */ - unsigned in_init_priority_hash : 1; - - /* Set when symbol needs to be streamed into LTO bytecode for LTO, or in case - of offloading, for separate compilation for a different target. */ - unsigned need_lto_streaming : 1; - - /* Set when symbol can be streamed into bytecode for offloading. */ - unsigned offloadable : 1; - - /* Set when symbol is an IFUNC resolver. */ - unsigned ifunc_resolver : 1; - - - /* Ordering of all symtab entries. */ - int order; - - /* Declaration representing the symbol. */ - tree decl; - - /* Linked list of symbol table entries starting with symtab_nodes. */ - symtab_node *next; - symtab_node *previous; - - /* Linked list of symbols with the same asm name. There may be multiple - entries for single symbol name during LTO, because symbols are renamed - only after partitioning. - - Because inline clones are kept in the assembler name has, they also produce - duplicate entries. - - There are also several long standing bugs where frontends and builtin - code produce duplicated decls. */ - symtab_node *next_sharing_asm_name; - symtab_node *previous_sharing_asm_name; - - /* Circular list of nodes in the same comdat group if non-NULL. */ - symtab_node *same_comdat_group; - - /* Vectors of referring and referenced entities. */ - ipa_ref_list GTY((skip)) ref_list; - - /* Alias target. May be either DECL pointer or ASSEMBLER_NAME pointer - depending to what was known to frontend on the creation time. - Once alias is resolved, this pointer become NULL. */ - tree alias_target; - - /* File stream where this node is being written to. */ - struct lto_file_decl_data * lto_file_data; - - void *GTY ((skip)) aux; - - /* Comdat group the symbol is in. Can be private if GGC allowed that. */ - tree x_comdat_group; - - /* Section name. Again can be private, if allowed. */ - section_hash_entry *x_section; - -protected: - /* Dump base fields of symtab nodes to F. Not to be used directly. */ - void dump_base (FILE *); - - /* Verify common part of symtab node. */ - bool DEBUG_FUNCTION verify_base (void); - - /* Remove node from symbol table. This function is not used directly, but via - cgraph/varpool node removal routines. */ - void unregister (struct clone_info *); - - /* Return the initialization and finalization priority information for - DECL. If there is no previous priority information, a freshly - allocated structure is returned. */ - struct symbol_priority_map *priority_info (void); - - /* Worker for call_for_symbol_and_aliases_1. */ - bool call_for_symbol_and_aliases_1 (bool (*callback) (symtab_node *, void *), - void *data, - bool include_overwrite); -private: - /* Workers for set_section. */ - static bool set_section_from_string (symtab_node *n, void *s); - static bool set_section_from_node (symtab_node *n, void *o); - - /* Worker for symtab_resolve_alias. */ - static bool set_implicit_section (symtab_node *n, void *); - - /* Worker searching noninterposable alias. */ - static bool noninterposable_alias (symtab_node *node, void *data); - - /* Worker for ultimate_alias_target. */ - symtab_node *ultimate_alias_target_1 (enum availability *avail = NULL, - symtab_node *ref = NULL); - - /* Get dump name with normal or assembly name. */ - const char *get_dump_name (bool asm_name_p) const; -}; - -inline void -symtab_node::checking_verify_symtab_nodes (void) -{ - if (flag_checking) - symtab_node::verify_symtab_nodes (); -} - -/* Walk all aliases for NODE. */ -#define FOR_EACH_ALIAS(NODE, ALIAS) \ - for (unsigned ALIAS##_iter_ = 0; \ - (NODE)->iterate_direct_aliases (ALIAS##_iter_, ALIAS); \ - ALIAS##_iter_++) - -/* This is the information that is put into the cgraph local structure - to recover a function. */ -struct lto_file_decl_data; - -extern const char * const cgraph_availability_names[]; -extern const char * const ld_plugin_symbol_resolution_names[]; -extern const char * const tls_model_names[]; - -/* Represent which DECL tree (or reference to such tree) - will be replaced by another tree while versioning. */ -struct GTY(()) ipa_replace_map -{ - /* The new (replacing) tree. */ - tree new_tree; - /* Parameter number to replace, when old_tree is NULL. */ - int parm_num; - /* Set if the newly added reference should not be an address one, but a load - one from the operand of the ADDR_EXPR in NEW_TREE. This is for cases when - the corresponding parameter p is used only as *p. */ - unsigned force_load_ref : 1; -}; - -enum cgraph_simd_clone_arg_type -{ - SIMD_CLONE_ARG_TYPE_VECTOR, - SIMD_CLONE_ARG_TYPE_UNIFORM, - /* These are only for integer/pointer arguments passed by value. */ - SIMD_CLONE_ARG_TYPE_LINEAR_CONSTANT_STEP, - SIMD_CLONE_ARG_TYPE_LINEAR_VARIABLE_STEP, - /* These 6 are only for reference type arguments or arguments passed - by reference. */ - SIMD_CLONE_ARG_TYPE_LINEAR_REF_CONSTANT_STEP, - SIMD_CLONE_ARG_TYPE_LINEAR_REF_VARIABLE_STEP, - SIMD_CLONE_ARG_TYPE_LINEAR_UVAL_CONSTANT_STEP, - SIMD_CLONE_ARG_TYPE_LINEAR_UVAL_VARIABLE_STEP, - SIMD_CLONE_ARG_TYPE_LINEAR_VAL_CONSTANT_STEP, - SIMD_CLONE_ARG_TYPE_LINEAR_VAL_VARIABLE_STEP, - SIMD_CLONE_ARG_TYPE_MASK -}; - -/* Function arguments in the original function of a SIMD clone. - Supplementary data for `struct simd_clone'. */ - -struct GTY(()) cgraph_simd_clone_arg { - /* Original function argument as it originally existed in - DECL_ARGUMENTS. */ - tree orig_arg; - - /* orig_arg's function (or for extern functions type from - TYPE_ARG_TYPES). */ - tree orig_type; - - /* If argument is a vector, this holds the vector version of - orig_arg that after adjusting the argument types will live in - DECL_ARGUMENTS. Otherwise, this is NULL. - - This basically holds: - vector(simdlen) __typeof__(orig_arg) new_arg. */ - tree vector_arg; - - /* vector_arg's type (or for extern functions new vector type. */ - tree vector_type; - - /* If argument is a vector, this holds the array where the simd - argument is held while executing the simd clone function. This - is a local variable in the cloned function. Its content is - copied from vector_arg upon entry to the clone. - - This basically holds: - __typeof__(orig_arg) simd_array[simdlen]. */ - tree simd_array; - - /* A SIMD clone's argument can be either linear (constant or - variable), uniform, or vector. */ - enum cgraph_simd_clone_arg_type arg_type; - - /* Variable alignment if available, otherwise 0. */ - unsigned int alignment; - - /* For arg_type SIMD_CLONE_ARG_TYPE_LINEAR_*CONSTANT_STEP this is - the constant linear step, if arg_type is - SIMD_CLONE_ARG_TYPE_LINEAR_*VARIABLE_STEP, this is index of - the uniform argument holding the step, otherwise 0. */ - HOST_WIDE_INT linear_step; -}; - -/* Specific data for a SIMD function clone. */ - -struct GTY(()) cgraph_simd_clone { - /* Number of words in the SIMD lane associated with this clone. */ - poly_uint64 simdlen; - - /* Number of annotated function arguments in `args'. This is - usually the number of named arguments in FNDECL. */ - unsigned int nargs; - - /* Max hardware vector size in bits for integral vectors. */ - poly_uint64 vecsize_int; - - /* Max hardware vector size in bits for floating point vectors. */ - poly_uint64 vecsize_float; - - /* Machine mode of the mask argument(s), if they are to be passed - as bitmasks in integer argument(s). VOIDmode if masks are passed - as vectors of characteristic type. */ - machine_mode mask_mode; - - /* The mangling character for a given vector size. This is used - to determine the ISA mangling bit as specified in the Intel - Vector ABI. */ - unsigned char vecsize_mangle; - - /* True if this is the masked, in-branch version of the clone, - otherwise false. */ - unsigned int inbranch : 1; - - /* Doubly linked list of SIMD clones. */ - cgraph_node *prev_clone, *next_clone; - - /* Original cgraph node the SIMD clones were created for. */ - cgraph_node *origin; - - /* Annotated function arguments for the original function. */ - cgraph_simd_clone_arg GTY((length ("%h.nargs"))) args[1]; -}; - -/* Function Multiversioning info. */ -struct GTY((for_user)) cgraph_function_version_info { - /* The cgraph_node for which the function version info is stored. */ - cgraph_node *this_node; - /* Chains all the semantically identical function versions. The - first function in this chain is the version_info node of the - default function. */ - cgraph_function_version_info *prev; - /* If this version node corresponds to a dispatcher for function - versions, this points to the version info node of the default - function, the first node in the chain. */ - cgraph_function_version_info *next; - /* If this node corresponds to a function version, this points - to the dispatcher function decl, which is the function that must - be called to execute the right function version at run-time. - - If this cgraph node is a dispatcher (if dispatcher_function is - true, in the cgraph_node struct) for function versions, this - points to resolver function, which holds the function body of the - dispatcher. The dispatcher decl is an alias to the resolver - function decl. */ - tree dispatcher_resolver; -}; - -#define DEFCIFCODE(code, type, string) CIF_ ## code, -/* Reasons for inlining failures. */ - -enum cgraph_inline_failed_t { -#include "cif-code.def" - CIF_N_REASONS -}; - -enum cgraph_inline_failed_type_t -{ - CIF_FINAL_NORMAL = 0, - CIF_FINAL_ERROR -}; - -struct cgraph_edge; - -struct cgraph_edge_hasher : ggc_ptr_hash -{ - typedef gimple *compare_type; - - static hashval_t hash (cgraph_edge *); - static hashval_t hash (gimple *); - static bool equal (cgraph_edge *, gimple *); -}; - -/* The cgraph data structure. - Each function decl has assigned cgraph_node listing callees and callers. */ - -struct GTY((tag ("SYMTAB_FUNCTION"))) cgraph_node : public symtab_node -{ - friend class symbol_table; - - /* Constructor. */ - explicit cgraph_node (int uid) - : symtab_node (SYMTAB_FUNCTION), callees (NULL), callers (NULL), - indirect_calls (NULL), - next_sibling_clone (NULL), prev_sibling_clone (NULL), clones (NULL), - clone_of (NULL), call_site_hash (NULL), former_clone_of (NULL), - simdclone (NULL), simd_clones (NULL), ipa_transforms_to_apply (vNULL), - inlined_to (NULL), rtl (NULL), - count (profile_count::uninitialized ()), - count_materialization_scale (REG_BR_PROB_BASE), profile_id (0), - unit_id (0), tp_first_run (0), thunk (false), - used_as_abstract_origin (false), - lowered (false), process (false), frequency (NODE_FREQUENCY_NORMAL), - only_called_at_startup (false), only_called_at_exit (false), - tm_clone (false), dispatcher_function (false), calls_comdat_local (false), - icf_merged (false), nonfreeing_fn (false), merged_comdat (false), - merged_extern_inline (false), parallelized_function (false), - split_part (false), indirect_call_target (false), local (false), - versionable (false), can_change_signature (false), - redefined_extern_inline (false), tm_may_enter_irr (false), - ipcp_clone (false), declare_variant_alt (false), - calls_declare_variant_alt (false), gc_candidate (false), - m_uid (uid), m_summary_id (-1) - {} - - /* Remove the node from cgraph and all inline clones inlined into it. - Skip however removal of FORBIDDEN_NODE and return true if it needs to be - removed. This allows to call the function from outer loop walking clone - tree. */ - bool remove_symbol_and_inline_clones (cgraph_node *forbidden_node = NULL); - - /* Record all references from cgraph_node that are taken - in statement STMT. */ - void record_stmt_references (gimple *stmt); - - /* Like cgraph_set_call_stmt but walk the clone tree and update all - clones sharing the same function body. - When WHOLE_SPECULATIVE_EDGES is true, all three components of - speculative edge gets updated. Otherwise we update only direct - call. */ - void set_call_stmt_including_clones (gimple *old_stmt, gcall *new_stmt, - bool update_speculative = true); - - /* Walk the alias chain to return the function cgraph_node is alias of. - Walk through thunk, too. - When AVAILABILITY is non-NULL, get minimal availability in the chain. - When REF is non-NULL, assume that reference happens in symbol REF - when determining the availability. */ - cgraph_node *function_symbol (enum availability *avail = NULL, - struct symtab_node *ref = NULL); - - /* Walk the alias chain to return the function cgraph_node is alias of. - Walk through non virtual thunks, too. Thus we return either a function - or a virtual thunk node. - When AVAILABILITY is non-NULL, get minimal availability in the chain. - When REF is non-NULL, assume that reference happens in symbol REF - when determining the availability. */ - cgraph_node *function_or_virtual_thunk_symbol - (enum availability *avail = NULL, - struct symtab_node *ref = NULL); - - /* Create node representing clone of N executed COUNT times. Decrease - the execution counts from original node too. - The new clone will have decl set to DECL that may or may not be the same - as decl of N. - - When UPDATE_ORIGINAL is true, the counts are subtracted from the original - function's profile to reflect the fact that part of execution is handled - by node. - When CALL_DUPLICATION_HOOK is true, the ipa passes are acknowledged about - the new clone. Otherwise the caller is responsible for doing so later. - - If the new node is being inlined into another one, NEW_INLINED_TO should be - the outline function the new one is (even indirectly) inlined to. - All hooks will see this in node's inlined_to, when invoked. - Can be NULL if the node is not inlined. SUFFIX is string that is appended - to the original name. */ - cgraph_node *create_clone (tree decl, profile_count count, - bool update_original, - vec redirect_callers, - bool call_duplication_hook, - cgraph_node *new_inlined_to, - ipa_param_adjustments *param_adjustments, - const char *suffix = NULL); - - /* Create callgraph node clone with new declaration. The actual body will be - copied later at compilation stage. The name of the new clone will be - constructed from the name of the original node, SUFFIX and NUM_SUFFIX. */ - cgraph_node *create_virtual_clone (const vec &redirect_callers, - vec *tree_map, - ipa_param_adjustments *param_adjustments, - const char * suffix, unsigned num_suffix); - - /* Remove the node from the tree of virtual and inline clones and make it a - standalone node - not a clone any more. */ - void remove_from_clone_tree (); - - /* cgraph node being removed from symbol table; see if its entry can be - replaced by other inline clone. */ - cgraph_node *find_replacement (struct clone_info *); - - /* Create a new cgraph node which is the new version of - callgraph node. REDIRECT_CALLERS holds the callers - edges which should be redirected to point to - NEW_VERSION. ALL the callees edges of the node - are cloned to the new version node. Return the new - version node. - - If non-NULL BLOCK_TO_COPY determine what basic blocks - was copied to prevent duplications of calls that are dead - in the clone. - - SUFFIX is string that is appended to the original name. */ - - cgraph_node *create_version_clone (tree new_decl, - vec redirect_callers, - bitmap bbs_to_copy, - const char *suffix = NULL); - - /* Perform function versioning. - Function versioning includes copying of the tree and - a callgraph update (creating a new cgraph node and updating - its callees and callers). - - REDIRECT_CALLERS varray includes the edges to be redirected - to the new version. - - TREE_MAP is a mapping of tree nodes we want to replace with - new ones (according to results of prior analysis). - - If non-NULL ARGS_TO_SKIP determine function parameters to remove - from new version. - If SKIP_RETURN is true, the new version will return void. - If non-NULL BLOCK_TO_COPY determine what basic blocks to copy. - If non_NULL NEW_ENTRY determine new entry BB of the clone. - - If TARGET_ATTRIBUTES is non-null, when creating a new declaration, - add the attributes to DECL_ATTRIBUTES. And call valid_attribute_p - that will promote value of the attribute DECL_FUNCTION_SPECIFIC_TARGET - of the declaration. - - If VERSION_DECL is set true, use clone_function_name_numbered for the - function clone. Otherwise, use clone_function_name. - - Return the new version's cgraph node. */ - cgraph_node *create_version_clone_with_body - (vec redirect_callers, - vec *tree_map, - ipa_param_adjustments *param_adjustments, - bitmap bbs_to_copy, basic_block new_entry_block, const char *clone_name, - tree target_attributes = NULL_TREE, bool version_decl = true); - - /* Insert a new cgraph_function_version_info node into cgraph_fnver_htab - corresponding to cgraph_node. */ - cgraph_function_version_info *insert_new_function_version (void); - - /* Get the cgraph_function_version_info node corresponding to node. */ - cgraph_function_version_info *function_version (void); - - /* Discover all functions and variables that are trivially needed, analyze - them as well as all functions and variables referred by them */ - void analyze (void); - - /* Add thunk alias into callgraph. The alias declaration is ALIAS and it - aliases DECL with an adjustments made into the first parameter. - See comments in struct symtab-thunks.h for detail on the parameters. */ - cgraph_node * create_thunk (tree alias, tree, bool this_adjusting, - HOST_WIDE_INT fixed_offset, - HOST_WIDE_INT virtual_value, - HOST_WIDE_INT indirect_offset, - tree virtual_offset, - tree real_alias); - - - /* Return node that alias is aliasing. */ - inline cgraph_node *get_alias_target (void); - - /* Given function symbol, walk the alias chain to return the function node - is alias of. Do not walk through thunks. - When AVAILABILITY is non-NULL, get minimal availability in the chain. - When REF is non-NULL, assume that reference happens in symbol REF - when determining the availability. */ - - cgraph_node *ultimate_alias_target (availability *availability = NULL, - symtab_node *ref = NULL); - - /* Call expand_thunk on all callers that are thunks and analyze those - nodes that were expanded. */ - void expand_all_artificial_thunks (); - - /* Assemble thunks and aliases associated to node. */ - void assemble_thunks_and_aliases (void); - - /* Expand function specified by node. */ - void expand (void); - - /* Creates a wrapper from cgraph_node to TARGET node. Thunk is used for this - kind of wrapper method. */ - void create_wrapper (cgraph_node *target); - - /* Verify cgraph nodes of the cgraph node. */ - void DEBUG_FUNCTION verify_node (void); - - /* Remove function from symbol table. */ - void remove (void); - - /* Dump call graph node to file F. */ - void dump (FILE *f); - - /* Dump call graph node to file F. */ - void dump_graphviz (FILE *f); - - /* Dump call graph node to stderr. */ - void DEBUG_FUNCTION debug (void); - - /* When doing LTO, read cgraph_node's body from disk if it is not already - present. */ - bool get_untransformed_body (); - - /* Prepare function body. When doing LTO, read cgraph_node's body from disk - if it is not already present. When some IPA transformations are scheduled, - apply them. */ - bool get_body (); - - void materialize_clone (void); - - /* Release memory used to represent body of function. - Use this only for functions that are released before being translated to - target code (i.e. RTL). Functions that are compiled to RTL and beyond - are free'd in final.cc via free_after_compilation(). */ - void release_body (bool keep_arguments = false); - - /* Return the DECL_STRUCT_FUNCTION of the function. */ - struct function *get_fun () const; - - /* Bring cgraph node local. */ - void make_local (void); - - /* Likewise indicate that a node is having address taken. */ - void mark_address_taken (void); - - /* Set finalization priority to PRIORITY. */ - void set_fini_priority (priority_type priority); - - /* Return the finalization priority. */ - priority_type get_fini_priority (void); - - /* Create edge from a given function to CALLEE in the cgraph. */ - cgraph_edge *create_edge (cgraph_node *callee, - gcall *call_stmt, profile_count count, - bool cloning_p = false); - - /* Create an indirect edge with a yet-undetermined callee where the call - statement destination is a formal parameter of the caller with index - PARAM_INDEX. */ - cgraph_edge *create_indirect_edge (gcall *call_stmt, int ecf_flags, - profile_count count, - bool cloning_p = false); - - /* Like cgraph_create_edge walk the clone tree and update all clones sharing - same function body. If clones already have edge for OLD_STMT; only - update the edge same way as cgraph_set_call_stmt_including_clones does. */ - void create_edge_including_clones (cgraph_node *callee, - gimple *old_stmt, gcall *stmt, - profile_count count, - cgraph_inline_failed_t reason); - - /* Return the callgraph edge representing the GIMPLE_CALL statement - CALL_STMT. */ - cgraph_edge *get_edge (gimple *call_stmt); - - /* Collect all callers of cgraph_node and its aliases that are known to lead - to NODE (i.e. are not overwritable) and that are not thunks. */ - auto_vec collect_callers (void); - - /* Remove all callers from the node. */ - void remove_callers (void); - - /* Remove all callees from the node. */ - void remove_callees (void); - - /* Return function availability. See cgraph.h for description of individual - return values. */ - enum availability get_availability (symtab_node *ref = NULL); - - /* Set TREE_NOTHROW on cgraph_node's decl and on aliases of the node - if any to NOTHROW. */ - bool set_nothrow_flag (bool nothrow); - - /* SET DECL_IS_MALLOC on cgraph_node's decl and on aliases of the node - if any. */ - bool set_malloc_flag (bool malloc_p); - - /* SET TREE_THIS_VOLATILE on cgraph_node's decl and on aliases of the node - if any. */ - bool set_noreturn_flag (bool noreturn_p); - - /* If SET_CONST is true, mark function, aliases and thunks to be ECF_CONST. - If SET_CONST if false, clear the flag. - - When setting the flag be careful about possible interposition and - do not set the flag for functions that can be interposed and set pure - flag for functions that can bind to other definition. - - Return true if any change was done. */ - - bool set_const_flag (bool set_const, bool looping); - - /* Set DECL_PURE_P on cgraph_node's decl and on aliases of the node - if any to PURE. - - When setting the flag, be careful about possible interposition. - Return true if any change was done. */ - - bool set_pure_flag (bool pure, bool looping); - - /* Call callback on function and aliases associated to the function. - When INCLUDE_OVERWRITABLE is false, overwritable aliases and thunks are - skipped. */ - - bool call_for_symbol_and_aliases (bool (*callback) (cgraph_node *, - void *), - void *data, bool include_overwritable); - - /* Call callback on cgraph_node, thunks and aliases associated to NODE. - When INCLUDE_OVERWRITABLE is false, overwritable aliases and thunks are - skipped. When EXCLUDE_VIRTUAL_THUNKS is true, virtual thunks are - skipped. */ - bool call_for_symbol_thunks_and_aliases (bool (*callback) (cgraph_node *node, - void *data), - void *data, - bool include_overwritable, - bool exclude_virtual_thunks = false); - - /* Likewise indicate that a node is needed, i.e. reachable via some - external means. */ - inline void mark_force_output (void); - - /* Return true when function can be marked local. */ - bool local_p (void); - - /* Return true if cgraph_node can be made local for API change. - Extern inline functions and C++ COMDAT functions can be made local - at the expense of possible code size growth if function is used in multiple - compilation units. */ - bool can_be_local_p (void); - - /* Return true when cgraph_node cannot return or throw and thus - it is safe to ignore its side effects for IPA analysis. */ - bool cannot_return_p (void); - - /* Return true when function cgraph_node and all its aliases are only called - directly. - i.e. it is not externally visible, address was not taken and - it is not used in any other non-standard way. */ - bool only_called_directly_p (void); - - /* Return true when function is only called directly or it has alias. - i.e. it is not externally visible, address was not taken and - it is not used in any other non-standard way. */ - inline bool only_called_directly_or_aliased_p (void); - - /* Return true when function cgraph_node can be expected to be removed - from program when direct calls in this compilation unit are removed. - - As a special case COMDAT functions are - cgraph_can_remove_if_no_direct_calls_p while the are not - cgraph_only_called_directly_p (it is possible they are called from other - unit) - - This function behaves as cgraph_only_called_directly_p because eliminating - all uses of COMDAT function does not make it necessarily disappear from - the program unless we are compiling whole program or we do LTO. In this - case we know we win since dynamic linking will not really discard the - linkonce section. - - If WILL_INLINE is true, assume that function will be inlined into all the - direct calls. */ - bool will_be_removed_from_program_if_no_direct_calls_p - (bool will_inline = false); - - /* Return true when function can be removed from callgraph - if all direct calls and references are eliminated. The function does - not take into account comdat groups. */ - bool can_remove_if_no_direct_calls_and_refs_p (void); - - /* Return true when function cgraph_node and its aliases can be removed from - callgraph if all direct calls are eliminated. - If WILL_INLINE is true, assume that function will be inlined into all the - direct calls. */ - bool can_remove_if_no_direct_calls_p (bool will_inline = false); - - /* Return true when callgraph node is a function with Gimple body defined - in current unit. Functions can also be define externally or they - can be thunks with no Gimple representation. - - Note that at WPA stage, the function body may not be present in memory. */ - inline bool has_gimple_body_p (void); - - /* Return true if this node represents a former, i.e. an expanded, thunk. */ - bool former_thunk_p (void); - - /* Check if function calls comdat local. This is used to recompute - calls_comdat_local flag after function transformations. */ - bool check_calls_comdat_local_p (); - - /* Return true if function should be optimized for size. */ - enum optimize_size_level optimize_for_size_p (void); - - /* Dump the callgraph to file F. */ - static void dump_cgraph (FILE *f); - - /* Dump the call graph to stderr. */ - static inline - void debug_cgraph (void) - { - dump_cgraph (stderr); - } - - /* Get unique identifier of the node. */ - inline int get_uid () - { - return m_uid; - } - - /* Get summary id of the node. */ - inline int get_summary_id () - { - return m_summary_id; - } - - /* Record that DECL1 and DECL2 are semantically identical function - versions. */ - static void record_function_versions (tree decl1, tree decl2); - - /* Remove the cgraph_function_version_info and cgraph_node for DECL. This - DECL is a duplicate declaration. */ - static void delete_function_version_by_decl (tree decl); - - /* Add the function FNDECL to the call graph. - Unlike finalize_function, this function is intended to be used - by middle end and allows insertion of new function at arbitrary point - of compilation. The function can be either in high, low or SSA form - GIMPLE. - - The function is assumed to be reachable and have address taken (so no - API breaking optimizations are performed on it). - - Main work done by this function is to enqueue the function for later - processing to avoid need the passes to be re-entrant. */ - static void add_new_function (tree fndecl, bool lowered); - - /* Return callgraph node for given symbol and check it is a function. */ - static inline cgraph_node *get (const_tree decl) - { - gcc_checking_assert (TREE_CODE (decl) == FUNCTION_DECL); - return dyn_cast (symtab_node::get (decl)); - } - - /* DECL has been parsed. Take it, queue it, compile it at the whim of the - logic in effect. If NO_COLLECT is true, then our caller cannot stand to - have the garbage collector run at the moment. We would need to either - create a new GC context, or just not compile right now. */ - static void finalize_function (tree, bool); - - /* Return cgraph node assigned to DECL. Create new one when needed. */ - static cgraph_node * create (tree decl); - - /* Try to find a call graph node for declaration DECL and if it does not - exist or if it corresponds to an inline clone, create a new one. */ - static cgraph_node * get_create (tree); - - /* Return local info for the compiled function. */ - static cgraph_node *local_info_node (tree decl); - - /* Return RTL info for the compiled function. */ - static struct cgraph_rtl_info *rtl_info (const_tree); - - /* Return the cgraph node that has ASMNAME for its DECL_ASSEMBLER_NAME. - Return NULL if there's no such node. */ - static cgraph_node *get_for_asmname (tree asmname); - - /* Attempt to mark ALIAS as an alias to DECL. Return alias node if - successful and NULL otherwise. - Same body aliases are output whenever the body of DECL is output, - and cgraph_node::get (ALIAS) transparently - returns cgraph_node::get (DECL). */ - static cgraph_node * create_same_body_alias (tree alias, tree decl); - - /* Verify whole cgraph structure. */ - static void DEBUG_FUNCTION verify_cgraph_nodes (void); - - /* Verify cgraph, if consistency checking is enabled. */ - static inline void checking_verify_cgraph_nodes (void); - - /* Worker to bring NODE local. */ - static bool make_local (cgraph_node *node, void *); - - /* Mark ALIAS as an alias to DECL. DECL_NODE is cgraph node representing - the function body is associated - with (not necessarily cgraph_node (DECL). */ - static cgraph_node *create_alias (tree alias, tree target); - - /* Return true if NODE has thunk. */ - static bool has_thunk_p (cgraph_node *node, void *); - - cgraph_edge *callees; - cgraph_edge *callers; - /* List of edges representing indirect calls with a yet undetermined - callee. */ - cgraph_edge *indirect_calls; - cgraph_node *next_sibling_clone; - cgraph_node *prev_sibling_clone; - cgraph_node *clones; - cgraph_node *clone_of; - /* For functions with many calls sites it holds map from call expression - to the edge to speed up cgraph_edge function. */ - hash_table *GTY(()) call_site_hash; - /* Declaration node used to be clone of. */ - tree former_clone_of; - - /* If this is a SIMD clone, this points to the SIMD specific - information for it. */ - cgraph_simd_clone *simdclone; - /* If this function has SIMD clones, this points to the first clone. */ - cgraph_node *simd_clones; - - /* Interprocedural passes scheduled to have their transform functions - applied next time we execute local pass on them. We maintain it - per-function in order to allow IPA passes to introduce new functions. */ - vec GTY((skip)) ipa_transforms_to_apply; - - /* For inline clones this points to the function they will be - inlined into. */ - cgraph_node *inlined_to; - - struct cgraph_rtl_info *rtl; - - /* Expected number of executions: calculated in profile.cc. */ - profile_count count; - /* How to scale counts at materialization time; used to merge - LTO units with different number of profile runs. */ - int count_materialization_scale; - /* ID assigned by the profiling. */ - unsigned int profile_id; - /* ID of the translation unit. */ - int unit_id; - /* Time profiler: first run of function. */ - int tp_first_run; - - /* True when symbol is a thunk. */ - unsigned thunk : 1; - /* Set when decl is an abstract function pointed to by the - ABSTRACT_DECL_ORIGIN of a reachable function. */ - unsigned used_as_abstract_origin : 1; - /* Set once the function is lowered (i.e. its CFG is built). */ - unsigned lowered : 1; - /* Set once the function has been instantiated and its callee - lists created. */ - unsigned process : 1; - /* How commonly executed the node is. Initialized during branch - probabilities pass. */ - ENUM_BITFIELD (node_frequency) frequency : 2; - /* True when function can only be called at startup (from static ctor). */ - unsigned only_called_at_startup : 1; - /* True when function can only be called at startup (from static dtor). */ - unsigned only_called_at_exit : 1; - /* True when function is the transactional clone of a function which - is called only from inside transactions. */ - /* ?? We should be able to remove this. We have enough bits in - cgraph to calculate it. */ - unsigned tm_clone : 1; - /* True if this decl is a dispatcher for function versions. */ - unsigned dispatcher_function : 1; - /* True if this decl calls a COMDAT-local function. This is set up in - compute_fn_summary and inline_call. */ - unsigned calls_comdat_local : 1; - /* True if node has been created by merge operation in IPA-ICF. */ - unsigned icf_merged: 1; - /* True if call to node can't result in a call to free, munmap or - other operation that could make previously non-trapping memory - accesses trapping. */ - unsigned nonfreeing_fn : 1; - /* True if there was multiple COMDAT bodies merged by lto-symtab. */ - unsigned merged_comdat : 1; - /* True if this def was merged with extern inlines. */ - unsigned merged_extern_inline : 1; - /* True if function was created to be executed in parallel. */ - unsigned parallelized_function : 1; - /* True if function is part split out by ipa-split. */ - unsigned split_part : 1; - /* True if the function appears as possible target of indirect call. */ - unsigned indirect_call_target : 1; - /* Set when function is visible in current compilation unit only and - its address is never taken. */ - unsigned local : 1; - /* False when there is something makes versioning impossible. */ - unsigned versionable : 1; - /* False when function calling convention and signature cannot be changed. - This is the case when __builtin_apply_args is used. */ - unsigned can_change_signature : 1; - /* True when the function has been originally extern inline, but it is - redefined now. */ - unsigned redefined_extern_inline : 1; - /* True if the function may enter serial irrevocable mode. */ - unsigned tm_may_enter_irr : 1; - /* True if this was a clone created by ipa-cp. */ - unsigned ipcp_clone : 1; - /* True if this is the deferred declare variant resolution artificial - function. */ - unsigned declare_variant_alt : 1; - /* True if the function calls declare_variant_alt functions. */ - unsigned calls_declare_variant_alt : 1; - /* True if the function should only be emitted if it is used. This flag - is set for local SIMD clones when they are created and cleared if the - vectorizer uses them. */ - unsigned gc_candidate : 1; - -private: - /* Unique id of the node. */ - int m_uid; - - /* Summary id that is recycled. */ - int m_summary_id; - - /* Worker for call_for_symbol_and_aliases. */ - bool call_for_symbol_and_aliases_1 (bool (*callback) (cgraph_node *, - void *), - void *data, bool include_overwritable); -}; - -/* A cgraph node set is a collection of cgraph nodes. A cgraph node - can appear in multiple sets. */ -struct cgraph_node_set_def -{ - hash_map *map; - vec nodes; -}; - -typedef cgraph_node_set_def *cgraph_node_set; -typedef struct varpool_node_set_def *varpool_node_set; - -struct varpool_node; - -/* A varpool node set is a collection of varpool nodes. A varpool node - can appear in multiple sets. */ -struct varpool_node_set_def -{ - hash_map * map; - vec nodes; -}; - -/* Iterator structure for cgraph node sets. */ -struct cgraph_node_set_iterator -{ - cgraph_node_set set; - unsigned index; -}; - -/* Iterator structure for varpool node sets. */ -struct varpool_node_set_iterator -{ - varpool_node_set set; - unsigned index; -}; - -/* Context of polymorphic call. It represent information about the type of - instance that may reach the call. This is used by ipa-devirt walkers of the - type inheritance graph. */ - -class GTY(()) ipa_polymorphic_call_context { -public: - /* The called object appears in an object of type OUTER_TYPE - at offset OFFSET. When information is not 100% reliable, we - use SPECULATIVE_OUTER_TYPE and SPECULATIVE_OFFSET. */ - HOST_WIDE_INT offset; - HOST_WIDE_INT speculative_offset; - tree outer_type; - tree speculative_outer_type; - /* True if outer object may be in construction or destruction. */ - unsigned maybe_in_construction : 1; - /* True if outer object may be of derived type. */ - unsigned maybe_derived_type : 1; - /* True if speculative outer object may be of derived type. We always - speculate that construction does not happen. */ - unsigned speculative_maybe_derived_type : 1; - /* True if the context is invalid and all calls should be redirected - to BUILTIN_UNREACHABLE. */ - unsigned invalid : 1; - /* True if the outer type is dynamic. */ - unsigned dynamic : 1; - - /* Build empty "I know nothing" context. */ - ipa_polymorphic_call_context (); - /* Build polymorphic call context for indirect call E. */ - ipa_polymorphic_call_context (cgraph_edge *e); - /* Build polymorphic call context for IP invariant CST. - If specified, OTR_TYPE specify the type of polymorphic call - that takes CST+OFFSET as a parameter. */ - ipa_polymorphic_call_context (tree cst, tree otr_type = NULL, - HOST_WIDE_INT offset = 0); - /* Build context for pointer REF contained in FNDECL at statement STMT. - if INSTANCE is non-NULL, return pointer to the object described by - the context. */ - ipa_polymorphic_call_context (tree fndecl, tree ref, gimple *stmt, - tree *instance = NULL); - - /* Look for vtable stores or constructor calls to work out dynamic type - of memory location. */ - bool get_dynamic_type (tree, tree, tree, gimple *, unsigned *); - - /* Make context non-speculative. */ - void clear_speculation (); - - /* Produce context specifying all derived types of OTR_TYPE. If OTR_TYPE is - NULL, the context is set to dummy "I know nothing" setting. */ - void clear_outer_type (tree otr_type = NULL); - - /* Walk container types and modify context to point to actual class - containing OTR_TYPE (if non-NULL) as base class. - Return true if resulting context is valid. - - When CONSIDER_PLACEMENT_NEW is false, reject contexts that may be made - valid only via allocation of new polymorphic type inside by means - of placement new. - - When CONSIDER_BASES is false, only look for actual fields, not base types - of TYPE. */ - bool restrict_to_inner_class (tree otr_type, - bool consider_placement_new = true, - bool consider_bases = true); - - /* Adjust all offsets in contexts by given number of bits. */ - void offset_by (HOST_WIDE_INT); - /* Use when we cannot track dynamic type change. This speculatively assume - type change is not happening. */ - void possible_dynamic_type_change (bool, tree otr_type = NULL); - /* Assume that both THIS and a given context is valid and strengthen THIS - if possible. Return true if any strengthening was made. - If actual type the context is being used in is known, OTR_TYPE should be - set accordingly. This improves quality of combined result. */ - bool combine_with (ipa_polymorphic_call_context, tree otr_type = NULL); - bool meet_with (ipa_polymorphic_call_context, tree otr_type = NULL); - - /* Return TRUE if context is fully useless. */ - bool useless_p () const; - /* Return TRUE if this context conveys the same information as X. */ - bool equal_to (const ipa_polymorphic_call_context &x) const; - - /* Dump human readable context to F. If NEWLINE is true, it will be - terminated by a newline. */ - void dump (FILE *f, bool newline = true) const; - void DEBUG_FUNCTION debug () const; - - /* LTO streaming. */ - void stream_out (struct output_block *) const; - void stream_in (class lto_input_block *, class data_in *data_in); - -private: - bool combine_speculation_with (tree, HOST_WIDE_INT, bool, tree); - bool meet_speculation_with (tree, HOST_WIDE_INT, bool, tree); - void set_by_decl (tree, HOST_WIDE_INT); - bool set_by_invariant (tree, tree, HOST_WIDE_INT); - bool speculation_consistent_p (tree, HOST_WIDE_INT, bool, tree) const; - void make_speculative (tree otr_type = NULL); -}; - -/* Structure containing additional information about an indirect call. */ - -class GTY(()) cgraph_indirect_call_info -{ -public: - /* When agg_content is set, an offset where the call pointer is located - within the aggregate. */ - HOST_WIDE_INT offset; - /* Context of the polymorphic call; use only when POLYMORPHIC flag is set. */ - ipa_polymorphic_call_context context; - /* OBJ_TYPE_REF_TOKEN of a polymorphic call (if polymorphic is set). */ - HOST_WIDE_INT otr_token; - /* Type of the object from OBJ_TYPE_REF_OBJECT. */ - tree otr_type; - /* Index of the parameter that is called. */ - int param_index; - /* ECF flags determined from the caller. */ - int ecf_flags; - - /* Number of speculative call targets, it's less than GCOV_TOPN_VALUES. */ - unsigned num_speculative_call_targets : 16; - - /* Set when the call is a virtual call with the parameter being the - associated object pointer rather than a simple direct call. */ - unsigned polymorphic : 1; - /* Set when the call is a call of a pointer loaded from contents of an - aggregate at offset. */ - unsigned agg_contents : 1; - /* Set when this is a call through a member pointer. */ - unsigned member_ptr : 1; - /* When the agg_contents bit is set, this one determines whether the - destination is loaded from a parameter passed by reference. */ - unsigned by_ref : 1; - /* When the agg_contents bit is set, this one determines whether we can - deduce from the function body that the loaded value from the reference is - never modified between the invocation of the function and the load - point. */ - unsigned guaranteed_unmodified : 1; - /* For polymorphic calls this specify whether the virtual table pointer - may have changed in between function entry and the call. */ - unsigned vptr_changed : 1; -}; - -class GTY((chain_next ("%h.next_caller"), chain_prev ("%h.prev_caller"), - for_user)) cgraph_edge -{ -public: - friend struct cgraph_node; - friend class symbol_table; - - /* Remove EDGE from the cgraph. */ - static void remove (cgraph_edge *edge); - - /* Change field call_stmt of edge E to NEW_STMT. If UPDATE_SPECULATIVE and E - is any component of speculative edge, then update all components. - Speculations can be resolved in the process and EDGE can be removed and - deallocated. Return the edge that now represents the call. */ - static cgraph_edge *set_call_stmt (cgraph_edge *e, gcall *new_stmt, - bool update_speculative = true); - - /* Redirect callee of the edge to N. The function does not update underlying - call expression. */ - void redirect_callee (cgraph_node *n); - - /* If the edge does not lead to a thunk, simply redirect it to N. Otherwise - create one or more equivalent thunks for N and redirect E to the first in - the chain. Note that it is then necessary to call - n->expand_all_artificial_thunks once all callers are redirected. */ - void redirect_callee_duplicating_thunks (cgraph_node *n); - - /* Make an indirect edge with an unknown callee an ordinary edge leading to - CALLEE. Speculations can be resolved in the process and EDGE can be - removed and deallocated. Return the edge that now represents the - call. */ - static cgraph_edge *make_direct (cgraph_edge *edge, cgraph_node *callee); - - /* Turn edge into speculative call calling N2. Update - the profile so the direct call is taken COUNT times - with FREQUENCY. speculative_id is used to link direct calls with their - corresponding IPA_REF_ADDR references when representing speculative calls. - */ - cgraph_edge *make_speculative (cgraph_node *n2, profile_count direct_count, - unsigned int speculative_id = 0); - - /* Speculative call consists of an indirect edge and one or more - direct edge+ref pairs. Speculative will expand to the following sequence: - - if (call_dest == target1) // reference to target1 - target1 (); // direct call to target1 - else if (call_dest == target2) // reference to targt2 - target2 (); // direct call to target2 - else - call_dest (); // indirect call - - Before the expansion we will have indirect call and the direct call+ref - pairs all linked to single statement. - - Note that ref may point to different symbol than the corresponding call - becuase the speculated edge may have been optimized (redirected to - a clone) or inlined. - - Given an edge which is part of speculative call, return the first - direct call edge in the speculative call sequence. - - In the example above called on any cgraph edge in the sequence it will - return direct call to target1. */ - cgraph_edge *first_speculative_call_target (); - - /* Return next speculative call target or NULL if there is none. - All targets are required to form an interval in the callee list. - - In example above, if called on call to target1 it will return call to - target2. */ - cgraph_edge *next_speculative_call_target () - { - cgraph_edge *e = this; - gcc_checking_assert (speculative && callee); - - if (e->next_callee && e->next_callee->speculative - && e->next_callee->call_stmt == e->call_stmt - && e->next_callee->lto_stmt_uid == e->lto_stmt_uid) - return e->next_callee; - return NULL; - } - - /* When called on any edge in the speculative call return the (unique) - indirect call edge in the speculative call sequence. */ - cgraph_edge *speculative_call_indirect_edge () - { - gcc_checking_assert (speculative); - if (!callee) - return this; - for (cgraph_edge *e2 = caller->indirect_calls; - true; e2 = e2->next_callee) - if (e2->speculative - && call_stmt == e2->call_stmt - && lto_stmt_uid == e2->lto_stmt_uid) - return e2; - } - - /* When called on any edge in speculative call and when given any target - of ref which is speculated to it returns the corresponding direct call. - - In example above if called on function target2 it will return call to - target2. */ - cgraph_edge *speculative_call_for_target (cgraph_node *); - - /* Return REF corresponding to direct call in the specualtive call - sequence. */ - ipa_ref *speculative_call_target_ref () - { - ipa_ref *ref; - - gcc_checking_assert (speculative); - for (unsigned int i = 0; caller->iterate_reference (i, ref); i++) - if (ref->speculative && ref->speculative_id == speculative_id - && ref->stmt == (gimple *)call_stmt - && ref->lto_stmt_uid == lto_stmt_uid) - return ref; - gcc_unreachable (); - } - - /* Speculative call edge turned out to be direct call to CALLEE_DECL. Remove - the speculative call sequence and return edge representing the call, the - original EDGE can be removed and deallocated. It is up to caller to - redirect the call as appropriate. Return the edge that now represents the - call. - - For "speculative" indirect call that contains multiple "speculative" - targets (i.e. edge->indirect_info->num_speculative_call_targets > 1), - decrease the count and only remove current direct edge. - - If no speculative direct call left to the speculative indirect call, remove - the speculative of both the indirect call and corresponding direct edge. - - It is up to caller to iteratively resolve each "speculative" direct call - and redirect the call as appropriate. */ - static cgraph_edge *resolve_speculation (cgraph_edge *edge, - tree callee_decl = NULL); - - /* If necessary, change the function declaration in the call statement - associated with edge E so that it corresponds to the edge callee. - Speculations can be resolved in the process and EDGE can be removed and - deallocated. - - The edge could be one of speculative direct call generated from speculative - indirect call. In this circumstance, decrease the speculative targets - count (i.e. num_speculative_call_targets) and redirect call stmt to the - corresponding i-th target. If no speculative direct call left to the - speculative indirect call, remove "speculative" of the indirect call and - also redirect stmt to it's final direct target. - - It is up to caller to iteratively transform each "speculative" - direct call as appropriate. */ - static gimple *redirect_call_stmt_to_callee (cgraph_edge *e); - - /* Create clone of edge in the node N represented - by CALL_EXPR the callgraph. */ - cgraph_edge * clone (cgraph_node *n, gcall *call_stmt, unsigned stmt_uid, - profile_count num, profile_count den, - bool update_original); - - /* Verify edge count and frequency. */ - bool verify_count (); - - /* Return true when call of edge cannot lead to return from caller - and thus it is safe to ignore its side effects for IPA analysis - when computing side effects of the caller. */ - bool cannot_lead_to_return_p (void); - - /* Return true when the edge represents a direct recursion. */ - bool recursive_p (void); - - /* Return true if the edge may be considered hot. */ - bool maybe_hot_p (void); - - /* Get unique identifier of the edge. */ - inline int get_uid () - { - return m_uid; - } - - /* Get summary id of the edge. */ - inline int get_summary_id () - { - return m_summary_id; - } - - /* Rebuild cgraph edges for current function node. This needs to be run after - passes that don't update the cgraph. */ - static unsigned int rebuild_edges (void); - - /* Rebuild cgraph references for current function node. This needs to be run - after passes that don't update the cgraph. */ - static void rebuild_references (void); - - /* During LTO stream in this can be used to check whether call can possibly - be internal to the current translation unit. */ - bool possibly_call_in_translation_unit_p (void); - - /* Return num_speculative_targets of this edge. */ - int num_speculative_call_targets_p (void); - - /* Expected number of executions: calculated in profile.cc. */ - profile_count count; - cgraph_node *caller; - cgraph_node *callee; - cgraph_edge *prev_caller; - cgraph_edge *next_caller; - cgraph_edge *prev_callee; - cgraph_edge *next_callee; - gcall *call_stmt; - /* Additional information about an indirect call. Not cleared when an edge - becomes direct. */ - cgraph_indirect_call_info *indirect_info; - void *GTY ((skip (""))) aux; - /* When equal to CIF_OK, inline this call. Otherwise, points to the - explanation why function was not inlined. */ - enum cgraph_inline_failed_t inline_failed; - /* The stmt_uid of call_stmt. This is used by LTO to recover the call_stmt - when the function is serialized in. */ - unsigned int lto_stmt_uid; - /* speculative id is used to link direct calls with their corresponding - IPA_REF_ADDR references when representing speculative calls. */ - unsigned int speculative_id : 16; - /* Whether this edge was made direct by indirect inlining. */ - unsigned int indirect_inlining_edge : 1; - /* Whether this edge describes an indirect call with an undetermined - callee. */ - unsigned int indirect_unknown_callee : 1; - /* Whether this edge is still a dangling */ - /* True if the corresponding CALL stmt cannot be inlined. */ - unsigned int call_stmt_cannot_inline_p : 1; - /* Can this call throw externally? */ - unsigned int can_throw_external : 1; - /* Edges with SPECULATIVE flag represents indirect calls that was - speculatively turned into direct (i.e. by profile feedback). - The final code sequence will have form: - - if (call_target == expected_fn) - expected_fn (); - else - call_target (); - - Every speculative call is represented by three components attached - to a same call statement: - 1) a direct call (to expected_fn) - 2) an indirect call (to call_target) - 3) a IPA_REF_ADDR reference to expected_fn. - - Optimizers may later redirect direct call to clone, so 1) and 3) - do not need to necessarily agree with destination. */ - unsigned int speculative : 1; - /* Set to true when caller is a constructor or destructor of polymorphic - type. */ - unsigned in_polymorphic_cdtor : 1; - - /* Return true if call must bind to current definition. */ - bool binds_to_current_def_p (); - - /* Expected frequency of executions within the function. - When set to CGRAPH_FREQ_BASE, the edge is expected to be called once - per function call. The range is 0 to CGRAPH_FREQ_MAX. */ - int frequency (); - - /* Expected frequency of executions within the function. */ - sreal sreal_frequency (); -private: - /* Unique id of the edge. */ - int m_uid; - - /* Summary id that is recycled. */ - int m_summary_id; - - /* Remove the edge from the list of the callers of the callee. */ - void remove_caller (void); - - /* Remove the edge from the list of the callees of the caller. */ - void remove_callee (void); - - /* Set callee N of call graph edge and add it to the corresponding set of - callers. */ - void set_callee (cgraph_node *n); - - /* Output flags of edge to a file F. */ - void dump_edge_flags (FILE *f); - - /* Dump edge to stderr. */ - void DEBUG_FUNCTION debug (void); - - /* Verify that call graph edge corresponds to DECL from the associated - statement. Return true if the verification should fail. */ - bool verify_corresponds_to_fndecl (tree decl); -}; - -#define CGRAPH_FREQ_BASE 1000 -#define CGRAPH_FREQ_MAX 100000 - -/* The varpool data structure. - Each static variable decl has assigned varpool_node. */ - -struct GTY((tag ("SYMTAB_VARIABLE"))) varpool_node : public symtab_node -{ - /* Constructor. */ - explicit varpool_node () - : symtab_node (SYMTAB_VARIABLE), output (0), dynamically_initialized (0), - tls_model (TLS_MODEL_NONE), used_by_single_function (0) - {} - - /* Dump given varpool node to F. */ - void dump (FILE *f); - - /* Dump given varpool node to stderr. */ - void DEBUG_FUNCTION debug (void); - - /* Remove variable from symbol table. */ - void remove (void); - - /* Remove node initializer when it is no longer needed. */ - void remove_initializer (void); - - void analyze (void); - - /* Return variable availability. */ - availability get_availability (symtab_node *ref = NULL); - - /* When doing LTO, read variable's constructor from disk if - it is not already present. */ - tree get_constructor (void); - - /* Return true if variable has constructor that can be used for folding. */ - bool ctor_useable_for_folding_p (void); - - /* For given variable pool node, walk the alias chain to return the function - the variable is alias of. Do not walk through thunks. - When AVAILABILITY is non-NULL, get minimal availability in the chain. - When REF is non-NULL, assume that reference happens in symbol REF - when determining the availability. */ - inline varpool_node *ultimate_alias_target - (availability *availability = NULL, symtab_node *ref = NULL); - - /* Return node that alias is aliasing. */ - inline varpool_node *get_alias_target (void); - - /* Output one variable, if necessary. Return whether we output it. */ - bool assemble_decl (void); - - /* For variables in named sections make sure get_variable_section - is called before we switch to those sections. Then section - conflicts between read-only and read-only requiring relocations - sections can be resolved. */ - void finalize_named_section_flags (void); - - /* Call callback on varpool symbol and aliases associated to varpool symbol. - When INCLUDE_OVERWRITABLE is false, overwritable aliases and thunks are - skipped. */ - bool call_for_symbol_and_aliases (bool (*callback) (varpool_node *, void *), - void *data, - bool include_overwritable); - - /* Return true when variable should be considered externally visible. */ - bool externally_visible_p (void); - - /* Return true when all references to variable must be visible - in ipa_ref_list. - i.e. if the variable is not externally visible or not used in some magic - way (asm statement or such). - The magic uses are all summarized in force_output flag. */ - inline bool all_refs_explicit_p (); - - /* Return true when variable can be removed from variable pool - if all direct calls are eliminated. */ - inline bool can_remove_if_no_refs_p (void); - - /* Add the variable DECL to the varpool. - Unlike finalize_decl function is intended to be used - by middle end and allows insertion of new variable at arbitrary point - of compilation. */ - static void add (tree decl); - - /* Return varpool node for given symbol and check it is a function. */ - static inline varpool_node *get (const_tree decl); - - /* Mark DECL as finalized. By finalizing the declaration, frontend instruct - the middle end to output the variable to asm file, if needed or externally - visible. */ - static void finalize_decl (tree decl); - - /* Attempt to mark ALIAS as an alias to DECL. Return TRUE if successful. - Extra name aliases are output whenever DECL is output. */ - static varpool_node * create_extra_name_alias (tree alias, tree decl); - - /* Attempt to mark ALIAS as an alias to DECL. Return TRUE if successful. - Extra name aliases are output whenever DECL is output. */ - static varpool_node * create_alias (tree, tree); - - /* Dump the variable pool to F. */ - static void dump_varpool (FILE *f); - - /* Dump the variable pool to stderr. */ - static void DEBUG_FUNCTION debug_varpool (void); - - /* Allocate new callgraph node and insert it into basic data structures. */ - static varpool_node *create_empty (void); - - /* Return varpool node assigned to DECL. Create new one when needed. */ - static varpool_node *get_create (tree decl); - - /* Given an assembler name, lookup node. */ - static varpool_node *get_for_asmname (tree asmname); - - /* Set when variable is scheduled to be assembled. */ - unsigned output : 1; - - /* Set if the variable is dynamically initialized, except for - function local statics. */ - unsigned dynamically_initialized : 1; - - ENUM_BITFIELD(tls_model) tls_model : 3; - - /* Set if the variable is known to be used by single function only. - This is computed by ipa_single_use pass and used by late optimizations - in places where optimization would be valid for local static variable - if we did not do any inter-procedural code movement. */ - unsigned used_by_single_function : 1; - -private: - /* Assemble thunks and aliases associated to varpool node. */ - void assemble_aliases (void); - - /* Worker for call_for_node_and_aliases. */ - bool call_for_symbol_and_aliases_1 (bool (*callback) (varpool_node *, void *), - void *data, - bool include_overwritable); -}; - -/* Every top level asm statement is put into a asm_node. */ - -struct GTY(()) asm_node { - /* Next asm node. */ - asm_node *next; - /* String for this asm node. */ - tree asm_str; - /* Ordering of all cgraph nodes. */ - int order; -}; - -/* Report whether or not THIS symtab node is a function, aka cgraph_node. */ - -template <> -template <> -inline bool -is_a_helper ::test (symtab_node *p) -{ - return p && p->type == SYMTAB_FUNCTION; -} - -/* Report whether or not THIS symtab node is a variable, aka varpool_node. */ - -template <> -template <> -inline bool -is_a_helper ::test (symtab_node *p) -{ - return p && p->type == SYMTAB_VARIABLE; -} - -typedef void (*cgraph_edge_hook)(cgraph_edge *, void *); -typedef void (*cgraph_node_hook)(cgraph_node *, void *); -typedef void (*varpool_node_hook)(varpool_node *, void *); -typedef void (*cgraph_2edge_hook)(cgraph_edge *, cgraph_edge *, void *); -typedef void (*cgraph_2node_hook)(cgraph_node *, cgraph_node *, void *); - -struct cgraph_edge_hook_list; -struct cgraph_node_hook_list; -struct varpool_node_hook_list; -struct cgraph_2edge_hook_list; -struct cgraph_2node_hook_list; - -/* Map from a symbol to initialization/finalization priorities. */ -struct GTY(()) symbol_priority_map { - priority_type init; - priority_type fini; -}; - -enum symtab_state -{ - /* Frontend is parsing and finalizing functions. */ - PARSING, - /* Callgraph is being constructed. It is safe to add new functions. */ - CONSTRUCTION, - /* Callgraph is being streamed-in at LTO time. */ - LTO_STREAMING, - /* Callgraph is built and early IPA passes are being run. */ - IPA, - /* Callgraph is built and all functions are transformed to SSA form. */ - IPA_SSA, - /* All inline decisions are done; it is now possible to remove extern inline - functions and virtual call targets. */ - IPA_SSA_AFTER_INLINING, - /* Functions are now ordered and being passed to RTL expanders. */ - EXPANSION, - /* All cgraph expansion is done. */ - FINISHED -}; - -struct asmname_hasher : ggc_ptr_hash -{ - typedef const_tree compare_type; - - static hashval_t hash (symtab_node *n); - static bool equal (symtab_node *n, const_tree t); -}; - -/* Core summaries maintained about symbols. */ - -struct thunk_info; -template class function_summary; -typedef function_summary thunk_summary; - -struct clone_info; -template class function_summary; -typedef function_summary clone_summary; - -class GTY((tag ("SYMTAB"))) symbol_table -{ -public: - friend struct symtab_node; - friend struct cgraph_node; - friend struct cgraph_edge; - - symbol_table (): - cgraph_count (0), cgraph_max_uid (1), cgraph_max_summary_id (0), - edges_count (0), edges_max_uid (1), edges_max_summary_id (0), - cgraph_released_summary_ids (), edge_released_summary_ids (), - nodes (NULL), asmnodes (NULL), asm_last_node (NULL), - order (0), max_unit (0), global_info_ready (false), state (PARSING), - function_flags_ready (false), cpp_implicit_aliases_done (false), - section_hash (NULL), assembler_name_hash (NULL), init_priority_hash (NULL), - dump_file (NULL), ipa_clones_dump_file (NULL), cloned_nodes (), - m_thunks (NULL), m_clones (NULL), - m_first_edge_removal_hook (NULL), m_first_cgraph_removal_hook (NULL), - m_first_edge_duplicated_hook (NULL), m_first_cgraph_duplicated_hook (NULL), - m_first_cgraph_insertion_hook (NULL), m_first_varpool_insertion_hook (NULL), - m_first_varpool_removal_hook (NULL) - { - } - - /* Initialize callgraph dump file. */ - void initialize (void); - - /* Register a top-level asm statement ASM_STR. */ - inline asm_node *finalize_toplevel_asm (tree asm_str); - - /* Analyze the whole compilation unit once it is parsed completely. */ - void finalize_compilation_unit (void); - - /* C++ frontend produce same body aliases all over the place, even before PCH - gets streamed out. It relies on us linking the aliases with their function - in order to do the fixups, but ipa-ref is not PCH safe. Consequently we - first produce aliases without links, but once C++ FE is sure it won't - stream PCH we build the links via this function. */ - void process_same_body_aliases (void); - - /* Perform simple optimizations based on callgraph. */ - void compile (void); - - /* Process CGRAPH_NEW_FUNCTIONS and perform actions necessary to add these - functions into callgraph in a way so they look like ordinary reachable - functions inserted into callgraph already at construction time. */ - void process_new_functions (void); - - /* Register a symbol NODE. */ - inline void register_symbol (symtab_node *node); - - inline void - clear_asm_symbols (void) - { - asmnodes = NULL; - asm_last_node = NULL; - } - - /* Perform reachability analysis and reclaim all unreachable nodes. */ - bool remove_unreachable_nodes (FILE *file); - - /* Optimization of function bodies might've rendered some variables as - unnecessary so we want to avoid these from being compiled. Re-do - reachability starting from variables that are either externally visible - or was referred from the asm output routines. */ - void remove_unreferenced_decls (void); - - /* Unregister a symbol NODE. */ - inline void unregister (symtab_node *node); - - /* Allocate new callgraph node and insert it into basic data structures. */ - cgraph_node *create_empty (void); - - /* Release a callgraph NODE. */ - void release_symbol (cgraph_node *node); - - /* Output all variables enqueued to be assembled. */ - bool output_variables (void); - - /* Weakrefs may be associated to external decls and thus not output - at expansion time. Emit all necessary aliases. */ - void output_weakrefs (void); - - /* Return first static symbol with definition. */ - inline symtab_node *first_symbol (void); - - /* Return first assembler symbol. */ - inline asm_node * - first_asm_symbol (void) - { - return asmnodes; - } - - /* Return first static symbol with definition. */ - inline symtab_node *first_defined_symbol (void); - - /* Return first variable. */ - inline varpool_node *first_variable (void); - - /* Return next variable after NODE. */ - inline varpool_node *next_variable (varpool_node *node); - - /* Return first static variable with initializer. */ - inline varpool_node *first_static_initializer (void); - - /* Return next static variable with initializer after NODE. */ - inline varpool_node *next_static_initializer (varpool_node *node); - - /* Return first static variable with definition. */ - inline varpool_node *first_defined_variable (void); - - /* Return next static variable with definition after NODE. */ - inline varpool_node *next_defined_variable (varpool_node *node); - - /* Return first function with body defined. */ - inline cgraph_node *first_defined_function (void); - - /* Return next function with body defined after NODE. */ - inline cgraph_node *next_defined_function (cgraph_node *node); - - /* Return first function. */ - inline cgraph_node *first_function (void); - - /* Return next function. */ - inline cgraph_node *next_function (cgraph_node *node); - - /* Return first function with body defined. */ - cgraph_node *first_function_with_gimple_body (void); - - /* Return next reachable static variable with initializer after NODE. */ - inline cgraph_node *next_function_with_gimple_body (cgraph_node *node); - - /* Register HOOK to be called with DATA on each removed edge. */ - cgraph_edge_hook_list *add_edge_removal_hook (cgraph_edge_hook hook, - void *data); - - /* Remove ENTRY from the list of hooks called on removing edges. */ - void remove_edge_removal_hook (cgraph_edge_hook_list *entry); - - /* Register HOOK to be called with DATA on each removed node. */ - cgraph_node_hook_list *add_cgraph_removal_hook (cgraph_node_hook hook, - void *data); - - /* Remove ENTRY from the list of hooks called on removing nodes. */ - void remove_cgraph_removal_hook (cgraph_node_hook_list *entry); - - /* Register HOOK to be called with DATA on each removed node. */ - varpool_node_hook_list *add_varpool_removal_hook (varpool_node_hook hook, - void *data); - - /* Remove ENTRY from the list of hooks called on removing nodes. */ - void remove_varpool_removal_hook (varpool_node_hook_list *entry); - - /* Register HOOK to be called with DATA on each inserted node. */ - cgraph_node_hook_list *add_cgraph_insertion_hook (cgraph_node_hook hook, - void *data); - - /* Remove ENTRY from the list of hooks called on inserted nodes. */ - void remove_cgraph_insertion_hook (cgraph_node_hook_list *entry); - - /* Register HOOK to be called with DATA on each inserted node. */ - varpool_node_hook_list *add_varpool_insertion_hook (varpool_node_hook hook, - void *data); - - /* Remove ENTRY from the list of hooks called on inserted nodes. */ - void remove_varpool_insertion_hook (varpool_node_hook_list *entry); - - /* Register HOOK to be called with DATA on each duplicated edge. */ - cgraph_2edge_hook_list *add_edge_duplication_hook (cgraph_2edge_hook hook, - void *data); - /* Remove ENTRY from the list of hooks called on duplicating edges. */ - void remove_edge_duplication_hook (cgraph_2edge_hook_list *entry); - - /* Register HOOK to be called with DATA on each duplicated node. */ - cgraph_2node_hook_list *add_cgraph_duplication_hook (cgraph_2node_hook hook, - void *data); - - /* Remove ENTRY from the list of hooks called on duplicating nodes. */ - void remove_cgraph_duplication_hook (cgraph_2node_hook_list *entry); - - /* Call all edge removal hooks. */ - void call_edge_removal_hooks (cgraph_edge *e); - - /* Call all node insertion hooks. */ - void call_cgraph_insertion_hooks (cgraph_node *node); - - /* Call all node removal hooks. */ - void call_cgraph_removal_hooks (cgraph_node *node); - - /* Call all node duplication hooks. */ - void call_cgraph_duplication_hooks (cgraph_node *node, cgraph_node *node2); - - /* Call all edge duplication hooks. */ - void call_edge_duplication_hooks (cgraph_edge *cs1, cgraph_edge *cs2); - - /* Call all node removal hooks. */ - void call_varpool_removal_hooks (varpool_node *node); - - /* Call all node insertion hooks. */ - void call_varpool_insertion_hooks (varpool_node *node); - - /* Arrange node to be first in its entry of assembler_name_hash. */ - void symtab_prevail_in_asm_name_hash (symtab_node *node); - - /* Initialize asm name hash unless. */ - void symtab_initialize_asm_name_hash (void); - - /* Set the DECL_ASSEMBLER_NAME and update symtab hashtables. */ - void change_decl_assembler_name (tree decl, tree name); - - /* Dump symbol table to F. */ - void dump (FILE *f); - - /* Dump symbol table to F in graphviz format. */ - void dump_graphviz (FILE *f); - - /* Dump symbol table to stderr. */ - void DEBUG_FUNCTION debug (void); - - /* Assign a new summary ID for the callgraph NODE. */ - inline int assign_summary_id (cgraph_node *node) - { - if (!cgraph_released_summary_ids.is_empty ()) - node->m_summary_id = cgraph_released_summary_ids.pop (); - else - node->m_summary_id = cgraph_max_summary_id++; - - return node->m_summary_id; - } - - /* Assign a new summary ID for the callgraph EDGE. */ - inline int assign_summary_id (cgraph_edge *edge) - { - if (!edge_released_summary_ids.is_empty ()) - edge->m_summary_id = edge_released_summary_ids.pop (); - else - edge->m_summary_id = edges_max_summary_id++; - - return edge->m_summary_id; - } - - /* Return true if assembler names NAME1 and NAME2 leads to the same symbol - name. */ - static bool assembler_names_equal_p (const char *name1, const char *name2); - - int cgraph_count; - int cgraph_max_uid; - int cgraph_max_summary_id; - - int edges_count; - int edges_max_uid; - int edges_max_summary_id; - - /* Vector of released summary IDS for cgraph nodes. */ - vec GTY ((skip)) cgraph_released_summary_ids; - - /* Vector of released summary IDS for cgraph nodes. */ - vec GTY ((skip)) edge_released_summary_ids; - - /* Return symbol used to separate symbol name from suffix. */ - static char symbol_suffix_separator (); - - symtab_node* GTY(()) nodes; - asm_node* GTY(()) asmnodes; - asm_node* GTY(()) asm_last_node; - - /* The order index of the next symtab node to be created. This is - used so that we can sort the cgraph nodes in order by when we saw - them, to support -fno-toplevel-reorder. */ - int order; - - /* Maximal unit ID used. */ - int max_unit; - - /* Set when whole unit has been analyzed so we can access global info. */ - bool global_info_ready; - /* What state callgraph is in right now. */ - enum symtab_state state; - /* Set when the cgraph is fully build and the basic flags are computed. */ - bool function_flags_ready; - - bool cpp_implicit_aliases_done; - - /* Hash table used to hold sections. */ - hash_table *GTY(()) section_hash; - - /* Hash table used to convert assembler names into nodes. */ - hash_table *assembler_name_hash; - - /* Hash table used to hold init priorities. */ - hash_map *init_priority_hash; - - FILE* GTY ((skip)) dump_file; - - FILE* GTY ((skip)) ipa_clones_dump_file; - - hash_set GTY ((skip)) cloned_nodes; - - /* Thunk annotations. */ - thunk_summary *m_thunks; - - /* Virtual clone annotations. */ - clone_summary *m_clones; - -private: - /* Allocate a cgraph_edge structure and fill it with data according to the - parameters of which only CALLEE can be NULL (when creating an indirect - call edge). CLONING_P should be set if properties that are copied from an - original edge should not be calculated. */ - cgraph_edge *create_edge (cgraph_node *caller, cgraph_node *callee, - gcall *call_stmt, profile_count count, - bool indir_unknown_callee, bool cloning_p); - - /* Put the edge onto the free list. */ - void free_edge (cgraph_edge *e); - - /* Insert NODE to assembler name hash. */ - void insert_to_assembler_name_hash (symtab_node *node, bool with_clones); - - /* Remove NODE from assembler name hash. */ - void unlink_from_assembler_name_hash (symtab_node *node, bool with_clones); - - /* Hash asmnames ignoring the user specified marks. */ - static hashval_t decl_assembler_name_hash (const_tree asmname); - - /* Compare ASMNAME with the DECL_ASSEMBLER_NAME of DECL. */ - static bool decl_assembler_name_equal (tree decl, const_tree asmname); - - friend struct asmname_hasher; - - /* List of hooks triggered when an edge is removed. */ - cgraph_edge_hook_list * GTY((skip)) m_first_edge_removal_hook; - /* List of hooks trigger_red when a cgraph node is removed. */ - cgraph_node_hook_list * GTY((skip)) m_first_cgraph_removal_hook; - /* List of hooks triggered when an edge is duplicated. */ - cgraph_2edge_hook_list * GTY((skip)) m_first_edge_duplicated_hook; - /* List of hooks triggered when a node is duplicated. */ - cgraph_2node_hook_list * GTY((skip)) m_first_cgraph_duplicated_hook; - /* List of hooks triggered when an function is inserted. */ - cgraph_node_hook_list * GTY((skip)) m_first_cgraph_insertion_hook; - /* List of hooks triggered when an variable is inserted. */ - varpool_node_hook_list * GTY((skip)) m_first_varpool_insertion_hook; - /* List of hooks triggered when a node is removed. */ - varpool_node_hook_list * GTY((skip)) m_first_varpool_removal_hook; -}; - -extern GTY(()) symbol_table *symtab; - -extern vec cgraph_new_nodes; - -inline hashval_t -asmname_hasher::hash (symtab_node *n) -{ - return symbol_table::decl_assembler_name_hash - (DECL_ASSEMBLER_NAME (n->decl)); -} - -inline bool -asmname_hasher::equal (symtab_node *n, const_tree t) -{ - return symbol_table::decl_assembler_name_equal (n->decl, t); -} - -/* In cgraph.cc */ -void cgraph_cc_finalize (void); -void release_function_body (tree); -cgraph_indirect_call_info *cgraph_allocate_init_indirect_info (void); - -void cgraph_update_edges_for_call_stmt (gimple *, tree, gimple *); -bool cgraph_function_possibly_inlined_p (tree); - -const char* cgraph_inline_failed_string (cgraph_inline_failed_t); -cgraph_inline_failed_type_t cgraph_inline_failed_type (cgraph_inline_failed_t); - -/* In cgraphunit.cc */ -void cgraphunit_cc_finalize (void); -int tp_first_run_node_cmp (const void *pa, const void *pb); - -/* In symtab-thunks.cc */ -void symtab_thunks_cc_finalize (void); - -/* Initialize datastructures so DECL is a function in lowered gimple form. - IN_SSA is true if the gimple is in SSA. */ -basic_block init_lowered_empty_function (tree, bool, profile_count); - -tree thunk_adjust (gimple_stmt_iterator *, tree, bool, HOST_WIDE_INT, tree, - HOST_WIDE_INT); -/* In cgraphclones.cc */ - -tree clone_function_name_numbered (const char *name, const char *suffix); -tree clone_function_name_numbered (tree decl, const char *suffix); -tree clone_function_name (const char *name, const char *suffix, - unsigned long number); -tree clone_function_name (tree decl, const char *suffix, - unsigned long number); -tree clone_function_name (tree decl, const char *suffix); - -void tree_function_versioning (tree, tree, vec *, - ipa_param_adjustments *, - bool, bitmap, basic_block); - -void dump_callgraph_transformation (const cgraph_node *original, - const cgraph_node *clone, - const char *suffix); -/* In cgraphbuild.cc */ -int compute_call_stmt_bb_frequency (tree, basic_block bb); -void record_references_in_initializer (tree, bool); - -/* In ipa.cc */ -void cgraph_build_static_cdtor (char which, tree body, int priority); -bool ipa_discover_variable_flags (void); - -/* In varpool.cc */ -tree ctor_for_folding (tree); - -/* In ipa-inline-analysis.cc */ -void initialize_inline_failed (struct cgraph_edge *); -bool speculation_useful_p (struct cgraph_edge *e, bool anticipate_inlining); - -/* Return true when the symbol is real symbol, i.e. it is not inline clone - or abstract function kept for debug info purposes only. */ -inline bool -symtab_node::real_symbol_p (void) -{ - cgraph_node *cnode; - - if (DECL_ABSTRACT_P (decl)) - return false; - if (transparent_alias && definition) - return false; - if (!is_a (this)) - return true; - cnode = dyn_cast (this); - if (cnode->inlined_to) - return false; - return true; -} - -/* Return true if DECL should have entry in symbol table if used. - Those are functions and static & external variables. */ - -inline bool -decl_in_symtab_p (const_tree decl) -{ - return (TREE_CODE (decl) == FUNCTION_DECL - || (TREE_CODE (decl) == VAR_DECL - && (TREE_STATIC (decl) || DECL_EXTERNAL (decl)))); -} - -inline bool -symtab_node::in_same_comdat_group_p (symtab_node *target) -{ - symtab_node *source = this; - - if (cgraph_node *cn = dyn_cast (target)) - { - if (cn->inlined_to) - source = cn->inlined_to; - } - if (cgraph_node *cn = dyn_cast (target)) - { - if (cn->inlined_to) - target = cn->inlined_to; - } - - return source->get_comdat_group () == target->get_comdat_group (); -} - -/* Return node that alias is aliasing. */ - -inline symtab_node * -symtab_node::get_alias_target (void) -{ - ipa_ref *ref = NULL; - iterate_reference (0, ref); - gcc_checking_assert (ref->use == IPA_REF_ALIAS); - return ref->referred; -} - -/* Return the DECL (or identifier) that alias is aliasing. Unlike the above, - this works whether or not the alias has been analyzed already. */ - -inline tree -symtab_node::get_alias_target_tree () -{ - if (alias_target) - return alias_target; - return get_alias_target ()->decl; -} - -/* Return next reachable static symbol with initializer after the node. */ - -inline symtab_node * -symtab_node::next_defined_symbol (void) -{ - symtab_node *node1 = next; - - for (; node1; node1 = node1->next) - if (node1->definition) - return node1; - - return NULL; -} - -/* Iterates I-th reference in the list, REF is also set. */ - -inline ipa_ref * -symtab_node::iterate_reference (unsigned i, ipa_ref *&ref) -{ - ref_list.references.iterate (i, &ref); - - return ref; -} - -/* Iterates I-th referring item in the list, REF is also set. */ - -inline ipa_ref * -symtab_node::iterate_referring (unsigned i, ipa_ref *&ref) -{ - ref_list.referring.iterate (i, &ref); - - return ref; -} - -/* Iterates I-th referring alias item in the list, REF is also set. */ - -inline ipa_ref * -symtab_node::iterate_direct_aliases (unsigned i, ipa_ref *&ref) -{ - ref_list.referring.iterate (i, &ref); - - if (ref && ref->use != IPA_REF_ALIAS) - return NULL; - - return ref; -} - -/* Return true if list contains an alias. */ - -inline bool -symtab_node::has_aliases_p (void) -{ - ipa_ref *ref = NULL; - - return (iterate_direct_aliases (0, ref) != NULL); -} - -/* Return true when RESOLUTION indicate that linker will use - the symbol from non-LTO object files. */ - -inline bool -resolution_used_from_other_file_p (enum ld_plugin_symbol_resolution resolution) -{ - return (resolution == LDPR_PREVAILING_DEF - || resolution == LDPR_PREEMPTED_REG - || resolution == LDPR_RESOLVED_EXEC - || resolution == LDPR_RESOLVED_DYN); -} - -/* Return true when symtab_node is known to be used from other (non-LTO) - object file. Known only when doing LTO via linker plugin. */ - -inline bool -symtab_node::used_from_object_file_p (void) -{ - if (!TREE_PUBLIC (decl) || DECL_EXTERNAL (decl)) - return false; - if (resolution_used_from_other_file_p (resolution)) - return true; - return false; -} - -/* Return varpool node for given symbol and check it is a function. */ - -inline varpool_node * -varpool_node::get (const_tree decl) -{ - gcc_checking_assert (TREE_CODE (decl) == VAR_DECL); - return dyn_cast (symtab_node::get (decl)); -} - -/* Register a symbol NODE. */ - -inline void -symbol_table::register_symbol (symtab_node *node) -{ - node->next = nodes; - node->previous = NULL; - - if (nodes) - nodes->previous = node; - nodes = node; - - node->order = order++; -} - -/* Register a top-level asm statement ASM_STR. */ - -asm_node * -symbol_table::finalize_toplevel_asm (tree asm_str) -{ - asm_node *node; - - node = ggc_cleared_alloc (); - node->asm_str = asm_str; - node->order = order++; - node->next = NULL; - - if (asmnodes == NULL) - asmnodes = node; - else - asm_last_node->next = node; - - asm_last_node = node; - return node; -} - -/* Unregister a symbol NODE. */ -inline void -symbol_table::unregister (symtab_node *node) -{ - if (node->previous) - node->previous->next = node->next; - else - nodes = node->next; - - if (node->next) - node->next->previous = node->previous; - - node->next = NULL; - node->previous = NULL; -} - -/* Release a callgraph NODE with UID and put in to the list of free nodes. */ - -inline void -symbol_table::release_symbol (cgraph_node *node) -{ - cgraph_count--; - if (node->m_summary_id != -1) - cgraph_released_summary_ids.safe_push (node->m_summary_id); - ggc_free (node); -} - -/* Return first static symbol with definition. */ -inline symtab_node * -symbol_table::first_symbol (void) -{ - return nodes; -} - -/* Walk all symbols. */ -#define FOR_EACH_SYMBOL(node) \ - for ((node) = symtab->first_symbol (); (node); (node) = (node)->next) - -/* Return first static symbol with definition. */ -inline symtab_node * -symbol_table::first_defined_symbol (void) -{ - symtab_node *node; - - for (node = nodes; node; node = node->next) - if (node->definition) - return node; - - return NULL; -} - -/* Walk all symbols with definitions in current unit. */ -#define FOR_EACH_DEFINED_SYMBOL(node) \ - for ((node) = symtab->first_defined_symbol (); (node); \ - (node) = node->next_defined_symbol ()) - -/* Return first variable. */ -inline varpool_node * -symbol_table::first_variable (void) -{ - symtab_node *node; - for (node = nodes; node; node = node->next) - if (varpool_node *vnode = dyn_cast (node)) - return vnode; - return NULL; -} - -/* Return next variable after NODE. */ -inline varpool_node * -symbol_table::next_variable (varpool_node *node) -{ - symtab_node *node1 = node->next; - for (; node1; node1 = node1->next) - if (varpool_node *vnode1 = dyn_cast (node1)) - return vnode1; - return NULL; -} -/* Walk all variables. */ -#define FOR_EACH_VARIABLE(node) \ - for ((node) = symtab->first_variable (); \ - (node); \ - (node) = symtab->next_variable ((node))) - -/* Return first static variable with initializer. */ -inline varpool_node * -symbol_table::first_static_initializer (void) -{ - symtab_node *node; - for (node = nodes; node; node = node->next) - { - varpool_node *vnode = dyn_cast (node); - if (vnode && DECL_INITIAL (node->decl)) - return vnode; - } - return NULL; -} - -/* Return next static variable with initializer after NODE. */ -inline varpool_node * -symbol_table::next_static_initializer (varpool_node *node) -{ - symtab_node *node1 = node->next; - for (; node1; node1 = node1->next) - { - varpool_node *vnode1 = dyn_cast (node1); - if (vnode1 && DECL_INITIAL (node1->decl)) - return vnode1; - } - return NULL; -} - -/* Walk all static variables with initializer set. */ -#define FOR_EACH_STATIC_INITIALIZER(node) \ - for ((node) = symtab->first_static_initializer (); (node); \ - (node) = symtab->next_static_initializer (node)) - -/* Return first static variable with definition. */ -inline varpool_node * -symbol_table::first_defined_variable (void) -{ - symtab_node *node; - for (node = nodes; node; node = node->next) - { - varpool_node *vnode = dyn_cast (node); - if (vnode && vnode->definition) - return vnode; - } - return NULL; -} - -/* Return next static variable with definition after NODE. */ -inline varpool_node * -symbol_table::next_defined_variable (varpool_node *node) -{ - symtab_node *node1 = node->next; - for (; node1; node1 = node1->next) - { - varpool_node *vnode1 = dyn_cast (node1); - if (vnode1 && vnode1->definition) - return vnode1; - } - return NULL; -} -/* Walk all variables with definitions in current unit. */ -#define FOR_EACH_DEFINED_VARIABLE(node) \ - for ((node) = symtab->first_defined_variable (); (node); \ - (node) = symtab->next_defined_variable (node)) - -/* Return first function with body defined. */ -inline cgraph_node * -symbol_table::first_defined_function (void) -{ - symtab_node *node; - for (node = nodes; node; node = node->next) - { - cgraph_node *cn = dyn_cast (node); - if (cn && cn->definition) - return cn; - } - return NULL; -} - -/* Return next function with body defined after NODE. */ -inline cgraph_node * -symbol_table::next_defined_function (cgraph_node *node) -{ - symtab_node *node1 = node->next; - for (; node1; node1 = node1->next) - { - cgraph_node *cn1 = dyn_cast (node1); - if (cn1 && cn1->definition) - return cn1; - } - return NULL; -} - -/* Walk all functions with body defined. */ -#define FOR_EACH_DEFINED_FUNCTION(node) \ - for ((node) = symtab->first_defined_function (); (node); \ - (node) = symtab->next_defined_function ((node))) - -/* Return first function. */ -inline cgraph_node * -symbol_table::first_function (void) -{ - symtab_node *node; - for (node = nodes; node; node = node->next) - if (cgraph_node *cn = dyn_cast (node)) - return cn; - return NULL; -} - -/* Return next function. */ -inline cgraph_node * -symbol_table::next_function (cgraph_node *node) -{ - symtab_node *node1 = node->next; - for (; node1; node1 = node1->next) - if (cgraph_node *cn1 = dyn_cast (node1)) - return cn1; - return NULL; -} - -/* Return first function with body defined. */ -inline cgraph_node * -symbol_table::first_function_with_gimple_body (void) -{ - symtab_node *node; - for (node = nodes; node; node = node->next) - { - cgraph_node *cn = dyn_cast (node); - if (cn && cn->has_gimple_body_p ()) - return cn; - } - return NULL; -} - -/* Return next reachable static variable with initializer after NODE. */ -inline cgraph_node * -symbol_table::next_function_with_gimple_body (cgraph_node *node) -{ - symtab_node *node1 = node->next; - for (; node1; node1 = node1->next) - { - cgraph_node *cn1 = dyn_cast (node1); - if (cn1 && cn1->has_gimple_body_p ()) - return cn1; - } - return NULL; -} - -/* Walk all functions. */ -#define FOR_EACH_FUNCTION(node) \ - for ((node) = symtab->first_function (); (node); \ - (node) = symtab->next_function ((node))) - -/* Return true when callgraph node is a function with Gimple body defined - in current unit. Functions can also be define externally or they - can be thunks with no Gimple representation. - - Note that at WPA stage, the function body may not be present in memory. */ - -inline bool -cgraph_node::has_gimple_body_p (void) -{ - return definition && !thunk && !alias; -} - -/* Walk all functions with body defined. */ -#define FOR_EACH_FUNCTION_WITH_GIMPLE_BODY(node) \ - for ((node) = symtab->first_function_with_gimple_body (); (node); \ - (node) = symtab->next_function_with_gimple_body (node)) - -/* Uniquize all constants that appear in memory. - Each constant in memory thus far output is recorded - in `const_desc_table'. */ - -struct GTY((for_user)) constant_descriptor_tree { - /* A MEM for the constant. */ - rtx rtl; - - /* The value of the constant. */ - tree value; - - /* Hash of value. Computing the hash from value each time - hashfn is called can't work properly, as that means recursive - use of the hash table during hash table expansion. */ - hashval_t hash; -}; - -/* Return true when function is only called directly or it has alias. - i.e. it is not externally visible, address was not taken and - it is not used in any other non-standard way. */ - -inline bool -cgraph_node::only_called_directly_or_aliased_p (void) -{ - gcc_assert (!inlined_to); - return (!force_output && !address_taken - && !ifunc_resolver - && !used_from_other_partition - && !DECL_VIRTUAL_P (decl) - && !DECL_STATIC_CONSTRUCTOR (decl) - && !DECL_STATIC_DESTRUCTOR (decl) - && !used_from_object_file_p () - && !externally_visible); -} - -/* Return true when function can be removed from callgraph - if all direct calls are eliminated. */ - -inline bool -cgraph_node::can_remove_if_no_direct_calls_and_refs_p (void) -{ - gcc_checking_assert (!inlined_to); - /* Extern inlines can always go, we will use the external definition. */ - if (DECL_EXTERNAL (decl)) - return true; - /* When function is needed, we cannot remove it. */ - if (force_output || used_from_other_partition) - return false; - if (DECL_STATIC_CONSTRUCTOR (decl) - || DECL_STATIC_DESTRUCTOR (decl)) - return false; - /* Only COMDAT functions can be removed if externally visible. */ - if (externally_visible - && ((!DECL_COMDAT (decl) || ifunc_resolver) - || forced_by_abi - || used_from_object_file_p ())) - return false; - return true; -} - -/* Verify cgraph, if consistency checking is enabled. */ - -inline void -cgraph_node::checking_verify_cgraph_nodes (void) -{ - if (flag_checking) - cgraph_node::verify_cgraph_nodes (); -} - -/* Return true when variable can be removed from variable pool - if all direct calls are eliminated. */ - -inline bool -varpool_node::can_remove_if_no_refs_p (void) -{ - if (DECL_EXTERNAL (decl)) - return true; - return (!force_output && !used_from_other_partition - && ((DECL_COMDAT (decl) - && !forced_by_abi - && !used_from_object_file_p ()) - || !externally_visible - || DECL_HAS_VALUE_EXPR_P (decl))); -} - -/* Return true when all references to variable must be visible in ipa_ref_list. - i.e. if the variable is not externally visible or not used in some magic - way (asm statement or such). - The magic uses are all summarized in force_output flag. */ - -inline bool -varpool_node::all_refs_explicit_p () -{ - return (definition - && !externally_visible - && !used_from_other_partition - && !force_output); -} - -struct tree_descriptor_hasher : ggc_ptr_hash -{ - static hashval_t hash (constant_descriptor_tree *); - static bool equal (constant_descriptor_tree *, constant_descriptor_tree *); -}; - -/* Constant pool accessor function. */ -hash_table *constant_pool_htab (void); - -/* Return node that alias is aliasing. */ - -inline cgraph_node * -cgraph_node::get_alias_target (void) -{ - return dyn_cast (symtab_node::get_alias_target ()); -} - -/* Return node that alias is aliasing. */ - -inline varpool_node * -varpool_node::get_alias_target (void) -{ - return dyn_cast (symtab_node::get_alias_target ()); -} - -/* Walk the alias chain to return the symbol NODE is alias of. - If NODE is not an alias, return NODE. - When AVAILABILITY is non-NULL, get minimal availability in the chain. - When REF is non-NULL, assume that reference happens in symbol REF - when determining the availability. */ - -inline symtab_node * -symtab_node::ultimate_alias_target (enum availability *availability, - symtab_node *ref) -{ - if (!alias) - { - if (availability) - *availability = get_availability (ref); - return this; - } - - return ultimate_alias_target_1 (availability, ref); -} - -/* Given function symbol, walk the alias chain to return the function node - is alias of. Do not walk through thunks. - When AVAILABILITY is non-NULL, get minimal availability in the chain. - When REF is non-NULL, assume that reference happens in symbol REF - when determining the availability. */ - -inline cgraph_node * -cgraph_node::ultimate_alias_target (enum availability *availability, - symtab_node *ref) -{ - cgraph_node *n = dyn_cast - (symtab_node::ultimate_alias_target (availability, ref)); - if (!n && availability) - *availability = AVAIL_NOT_AVAILABLE; - return n; -} - -/* For given variable pool node, walk the alias chain to return the function - the variable is alias of. Do not walk through thunks. - When AVAILABILITY is non-NULL, get minimal availability in the chain. - When REF is non-NULL, assume that reference happens in symbol REF - when determining the availability. */ - -inline varpool_node * -varpool_node::ultimate_alias_target (availability *availability, - symtab_node *ref) -{ - varpool_node *n = dyn_cast - (symtab_node::ultimate_alias_target (availability, ref)); - - if (!n && availability) - *availability = AVAIL_NOT_AVAILABLE; - return n; -} - -/* Set callee N of call graph edge and add it to the corresponding set of - callers. */ - -inline void -cgraph_edge::set_callee (cgraph_node *n) -{ - prev_caller = NULL; - if (n->callers) - n->callers->prev_caller = this; - next_caller = n->callers; - n->callers = this; - callee = n; -} - -/* Return true when the edge represents a direct recursion. */ - -inline bool -cgraph_edge::recursive_p (void) -{ - cgraph_node *c = callee->ultimate_alias_target (); - if (caller->inlined_to) - return caller->inlined_to->decl == c->decl; - else - return caller->decl == c->decl; -} - -/* Remove the edge from the list of the callers of the callee. */ - -inline void -cgraph_edge::remove_callee (void) -{ - gcc_assert (!indirect_unknown_callee); - if (prev_caller) - prev_caller->next_caller = next_caller; - if (next_caller) - next_caller->prev_caller = prev_caller; - if (!prev_caller) - callee->callers = next_caller; -} - -/* Return true if call must bind to current definition. */ - -inline bool -cgraph_edge::binds_to_current_def_p () -{ - if (callee) - return callee->binds_to_current_def_p (caller); - else - return false; -} - -/* Expected frequency of executions within the function. - When set to CGRAPH_FREQ_BASE, the edge is expected to be called once - per function call. The range is 0 to CGRAPH_FREQ_MAX. */ - -inline int -cgraph_edge::frequency () -{ - return count.to_cgraph_frequency (caller->inlined_to - ? caller->inlined_to->count - : caller->count); -} - - -/* Return true if the TM_CLONE bit is set for a given FNDECL. */ -inline bool -decl_is_tm_clone (const_tree fndecl) -{ - cgraph_node *n = cgraph_node::get (fndecl); - if (n) - return n->tm_clone; - return false; -} - -/* Likewise indicate that a node is needed, i.e. reachable via some - external means. */ - -inline void -cgraph_node::mark_force_output (void) -{ - force_output = 1; - gcc_checking_assert (!inlined_to); -} - -/* Return true if function should be optimized for size. */ - -inline enum optimize_size_level -cgraph_node::optimize_for_size_p (void) -{ - if (opt_for_fn (decl, optimize_size)) - return OPTIMIZE_SIZE_MAX; - if (count == profile_count::zero ()) - return OPTIMIZE_SIZE_MAX; - if (frequency == NODE_FREQUENCY_UNLIKELY_EXECUTED) - return OPTIMIZE_SIZE_BALANCED; - else - return OPTIMIZE_SIZE_NO; -} - -/* Return symtab_node for NODE or create one if it is not present - in symtab. */ - -inline symtab_node * -symtab_node::get_create (tree node) -{ - if (TREE_CODE (node) == VAR_DECL) - return varpool_node::get_create (node); - else - return cgraph_node::get_create (node); -} - -/* Return availability of NODE when referenced from REF. */ - -inline enum availability -symtab_node::get_availability (symtab_node *ref) -{ - if (is_a (this)) - return dyn_cast (this)->get_availability (ref); - else - return dyn_cast (this)->get_availability (ref); -} - -/* Call callback on symtab node and aliases associated to this node. - When INCLUDE_OVERWRITABLE is false, overwritable symbols are skipped. */ - -inline bool -symtab_node::call_for_symbol_and_aliases (bool (*callback) (symtab_node *, - void *), - void *data, - bool include_overwritable) -{ - if (include_overwritable - || get_availability () > AVAIL_INTERPOSABLE) - { - if (callback (this, data)) - return true; - } - if (has_aliases_p ()) - return call_for_symbol_and_aliases_1 (callback, data, include_overwritable); - return false; -} - -/* Call callback on function and aliases associated to the function. - When INCLUDE_OVERWRITABLE is false, overwritable symbols are - skipped. */ - -inline bool -cgraph_node::call_for_symbol_and_aliases (bool (*callback) (cgraph_node *, - void *), - void *data, - bool include_overwritable) -{ - if (include_overwritable - || get_availability () > AVAIL_INTERPOSABLE) - { - if (callback (this, data)) - return true; - } - if (has_aliases_p ()) - return call_for_symbol_and_aliases_1 (callback, data, include_overwritable); - return false; -} - -/* Call callback on varpool symbol and aliases associated to varpool symbol. - When INCLUDE_OVERWRITABLE is false, overwritable symbols are - skipped. */ - -inline bool -varpool_node::call_for_symbol_and_aliases (bool (*callback) (varpool_node *, - void *), - void *data, - bool include_overwritable) -{ - if (include_overwritable - || get_availability () > AVAIL_INTERPOSABLE) - { - if (callback (this, data)) - return true; - } - if (has_aliases_p ()) - return call_for_symbol_and_aliases_1 (callback, data, include_overwritable); - return false; -} - -/* Return true if reference may be used in address compare. */ - -inline bool -ipa_ref::address_matters_p () -{ - if (use != IPA_REF_ADDR) - return false; - /* Addresses taken from virtual tables are never compared. */ - if (is_a (referring) - && DECL_VIRTUAL_P (referring->decl)) - return false; - return referred->address_can_be_compared_p (); -} - -/* Build polymorphic call context for indirect call E. */ - -inline -ipa_polymorphic_call_context::ipa_polymorphic_call_context (cgraph_edge *e) -{ - gcc_checking_assert (e->indirect_info->polymorphic); - *this = e->indirect_info->context; -} - -/* Build empty "I know nothing" context. */ - -inline -ipa_polymorphic_call_context::ipa_polymorphic_call_context () -{ - clear_speculation (); - clear_outer_type (); - invalid = false; -} - -/* Make context non-speculative. */ - -inline void -ipa_polymorphic_call_context::clear_speculation () -{ - speculative_outer_type = NULL; - speculative_offset = 0; - speculative_maybe_derived_type = false; -} - -/* Produce context specifying all derived types of OTR_TYPE. If OTR_TYPE is - NULL, the context is set to dummy "I know nothing" setting. */ - -inline void -ipa_polymorphic_call_context::clear_outer_type (tree otr_type) -{ - outer_type = otr_type ? TYPE_MAIN_VARIANT (otr_type) : NULL; - offset = 0; - maybe_derived_type = true; - maybe_in_construction = true; - dynamic = true; -} - -/* Adjust all offsets in contexts by OFF bits. */ - -inline void -ipa_polymorphic_call_context::offset_by (HOST_WIDE_INT off) -{ - if (outer_type) - offset += off; - if (speculative_outer_type) - speculative_offset += off; -} - -/* Return TRUE if context is fully useless. */ - -inline bool -ipa_polymorphic_call_context::useless_p () const -{ - return (!outer_type && !speculative_outer_type); -} - -/* When using fprintf (or similar), problems can arise with - transient generated strings. Many string-generation APIs - only support one result being alive at once (e.g. by - returning a pointer to a statically-allocated buffer). - - If there is more than one generated string within one - fprintf call: the first string gets evicted or overwritten - by the second, before fprintf is fully evaluated. - See e.g. PR/53136. - - This function provides a workaround for this, by providing - a simple way to create copies of these transient strings, - without the need to have explicit cleanup: - - fprintf (dumpfile, "string 1: %s string 2:%s\n", - xstrdup_for_dump (EXPR_1), - xstrdup_for_dump (EXPR_2)); - - This is actually a simple wrapper around ggc_strdup, but - the name documents the intent. We require that no GC can occur - within the fprintf call. */ - -inline const char * -xstrdup_for_dump (const char *transient_str) -{ - return ggc_strdup (transient_str); -} - -/* During LTO stream-in this predicate can be used to check whether node - in question prevails in the linking to save some memory usage. */ -inline bool -symtab_node::prevailing_p (void) -{ - return definition && ((!TREE_PUBLIC (decl) && !DECL_EXTERNAL (decl)) - || previous_sharing_asm_name == NULL); -} - -extern GTY(()) symbol_table *saved_symtab; - -#if CHECKING_P - -namespace selftest { - -/* An RAII-style class for use in selftests for temporarily using a different - symbol_table, so that such tests can be isolated from each other. */ - -class symbol_table_test -{ - public: - /* Constructor. Override "symtab". */ - symbol_table_test (); - - /* Destructor. Restore the saved_symtab. */ - ~symbol_table_test (); -}; - -} // namespace selftest - -#endif /* CHECKING_P */ - -#endif /* GCC_CGRAPH_H */ diff --git a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/cif-code.def b/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/cif-code.def deleted file mode 100644 index af88d83d..00000000 --- a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/cif-code.def +++ /dev/null @@ -1,144 +0,0 @@ -/* This file contains the definitions of the cgraph_inline_failed_t - enums used in GCC. - - Copyright (C) 2008-2023 Free Software Foundation, Inc. - Contributed by Doug Kwan - -This file is part of GCC. - -GCC is free software you can redistribute it and/or modify it under -the terms of the GNU General Public License as published by the Free -Software Foundation either version 3, or (at your option) any later -version. - -GCC is distributed in the hope that it will be useful, but WITHOUT ANY -WARRANTY without even the implied warranty of MERCHANTABILITY or -FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -for more details. - -You should have received a copy of the GNU General Public License -along with GCC see the file COPYING3. If not see -. */ - -/* The format of this file is - DEFCIFCODE(code, string). - - Where symbol is the enumeration name without the ``''. - The argument STRING is a explain the failure. Except for OK, - which is a NULL pointer. */ - -/* Inlining successful. This must be the first code. */ -DEFCIFCODE(OK, CIF_FINAL_NORMAL, NULL) - -/* Inlining failed for an unspecified reason. */ -DEFCIFCODE(UNSPECIFIED, CIF_FINAL_ERROR, "") - -/* Function has not be considered for inlining. This is the code for - functions that have not been rejected for inlining yet. */ -DEFCIFCODE(FUNCTION_NOT_CONSIDERED, CIF_FINAL_NORMAL, - N_("function not considered for inlining")) - -/* Caller is compiled with optimizations disabled. */ -DEFCIFCODE(FUNCTION_NOT_OPTIMIZED, CIF_FINAL_ERROR, - N_("caller is not optimized")) - -/* Inlining failed owing to unavailable function body. */ -DEFCIFCODE(BODY_NOT_AVAILABLE, CIF_FINAL_ERROR, - N_("function body not available")) - -/* Extern inline function that has been redefined. */ -DEFCIFCODE(REDEFINED_EXTERN_INLINE, CIF_FINAL_ERROR, - N_("redefined extern inline functions are not considered for " - "inlining")) - -/* Function is not inlinable. */ -DEFCIFCODE(FUNCTION_NOT_INLINABLE, CIF_FINAL_ERROR, - N_("function not inlinable")) - -/* Function is overwritable. */ -DEFCIFCODE(OVERWRITABLE, CIF_FINAL_ERROR, - N_("function body can be overwritten at link time")) - -/* Function is not an inlining candidate. */ -DEFCIFCODE(FUNCTION_NOT_INLINE_CANDIDATE, CIF_FINAL_NORMAL, - N_("function not inline candidate")) - -/* Inlining failed because of various limit parameters. */ -DEFCIFCODE(LARGE_FUNCTION_GROWTH_LIMIT, CIF_FINAL_NORMAL, - N_("--param large-function-growth limit reached")) -DEFCIFCODE(LARGE_STACK_FRAME_GROWTH_LIMIT, CIF_FINAL_NORMAL, - N_("--param large-stack-frame-growth limit reached")) -DEFCIFCODE(MAX_INLINE_INSNS_SINGLE_LIMIT, CIF_FINAL_NORMAL, - N_("--param max-inline-insns-single limit reached")) -DEFCIFCODE(MAX_INLINE_INSNS_AUTO_LIMIT, CIF_FINAL_NORMAL, - N_("--param max-inline-insns-auto limit reached")) -DEFCIFCODE(INLINE_UNIT_GROWTH_LIMIT, CIF_FINAL_NORMAL, - N_("--param inline-unit-growth limit reached")) - -/* Recursive inlining. */ -DEFCIFCODE(RECURSIVE_INLINING, CIF_FINAL_NORMAL, - N_("recursive inlining")) - -/* Call is unlikely. */ -DEFCIFCODE(UNLIKELY_CALL, CIF_FINAL_NORMAL, - N_("call is unlikely and code size would grow")) - -/* Call is considered never executed. */ -DEFCIFCODE(NEVER_CALL, CIF_FINAL_NORMAL, - N_("call is considered never executed and code size would grow")) - -/* Function is not declared as inline. */ -DEFCIFCODE(NOT_DECLARED_INLINED, CIF_FINAL_NORMAL, - N_("function not declared inline and code size would grow")) - -/* Caller and callee disagree on the arguments. */ -DEFCIFCODE(LTO_MISMATCHED_DECLARATIONS, CIF_FINAL_ERROR, - N_("mismatched declarations during linktime optimization")) - -/* Caller is variadic thunk. */ -DEFCIFCODE(VARIADIC_THUNK, CIF_FINAL_ERROR, - N_("variadic thunk call")) - -/* Call was originally indirect. */ -DEFCIFCODE(ORIGINALLY_INDIRECT_CALL, CIF_FINAL_NORMAL, - N_("originally indirect function call not considered for inlining")) - -/* Ths edge represents an indirect edge with a yet-undetermined callee . */ -DEFCIFCODE(INDIRECT_UNKNOWN_CALL, CIF_FINAL_NORMAL, - N_("indirect function call with a yet undetermined callee")) - -/* We can't inline different EH personalities together. */ -DEFCIFCODE(EH_PERSONALITY, CIF_FINAL_ERROR, - N_("exception handling personality mismatch")) - -/* We can't inline if the callee can throw non-call exceptions but the - caller cannot. */ -DEFCIFCODE(NON_CALL_EXCEPTIONS, CIF_FINAL_ERROR, - N_("non-call exception handling mismatch")) - -/* We can't inline because of mismatched target specific options. */ -DEFCIFCODE(TARGET_OPTION_MISMATCH, CIF_FINAL_ERROR, - N_("target specific option mismatch")) - -/* We can't inline because of mismatched optimization levels. */ -DEFCIFCODE(OPTIMIZATION_MISMATCH, CIF_FINAL_ERROR, - N_("optimization level attribute mismatch")) - -/* We can't inline because the callee refers to comdat-local symbols. */ -DEFCIFCODE(USES_COMDAT_LOCAL, CIF_FINAL_NORMAL, - N_("callee refers to comdat-local symbols")) - -/* We can't inline because of mismatched caller/callee - sanitizer attributes. */ -DEFCIFCODE(SANITIZE_ATTRIBUTE_MISMATCH, CIF_FINAL_ERROR, - N_("sanitizer function attribute mismatch")) - -/* We can't inline because the user requests only static functions - but the function has external linkage for live patching purpose. */ -DEFCIFCODE(EXTERN_LIVE_ONLY_STATIC, CIF_FINAL_ERROR, - N_("function has external linkage when the user requests only" - " inlining static for live patching")) - -/* We proved that the call is unreachable. */ -DEFCIFCODE(UNREACHABLE, CIF_FINAL_ERROR, - N_("unreachable")) diff --git a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/collect-utils.h b/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/collect-utils.h deleted file mode 100644 index b872eabb..00000000 --- a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/collect-utils.h +++ /dev/null @@ -1,51 +0,0 @@ -/* Utility functions used by tools like collect2 and lto-wrapper. - Copyright (C) 2009-2023 Free Software Foundation, Inc. - -This file is part of GCC. - -GCC is free software; you can redistribute it and/or modify it under -the terms of the GNU General Public License as published by the Free -Software Foundation; either version 3, or (at your option) any later -version. - -GCC is distributed in the hope that it will be useful, but WITHOUT ANY -WARRANTY; without even the implied warranty of MERCHANTABILITY or -FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -for more details. - -You should have received a copy of the GNU General Public License -along with GCC; see the file COPYING3. If not see -. */ - -#ifndef GCC_COLLECT_UTILS_H -#define GCC_COLLECT_UTILS_H - -/* Provided in collect-utils.cc. */ -extern void notice (const char *, ...) - __attribute__ ((format (printf, 1, 2))); -extern void fatal_signal (int); -extern void setup_signals (void); - -extern struct pex_obj *collect_execute (const char *, char **, - const char *, const char *, - int, bool, const char *); -extern int collect_wait (const char *, struct pex_obj *); -extern void do_wait (const char *, struct pex_obj *); -extern void fork_execute (const char *, char **, bool, const char *); -extern void utils_cleanup (bool); - - -extern bool debug; -extern bool verbose; -extern bool save_temps; -extern const char *dumppfx; - -/* Provided by the tool itself. */ - -/* The name of the tool, printed in error messages. */ -extern const char tool_name[]; -/* Called by utils_cleanup. */ -extern void tool_cleanup (bool); -extern void maybe_unlink (const char *); - -#endif /* GCC_COLLECT_UTILS_H */ diff --git a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/collect2-aix.h b/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/collect2-aix.h deleted file mode 100644 index 6fdafff3..00000000 --- a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/collect2-aix.h +++ /dev/null @@ -1,306 +0,0 @@ -/* AIX cross support for collect2. - Copyright (C) 2009-2023 Free Software Foundation, Inc. - -This file is part of GCC. - -GCC is free software; you can redistribute it and/or modify it under -the terms of the GNU General Public License as published by the Free -Software Foundation; either version 3, or (at your option) any later -version. - -GCC is distributed in the hope that it will be useful, but WITHOUT ANY -WARRANTY; without even the implied warranty of MERCHANTABILITY or -FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -for more details. - -You should have received a copy of the GNU General Public License -along with GCC; see the file COPYING3. If not see -. */ - -#ifndef GCC_COLLECT2_AIX_H -#define GCC_COLLECT2_AIX_H -/* collect2-aix.cc requires mmap support. It should otherwise be - fairly portable. */ -#if defined(CROSS_DIRECTORY_STRUCTURE) \ - && defined(TARGET_AIX_VERSION) \ - && HAVE_MMAP - -#define CROSS_AIX_SUPPORT 1 - -/* ------------------------------------------------------------------------- - Definitions adapted from bfd. (Fairly heavily adapted in some cases.) - ------------------------------------------------------------------------- */ - -/* Compatibility types for bfd. */ -typedef unsigned HOST_WIDE_INT bfd_vma; - -/* The size of an archive's fl_magic field. */ -#define FL_MAGIC_SIZE 8 - -/* The expected contents of fl_magic for big archives. */ -#define FL_MAGIC_BIG_AR "\012" - -/* The size of each offset string in the header of a big archive. */ -#define AR_BIG_OFFSET_SIZE 20 - -/* The format of the file header in a "big" XCOFF archive. */ -struct external_big_ar_filehdr -{ - /* Magic string. */ - char fl_magic[FL_MAGIC_SIZE]; - - /* Offset of the member table (decimal ASCII string). */ - char fl_memoff[AR_BIG_OFFSET_SIZE]; - - /* Offset of the global symbol table for 32-bit objects (decimal ASCII - string). */ - char fl_symoff[AR_BIG_OFFSET_SIZE]; - - /* Offset of the global symbol table for 64-bit objects (decimal ASCII - string). */ - char fl_symoff64[AR_BIG_OFFSET_SIZE]; - - /* Offset of the first member in the archive (decimal ASCII string). */ - char fl_firstmemoff[AR_BIG_OFFSET_SIZE]; - - /* Offset of the last member in the archive (decimal ASCII string). */ - char fl_lastmemoff[AR_BIG_OFFSET_SIZE]; - - /* Offset of the first member on the free list (decimal ASCII - string). */ - char fl_freeoff[AR_BIG_OFFSET_SIZE]; -}; - -/* Each archive name is followed by this many bytes of magic string. */ -#define SXCOFFARFMAG 2 - -/* The format of a member header in a "big" XCOFF archive. */ -struct external_big_ar_member -{ - /* File size not including the header (decimal ASCII string). */ - char ar_size[AR_BIG_OFFSET_SIZE]; - - /* File offset of next archive member (decimal ASCII string). */ - char ar_nextoff[AR_BIG_OFFSET_SIZE]; - - /* File offset of previous archive member (decimal ASCII string). */ - char ar_prevoff[AR_BIG_OFFSET_SIZE]; - - /* File mtime (decimal ASCII string). */ - char ar_date[12]; - - /* File UID (decimal ASCII string). */ - char ar_uid[12]; - - /* File GID (decimal ASCII string). */ - char ar_gid[12]; - - /* File mode (octal ASCII string). */ - char ar_mode[12]; - - /* Length of file name (decimal ASCII string). */ - char ar_namlen[4]; - - /* This structure is followed by the file name. The length of the - name is given in the namlen field. If the length of the name is - odd, the name is followed by a null byte. The name and optional - null byte are followed by XCOFFARFMAG, which is not included in - namlen. The contents of the archive member follow; the number of - bytes is given in the size field. */ -}; - -/* The known values of f_magic in an XCOFF file header. */ -#define U802WRMAGIC 0730 /* Writeable text segments. */ -#define U802ROMAGIC 0735 /* Readonly sharable text segments. */ -#define U802TOCMAGIC 0737 /* Readonly text segments and TOC. */ -#define U803XTOCMAGIC 0757 /* Aix 4.3 64-bit XCOFF. */ -#define U64_TOCMAGIC 0767 /* AIX 5+ 64-bit XCOFF. */ - -/* The number of bytes in an XCOFF file's f_magic field. */ -#define F_MAGIC_SIZE 2 - -/* The format of a 32-bit XCOFF file header. */ -struct external_filehdr_32 -{ - /* The magic number. */ - char f_magic[F_MAGIC_SIZE]; - - /* The number of sections. */ - char f_nscns[2]; - - /* Time & date stamp. */ - char f_timdat[4]; - - /* The offset of the symbol table from the start of the file. */ - char f_symptr[4]; - - /* The number of entries in the symbol table. */ - char f_nsyms[4]; - - /* The size of the auxiliary header. */ - char f_opthdr[2]; - - /* Flags. */ - char f_flags[2]; -}; - -/* The format of a 64-bit XCOFF file header. */ -struct external_filehdr_64 -{ - /* The magic number. */ - char f_magic[F_MAGIC_SIZE]; - - /* The number of sections. */ - char f_nscns[2]; - - /* Time & date stamp. */ - char f_timdat[4]; - - /* The offset of the symbol table from the start of the file. */ - char f_symptr[8]; - - /* The size of the auxiliary header. */ - char f_opthdr[2]; - - /* Flags. */ - char f_flags[2]; - - /* The number of entries in the symbol table. */ - char f_nsyms[4]; -}; - -/* An internal representation of the XCOFF file header. */ -struct internal_filehdr -{ - unsigned short f_magic; - unsigned short f_nscns; - long f_timdat; - bfd_vma f_symptr; - long f_nsyms; - unsigned short f_opthdr; - unsigned short f_flags; -}; - -/* Symbol classes have their names in the debug section if this flag - is set. */ -#define DBXMASK 0x80 - -/* The format of an XCOFF symbol-table entry. */ -struct external_syment -{ - union { - struct { - union { - /* The name of the symbol. There is an implicit null character - after the end of the array. */ - char n_name[8]; - struct { - /* If n_zeroes is zero, n_offset is the offset the name from - the start of the string table. */ - char n_zeroes[4]; - char n_offset[4]; - } u; - } u; - - /* The symbol's value. */ - char n_value[4]; - } xcoff32; - struct { - /* The symbol's value. */ - char n_value[8]; - - /* The offset of the symbol from the start of the string table. */ - char n_offset[4]; - } xcoff64; - } u; - - /* The number of the section to which this symbol belongs. */ - char n_scnum[2]; - - /* The type of symbol. (It can be interpreted as an n_lang - and an n_cpu byte, but we don't care about that here.) */ - char n_type[2]; - - /* The class of symbol (a C_* value). */ - char n_sclass[1]; - - /* The number of auxiliary symbols attached to this entry. */ - char n_numaux[1]; -}; - -/* Definitions required by collect2. */ -#define C_EXT 2 - -#define F_SHROBJ 0x2000 -#define F_LOADONLY 0x4000 - -#define N_UNDEF ((short) 0) -#define N_TMASK 060 -#define N_BTSHFT 4 - -#define DT_NON 0 -#define DT_FCN 2 - -/* ------------------------------------------------------------------------- - Local code. - ------------------------------------------------------------------------- */ - -/* An internal representation of an XCOFF symbol-table entry, - which is associated with the API-defined SYMENT type. */ -struct internal_syment -{ - char n_name[9]; - unsigned int n_zeroes; - bfd_vma n_offset; - bfd_vma n_value; - short n_scnum; - unsigned short n_flags; - unsigned short n_type; - unsigned char n_sclass; - unsigned char n_numaux; -}; -typedef struct internal_syment SYMENT; - -/* The internal representation of the API-defined LDFILE type. */ -struct internal_ldfile -{ - /* The file handle for the associated file, or -1 if it hasn't been - opened yet. */ - int fd; - - /* The start of the current XCOFF object, if one has been mapped - into memory. Null otherwise. */ - char *object; - - /* The offset of OBJECT from the start of the containing page. */ - size_t page_offset; - - /* The size of the file pointed to by OBJECT. Valid iff OFFSET - is nonnull. */ - size_t object_size; - - /* The offset of the next member in an archive after OBJECT, - or -1 if this isn't an archive. Valid iff OFFSET is nonnull. */ - off_t next_member; - - /* The parsed version of the XCOFF file header. */ - struct internal_filehdr filehdr; -}; -typedef struct internal_ldfile LDFILE; - -/* The API allows the file header to be directly accessed via this macro. */ -#define HEADER(FILE) ((FILE)->filehdr) - -/* API-defined return codes. SUCCESS must be > 0 and FAILURE must be <= 0. */ -#define SUCCESS 1 -#define FAILURE 0 - -/* API-defined functions. */ -extern LDFILE *ldopen (char *, LDFILE *); -extern char *ldgetname (LDFILE *, SYMENT *); -extern int ldtbread (LDFILE *, long, SYMENT *); -extern int ldclose (LDFILE *); - -#endif - -#endif /* GCC_COLLECT2_AIX_H */ diff --git a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/collect2.h b/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/collect2.h deleted file mode 100644 index de12ef06..00000000 --- a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/collect2.h +++ /dev/null @@ -1,39 +0,0 @@ -/* Header file for collect routines. - Copyright (C) 1998-2023 Free Software Foundation, Inc. - -This file is part of GCC. - -GCC is free software; you can redistribute it and/or modify it under -the terms of the GNU General Public License as published by the Free -Software Foundation; either version 3, or (at your option) any later -version. - -GCC is distributed in the hope that it will be useful, but WITHOUT ANY -WARRANTY; without even the implied warranty of MERCHANTABILITY or -FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -for more details. - -You should have received a copy of the GNU General Public License -along with GCC; see the file COPYING3. If not see -. */ - -#ifndef GCC_COLLECT2_H -#define GCC_COLLECT2_H - -extern struct pex_obj *collect_execute (const char *, char **, const char *, - const char *, int flags); - -extern int collect_wait (const char *, struct pex_obj *); - -extern int file_exists (const char *); - -extern const char *c_file_name; -extern struct obstack temporary_obstack; -extern char *temporary_firstobj; -extern bool may_unlink_output_file; - -extern void notice_translated (const char *, ...) ATTRIBUTE_PRINTF_1; -extern void notice (const char *, ...) ATTRIBUTE_PRINTF_1; - -extern bool at_file_supplied; -#endif /* ! GCC_COLLECT2_H */ diff --git a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/color-macros.h b/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/color-macros.h deleted file mode 100644 index fcd79d09..00000000 --- a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/color-macros.h +++ /dev/null @@ -1,108 +0,0 @@ -/* Terminal color manipulation macros. - Copyright (C) 2005-2023 Free Software Foundation, Inc. - -This file is part of GCC. - -GCC is free software; you can redistribute it and/or modify it under -the terms of the GNU General Public License as published by the Free -Software Foundation; either version 3, or (at your option) any later -version. - -GCC is distributed in the hope that it will be useful, but WITHOUT ANY -WARRANTY; without even the implied warranty of MERCHANTABILITY or -FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -for more details. - -You should have received a copy of the GNU General Public License -along with GCC; see the file COPYING3. If not see -. */ - -#ifndef GCC_COLOR_MACROS_H -#define GCC_COLOR_MACROS_H - -/* Select Graphic Rendition (SGR, "\33[...m") strings. */ -/* Also Erase in Line (EL) to Right ("\33[K") by default. */ -/* Why have EL to Right after SGR? - -- The behavior of line-wrapping when at the bottom of the - terminal screen and at the end of the current line is often - such that a new line is introduced, entirely cleared with - the current background color which may be different from the - default one (see the boolean back_color_erase terminfo(5) - capability), thus scrolling the display by one line. - The end of this new line will stay in this background color - even after reverting to the default background color with - "\33[m', unless it is explicitly cleared again with "\33[K" - (which is the behavior the user would instinctively expect - from the whole thing). There may be some unavoidable - background-color flicker at the end of this new line because - of this (when timing with the monitor's redraw is just right). - -- The behavior of HT (tab, "\t") is usually the same as that of - Cursor Forward Tabulation (CHT) with a default parameter - of 1 ("\33[I"), i.e., it performs pure movement to the next - tab stop, without any clearing of either content or screen - attributes (including background color); try - printf 'asdfqwerzxcv\rASDF\tZXCV\n' - in a bash(1) shell to demonstrate this. This is not what the - user would instinctively expect of HT (but is ok for CHT). - The instinctive behavior would include clearing the terminal - cells that are skipped over by HT with blank cells in the - current screen attributes, including background color; - the boolean dest_tabs_magic_smso terminfo(5) capability - indicates this saner behavior for HT, but only some rare - terminals have it (although it also indicates a special - glitch with standout mode in the Teleray terminal for which - it was initially introduced). The remedy is to add "\33K" - after each SGR sequence, be it START (to fix the behavior - of any HT after that before another SGR) or END (to fix the - behavior of an HT in default background color that would - follow a line-wrapping at the bottom of the screen in another - background color, and to complement doing it after START). - Piping GCC's output through a pager such as less(1) avoids - any HT problems since the pager performs tab expansion. - - Generic disadvantages of this remedy are: - -- Some very rare terminals might support SGR but not EL (nobody - will use "gcc -fdiagnostics-color" on a terminal that does not - support SGR in the first place). - -- Having these extra control sequences might somewhat complicate - the task of any program trying to parse "gcc -fdiagnostics-color" - output in order to extract structuring information from it. - A specific disadvantage to doing it after SGR START is: - -- Even more possible background color flicker (when timing - with the monitor's redraw is just right), even when not at the - bottom of the screen. - There are no additional disadvantages specific to doing it after - SGR END. - - It would be impractical for GCC to become a full-fledged - terminal program linked against ncurses or the like, so it will - not detect terminfo(5) capabilities. */ - -#define COLOR_SEPARATOR ";" -#define COLOR_NONE "00" -#define COLOR_BOLD "01" -#define COLOR_UNDERSCORE "04" -#define COLOR_BLINK "05" -#define COLOR_REVERSE "07" -#define COLOR_FG_BLACK "30" -#define COLOR_FG_RED "31" -#define COLOR_FG_GREEN "32" -#define COLOR_FG_YELLOW "33" -#define COLOR_FG_BLUE "34" -#define COLOR_FG_MAGENTA "35" -#define COLOR_FG_CYAN "36" -#define COLOR_FG_WHITE "37" -#define COLOR_BG_BLACK "40" -#define COLOR_BG_RED "41" -#define COLOR_BG_GREEN "42" -#define COLOR_BG_YELLOW "43" -#define COLOR_BG_BLUE "44" -#define COLOR_BG_MAGENTA "45" -#define COLOR_BG_CYAN "46" -#define COLOR_BG_WHITE "47" -#define SGR_START "\33[" -#define SGR_END "m\33[K" -#define SGR_SEQ(str) SGR_START str SGR_END -#define SGR_RESET SGR_SEQ("") - -#endif /* GCC_COLOR_MACROS_H */ diff --git a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/conditions.h b/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/conditions.h deleted file mode 100644 index 92a60e28..00000000 --- a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/conditions.h +++ /dev/null @@ -1,69 +0,0 @@ -/* Definitions for condition code handling in final.cc and output routines. - Copyright (C) 1987-2023 Free Software Foundation, Inc. - -This file is part of GCC. - -GCC is free software; you can redistribute it and/or modify it under -the terms of the GNU General Public License as published by the Free -Software Foundation; either version 3, or (at your option) any later -version. - -GCC is distributed in the hope that it will be useful, but WITHOUT ANY -WARRANTY; without even the implied warranty of MERCHANTABILITY or -FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -for more details. - -You should have received a copy of the GNU General Public License -along with GCC; see the file COPYING3. If not see -. */ - -#ifndef GCC_CONDITIONS_H -#define GCC_CONDITIONS_H - -/* These are the machine-independent flags: */ - -/* Set if the sign of the cc value is inverted: - output a following jump-if-less as a jump-if-greater, etc. */ -#define CC_REVERSED 1 - -/* This bit means that the current setting of the N bit is bogus - and conditional jumps should use the Z bit in its place. - This state obtains when an extraction of a signed single-bit field - or an arithmetic shift right of a byte by 7 bits - is turned into a btst, because btst does not set the N bit. */ -#define CC_NOT_POSITIVE 2 - -/* This bit means that the current setting of the N bit is bogus - and conditional jumps should pretend that the N bit is clear. - Used after extraction of an unsigned bit - or logical shift right of a byte by 7 bits is turned into a btst. - The btst does not alter the N bit, but the result of that shift - or extract is never negative. */ -#define CC_NOT_NEGATIVE 4 - -/* This bit means that the current setting of the overflow flag - is bogus and conditional jumps should pretend there is no overflow. */ -/* ??? Note that for most targets this macro is misnamed as it applies - to the carry flag, not the overflow flag. */ -#define CC_NO_OVERFLOW 010 - -/* This bit means that what ought to be in the Z bit - should be tested as the complement of the N bit. */ -#define CC_Z_IN_NOT_N 020 - -/* This bit means that what ought to be in the Z bit - should be tested as the N bit. */ -#define CC_Z_IN_N 040 - -/* Nonzero if we must invert the sense of the following branch, i.e. - change EQ to NE. This is not safe for IEEE floating point operations! - It is intended for use only when a combination of arithmetic - or logical insns can leave the condition codes set in a fortuitous - (though inverted) state. */ -#define CC_INVERTED 0100 - -/* Nonzero if we must convert signed condition operators to unsigned. - This is only used by machine description files. */ -#define CC_NOT_SIGNED 0200 - -#endif /* GCC_CONDITIONS_H */ diff --git a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/config.h b/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/config.h deleted file mode 100644 index aa6dd6bb..00000000 --- a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/config.h +++ /dev/null @@ -1,10 +0,0 @@ -#ifndef GCC_CONFIG_H -#define GCC_CONFIG_H -#ifdef GENERATOR_FILE -#error config.h is for the host, not build, machine. -#endif -#include "auto-host.h" -#ifdef IN_GCC -# include "ansidecl.h" -#endif -#endif /* GCC_CONFIG_H */ diff --git a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/config/elfos.h b/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/config/elfos.h deleted file mode 100644 index f294f3b5..00000000 --- a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/config/elfos.h +++ /dev/null @@ -1,484 +0,0 @@ -/* elfos.h -- operating system specific defines to be used when - targeting GCC for some generic ELF system - Copyright (C) 1991-2023 Free Software Foundation, Inc. - Based on svr4.h contributed by Ron Guilmette (rfg@netcom.com). - -This file is part of GCC. - -GCC is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 3, or (at your option) -any later version. - -GCC is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -Under Section 7 of GPL version 3, you are granted additional -permissions described in the GCC Runtime Library Exception, version -3.1, as published by the Free Software Foundation. - -You should have received a copy of the GNU General Public License and -a copy of the GCC Runtime Library Exception along with this program; -see the files COPYING3 and COPYING.RUNTIME respectively. If not, see -. */ - -#define TARGET_OBJFMT_CPP_BUILTINS() \ - do \ - { \ - builtin_define ("__ELF__"); \ - } \ - while (0) - -/* Define a symbol indicating that we are using elfos.h. - Some CPU specific configuration files use this. */ -#define USING_ELFOS_H - -/* The prefix to add to user-visible assembler symbols. - - For ELF systems the convention is *not* to prepend a leading - underscore onto user-level symbol names. */ - -#undef USER_LABEL_PREFIX -#define USER_LABEL_PREFIX "" - -/* The biggest alignment supported by ELF in bits. 32-bit ELF - supports section alignment up to (0x80000000 * 8), while - 64-bit ELF supports (0x8000000000000000 * 8). If this macro - is not defined, the default is the largest alignment supported - by 32-bit ELF and representable on a 32-bit host. Use this - macro to limit the alignment which can be specified using - the `__attribute__ ((aligned (N)))' construct. */ -#ifndef MAX_OFILE_ALIGNMENT -#define MAX_OFILE_ALIGNMENT (((unsigned int) 1 << 28) * 8) -#endif - -/* Use periods rather than dollar signs in special g++ assembler names. */ - -#define NO_DOLLAR_IN_LABEL - -/* Writing `int' for a bit-field forces int alignment for the structure. */ - -#ifndef PCC_BITFIELD_TYPE_MATTERS -#define PCC_BITFIELD_TYPE_MATTERS 1 -#endif - -/* All ELF targets can support DWARF-2. */ - -#define DWARF2_DEBUGGING_INFO 1 - -/* All ELF targets can support CTF. */ - -#define CTF_DEBUGGING_INFO 1 - -/* All ELF targets can support BTF. */ - -#define BTF_DEBUGGING_INFO 1 - -/* The GNU tools operate better with dwarf2, and it is required by some - psABI's. Since we don't have any native tools to be compatible with, - default to dwarf2. */ - -#ifndef PREFERRED_DEBUGGING_TYPE -#define PREFERRED_DEBUGGING_TYPE DWARF2_DEBUG -#endif - -/* All SVR4 targets use the ELF object file format. */ -#define OBJECT_FORMAT_ELF - - -/* Output #ident as a .ident. */ - -#undef TARGET_ASM_OUTPUT_IDENT -#define TARGET_ASM_OUTPUT_IDENT default_asm_output_ident_directive - -#undef SET_ASM_OP -#define SET_ASM_OP "\t.set\t" - -/* Most svr4 assemblers want a .file directive at the beginning of - their input file. */ -#define TARGET_ASM_FILE_START_FILE_DIRECTIVE true - -/* This is how to allocate empty space in some section. The .zero - pseudo-op is used for this on most svr4 assemblers. */ - -#define SKIP_ASM_OP "\t.zero\t" - -#undef ASM_OUTPUT_SKIP -#define ASM_OUTPUT_SKIP(FILE, SIZE) \ - fprintf ((FILE), "%s" HOST_WIDE_INT_PRINT_UNSIGNED "\n",\ - SKIP_ASM_OP, (SIZE)) - -/* This is how to store into the string LABEL - the symbol_ref name of an internal numbered label where - PREFIX is the class of label and NUM is the number within the class. - This is suitable for output with `assemble_name'. - - For most svr4 systems, the convention is that any symbol which begins - with a period is not put into the linker symbol table by the assembler. */ - -#undef ASM_GENERATE_INTERNAL_LABEL -#define ASM_GENERATE_INTERNAL_LABEL(LABEL, PREFIX, NUM) \ - do \ - { \ - char *__p; \ - (LABEL)[0] = '*'; \ - (LABEL)[1] = '.'; \ - __p = stpcpy (&(LABEL)[2], PREFIX); \ - sprint_ul (__p, (unsigned long) (NUM)); \ - } \ - while (0) - -/* Output the label which precedes a jumptable. Note that for all svr4 - systems where we actually generate jumptables (which is to say every - svr4 target except i386, where we use casesi instead) we put the jump- - tables into the .rodata section and since other stuff could have been - put into the .rodata section prior to any given jumptable, we have to - make sure that the location counter for the .rodata section gets pro- - perly re-aligned prior to the actual beginning of the jump table. */ - -#undef ALIGN_ASM_OP -#define ALIGN_ASM_OP "\t.align\t" - -#ifndef ASM_OUTPUT_BEFORE_CASE_LABEL -#define ASM_OUTPUT_BEFORE_CASE_LABEL(FILE, PREFIX, NUM, TABLE) \ - ASM_OUTPUT_ALIGN ((FILE), 2) -#endif - -#undef ASM_OUTPUT_CASE_LABEL -#define ASM_OUTPUT_CASE_LABEL(FILE, PREFIX, NUM, JUMPTABLE) \ - do \ - { \ - ASM_OUTPUT_BEFORE_CASE_LABEL (FILE, PREFIX, NUM, JUMPTABLE); \ - (*targetm.asm_out.internal_label) (FILE, PREFIX, NUM); \ - } \ - while (0) - -/* The standard SVR4 assembler seems to require that certain builtin - library routines (e.g. .udiv) be explicitly declared as .globl - in each assembly file where they are referenced. */ - -#define ASM_OUTPUT_EXTERNAL_LIBCALL(FILE, FUN) \ - (*targetm.asm_out.globalize_label) (FILE, XSTR (FUN, 0)) - -/* This says how to output assembler code to declare an - uninitialized external linkage data object. Under SVR4, - the linker seems to want the alignment of data objects - to depend on their types. We do exactly that here. */ - -#define COMMON_ASM_OP "\t.comm\t" - -#undef ASM_OUTPUT_ALIGNED_COMMON -#define ASM_OUTPUT_ALIGNED_COMMON(FILE, NAME, SIZE, ALIGN) \ - do \ - { \ - fprintf ((FILE), "%s", COMMON_ASM_OP); \ - assemble_name ((FILE), (NAME)); \ - fprintf ((FILE), "," HOST_WIDE_INT_PRINT_UNSIGNED ",%u\n", \ - (SIZE), (ALIGN) / BITS_PER_UNIT); \ - } \ - while (0) - -/* This says how to output assembler code to declare an - uninitialized internal linkage data object. Under SVR4, - the linker seems to want the alignment of data objects - to depend on their types. We do exactly that here. */ - -#define LOCAL_ASM_OP "\t.local\t" - -#undef ASM_OUTPUT_ALIGNED_LOCAL -#define ASM_OUTPUT_ALIGNED_LOCAL(FILE, NAME, SIZE, ALIGN) \ - do \ - { \ - fprintf ((FILE), "%s", LOCAL_ASM_OP); \ - assemble_name ((FILE), (NAME)); \ - fprintf ((FILE), "\n"); \ - ASM_OUTPUT_ALIGNED_COMMON (FILE, NAME, SIZE, ALIGN); \ - } \ - while (0) - -/* This is the pseudo-op used to generate a contiguous sequence of byte - values from a double-quoted string WITHOUT HAVING A TERMINATING NUL - AUTOMATICALLY APPENDED. This is the same for most svr4 assemblers. */ - -#undef ASCII_DATA_ASM_OP -#define ASCII_DATA_ASM_OP "\t.ascii\t" - -/* Support a read-only data section. */ -#define READONLY_DATA_SECTION_ASM_OP "\t.section\t.rodata" - -/* On svr4, we *do* have support for the .init and .fini sections, and we - can put stuff in there to be executed before and after `main'. We let - crtstuff.c and other files know this by defining the following symbols. - The definitions say how to change sections to the .init and .fini - sections. This is the same for all known svr4 assemblers. */ - -#define INIT_SECTION_ASM_OP "\t.section\t.init" -#define FINI_SECTION_ASM_OP "\t.section\t.fini" - -/* Output assembly directive to move to the beginning of current section. */ -#ifdef HAVE_GAS_SUBSECTION_ORDERING -# define ASM_SECTION_START_OP "\t.subsection\t-1" -# define ASM_OUTPUT_SECTION_START(FILE) \ - fprintf ((FILE), "%s\n", ASM_SECTION_START_OP) -#endif - -#define MAKE_DECL_ONE_ONLY(DECL) (DECL_WEAK (DECL) = 1) - -/* Switch into a generic section. */ -#define TARGET_ASM_NAMED_SECTION default_elf_asm_named_section - -#undef TARGET_ASM_SELECT_RTX_SECTION -#define TARGET_ASM_SELECT_RTX_SECTION default_elf_select_rtx_section -#undef TARGET_ASM_SELECT_SECTION -#define TARGET_ASM_SELECT_SECTION default_elf_select_section -#undef TARGET_HAVE_SWITCHABLE_BSS_SECTIONS -#define TARGET_HAVE_SWITCHABLE_BSS_SECTIONS true - -/* Define the strings used for the special svr4 .type and .size directives. - These strings generally do not vary from one system running svr4 to - another, but if a given system (e.g. m88k running svr) needs to use - different pseudo-op names for these, they may be overridden in the - file which includes this one. */ - -#define TYPE_ASM_OP "\t.type\t" -#define SIZE_ASM_OP "\t.size\t" - -/* This is how we tell the assembler that a symbol is weak. */ - -#define ASM_WEAKEN_LABEL(FILE, NAME) \ - do \ - { \ - fputs ("\t.weak\t", (FILE)); \ - assemble_name ((FILE), (NAME)); \ - fputc ('\n', (FILE)); \ - } \ - while (0) - -#define ASM_OUTPUT_SYMVER_DIRECTIVE(FILE, NAME, NAME2) \ - do \ - { \ - fputs ("\t.symver\t", (FILE)); \ - assemble_name ((FILE), (NAME)); \ - fputs (", ", (FILE)); \ - assemble_name ((FILE), (NAME2)); \ - fputc ('\n', (FILE)); \ - } \ - while (0) - -/* The following macro defines the format used to output the second - operand of the .type assembler directive. Different svr4 assemblers - expect various different forms for this operand. The one given here - is just a default. You may need to override it in your machine- - specific tm.h file (depending upon the particulars of your assembler). */ - -#define TYPE_OPERAND_FMT "@%s" - -/* Write the extra assembler code needed to declare a function's result. - Most svr4 assemblers don't require any special declaration of the - result value, but there are exceptions. */ - -#ifndef ASM_DECLARE_RESULT -#define ASM_DECLARE_RESULT(FILE, RESULT) -#endif - -/* These macros generate the special .type and .size directives which - are used to set the corresponding fields of the linker symbol table - entries in an ELF object file under SVR4. These macros also output - the starting labels for the relevant functions/objects. */ - -/* Write the extra assembler code needed to declare a function properly. - Some svr4 assemblers need to also have something extra said about the - function's return value. We allow for that here. */ - -#ifndef ASM_DECLARE_FUNCTION_NAME -#define ASM_DECLARE_FUNCTION_NAME(FILE, NAME, DECL) \ - do \ - { \ - ASM_OUTPUT_TYPE_DIRECTIVE (FILE, NAME, "function"); \ - ASM_DECLARE_RESULT (FILE, DECL_RESULT (DECL)); \ - ASM_OUTPUT_FUNCTION_LABEL (FILE, NAME, DECL); \ - } \ - while (0) -#endif - -/* Write the extra assembler code needed to declare the name of a - cold function partition properly. Some svr4 assemblers need to also - have something extra said about the function's return value. We - allow for that here. */ - -#ifndef ASM_DECLARE_COLD_FUNCTION_NAME -#define ASM_DECLARE_COLD_FUNCTION_NAME(FILE, NAME, DECL) \ - do \ - { \ - ASM_OUTPUT_TYPE_DIRECTIVE (FILE, NAME, "function"); \ - ASM_DECLARE_RESULT (FILE, DECL_RESULT (DECL)); \ - ASM_OUTPUT_FUNCTION_LABEL (FILE, NAME, DECL); \ - } \ - while (0) -#endif - -/* Write the extra assembler code needed to declare an object properly. */ - -#ifdef HAVE_GAS_GNU_UNIQUE_OBJECT -#define USE_GNU_UNIQUE_OBJECT flag_gnu_unique -#else -#define USE_GNU_UNIQUE_OBJECT 0 -#endif - -#define ASM_DECLARE_OBJECT_NAME(FILE, NAME, DECL) \ - do \ - { \ - HOST_WIDE_INT size; \ - \ - /* For template static data member instantiations or \ - inline fn local statics and their guard variables, use \ - gnu_unique_object so that they will be combined even under \ - RTLD_LOCAL. Don't use gnu_unique_object for typeinfo, \ - vtables and other read-only artificial decls. */ \ - if (USE_GNU_UNIQUE_OBJECT && DECL_ONE_ONLY (DECL) \ - && (!DECL_ARTIFICIAL (DECL) || !TREE_READONLY (DECL))) \ - ASM_OUTPUT_TYPE_DIRECTIVE (FILE, NAME, "gnu_unique_object"); \ - else \ - ASM_OUTPUT_TYPE_DIRECTIVE (FILE, NAME, "object"); \ - \ - size_directive_output = 0; \ - if (!flag_inhibit_size_directive \ - && (DECL) && DECL_SIZE (DECL)) \ - { \ - size_directive_output = 1; \ - size = tree_to_uhwi (DECL_SIZE_UNIT (DECL)); \ - ASM_OUTPUT_SIZE_DIRECTIVE (FILE, NAME, size); \ - } \ - \ - ASM_OUTPUT_LABEL (FILE, NAME); \ - } \ - while (0) - -/* Output the size directive for a decl in rest_of_decl_compilation - in the case where we did not do so before the initializer. - Once we find the error_mark_node, we know that the value of - size_directive_output was set - by ASM_DECLARE_OBJECT_NAME when it was run for the same decl. */ - -#undef ASM_FINISH_DECLARE_OBJECT -#define ASM_FINISH_DECLARE_OBJECT(FILE, DECL, TOP_LEVEL, AT_END)\ - do \ - { \ - const char *name = XSTR (XEXP (DECL_RTL (DECL), 0), 0); \ - HOST_WIDE_INT size; \ - \ - if (!flag_inhibit_size_directive \ - && DECL_SIZE (DECL) \ - && ! AT_END && TOP_LEVEL \ - && DECL_INITIAL (DECL) == error_mark_node \ - && !size_directive_output) \ - { \ - size_directive_output = 1; \ - size = tree_to_uhwi (DECL_SIZE_UNIT (DECL)); \ - ASM_OUTPUT_SIZE_DIRECTIVE (FILE, name, size); \ - } \ - } \ - while (0) - -/* This is how to declare the size of a function. */ -#ifndef ASM_DECLARE_FUNCTION_SIZE -#define ASM_DECLARE_FUNCTION_SIZE(FILE, FNAME, DECL) \ - do \ - { \ - if (!flag_inhibit_size_directive) \ - ASM_OUTPUT_MEASURED_SIZE (FILE, FNAME); \ - } \ - while (0) -#endif - -/* This is how to declare the size of a cold function partition. */ -#ifndef ASM_DECLARE_COLD_FUNCTION_SIZE -#define ASM_DECLARE_COLD_FUNCTION_SIZE(FILE, FNAME, DECL) \ - do \ - { \ - if (!flag_inhibit_size_directive) \ - ASM_OUTPUT_MEASURED_SIZE (FILE, FNAME); \ - } \ - while (0) -#endif - -/* A table of bytes codes used by the ASM_OUTPUT_ASCII and - ASM_OUTPUT_LIMITED_STRING macros. Each byte in the table - corresponds to a particular byte value [0..255]. For any - given byte value, if the value in the corresponding table - position is zero, the given character can be output directly. - If the table value is 1, the byte must be output as a \ooo - octal escape. If the tables value is anything else, then the - byte value should be output as a \ followed by the value - in the table. Note that we can use standard UN*X escape - sequences for many control characters, but we don't use - \a to represent BEL because some svr4 assemblers (e.g. on - the i386) don't know about that. Also, we don't use \v - since some versions of gas, such as 2.2 did not accept it. */ - -#define ELF_ASCII_ESCAPES \ -"\1\1\1\1\1\1\1\1btn\1fr\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\ -\0\0\"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ -\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\\\0\0\0\ -\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\1\ -\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\ -\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\ -\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\ -\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1" - -/* Some svr4 assemblers have a limit on the number of characters which - can appear in the operand of a .string directive. If your assembler - has such a limitation, you should define STRING_LIMIT to reflect that - limit. Note that at least some svr4 assemblers have a limit on the - actual number of bytes in the double-quoted string, and that they - count each character in an escape sequence as one byte. Thus, an - escape sequence like \377 would count as four bytes. - - If your target assembler doesn't support the .string directive, you - should define this to zero. -*/ - -#define ELF_STRING_LIMIT ((unsigned) 256) - -#define STRING_ASM_OP "\t.string\t" - -/* The routine used to output NUL terminated strings. We use a special - version of this for most svr4 targets because doing so makes the - generated assembly code more compact (and thus faster to assemble) - as well as more readable, especially for targets like the i386 - (where the only alternative is to output character sequences as - comma separated lists of numbers). */ - -#define ASM_OUTPUT_LIMITED_STRING(FILE, STR) \ - default_elf_asm_output_limited_string ((FILE), (STR)) - -/* The routine used to output sequences of byte values. We use a special - version of this for most svr4 targets because doing so makes the - generated assembly code more compact (and thus faster to assemble) - as well as more readable. Note that if we find subparts of the - character sequence which end with NUL (and which are shorter than - STRING_LIMIT) we output those using ASM_OUTPUT_LIMITED_STRING. */ - -#undef ASM_OUTPUT_ASCII -#define ASM_OUTPUT_ASCII(FILE, STR, LENGTH) \ - default_elf_asm_output_ascii ((FILE), (STR), (LENGTH)) - -/* Allow the use of the -frecord-gcc-switches switch via the - elf_record_gcc_switches function defined in varasm.cc. */ -#undef TARGET_ASM_RECORD_GCC_SWITCHES -#define TARGET_ASM_RECORD_GCC_SWITCHES elf_record_gcc_switches - -/* A C statement (sans semicolon) to output to the stdio stream STREAM - any text necessary for declaring the name of an external symbol - named NAME which is referenced in this compilation but not defined. - It is needed to properly support non-default visibility. */ - -#ifndef ASM_OUTPUT_EXTERNAL -#define ASM_OUTPUT_EXTERNAL(FILE, DECL, NAME) \ - default_elf_asm_output_external (FILE, DECL, NAME) -#endif - -#undef TARGET_LIBC_HAS_FUNCTION -#define TARGET_LIBC_HAS_FUNCTION no_c99_libc_has_function diff --git a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/config/initfini-array.h b/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/config/initfini-array.h deleted file mode 100644 index a1fc2c8d..00000000 --- a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/config/initfini-array.h +++ /dev/null @@ -1,45 +0,0 @@ -/* Definitions for ELF systems with .init_array/.fini_array section - support. - Copyright (C) 2011-2023 Free Software Foundation, Inc. - - This file is part of GCC. - - GCC is free software; you can redistribute it and/or modify it - under the terms of the GNU General Public License as published - by the Free Software Foundation; either version 3, or (at your - option) any later version. - - GCC is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY - or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public - License for more details. - - Under Section 7 of GPL version 3, you are granted additional - permissions described in the GCC Runtime Library Exception, version - 3.1, as published by the Free Software Foundation. - - You should have received a copy of the GNU General Public License and - a copy of the GCC Runtime Library Exception along with this program; - see the files COPYING3 and COPYING.RUNTIME respectively. If not, see - . */ - -#if HAVE_INITFINI_ARRAY_SUPPORT - -#define USE_INITFINI_ARRAY - -#undef INIT_SECTION_ASM_OP -#undef FINI_SECTION_ASM_OP - -#undef INIT_ARRAY_SECTION_ASM_OP -#define INIT_ARRAY_SECTION_ASM_OP - -#undef FINI_ARRAY_SECTION_ASM_OP -#define FINI_ARRAY_SECTION_ASM_OP - -/* Use .init_array/.fini_array section for constructors and destructors. */ -#undef TARGET_ASM_CONSTRUCTOR -#define TARGET_ASM_CONSTRUCTOR default_elf_init_array_asm_out_constructor -#undef TARGET_ASM_DESTRUCTOR -#define TARGET_ASM_DESTRUCTOR default_elf_fini_array_asm_out_destructor - -#endif diff --git a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/config/m68k/m68020-elf.h b/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/config/m68k/m68020-elf.h deleted file mode 100644 index 6453f446..00000000 --- a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/config/m68k/m68020-elf.h +++ /dev/null @@ -1,30 +0,0 @@ -/* Definitions of target machine for GNU compiler. "naked" 68020, - elf object files and debugging, version. - Copyright (C) 1987-2023 Free Software Foundation, Inc. - -This file is part of GCC. - -GCC is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 3, or (at your option) -any later version. - -GCC is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GCC; see the file COPYING3. If not see -. */ - -/* This comment is here to see if it will keep Sun's cpp from dying. */ - -/* We need to override the default specs from elfos.h. This suppresses the - loading of crt0.o by gcc's default linker spec. For embedded targets crt0 - now comes from the linker script. */ - -#undef STARTFILE_SPEC -#define STARTFILE_SPEC "crtbegin.o%s" - -/* end of m68020-elf.h */ diff --git a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/config/m68k/m68k-devices.def b/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/config/m68k/m68k-devices.def deleted file mode 100644 index edae582d..00000000 --- a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/config/m68k/m68k-devices.def +++ /dev/null @@ -1,195 +0,0 @@ -/* m68k device names -*- C -*- - Copyright (C) 2005-2023 Free Software Foundation, Inc. - Written by CodeSourcery - - This file is part of GCC. - - GCC is free software; you can redistribute it and/or modify it - under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 3, or (at your option) - any later version. - - GCC is distributed in the hope that it will be useful, but - WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - General Public License for more details. - - You should have received a copy of the GNU General Public License - along with GCC; see the file COPYING3. If not see - . */ - -/* This file lists each target device that we support. It is used by - both C code and build scripts. - - Following Freescale's lead, we group devices into families that share - the same core and extension units. Devices in these families differ - only in the set of peripherals they provide. We pick one device to - act as the representative of each family. - - We further group device families into multilibs, again picking one - family (and its representative device) to represent each multilib. - - Devices are declared using the construct: - - M68K_DEVICE (NAME, ENUM_VALUE, FAMILY, MULTILIB, MICROARCH, ISA, FLAGS) - - where the arguments are as follows: - - NAME - The name of the device as a string. This string acts as the - device's -mcpu argument and is guaranteed to be unique. - - ENUM_VALUE - The associated value in the target_device enumeration. - This value is also guaranteed to be unique. - - FAMILY - The NAME field of the family's representative device. - - MULTILIB - The NAME field of the multilib's representative device. - - MICROARCH - The class of core used by devices in this family. The field - is a uarch enumeration value without the leading "u". - - ISA - The ISA implemented by this family. The field is - an m68k_isa enumeration value. - - FLAGS - The FL_* flags that apply to this family, excluding FL_FOR_isa_*. - See m68k.h for the full list. - - There is a bit of duplication between devices in the same family, - but this approach makes scripting easier. We keep each entry on - a single line for the same reason. - - As the compiler does not (currently) generate MAC or EMAC commands, - we do not need separate multilibs for cores that only differ in - their MAC functionality. */ - -/* 680x0 series processors. */ -M68K_DEVICE ("68000", m68000, "68000", "68000", 68000, isa_00, 0) -M68K_DEVICE ("68010", m68010, "68010", "68000", 68010, isa_10, 0) -M68K_DEVICE ("68020", m68020, "68020", "68020", 68020, isa_20, FL_MMU | FL_UCLINUX) -M68K_DEVICE ("68030", m68030, "68030", "68020", 68030, isa_20, FL_MMU | FL_UCLINUX) -M68K_DEVICE ("68040", m68040, "68040", "68040", 68040, isa_40, FL_MMU) -M68K_DEVICE ("68060", m68060, "68060", "68060", 68060, isa_40, FL_MMU) -M68K_DEVICE ("68302", m68302, "68302", "68000", 68000, isa_00, FL_MMU) -M68K_DEVICE ("68332", m68332, "68332", "cpu32", cpu32, isa_cpu32, FL_MMU) -M68K_DEVICE ("cpu32", cpu32, "cpu32", "cpu32", cpu32, isa_cpu32, FL_MMU) - -/* ColdFire CFV1 processor. */ -/* For historical reasons, the 51 multilib is named 51qe. */ -M68K_DEVICE ("51", mcf51, "51", "51qe", cfv1, isa_c, FL_CF_USP) -M68K_DEVICE ("51ac", mcf51ac, "51", "51qe", cfv1, isa_c, FL_CF_USP) -M68K_DEVICE ("51ag", mcf51ag, "51", "51qe", cfv1, isa_c, FL_CF_USP) -M68K_DEVICE ("51cn", mcf51cn, "51", "51qe", cfv1, isa_c, FL_CF_USP) -M68K_DEVICE ("51em", mcf51em, "51", "51qe", cfv1, isa_c, FL_CF_USP | FL_CF_MAC) -M68K_DEVICE ("51je", mcf51je, "51", "51qe", cfv1, isa_c, FL_CF_USP | FL_CF_MAC) -M68K_DEVICE ("51jf", mcf51jf, "51", "51qe", cfv1, isa_c, FL_CF_USP | FL_CF_EMAC) -M68K_DEVICE ("51jg", mcf51jg, "51", "51qe", cfv1, isa_c, FL_CF_USP | FL_CF_EMAC) -M68K_DEVICE ("51jm", mcf51jm, "51", "51qe", cfv1, isa_c, FL_CF_USP) -M68K_DEVICE ("51mm", mcf51mm, "51", "51qe", cfv1, isa_c, FL_CF_USP | FL_CF_MAC) -M68K_DEVICE ("51qe", mcf51qe, "51", "51qe", cfv1, isa_c, FL_CF_USP) -M68K_DEVICE ("51qm", mcf51qm, "51", "51qe", cfv1, isa_c, FL_CF_USP | FL_CF_EMAC) - -/* ColdFire CFV2 processors. */ -M68K_DEVICE ("5202", mcf5202, "5206", "5206", cfv2, isa_a, 0) -M68K_DEVICE ("5204", mcf5204, "5206", "5206", cfv2, isa_a, 0) -M68K_DEVICE ("5206", mcf5206, "5206", "5206", cfv2, isa_a, 0) -M68K_DEVICE ("5206e", mcf5206e, "5206e", "5206e", cfv2, isa_a, FL_CF_HWDIV | FL_CF_MAC) -M68K_DEVICE ("5207", mcf5207, "5208", "5208", cfv2, isa_aplus, FL_CF_HWDIV | FL_CF_EMAC) -M68K_DEVICE ("5208", mcf5208, "5208", "5208", cfv2, isa_aplus, FL_CF_HWDIV | FL_CF_EMAC) -M68K_DEVICE ("5210a", mcf5210a, "5211a", "5208", cfv2, isa_aplus, FL_CF_HWDIV | FL_CF_MAC) -M68K_DEVICE ("5211a", mcf5211a, "5211a", "5208", cfv2, isa_aplus, FL_CF_HWDIV | FL_CF_MAC) -M68K_DEVICE ("5211", mcf5211, "5213", "5208", cfv2, isa_aplus, FL_CF_HWDIV | FL_CF_MAC) -M68K_DEVICE ("5212", mcf5212, "5213", "5208", cfv2, isa_aplus, FL_CF_HWDIV | FL_CF_MAC) -M68K_DEVICE ("5213", mcf5213, "5213", "5208", cfv2, isa_aplus, FL_CF_HWDIV | FL_CF_MAC) -M68K_DEVICE ("5214", mcf5214, "5216", "5208", cfv2, isa_aplus, FL_CF_HWDIV | FL_CF_EMAC) -M68K_DEVICE ("5216", mcf5216, "5216", "5208", cfv2, isa_aplus, FL_CF_HWDIV | FL_CF_EMAC) -M68K_DEVICE ("5221x", mcf5221x, "5221x", "5208", cfv2, isa_aplus, FL_CF_HWDIV | FL_CF_MAC) -M68K_DEVICE ("52221", mcf52221, "52223", "5208", cfv2, isa_aplus, FL_CF_HWDIV | FL_CF_MAC) -M68K_DEVICE ("52223", mcf52223, "52223", "5208", cfv2, isa_aplus, FL_CF_HWDIV | FL_CF_MAC) -M68K_DEVICE ("52230", mcf52230, "52235", "5208", cfv2, isa_aplus, FL_CF_HWDIV | FL_CF_EMAC) -M68K_DEVICE ("52231", mcf52231, "52235", "5208", cfv2, isa_aplus, FL_CF_HWDIV | FL_CF_EMAC) -M68K_DEVICE ("52232", mcf52232, "52235", "5208", cfv2, isa_aplus, FL_CF_HWDIV | FL_CF_EMAC) -M68K_DEVICE ("52233", mcf52233, "52235", "5208", cfv2, isa_aplus, FL_CF_HWDIV | FL_CF_EMAC) -M68K_DEVICE ("52234", mcf52234, "52235", "5208", cfv2, isa_aplus, FL_CF_HWDIV | FL_CF_EMAC) -M68K_DEVICE ("52235", mcf52235, "52235", "5208", cfv2, isa_aplus, FL_CF_HWDIV | FL_CF_EMAC) -M68K_DEVICE ("5224", mcf5224, "5225", "5208", cfv2, isa_aplus, FL_CF_HWDIV | FL_CF_MAC) -M68K_DEVICE ("5225", mcf5225, "5225", "5208", cfv2, isa_aplus, FL_CF_HWDIV | FL_CF_MAC) -M68K_DEVICE ("52252", mcf52252, "52259", "5208", cfv2, isa_aplus, FL_CF_HWDIV | FL_CF_EMAC) -M68K_DEVICE ("52254", mcf52254, "52259", "5208", cfv2, isa_aplus, FL_CF_HWDIV | FL_CF_EMAC) -M68K_DEVICE ("52255", mcf52255, "52259", "5208", cfv2, isa_aplus, FL_CF_HWDIV | FL_CF_EMAC) -M68K_DEVICE ("52256", mcf52256, "52259", "5208", cfv2, isa_aplus, FL_CF_HWDIV | FL_CF_EMAC) -M68K_DEVICE ("52258", mcf52258, "52259", "5208", cfv2, isa_aplus, FL_CF_HWDIV | FL_CF_EMAC) -M68K_DEVICE ("52259", mcf52259, "52259", "5208", cfv2, isa_aplus, FL_CF_HWDIV | FL_CF_EMAC) -M68K_DEVICE ("52274", mcf52274, "52277", "5208", cfv2, isa_aplus, FL_CF_HWDIV | FL_CF_EMAC) -M68K_DEVICE ("52277", mcf52277, "52277", "5208", cfv2, isa_aplus, FL_CF_HWDIV | FL_CF_EMAC) -M68K_DEVICE ("5232", mcf5232, "5235", "5208", cfv2, isa_aplus, FL_CF_HWDIV | FL_CF_EMAC) -M68K_DEVICE ("5233", mcf5233, "5235", "5208", cfv2, isa_aplus, FL_CF_HWDIV | FL_CF_EMAC) -M68K_DEVICE ("5234", mcf5234, "5235", "5208", cfv2, isa_aplus, FL_CF_HWDIV | FL_CF_EMAC) -M68K_DEVICE ("5235", mcf5235, "5235", "5208", cfv2, isa_aplus, FL_CF_HWDIV | FL_CF_EMAC) -M68K_DEVICE ("523x", mcf523x, "5235", "5208", cfv2, isa_aplus, FL_CF_HWDIV | FL_CF_EMAC) -M68K_DEVICE ("5249", mcf5249, "5249", "5206e", cfv2, isa_a, FL_CF_HWDIV | FL_CF_EMAC) -M68K_DEVICE ("5250", mcf5250, "5250", "5206e", cfv2, isa_a, FL_CF_HWDIV | FL_CF_EMAC) -M68K_DEVICE ("5253", mcf5253, "5253", "5206e", cfv2, isa_a, FL_CF_HWDIV | FL_CF_EMAC) -M68K_DEVICE ("5270", mcf5270, "5271", "5208", cfv2, isa_aplus, FL_CF_HWDIV | FL_CF_EMAC) -M68K_DEVICE ("5271", mcf5271, "5271", "5208", cfv2, isa_aplus, FL_CF_HWDIV) -M68K_DEVICE ("5272", mcf5272, "5272", "5206e", cfv2, isa_a, FL_CF_HWDIV | FL_CF_MAC) -M68K_DEVICE ("5274", mcf5274, "5275", "5208", cfv2, isa_aplus, FL_CF_HWDIV | FL_CF_EMAC) -M68K_DEVICE ("5275", mcf5275, "5275", "5208", cfv2, isa_aplus, FL_CF_HWDIV | FL_CF_EMAC) -M68K_DEVICE ("5280", mcf5280, "5282", "5208", cfv2, isa_aplus, FL_CF_HWDIV | FL_CF_EMAC) -M68K_DEVICE ("5281", mcf5281, "5282", "5208", cfv2, isa_aplus, FL_CF_HWDIV | FL_CF_EMAC) -M68K_DEVICE ("5282", mcf5282, "5282", "5208", cfv2, isa_aplus, FL_CF_HWDIV | FL_CF_EMAC) -M68K_DEVICE ("528x", mcf528x, "5282", "5208", cfv2, isa_aplus, FL_CF_HWDIV | FL_CF_EMAC) - -/* CFV3 processors. */ -M68K_DEVICE ("53011", mcf53011, "53017", "5329", cfv3, isa_aplus, FL_CF_HWDIV | FL_CF_EMAC) -M68K_DEVICE ("53012", mcf53012, "53017", "5329", cfv3, isa_aplus, FL_CF_HWDIV | FL_CF_EMAC) -M68K_DEVICE ("53013", mcf53013, "53017", "5329", cfv3, isa_aplus, FL_CF_HWDIV | FL_CF_EMAC) -M68K_DEVICE ("53014", mcf53014, "53017", "5329", cfv3, isa_aplus, FL_CF_HWDIV | FL_CF_EMAC) -M68K_DEVICE ("53015", mcf53015, "53017", "5329", cfv3, isa_aplus, FL_CF_HWDIV | FL_CF_EMAC) -M68K_DEVICE ("53016", mcf53016, "53017", "5329", cfv3, isa_aplus, FL_CF_HWDIV | FL_CF_EMAC) -M68K_DEVICE ("53017", mcf53017, "53017", "5329", cfv3, isa_aplus, FL_CF_HWDIV | FL_CF_EMAC) -M68K_DEVICE ("5307", mcf5307, "5307", "5307", cfv3, isa_a, FL_CF_HWDIV | FL_CF_MAC) -M68K_DEVICE ("5327", mcf5327, "5329", "5329", cfv3, isa_aplus, FL_CF_HWDIV | FL_CF_EMAC) -M68K_DEVICE ("5328", mcf5328, "5329", "5329", cfv3, isa_aplus, FL_CF_HWDIV | FL_CF_EMAC) -M68K_DEVICE ("5329", mcf5329, "5329", "5329", cfv3, isa_aplus, FL_CF_HWDIV | FL_CF_EMAC) -M68K_DEVICE ("532x", mcf532x, "5329", "5329", cfv3, isa_aplus, FL_CF_HWDIV | FL_CF_EMAC) -M68K_DEVICE ("5372", mcf5372, "5373", "5329", cfv3, isa_aplus, FL_CF_HWDIV | FL_CF_EMAC) -M68K_DEVICE ("5373", mcf5373, "5373", "5329", cfv3, isa_aplus, FL_CF_HWDIV | FL_CF_EMAC) -M68K_DEVICE ("537x", mcf537x, "5373", "5329", cfv3, isa_aplus, FL_CF_HWDIV | FL_CF_EMAC) - -/* CFV4/CFV4e processors. */ -M68K_DEVICE ("5407", mcf5407, "5407", "5407", cfv4, isa_b, FL_CF_MAC) -M68K_DEVICE ("54410", mcf54410, "54418", "54455", cfv4, isa_c, FL_CF_HWDIV | FL_CF_USP | FL_CF_EMAC | FL_MMU | FL_UCLINUX) -M68K_DEVICE ("54415", mcf54415, "54418", "54455", cfv4, isa_c, FL_CF_HWDIV | FL_CF_USP | FL_CF_EMAC | FL_MMU | FL_UCLINUX) -M68K_DEVICE ("54416", mcf54416, "54418", "54455", cfv4, isa_c, FL_CF_HWDIV | FL_CF_USP | FL_CF_EMAC | FL_MMU | FL_UCLINUX) -M68K_DEVICE ("54417", mcf54417, "54418", "54455", cfv4, isa_c, FL_CF_HWDIV | FL_CF_USP | FL_CF_EMAC | FL_MMU | FL_UCLINUX) -M68K_DEVICE ("54418", mcf54418, "54418", "54455", cfv4, isa_c, FL_CF_HWDIV | FL_CF_USP | FL_CF_EMAC | FL_MMU | FL_UCLINUX) -M68K_DEVICE ("54450", mcf54450, "54455", "54455", cfv4, isa_c, FL_CF_HWDIV | FL_CF_USP | FL_CF_EMAC | FL_MMU | FL_UCLINUX) -M68K_DEVICE ("54451", mcf54451, "54455", "54455", cfv4, isa_c, FL_CF_HWDIV | FL_CF_USP | FL_CF_EMAC | FL_MMU | FL_UCLINUX) -M68K_DEVICE ("54452", mcf54452, "54455", "54455", cfv4, isa_c, FL_CF_HWDIV | FL_CF_USP | FL_CF_EMAC | FL_MMU | FL_UCLINUX) -M68K_DEVICE ("54453", mcf54453, "54455", "54455", cfv4, isa_c, FL_CF_HWDIV | FL_CF_USP | FL_CF_EMAC | FL_MMU | FL_UCLINUX) -M68K_DEVICE ("54454", mcf54454, "54455", "54455", cfv4, isa_c, FL_CF_HWDIV | FL_CF_USP | FL_CF_EMAC | FL_MMU | FL_UCLINUX) -M68K_DEVICE ("54455", mcf54455, "54455", "54455", cfv4, isa_c, FL_CF_HWDIV | FL_CF_USP | FL_CF_EMAC | FL_MMU | FL_UCLINUX) -M68K_DEVICE ("5470", mcf5470, "5475", "5475", cfv4e, isa_b, FL_CF_USP | FL_CF_EMAC | FL_CF_FPU | FL_MMU) -M68K_DEVICE ("5471", mcf5471, "5475", "5475", cfv4e, isa_b, FL_CF_USP | FL_CF_EMAC | FL_CF_FPU | FL_MMU) -M68K_DEVICE ("5472", mcf5472, "5475", "5475", cfv4e, isa_b, FL_CF_USP | FL_CF_EMAC | FL_CF_FPU | FL_MMU) -M68K_DEVICE ("5473", mcf5473, "5475", "5475", cfv4e, isa_b, FL_CF_USP | FL_CF_EMAC | FL_CF_FPU | FL_MMU) -M68K_DEVICE ("5474", mcf5474, "5475", "5475", cfv4e, isa_b, FL_CF_USP | FL_CF_EMAC | FL_CF_FPU | FL_MMU) -M68K_DEVICE ("5475", mcf5475, "5475", "5475", cfv4e, isa_b, FL_CF_USP | FL_CF_EMAC | FL_CF_FPU | FL_MMU) -M68K_DEVICE ("547x", mcf547x, "5475", "5475", cfv4e, isa_b, FL_CF_USP | FL_CF_EMAC | FL_CF_FPU | FL_MMU) -M68K_DEVICE ("5480", mcf5480, "5485", "5475", cfv4e, isa_b, FL_CF_USP | FL_CF_EMAC | FL_CF_FPU | FL_MMU) -M68K_DEVICE ("5481", mcf5481, "5485", "5475", cfv4e, isa_b, FL_CF_USP | FL_CF_EMAC | FL_CF_FPU | FL_MMU) -M68K_DEVICE ("5482", mcf5482, "5485", "5475", cfv4e, isa_b, FL_CF_USP | FL_CF_EMAC | FL_CF_FPU | FL_MMU) -M68K_DEVICE ("5483", mcf5483, "5485", "5475", cfv4e, isa_b, FL_CF_USP | FL_CF_EMAC | FL_CF_FPU | FL_MMU) -M68K_DEVICE ("5484", mcf5484, "5485", "5475", cfv4e, isa_b, FL_CF_USP | FL_CF_EMAC | FL_CF_FPU | FL_MMU) -M68K_DEVICE ("5485", mcf5485, "5485", "5475", cfv4e, isa_b, FL_CF_USP | FL_CF_EMAC | FL_CF_FPU | FL_MMU) -M68K_DEVICE ("548x", mcf548x, "5485", "5475", cfv4e, isa_b, FL_CF_USP | FL_CF_EMAC | FL_CF_FPU | FL_MMU) - -/* Fido processor. */ -M68K_DEVICE ("fidoa", fidoa, "cpu32", "fidoa", cpu32, isa_cpu32, FL_FIDOA | FL_MMU) diff --git a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/config/m68k/m68k-microarchs.def b/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/config/m68k/m68k-microarchs.def deleted file mode 100644 index 2ea1fdd4..00000000 --- a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/config/m68k/m68k-microarchs.def +++ /dev/null @@ -1,44 +0,0 @@ -/* m68k microarchitecture names. - Copyright (C) 1987-2023 Free Software Foundation, Inc. - - This file is part of GCC. - - GCC is free software; you can redistribute it and/or modify it - under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 3, or (at your option) - any later version. - - GCC is distributed in the hope that it will be useful, but - WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - General Public License for more details. - - You should have received a copy of the GNU General Public License - along with GCC; see the file COPYING3. If not see - . */ - -/* Define microarchitectures for the -mtune option, used both in - m68k.cc and to generate m68k-tables.opt. Before including this - file, define a macro: - - M68K_MICROARCH (NAME, DEVICE, MICROARCH, ISA, FLAGS) - - where NAME is the name for use with -mtune=, DEVICE is the value in - the target_device enumeration of a representative device, FLAGS is - the set of FL_* flags that apply to this ISA and the other - arguments are as for M68K_DEVICE in m68k-devices.def. */ - -M68K_MICROARCH ("68000", m68000, 68000, isa_00, FL_FOR_isa_00) -M68K_MICROARCH ("68010", m68010, 68010, isa_10, FL_FOR_isa_10) -M68K_MICROARCH ("68020", m68020, 68020, isa_20, FL_FOR_isa_20) -M68K_MICROARCH ("68020-40", m68020, 68020_40, isa_20, FL_FOR_isa_20) -M68K_MICROARCH ("68020-60", m68020, 68020_60, isa_20, FL_FOR_isa_20) -M68K_MICROARCH ("68030", m68030, 68030, isa_20, FL_FOR_isa_20) -M68K_MICROARCH ("68040", m68040, 68040, isa_40, FL_FOR_isa_40) -M68K_MICROARCH ("68060", m68060, 68060, isa_40, FL_FOR_isa_40) -M68K_MICROARCH ("cpu32", cpu32, cpu32, isa_20, FL_FOR_isa_cpu32) -M68K_MICROARCH ("cfv1", mcf51qe, cfv1, isa_c, FL_FOR_isa_c) -M68K_MICROARCH ("cfv2", mcf5206, cfv2, isa_a, FL_FOR_isa_a) -M68K_MICROARCH ("cfv3", mcf5307, cfv3, isa_a, FL_FOR_isa_a | FL_CF_HWDIV) -M68K_MICROARCH ("cfv4", mcf5407, cfv4, isa_b, FL_FOR_isa_b) -M68K_MICROARCH ("cfv4e", mcf547x, cfv4e, isa_b, FL_FOR_isa_b | FL_CF_USP| FL_CF_EMAC | FL_CF_FPU) diff --git a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/config/m68k/m68k-none.h b/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/config/m68k/m68k-none.h deleted file mode 100644 index c6a4fefa..00000000 --- a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/config/m68k/m68k-none.h +++ /dev/null @@ -1,19 +0,0 @@ -/* Definitions of target machine for GNU compiler. "naked" 68020. - Copyright (C) 1994-2023 Free Software Foundation, Inc. - -This file is part of GCC. - -GCC is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 3, or (at your option) -any later version. - -GCC is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GCC; see the file COPYING3. If not see -. */ - diff --git a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/config/m68k/m68k-opts.h b/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/config/m68k/m68k-opts.h deleted file mode 100644 index 56d503f3..00000000 --- a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/config/m68k/m68k-opts.h +++ /dev/null @@ -1,44 +0,0 @@ -/* Definitions for option handling for Motorola 680x0/ColdFire. - Copyright (C) 1987-2023 Free Software Foundation, Inc. - -This file is part of GCC. - -GCC is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 3, or (at your option) -any later version. - -GCC is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GCC; see the file COPYING3. If not see -. */ - -#ifndef M68K_OPTS_H -#define M68K_OPTS_H - -/* Values used in the MICROARCH argument to M68K_DEVICE. */ -enum uarch_type -{ -#define M68K_MICROARCH(NAME,DEVICE,MICROARCH,ISA,FLAGS) \ - u##MICROARCH, -#include "m68k-microarchs.def" -#undef M68K_MICROARCH - ucfv5, - unk_arch -}; - -/* An enumeration of all supported target devices. */ -enum target_device -{ -#define M68K_DEVICE(NAME,ENUM_VALUE,FAMILY,MULTILIB,MICROARCH,ISA,FLAGS) \ - ENUM_VALUE, -#include "m68k-devices.def" -#undef M68K_DEVICE - unk_device -}; - -#endif diff --git a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/config/m68k/m68k-protos.h b/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/config/m68k/m68k-protos.h deleted file mode 100644 index 724d446a..00000000 --- a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/config/m68k/m68k-protos.h +++ /dev/null @@ -1,117 +0,0 @@ -/* Definitions of target machine for GNU compiler. Sun 68000/68020 version. - Copyright (C) 2000-2023 Free Software Foundation, Inc. - -This file is part of GCC. - -GCC is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 3, or (at your option) -any later version. - -GCC is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GCC; see the file COPYING3. If not see -. */ - -/* Define functions defined in aux-output.c and used in templates. */ - -#ifdef RTX_CODE -extern enum m68k_function_kind m68k_get_function_kind (tree); -extern HOST_WIDE_INT m68k_initial_elimination_offset (int from, int to); - -extern void split_di (rtx[], int, rtx[], rtx[]); - -extern bool valid_mov3q_const (HOST_WIDE_INT); -extern const char *output_move_simode (rtx *); -extern const char *output_move_himode (rtx *); -extern const char *output_move_qimode (rtx *); -extern const char *output_move_stricthi (rtx *); -extern const char *output_move_strictqi (rtx *); -extern const char *output_move_double (rtx *); -extern const char *output_move_const_single (rtx *); -extern const char *output_move_const_double (rtx *); -extern const char *output_btst (rtx *, rtx, rtx, rtx_insn *, int); -extern const char *output_scc_di (rtx, rtx, rtx, rtx); -extern const char *output_addsi3 (rtx *); -extern const char *output_andsi3 (rtx *); -extern const char *output_iorsi3 (rtx *); -extern const char *output_xorsi3 (rtx *); -extern const char *output_call (rtx); -extern const char *output_sibcall (rtx); -extern void m68k_init_cc (); -extern void output_dbcc_and_branch (rtx *, rtx_code); -extern rtx_code m68k_output_compare_di (rtx, rtx, rtx, rtx, rtx_insn *, rtx_code); -extern rtx_code m68k_output_compare_si (rtx, rtx, rtx_code); -extern rtx_code m68k_output_compare_hi (rtx, rtx, rtx_code); -extern rtx_code m68k_output_compare_qi (rtx, rtx, rtx_code); -extern rtx_code m68k_output_compare_fp (rtx, rtx, rtx_code); -extern rtx_code m68k_output_btst (rtx, rtx, rtx_code, int); -extern rtx_code m68k_output_bftst (rtx, rtx, rtx, rtx_code); -extern rtx_code m68k_find_flags_value (rtx, rtx, rtx_code); - -extern const char *m68k_output_scc (rtx_code); -extern const char *m68k_output_scc_float (rtx_code); -extern const char *m68k_output_branch_integer (rtx_code); -extern const char *m68k_output_branch_integer_rev (rtx_code); -extern const char *m68k_output_branch_float (rtx_code); -extern const char *m68k_output_branch_float_rev (rtx_code); -extern int floating_exact_log2 (rtx); -extern bool strict_low_part_peephole_ok (machine_mode mode, - rtx_insn *first_insn, rtx target); - -/* Functions from m68k.cc used in macros. */ -extern int standard_68881_constant_p (rtx); -extern void print_operand_address (FILE *, rtx); -extern void print_operand (FILE *, rtx, int); -extern void notice_update_cc (rtx, rtx); -extern bool m68k_legitimate_base_reg_p (rtx, bool); -extern bool m68k_legitimate_index_reg_p (rtx, bool); -extern bool m68k_illegitimate_symbolic_constant_p (rtx); -extern bool m68k_legitimate_constant_p (machine_mode, rtx); -extern bool m68k_matches_q_p (rtx); -extern bool m68k_matches_u_p (rtx); -extern rtx legitimize_pic_address (rtx, machine_mode, rtx); -extern rtx m68k_legitimize_tls_address (rtx); -extern bool m68k_tls_reference_p (rtx, bool); -extern int valid_dbcc_comparison_p_2 (rtx, machine_mode); -extern rtx m68k_libcall_value (machine_mode); -extern rtx m68k_function_value (const_tree, const_tree); -extern int emit_move_sequence (rtx *, machine_mode, rtx); -extern bool m68k_movem_pattern_p (rtx, rtx, HOST_WIDE_INT, bool); -extern const char *m68k_output_movem (rtx *, rtx, HOST_WIDE_INT, bool); -extern bool m68k_epilogue_uses (int); -extern void m68k_final_prescan_insn (rtx_insn *, rtx *, int); - -/* Functions from m68k.cc used in constraints.md. */ -extern rtx m68k_unwrap_symbol (rtx, bool); - -/* Functions from m68k.cc used in genattrtab. */ -#ifdef HAVE_ATTR_cpu -extern enum attr_cpu m68k_sched_cpu; -extern enum attr_mac m68k_sched_mac; - -extern enum attr_opx_type m68k_sched_attr_opx_type (rtx_insn *, int); -extern enum attr_opy_type m68k_sched_attr_opy_type (rtx_insn *, int); -extern enum attr_size m68k_sched_attr_size (rtx_insn *); -extern enum attr_op_mem m68k_sched_attr_op_mem (rtx_insn *); -#endif /* HAVE_ATTR_cpu */ - -#endif /* RTX_CODE */ - -extern enum reg_class m68k_secondary_reload_class (enum reg_class, - machine_mode, rtx); -extern enum reg_class m68k_preferred_reload_class (rtx, enum reg_class); -extern void m68k_expand_prologue (void); -extern bool m68k_use_return_insn (void); -extern void m68k_expand_epilogue (bool); -extern const char *m68k_cpp_cpu_ident (const char *); -extern const char *m68k_cpp_cpu_family (const char *); -extern void init_68881_table (void); -extern rtx m68k_legitimize_call_address (rtx); -extern rtx m68k_legitimize_sibcall_address (rtx); -extern int m68k_hard_regno_rename_ok(unsigned int, unsigned int); -extern poly_int64 m68k_push_rounding (poly_int64); diff --git a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/config/m68k/m68k.h b/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/config/m68k/m68k.h deleted file mode 100644 index 9910d17b..00000000 --- a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/config/m68k/m68k.h +++ /dev/null @@ -1,923 +0,0 @@ -/* Definitions of target machine for GCC for Motorola 680x0/ColdFire. - Copyright (C) 1987-2023 Free Software Foundation, Inc. - -This file is part of GCC. - -GCC is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 3, or (at your option) -any later version. - -GCC is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GCC; see the file COPYING3. If not see -. */ - -/* We need to have MOTOROLA always defined (either 0 or 1) because we use - if-statements and ?: on it. This way we have compile-time error checking - for both the MOTOROLA and MIT code paths. We do rely on the host compiler - to optimize away all constant tests. */ -#if MOTOROLA /* Use the Motorola assembly syntax. */ -#else -# define MOTOROLA 0 /* Use the MIT assembly syntax. */ -#endif - -/* Handle --with-cpu default option from configure script. */ -#define OPTION_DEFAULT_SPECS \ - { "cpu", "%{!m68020-40:%{!m68020-60:\ -%{!mcpu=*:%{!march=*:-%(VALUE)}}}}" }, - -/* Pass flags to gas indicating which type of processor we have. This - can be simplified when we can rely on the assembler supporting .cpu - and .arch directives. */ - -#define ASM_CPU_SPEC "\ -%{m68851}%{mno-68851} %{m68881}%{mno-68881} %{msoft-float:-mno-float} \ -%{m68020-40:-m68040}%{m68020-60:-m68040}\ -%{mcpu=*:-mcpu=%*}%{march=*:-march=%*}\ -" -#define ASM_PCREL_SPEC "%{" FPIE_OR_FPIC_SPEC ":--pcrel} \ - %{mpcrel:%{" NO_FPIE_AND_FPIC_SPEC ":--pcrel}} \ - %{msep-data|mid-shared-library:--pcrel} \ -" - -#define ASM_SPEC "%(asm_cpu_spec) %(asm_pcrel_spec)" - -#define EXTRA_SPECS \ - { "asm_cpu_spec", ASM_CPU_SPEC }, \ - { "asm_pcrel_spec", ASM_PCREL_SPEC }, \ - SUBTARGET_EXTRA_SPECS - -#define SUBTARGET_EXTRA_SPECS - -/* Note that some other tm.h files include this one and then override - many of the definitions that relate to assembler syntax. */ - -#define TARGET_CPU_CPP_BUILTINS() \ - do \ - { \ - builtin_define ("__m68k__"); \ - builtin_define_std ("mc68000"); \ - /* The other mc680x0 macros have traditionally been derived \ - from the tuning setting. For example, -m68020-60 defines \ - m68060, even though it generates pure 68020 code. */ \ - switch (m68k_tune) \ - { \ - case u68010: \ - builtin_define_std ("mc68010"); \ - break; \ - \ - case u68020: \ - builtin_define_std ("mc68020"); \ - break; \ - \ - case u68030: \ - builtin_define_std ("mc68030"); \ - break; \ - \ - case u68040: \ - builtin_define_std ("mc68040"); \ - break; \ - \ - case u68060: \ - builtin_define_std ("mc68060"); \ - break; \ - \ - case u68020_60: \ - builtin_define_std ("mc68060"); \ - /* Fall through. */ \ - case u68020_40: \ - builtin_define_std ("mc68040"); \ - builtin_define_std ("mc68030"); \ - builtin_define_std ("mc68020"); \ - break; \ - \ - case ucpu32: \ - builtin_define_std ("mc68332"); \ - builtin_define_std ("mcpu32"); \ - builtin_define_std ("mc68020"); \ - break; \ - \ - case ucfv1: \ - builtin_define ("__mcfv1__"); \ - break; \ - \ - case ucfv2: \ - builtin_define ("__mcfv2__"); \ - break; \ - \ - case ucfv3: \ - builtin_define ("__mcfv3__"); \ - break; \ - \ - case ucfv4: \ - builtin_define ("__mcfv4__"); \ - break; \ - \ - case ucfv4e: \ - builtin_define ("__mcfv4e__"); \ - break; \ - \ - case ucfv5: \ - builtin_define ("__mcfv5__"); \ - break; \ - \ - default: \ - break; \ - } \ - \ - if (TARGET_68881) \ - builtin_define ("__HAVE_68881__"); \ - \ - if (TARGET_COLDFIRE) \ - { \ - const char *tmp; \ - \ - tmp = m68k_cpp_cpu_ident ("cf"); \ - if (tmp) \ - builtin_define (tmp); \ - tmp = m68k_cpp_cpu_family ("cf"); \ - if (tmp) \ - builtin_define (tmp); \ - builtin_define ("__mcoldfire__"); \ - \ - if (TARGET_ISAC) \ - builtin_define ("__mcfisac__"); \ - else if (TARGET_ISAB) \ - { \ - builtin_define ("__mcfisab__"); \ - /* ISA_B: Legacy 5407 defines. */ \ - builtin_define ("__mcf5400__"); \ - builtin_define ("__mcf5407__"); \ - } \ - else if (TARGET_ISAAPLUS) \ - { \ - builtin_define ("__mcfisaaplus__"); \ - /* ISA_A+: legacy defines. */ \ - builtin_define ("__mcf528x__"); \ - builtin_define ("__mcf5200__"); \ - } \ - else \ - { \ - builtin_define ("__mcfisaa__"); \ - /* ISA_A: legacy defines. */ \ - switch (m68k_tune) \ - { \ - case ucfv2: \ - builtin_define ("__mcf5200__"); \ - break; \ - \ - case ucfv3: \ - builtin_define ("__mcf5307__"); \ - builtin_define ("__mcf5300__"); \ - break; \ - \ - default: \ - break; \ - } \ - } \ - } \ - \ - if (TARGET_COLDFIRE_FPU) \ - builtin_define ("__mcffpu__"); \ - \ - if (TARGET_CF_HWDIV) \ - builtin_define ("__mcfhwdiv__"); \ - \ - if (TARGET_FIDOA) \ - builtin_define ("__mfido__"); \ - \ - builtin_assert ("cpu=m68k"); \ - builtin_assert ("machine=m68k"); \ - } \ - while (0) - -/* Classify the groups of pseudo-ops used to assemble QI, HI and SI - quantities. */ -#define INT_OP_STANDARD 0 /* .byte, .short, .long */ -#define INT_OP_DOT_WORD 1 /* .byte, .word, .long */ -#define INT_OP_NO_DOT 2 /* byte, short, long */ -#define INT_OP_DC 3 /* dc.b, dc.w, dc.l */ - -/* Set the default. */ -#define INT_OP_GROUP INT_OP_DOT_WORD - -/* Bit values used by m68k-devices.def to identify processor capabilities. */ -#define FL_BITFIELD (1 << 0) /* Support bitfield instructions. */ -#define FL_68881 (1 << 1) /* (Default) support for 68881/2. */ -#define FL_COLDFIRE (1 << 2) /* ColdFire processor. */ -#define FL_CF_HWDIV (1 << 3) /* ColdFire hardware divide supported. */ -#define FL_CF_MAC (1 << 4) /* ColdFire MAC unit supported. */ -#define FL_CF_EMAC (1 << 5) /* ColdFire eMAC unit supported. */ -#define FL_CF_EMAC_B (1 << 6) /* ColdFire eMAC-B unit supported. */ -#define FL_CF_USP (1 << 7) /* ColdFire User Stack Pointer supported. */ -#define FL_CF_FPU (1 << 8) /* ColdFire FPU supported. */ -#define FL_ISA_68000 (1 << 9) -#define FL_ISA_68010 (1 << 10) -#define FL_ISA_68020 (1 << 11) -#define FL_ISA_68040 (1 << 12) -#define FL_ISA_A (1 << 13) -#define FL_ISA_APLUS (1 << 14) -#define FL_ISA_B (1 << 15) -#define FL_ISA_C (1 << 16) -#define FL_FIDOA (1 << 17) -#define FL_CAS (1 << 18) /* Support cas insn. */ -#define FL_MMU 0 /* Used by multilib machinery. */ -#define FL_UCLINUX 0 /* Used by multilib machinery. */ - -#define TARGET_68010 ((m68k_cpu_flags & FL_ISA_68010) != 0) -#define TARGET_68020 ((m68k_cpu_flags & FL_ISA_68020) != 0) -#define TARGET_68040 ((m68k_cpu_flags & FL_ISA_68040) != 0) -#define TARGET_COLDFIRE ((m68k_cpu_flags & FL_COLDFIRE) != 0) -#define TARGET_COLDFIRE_FPU (m68k_fpu == FPUTYPE_COLDFIRE) -#define TARGET_68881 (m68k_fpu == FPUTYPE_68881) -#define TARGET_FIDOA ((m68k_cpu_flags & FL_FIDOA) != 0) -#define TARGET_CAS ((m68k_cpu_flags & FL_CAS) != 0) - -/* Size (in bytes) of FPU registers. */ -#define TARGET_FP_REG_SIZE (TARGET_COLDFIRE ? 8 : 12) - -#define TARGET_ISAAPLUS ((m68k_cpu_flags & FL_ISA_APLUS) != 0) -#define TARGET_ISAB ((m68k_cpu_flags & FL_ISA_B) != 0) -#define TARGET_ISAC ((m68k_cpu_flags & FL_ISA_C) != 0) - -/* Some instructions are common to more than one ISA. */ -#define ISA_HAS_MVS_MVZ (TARGET_ISAB || TARGET_ISAC) -#define ISA_HAS_FF1 (TARGET_ISAAPLUS || TARGET_ISAC) -#define ISA_HAS_TAS (!TARGET_COLDFIRE || TARGET_ISAB || TARGET_ISAC) - -#define TUNE_68000 (m68k_tune == u68000) -#define TUNE_68010 (m68k_tune == u68010) -#define TUNE_68000_10 (TUNE_68000 || TUNE_68010) -#define TUNE_68030 (m68k_tune == u68030 \ - || m68k_tune == u68020_40 \ - || m68k_tune == u68020_60) -#define TUNE_68040 (m68k_tune == u68040 \ - || m68k_tune == u68020_40 \ - || m68k_tune == u68020_60) -#define TUNE_68060 (m68k_tune == u68060 || m68k_tune == u68020_60) -#define TUNE_68040_60 (TUNE_68040 || TUNE_68060) -#define TUNE_CPU32 (m68k_tune == ucpu32) -#define TUNE_CFV1 (m68k_tune == ucfv1) -#define TUNE_CFV2 (m68k_tune == ucfv2) -#define TUNE_CFV3 (m68k_tune == ucfv3) -#define TUNE_CFV4 (m68k_tune == ucfv4 || m68k_tune == ucfv4e) - -#define TUNE_MAC ((m68k_tune_flags & FL_CF_MAC) != 0) -#define TUNE_EMAC ((m68k_tune_flags & FL_CF_EMAC) != 0) - -/* These are meant to be redefined in the host dependent files */ -#define SUBTARGET_OVERRIDE_OPTIONS - -/* target machine storage layout */ - -/* "long double" is the same as "double" on ColdFire and fido - targets. */ - -#define LONG_DOUBLE_TYPE_SIZE \ - ((TARGET_COLDFIRE || TARGET_FIDOA) ? 64 : 80) - -#define BITS_BIG_ENDIAN 1 -#define BYTES_BIG_ENDIAN 1 -#define WORDS_BIG_ENDIAN 1 - -#define UNITS_PER_WORD 4 - -#define PARM_BOUNDARY (TARGET_SHORT ? 16 : 32) -#define STACK_BOUNDARY 16 -#define FUNCTION_BOUNDARY 16 -#define EMPTY_FIELD_BOUNDARY 16 -/* ColdFire and fido strongly prefer a 32-bit aligned stack. */ -#define PREFERRED_STACK_BOUNDARY \ - ((TARGET_COLDFIRE || TARGET_FIDOA) ? 32 : 16) - -/* No data type wants to be aligned rounder than this. - Most published ABIs say that ints should be aligned on 16-bit - boundaries, but CPUs with 32-bit busses get better performance - aligned on 32-bit boundaries. */ -#define BIGGEST_ALIGNMENT (TARGET_ALIGN_INT ? 32 : 16) - -#define STRICT_ALIGNMENT (TARGET_STRICT_ALIGNMENT) -#define M68K_HONOR_TARGET_STRICT_ALIGNMENT 1 - -#define DWARF_CIE_DATA_ALIGNMENT -2 - -#define INT_TYPE_SIZE (TARGET_SHORT ? 16 : 32) - -/* Define these to avoid dependence on meaning of `int'. */ -#define WCHAR_TYPE "long int" -#define WCHAR_TYPE_SIZE 32 - -/* Maximum number of library IDs we permit with -mid-shared-library. */ -#define MAX_LIBRARY_ID 255 - - -/* Standard register usage. */ - -/* For the m68k, we give the data registers numbers 0-7, - the address registers numbers 010-017 (8-15), - and the 68881 floating point registers numbers 020-027 (16-23). - We also have a fake `arg-pointer' register 030 (24) used for - register elimination. */ -#define FIRST_PSEUDO_REGISTER 25 - -/* All m68k targets (except AmigaOS) use %a5 as the PIC register */ -#define PIC_OFFSET_TABLE_REGNUM \ - (!flag_pic ? INVALID_REGNUM \ - : reload_completed ? REGNO (pic_offset_table_rtx) \ - : PIC_REG) - -/* 1 for registers that have pervasive standard uses - and are not available for the register allocator. - On the m68k, only the stack pointer is such. - Our fake arg-pointer is obviously fixed as well. */ -#define FIXED_REGISTERS \ - {/* Data registers. */ \ - 0, 0, 0, 0, 0, 0, 0, 0, \ - \ - /* Address registers. */ \ - 0, 0, 0, 0, 0, 0, 0, 1, \ - \ - /* Floating point registers \ - (if available). */ \ - 0, 0, 0, 0, 0, 0, 0, 0, \ - \ - /* Arg pointer. */ \ - 1 } - -/* 1 for registers not available across function calls. - These must include the FIXED_REGISTERS and also any - registers that can be used without being saved. - The latter must include the registers where values are returned - and the register where structure-value addresses are passed. - Aside from that, you can include as many other registers as you like. */ -#define CALL_USED_REGISTERS \ - {/* Data registers. */ \ - 1, 1, 0, 0, 0, 0, 0, 0, \ - \ - /* Address registers. */ \ - 1, 1, 0, 0, 0, 0, 0, 1, \ - \ - /* Floating point registers \ - (if available). */ \ - 1, 1, 0, 0, 0, 0, 0, 0, \ - \ - /* Arg pointer. */ \ - 1 } - -#define REG_ALLOC_ORDER \ -{ /* d0/d1/a0/a1 */ \ - 0, 1, 8, 9, \ - /* d2-d7 */ \ - 2, 3, 4, 5, 6, 7, \ - /* a2-a7/arg */ \ - 10, 11, 12, 13, 14, 15, 24, \ - /* fp0-fp7 */ \ - 16, 17, 18, 19, 20, 21, 22, 23\ -} - - -/* A C expression that is nonzero if hard register NEW_REG can be - considered for use as a rename register for OLD_REG register. */ - -#define HARD_REGNO_RENAME_OK(OLD_REG, NEW_REG) \ - m68k_hard_regno_rename_ok (OLD_REG, NEW_REG) - -#define SECONDARY_RELOAD_CLASS(CLASS, MODE, X) \ - m68k_secondary_reload_class (CLASS, MODE, X) - -/* Specify the registers used for certain standard purposes. - The values of these macros are register numbers. */ - -#define STACK_POINTER_REGNUM SP_REG - -/* Most m68k targets use %a6 as a frame pointer. The AmigaOS - ABI uses %a6 for shared library calls, therefore the frame - pointer is shifted to %a5 on this target. */ -#define FRAME_POINTER_REGNUM A5_REG - -/* Base register for access to arguments of the function. - * This isn't a hardware register. It will be eliminated to the - * stack pointer or frame pointer. - */ -#define ARG_POINTER_REGNUM 24 - -#define STATIC_CHAIN_REGNUM A0_REG -#define M68K_STATIC_CHAIN_REG_NAME REGISTER_PREFIX "a0" - -/* Register in which address to store a structure value - is passed to a function. */ -#define M68K_STRUCT_VALUE_REGNUM A1_REG - - - -/* The m68k has three kinds of registers, so eight classes would be - a complete set. One of them is not needed. */ -enum reg_class { - NO_REGS, DATA_REGS, - ADDR_REGS, FP_REGS, - GENERAL_REGS, DATA_OR_FP_REGS, - ADDR_OR_FP_REGS, ALL_REGS, - LIM_REG_CLASSES }; - -#define N_REG_CLASSES (int) LIM_REG_CLASSES - -#define REG_CLASS_NAMES \ - { "NO_REGS", "DATA_REGS", \ - "ADDR_REGS", "FP_REGS", \ - "GENERAL_REGS", "DATA_OR_FP_REGS", \ - "ADDR_OR_FP_REGS", "ALL_REGS" } - -#define REG_CLASS_CONTENTS \ -{ \ - {0x00000000}, /* NO_REGS */ \ - {0x000000ff}, /* DATA_REGS */ \ - {0x0100ff00}, /* ADDR_REGS */ \ - {0x00ff0000}, /* FP_REGS */ \ - {0x0100ffff}, /* GENERAL_REGS */ \ - {0x00ff00ff}, /* DATA_OR_FP_REGS */ \ - {0x01ffff00}, /* ADDR_OR_FP_REGS */ \ - {0x01ffffff}, /* ALL_REGS */ \ -} - -extern enum reg_class regno_reg_class[]; -#define REGNO_REG_CLASS(REGNO) (regno_reg_class[(REGNO)]) -#define INDEX_REG_CLASS GENERAL_REGS -#define BASE_REG_CLASS ADDR_REGS - -#define PREFERRED_RELOAD_CLASS(X,CLASS) \ - m68k_preferred_reload_class (X, CLASS) - -/* On the m68k, this is the size of MODE in words, - except in the FP regs, where a single reg is always enough. */ -#define CLASS_MAX_NREGS(CLASS, MODE) \ - ((CLASS) == FP_REGS ? 1 \ - : ((GET_MODE_SIZE (MODE) + UNITS_PER_WORD - 1) / UNITS_PER_WORD)) - -/* Moves between fp regs and other regs are two insns. */ -#define REGISTER_MOVE_COST(MODE, CLASS1, CLASS2) \ - ((((CLASS1) == FP_REGS) != ((CLASS2) == FP_REGS)) ? 4 : 2) - - -/* Stack layout; function entry, exit and calling. */ - -#define STACK_GROWS_DOWNWARD 1 -#define FRAME_GROWS_DOWNWARD 1 - -#define PUSH_ROUNDING(BYTES) m68k_push_rounding (BYTES) - -#define FIRST_PARM_OFFSET(FNDECL) 8 - -/* On the m68k the return value defaults to D0. */ -#define FUNCTION_VALUE(VALTYPE, FUNC) \ - gen_rtx_REG (TYPE_MODE (VALTYPE), D0_REG) - -/* On the m68k the return value defaults to D0. */ -#define LIBCALL_VALUE(MODE) gen_rtx_REG (MODE, D0_REG) - -/* On the m68k, D0 is usually the only register used. */ -#define FUNCTION_VALUE_REGNO_P(N) ((N) == D0_REG) - -/* Define this to be true when FUNCTION_VALUE_REGNO_P is true for - more than one register. - XXX This macro is m68k specific and used only for m68kemb.h. */ -#define NEEDS_UNTYPED_CALL 0 - -/* On the m68k, all arguments are usually pushed on the stack. */ -#define FUNCTION_ARG_REGNO_P(N) 0 - -/* On the m68k, this is a single integer, which is a number of bytes - of arguments scanned so far. */ -#define CUMULATIVE_ARGS int - -/* On the m68k, the offset starts at 0. */ -#define INIT_CUMULATIVE_ARGS(CUM, FNTYPE, LIBNAME, INDIRECT, N_NAMED_ARGS) \ - ((CUM) = 0) - -#define FUNCTION_PROFILER(FILE, LABELNO) \ - asm_fprintf (FILE, "\tlea %LLP%d,%Ra0\n\tjsr mcount\n", (LABELNO)) - -#define EXIT_IGNORE_STACK 1 - -/* Output assembler code for a block containing the constant parts - of a trampoline, leaving space for the variable parts. - - On the m68k, the trampoline looks like this: - movl #STATIC,a0 - jmp FUNCTION - - WARNING: Targets that may run on 68040+ cpus must arrange for - the instruction cache to be flushed. Previous incarnations of - the m68k trampoline code attempted to get around this by either - using an out-of-line transfer function or pc-relative data, but - the fact remains that the code to jump to the transfer function - or the code to load the pc-relative data needs to be flushed - just as much as the "variable" portion of the trampoline. - Recognizing that a cache flush is going to be required anyway, - dispense with such notions and build a smaller trampoline. - - Since more instructions are required to move a template into - place than to create it on the spot, don't use a template. */ - -#define TRAMPOLINE_SIZE 12 -#define TRAMPOLINE_ALIGNMENT 16 - -/* Targets redefine this to invoke code to either flush the cache, - or enable stack execution (or both). */ -#ifndef FINALIZE_TRAMPOLINE -#define FINALIZE_TRAMPOLINE(TRAMP) -#endif - -/* This is the library routine that is used to transfer control from the - trampoline to the actual nested function. It is defined for backward - compatibility, for linking with object code that used the old trampoline - definition. - - A colon is used with no explicit operands to cause the template string - to be scanned for %-constructs. - - The function name __transfer_from_trampoline is not actually used. - The function definition just permits use of "asm with operands" - (though the operand list is empty). */ -#define TRANSFER_FROM_TRAMPOLINE \ -void \ -__transfer_from_trampoline () \ -{ \ - register char *a0 asm (M68K_STATIC_CHAIN_REG_NAME); \ - asm (GLOBAL_ASM_OP "___trampoline"); \ - asm ("___trampoline:"); \ - asm volatile ("move%.l %0,%@" : : "m" (a0[22])); \ - asm volatile ("move%.l %1,%0" : "=a" (a0) : "m" (a0[18])); \ - asm ("rts":); \ -} - -/* There are two registers that can always be eliminated on the m68k. - The frame pointer and the arg pointer can be replaced by either the - hard frame pointer or to the stack pointer, depending upon the - circumstances. The hard frame pointer is not used before reload and - so it is not eligible for elimination. */ -#define ELIMINABLE_REGS \ -{{ ARG_POINTER_REGNUM, STACK_POINTER_REGNUM }, \ - { ARG_POINTER_REGNUM, FRAME_POINTER_REGNUM }, \ - { FRAME_POINTER_REGNUM, STACK_POINTER_REGNUM }} - -#define INITIAL_ELIMINATION_OFFSET(FROM, TO, OFFSET) \ - (OFFSET) = m68k_initial_elimination_offset(FROM, TO) - -/* Addressing modes, and classification of registers for them. */ - -#define HAVE_POST_INCREMENT 1 -#define HAVE_PRE_DECREMENT 1 - -/* Macros to check register numbers against specific register classes. */ - -/* True for data registers, D0 through D7. */ -#define DATA_REGNO_P(REGNO) IN_RANGE (REGNO, 0, 7) - -/* True for address registers, A0 through A7. */ -#define ADDRESS_REGNO_P(REGNO) IN_RANGE (REGNO, 8, 15) - -/* True for integer registers, D0 through D7 and A0 through A7. */ -#define INT_REGNO_P(REGNO) IN_RANGE (REGNO, 0, 15) - -/* True for floating point registers, FP0 through FP7. */ -#define FP_REGNO_P(REGNO) IN_RANGE (REGNO, 16, 23) - -#define REGNO_OK_FOR_INDEX_P(REGNO) \ - (INT_REGNO_P (REGNO) \ - || INT_REGNO_P (reg_renumber[REGNO])) - -#define REGNO_OK_FOR_BASE_P(REGNO) \ - (ADDRESS_REGNO_P (REGNO) \ - || ADDRESS_REGNO_P (reg_renumber[REGNO])) - -#define REGNO_OK_FOR_INDEX_NONSTRICT_P(REGNO) \ - (INT_REGNO_P (REGNO) \ - || REGNO == ARG_POINTER_REGNUM \ - || REGNO >= FIRST_PSEUDO_REGISTER) - -#define REGNO_OK_FOR_BASE_NONSTRICT_P(REGNO) \ - (ADDRESS_REGNO_P (REGNO) \ - || REGNO == ARG_POINTER_REGNUM \ - || REGNO >= FIRST_PSEUDO_REGISTER) - -/* Now macros that check whether X is a register and also, - strictly, whether it is in a specified class. - - These macros are specific to the m68k, and may be used only - in code for printing assembler insns and in conditions for - define_optimization. */ - -/* 1 if X is a data register. */ -#define DATA_REG_P(X) (REG_P (X) && DATA_REGNO_P (REGNO (X))) - -/* 1 if X is an fp register. */ -#define FP_REG_P(X) (REG_P (X) && FP_REGNO_P (REGNO (X))) - -/* 1 if X is an address register */ -#define ADDRESS_REG_P(X) (REG_P (X) && ADDRESS_REGNO_P (REGNO (X))) - -/* True if SYMBOL + OFFSET constants must refer to something within - SYMBOL's section. */ -#ifndef M68K_OFFSETS_MUST_BE_WITHIN_SECTIONS_P -#define M68K_OFFSETS_MUST_BE_WITHIN_SECTIONS_P 0 -#endif - -#define MAX_REGS_PER_ADDRESS 2 - -#define CONSTANT_ADDRESS_P(X) \ - ((GET_CODE (X) == LABEL_REF || GET_CODE (X) == SYMBOL_REF \ - || GET_CODE (X) == CONST_INT || GET_CODE (X) == CONST \ - || GET_CODE (X) == HIGH) \ - && m68k_legitimate_constant_p (Pmode, X)) - -#ifndef REG_OK_STRICT -#define REG_STRICT_P 0 -#else -#define REG_STRICT_P 1 -#endif - -#define LEGITIMATE_PIC_OPERAND_P(X) \ - (!symbolic_operand (X, VOIDmode) \ - || (TARGET_PCREL && REG_STRICT_P) \ - || m68k_tls_reference_p (X, true)) - -#define REG_OK_FOR_BASE_P(X) \ - m68k_legitimate_base_reg_p (X, REG_STRICT_P) - -#define REG_OK_FOR_INDEX_P(X) \ - m68k_legitimate_index_reg_p (X, REG_STRICT_P) - - -/* This address is OK as it stands. */ -#define PIC_CASE_VECTOR_ADDRESS(index) index -#define CASE_VECTOR_MODE (TARGET_LONG_JUMP_TABLE_OFFSETS ? SImode : HImode) -#define CASE_VECTOR_PC_RELATIVE 1 - -#define DEFAULT_SIGNED_CHAR 1 -#define MOVE_MAX 4 -#define SLOW_BYTE_ACCESS 0 - -/* The 68020 BFFFO and ColdFire FF1 instructions return 32 for zero. */ -#define CLZ_DEFINED_VALUE_AT_ZERO(MODE, VALUE) ((VALUE) = 32, 1) - -#define STORE_FLAG_VALUE (-1) - -#define Pmode SImode -#define FUNCTION_MODE QImode - - -/* Control the assembler format that we output. */ - -#define ASM_APP_ON "#APP\n" -#define ASM_APP_OFF "#NO_APP\n" -#define TEXT_SECTION_ASM_OP "\t.text" -#define DATA_SECTION_ASM_OP "\t.data" -#define GLOBAL_ASM_OP "\t.globl\t" -#define REGISTER_PREFIX "" -#define LOCAL_LABEL_PREFIX "" -#define USER_LABEL_PREFIX "_" -#define IMMEDIATE_PREFIX "#" - -#define REGISTER_NAMES \ -{REGISTER_PREFIX"d0", REGISTER_PREFIX"d1", REGISTER_PREFIX"d2", \ - REGISTER_PREFIX"d3", REGISTER_PREFIX"d4", REGISTER_PREFIX"d5", \ - REGISTER_PREFIX"d6", REGISTER_PREFIX"d7", \ - REGISTER_PREFIX"a0", REGISTER_PREFIX"a1", REGISTER_PREFIX"a2", \ - REGISTER_PREFIX"a3", REGISTER_PREFIX"a4", REGISTER_PREFIX"a5", \ - REGISTER_PREFIX"a6", REGISTER_PREFIX"sp", \ - REGISTER_PREFIX"fp0", REGISTER_PREFIX"fp1", REGISTER_PREFIX"fp2", \ - REGISTER_PREFIX"fp3", REGISTER_PREFIX"fp4", REGISTER_PREFIX"fp5", \ - REGISTER_PREFIX"fp6", REGISTER_PREFIX"fp7", REGISTER_PREFIX"argptr" } - -#define M68K_FP_REG_NAME REGISTER_PREFIX"fp" - -/* Return a register name by index, handling %fp nicely. - We don't replace %fp for targets that don't map it to %a6 - since it may confuse GAS. */ -#define M68K_REGNAME(r) ( \ - ((FRAME_POINTER_REGNUM == A6_REG) \ - && ((r) == FRAME_POINTER_REGNUM) \ - && frame_pointer_needed) ? \ - M68K_FP_REG_NAME : reg_names[(r)]) - -/* On the Sun-3, the floating point registers have numbers - 18 to 25, not 16 to 23 as they do in the compiler. */ -#define DEBUGGER_REGNO(REGNO) ((REGNO) < 16 ? (REGNO) : (REGNO) + 2) - -/* Before the prologue, RA is at 0(%sp). */ -#define INCOMING_RETURN_ADDR_RTX \ - gen_rtx_MEM (Pmode, gen_rtx_REG (Pmode, STACK_POINTER_REGNUM)) - -/* After the prologue, RA is at 4(AP) in the current frame. */ -#define RETURN_ADDR_RTX(COUNT, FRAME) \ - ((COUNT) == 0 \ - ? gen_rtx_MEM (Pmode, plus_constant (Pmode, arg_pointer_rtx, \ - UNITS_PER_WORD)) \ - : gen_rtx_MEM (Pmode, plus_constant (Pmode, FRAME, UNITS_PER_WORD))) - -/* We must not use the debugger register numbers for the DWARF 2 CFA column - numbers because that maps to numbers beyond FIRST_PSEUDO_REGISTER. - Instead use the identity mapping. */ -#define DWARF_FRAME_REGNUM(REG) \ - (INT_REGNO_P (REG) || FP_REGNO_P (REG) ? (REG) : INVALID_REGNUM) - -/* The return column was originally 24, but gcc used 25 for a while too. - Define both registers 24 and 25 as Pmode ones and use 24 in our own - unwind information. */ -#define DWARF_FRAME_REGISTERS 25 -#define DWARF_FRAME_RETURN_COLUMN 24 -#define DWARF_ALT_FRAME_RETURN_COLUMN 25 - -/* Before the prologue, the top of the frame is at 4(%sp), except in interrupt handlers: 6(%sp) */ -#define DEFAULT_INCOMING_FRAME_SP_OFFSET 4 -#define INCOMING_FRAME_SP_OFFSET (m68k_get_function_kind(current_function_decl) == m68k_fk_interrupt_handler ? 6 : 4) - -#define EPILOGUE_USES(REGNO) m68k_epilogue_uses (REGNO) - -/* Describe how we implement __builtin_eh_return. */ -#define EH_RETURN_DATA_REGNO(N) \ - ((N) < 2 ? (N) : INVALID_REGNUM) -#define EH_RETURN_STACKADJ_RTX gen_rtx_REG (Pmode, A0_REG) -#define EH_RETURN_HANDLER_RTX \ - gen_rtx_MEM (Pmode, \ - gen_rtx_PLUS (Pmode, arg_pointer_rtx, \ - plus_constant (Pmode, EH_RETURN_STACKADJ_RTX, \ - UNITS_PER_WORD))) - -/* Select a format to encode pointers in exception handling data. CODE - is 0 for data, 1 for code labels, 2 for function pointers. GLOBAL is - true if the symbol may be affected by dynamic relocations. - - TARGET_ID_SHARED_LIBRARY and TARGET_SEP_DATA are designed to support - a read-only text segment without imposing a fixed gap between the - text and data segments. As a result, the text segment cannot refer - to anything in the data segment, even in PC-relative form. Because - .eh_frame refers to both code and data, it follows that .eh_frame - must be in the data segment itself, and that the offset between - .eh_frame and code will not be a link-time constant. - - In theory, we could create a read-only .eh_frame by using DW_EH_PE_pcrel - | DW_EH_PE_indirect for all code references. However, gcc currently - handles indirect references using a per-TU constant pool. This means - that if a function and its eh_frame are removed by the linker, the - eh_frame's indirect references to the removed function will not be - removed, leading to an unresolved symbol error. - - It isn't clear that any -msep-data or -mid-shared-library target - would benefit from a read-only .eh_frame anyway. In particular, - no known target that supports these options has a feature like - PT_GNU_RELRO. Without any such feature to motivate them, indirect - references would be unnecessary bloat, so we simply use an absolute - pointer for code and global references. We still use pc-relative - references to data, as this avoids a relocation. */ -#define ASM_PREFERRED_EH_DATA_FORMAT(CODE, GLOBAL) \ - (flag_pic \ - && !((TARGET_ID_SHARED_LIBRARY || TARGET_SEP_DATA) \ - && ((GLOBAL) || (CODE))) \ - ? ((GLOBAL) ? DW_EH_PE_indirect : 0) | DW_EH_PE_pcrel | DW_EH_PE_sdata4 \ - : DW_EH_PE_absptr) - -#define ASM_OUTPUT_LABELREF(FILE,NAME) \ - asm_fprintf (FILE, "%U%s", NAME) - -#define ASM_GENERATE_INTERNAL_LABEL(LABEL,PREFIX,NUM) \ - sprintf (LABEL, "*%s%s%ld", LOCAL_LABEL_PREFIX, PREFIX, (long)(NUM)) - -#define ASM_OUTPUT_REG_PUSH(FILE,REGNO) \ - asm_fprintf (FILE, (MOTOROLA \ - ? "\tmove.l %s,-(%Rsp)\n" \ - : "\tmovel %s,%Rsp@-\n"), \ - reg_names[REGNO]) - -#define ASM_OUTPUT_REG_POP(FILE,REGNO) \ - asm_fprintf (FILE, (MOTOROLA \ - ? "\tmove.l (%Rsp)+,%s\n" \ - : "\tmovel %Rsp@+,%s\n"), \ - reg_names[REGNO]) - -/* The m68k does not use absolute case-vectors, but we must define this macro - anyway. */ -#define ASM_OUTPUT_ADDR_VEC_ELT(FILE, VALUE) \ - asm_fprintf (FILE, "\t.long %LL%d\n", VALUE) - -#define ASM_OUTPUT_ADDR_DIFF_ELT(FILE, BODY, VALUE, REL) \ - asm_fprintf (FILE, \ - TARGET_LONG_JUMP_TABLE_OFFSETS \ - ? "\t.long %LL%d-%LL%d\n" \ - : "\t.word %LL%d-%LL%d\n", \ - VALUE, REL) - -/* We don't have a way to align to more than a two-byte boundary, so do the - best we can and don't complain. */ -#define ASM_OUTPUT_ALIGN(FILE,LOG) \ - if ((LOG) >= 1) \ - fprintf (FILE, "\t.even\n"); - -#ifdef HAVE_GAS_BALIGN_AND_P2ALIGN -/* Use "move.l %a4,%a4" to advance within code. */ -#define ASM_OUTPUT_ALIGN_WITH_NOP(FILE,LOG) \ - if ((LOG) > 0) \ - fprintf ((FILE), "\t.balignw %u,0x284c\n", 1 << (LOG)); -#endif - -#define ASM_OUTPUT_SKIP(FILE,SIZE) \ - fprintf (FILE, "\t.skip %u\n", (int)(SIZE)) - -#define ASM_OUTPUT_COMMON(FILE, NAME, SIZE, ROUNDED) \ -( fputs (".comm ", (FILE)), \ - assemble_name ((FILE), (NAME)), \ - fprintf ((FILE), ",%u\n", (int)(ROUNDED))) - -#define ASM_OUTPUT_LOCAL(FILE, NAME, SIZE, ROUNDED) \ -( fputs (".lcomm ", (FILE)), \ - assemble_name ((FILE), (NAME)), \ - fprintf ((FILE), ",%u\n", (int)(ROUNDED))) - -#define FINAL_PRESCAN_INSN(INSN, OPVEC, NOPERANDS) \ - m68k_final_prescan_insn (INSN, OPVEC, NOPERANDS) - -/* On the 68000, we use several CODE characters: - '.' for dot needed in Motorola-style opcode names. - '-' for an operand pushing on the stack: - sp@-, -(sp) or -(%sp) depending on the style of syntax. - '+' for an operand pushing on the stack: - sp@+, (sp)+ or (%sp)+ depending on the style of syntax. - '@' for a reference to the top word on the stack: - sp@, (sp) or (%sp) depending on the style of syntax. - '#' for an immediate operand prefix (# in MIT and Motorola syntax - but & in SGS syntax). - '!' for the fpcr register (used in some float-to-fixed conversions). - '$' for the letter `s' in an op code, but only on the 68040. - '&' for the letter `d' in an op code, but only on the 68040. - '/' for register prefix needed by longlong.h. - '?' for m68k_library_id_string - - 'b' for byte insn (no effect, on the Sun; this is for the ISI). - 'd' to force memory addressing to be absolute, not relative. - 'f' for float insn (print a CONST_DOUBLE as a float rather than in hex) - 'x' for float insn (print a CONST_DOUBLE as a float rather than in hex), - or print pair of registers as rx:ry. */ - -#define PRINT_OPERAND_PUNCT_VALID_P(CODE) \ - ((CODE) == '.' || (CODE) == '#' || (CODE) == '-' \ - || (CODE) == '+' || (CODE) == '@' || (CODE) == '!' \ - || (CODE) == '$' || (CODE) == '&' || (CODE) == '/' || (CODE) == '?') - - -/* See m68k.cc for the m68k specific codes. */ -#define PRINT_OPERAND(FILE, X, CODE) print_operand (FILE, X, CODE) - -#define PRINT_OPERAND_ADDRESS(FILE, ADDR) print_operand_address (FILE, ADDR) - -#define CC_STATUS_INIT m68k_init_cc () - -#include "config/m68k/m68k-opts.h" - -enum fpu_type -{ - FPUTYPE_NONE, - FPUTYPE_68881, - FPUTYPE_COLDFIRE -}; - -enum m68k_function_kind -{ - m68k_fk_normal_function, - m68k_fk_interrupt_handler, - m68k_fk_interrupt_thread -}; - -/* Variables in m68k.cc; see there for details. */ -extern enum target_device m68k_cpu; -extern enum uarch_type m68k_tune; -extern enum fpu_type m68k_fpu; -extern unsigned int m68k_cpu_flags; -extern unsigned int m68k_tune_flags; -extern const char *m68k_symbolic_call; -extern const char *m68k_symbolic_jump; - -enum M68K_SYMBOLIC_CALL { M68K_SYMBOLIC_CALL_NONE, M68K_SYMBOLIC_CALL_JSR, - M68K_SYMBOLIC_CALL_BSR_C, M68K_SYMBOLIC_CALL_BSR_P }; - -extern enum M68K_SYMBOLIC_CALL m68k_symbolic_call_var; - -/* ??? HOST_WIDE_INT is not being defined for auto-generated files. - Workaround that. */ -#ifdef HOST_WIDE_INT -typedef enum { MOVL, SWAP, NEGW, NOTW, NOTB, MOVQ, MVS, MVZ } - M68K_CONST_METHOD; - -extern M68K_CONST_METHOD m68k_const_method (HOST_WIDE_INT); -#endif - -extern void m68k_emit_move_double (rtx [2]); - -extern int m68k_sched_address_bypass_p (rtx_insn *, rtx_insn *); -extern int m68k_sched_indexed_address_bypass_p (rtx_insn *, rtx_insn *); - -#define CPU_UNITS_QUERY 1 diff --git a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/config/m68k/m68kelf.h b/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/config/m68k/m68kelf.h deleted file mode 100644 index 01ee724e..00000000 --- a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/config/m68k/m68kelf.h +++ /dev/null @@ -1,152 +0,0 @@ -/* m68kelf support, derived from m68kv4.h */ - -/* Target definitions for GNU compiler for mc680x0 running System V.4 - Copyright (C) 1991-2023 Free Software Foundation, Inc. - - Written by Ron Guilmette (rfg@netcom.com) and Fred Fish (fnf@cygnus.com). - -This file is part of GCC. - -GCC is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 3, or (at your option) -any later version. - -GCC is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GCC; see the file COPYING3. If not see -. */ - - -#ifndef SWBEG_ASM_OP -#define SWBEG_ASM_OP "\t.swbeg\t" -#endif - -/* Here are three prefixes that are used by asm_fprintf to - facilitate customization for alternate assembler syntaxes. - Machines with no likelihood of an alternate syntax need not - define these and need not use asm_fprintf. */ - -/* The prefix for register names. Note that REGISTER_NAMES - is supposed to include this prefix. Also note that this is NOT an - fprintf format string, it is a literal string */ - -#undef REGISTER_PREFIX -#define REGISTER_PREFIX "%" - -/* The prefix for local (compiler generated) labels. - These labels will not appear in the symbol table. */ - -#undef LOCAL_LABEL_PREFIX -#define LOCAL_LABEL_PREFIX "." - -/* The prefix to add to user-visible assembler symbols. */ - -#undef USER_LABEL_PREFIX -#define USER_LABEL_PREFIX "" - -/* config/m68k.md has an explicit reference to the program counter, - prefix this by the register prefix. */ - -#define ASM_RETURN_CASE_JUMP \ - do { \ - if (TARGET_COLDFIRE) \ - { \ - if (ADDRESS_REG_P (operands[0])) \ - return "jmp %%pc@(2,%0:l)"; \ - else if (TARGET_LONG_JUMP_TABLE_OFFSETS) \ - return "jmp %%pc@(2,%0:l)"; \ - else \ - return "ext%.l %0\n\tjmp %%pc@(2,%0:l)"; \ - } \ - else if (TARGET_LONG_JUMP_TABLE_OFFSETS) \ - return "jmp %%pc@(2,%0:l)"; \ - else \ - return "jmp %%pc@(2,%0:w)"; \ - } while (0) - -/* This is how to output an assembler line that says to advance the - location counter to a multiple of 2**LOG bytes. */ - -#undef ASM_OUTPUT_ALIGN -#define ASM_OUTPUT_ALIGN(FILE,LOG) \ -do { \ - if ((LOG) > 0) \ - fprintf ((FILE), "%s%u\n", ALIGN_ASM_OP, 1 << (LOG)); \ -} while (0) - -/* Register in which address to store a structure value is passed to a - function. The default in m68k.h is a1. For m68k/SVR4 it is a0. */ - -#undef M68K_STRUCT_VALUE_REGNUM -#define M68K_STRUCT_VALUE_REGNUM A0_REG - -/* The static chain regnum defaults to a0, but we use that for - structure return, so have to use a1 for the static chain. */ - -#undef STATIC_CHAIN_REGNUM -#define STATIC_CHAIN_REGNUM A1_REG -#undef M68K_STATIC_CHAIN_REG_NAME -#define M68K_STATIC_CHAIN_REG_NAME REGISTER_PREFIX "a1" - -#define ASM_COMMENT_START "|" - -/* Define how the m68k registers should be numbered for Dwarf output. - The numbering provided here should be compatible with the native - SVR4 debugger in the m68k/SVR4 reference port, where d0-d7 - are 0-7, a0-a8 are 8-15, and fp0-fp7 are 16-23. */ - -#undef DEBUGGER_REGNO -#define DEBUGGER_REGNO(REGNO) (REGNO) - -#if 0 -/* SVR4 m68k assembler is bitching on the `comm i,1,1' which askes for - 1 byte alignment. Don't generate alignment for COMMON seems to be - safer until we the assembler is fixed. */ -#undef ASM_OUTPUT_ALIGNED_COMMON -/* Same problem with this one. */ -#undef ASM_OUTPUT_ALIGNED_LOCAL -#endif - -#undef ASM_OUTPUT_COMMON -#undef ASM_OUTPUT_LOCAL -#define ASM_OUTPUT_COMMON(FILE, NAME, SIZE, ROUNDED) \ -( fputs (".comm ", (FILE)), \ - assemble_name ((FILE), (NAME)), \ - fprintf ((FILE), ",%u\n", (int)(SIZE))) - -#define ASM_OUTPUT_LOCAL(FILE, NAME, SIZE, ROUNDED) \ -( fputs (".lcomm ", (FILE)), \ - assemble_name ((FILE), (NAME)), \ - fprintf ((FILE), ",%u\n", (int)(SIZE))) - -/* Currently, JUMP_TABLES_IN_TEXT_SECTION must be defined in order to - keep switch tables in the text section. */ - -#define JUMP_TABLES_IN_TEXT_SECTION 1 - -/* In m68k svr4, using swbeg is the standard way to do switch - table. */ -#undef ASM_OUTPUT_BEFORE_CASE_LABEL -#define ASM_OUTPUT_BEFORE_CASE_LABEL(FILE,PREFIX,NUM,TABLE) \ - fprintf ((FILE), "%s&%d\n", SWBEG_ASM_OP, XVECLEN (PATTERN (TABLE), 1)) -/* end of stuff from m68kv4.h */ - -#undef ENDFILE_SPEC -#define ENDFILE_SPEC "crtend.o%s" - -#undef STARTFILE_SPEC -#define STARTFILE_SPEC "crtbegin.o%s" - -#ifndef BSS_SECTION_ASM_OP -#define BSS_SECTION_ASM_OP "\t.section\t.bss" -#endif - -#ifndef ASM_OUTPUT_ALIGNED_BSS -#define ASM_OUTPUT_ALIGNED_BSS(FILE, DECL, NAME, SIZE, ALIGN) \ - asm_output_aligned_bss (FILE, DECL, NAME, SIZE, ALIGN) -#endif diff --git a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/config/m68k/m68kemb.h b/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/config/m68k/m68kemb.h deleted file mode 100644 index 5bb19ede..00000000 --- a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/config/m68k/m68kemb.h +++ /dev/null @@ -1,52 +0,0 @@ -/* Definitions of target machine for GNU compiler. "embedded" 68XXX. - This is meant to be included after m68k.h. - Copyright (C) 1994-2023 Free Software Foundation, Inc. */ - -/* Override the SVR4 ABI for this target. */ - -#define PTRDIFF_TYPE "long int" -#define SIZE_TYPE "long unsigned int" - -/* In order for bitfields to work on a 68000, or with -mnobitfield, we must - define either PCC_BITFIELD_TYPE_MATTERS or STRUCTURE_SIZE_BOUNDARY. - Defining STRUCTURE_SIZE_BOUNDARY results in structure packing problems, - so we define PCC_BITFIELD_TYPE_MATTERS. */ -#define PCC_BITFIELD_TYPE_MATTERS 1 - -/* Don't default to pcc-struct-return, so that we can return small structures - and unions in registers, which is slightly more efficient. */ -#define DEFAULT_PCC_STRUCT_RETURN 0 - -#undef FUNCTION_VALUE -#define FUNCTION_VALUE(VALTYPE,FUNC) LIBCALL_VALUE (TYPE_MODE (VALTYPE)) - -#undef LIBCALL_VALUE -#define LIBCALL_VALUE(MODE) \ - m68k_libcall_value (MODE) - -#undef FUNCTION_VALUE_REGNO_P -#define FUNCTION_VALUE_REGNO_P(N) \ - ((N) == D0_REG || (TARGET_68881 && (N) == FP0_REG)) - -#undef NEEDS_UNTYPED_CALL -#define NEEDS_UNTYPED_CALL 1 - -/* Target OS builtins. */ -#define TARGET_OS_CPP_BUILTINS() \ - do \ - { \ - builtin_define ("__embedded__"); \ - } \ - while (0) - -/* Override the default LIB_SPEC from gcc.cc. We don't currently support - profiling, or libg.a. */ - -#undef LIB_SPEC -#define LIB_SPEC "-lc" - -/* Make this be null, since we want the crt0.o to come from the linker - script */ - -#undef STARTFILE_SPEC -#define STARTFILE_SPEC "" diff --git a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/config/newlib-stdint.h b/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/config/newlib-stdint.h deleted file mode 100644 index 98bc77b4..00000000 --- a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/config/newlib-stdint.h +++ /dev/null @@ -1,69 +0,0 @@ -/* Definitions for types on systems using newlib. - Copyright (C) 2008-2023 Free Software Foundation, Inc. - -This file is part of GCC. - -GCC is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 3, or (at your option) -any later version. - -GCC is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -Under Section 7 of GPL version 3, you are granted additional -permissions described in the GCC Runtime Library Exception, version -3.1, as published by the Free Software Foundation. - -You should have received a copy of the GNU General Public License and -a copy of the GCC Runtime Library Exception along with this program; -see the files COPYING3 and COPYING.RUNTIME respectively. If not, see -. */ - -/* newlib uses 32-bit long in certain cases for all non-SPU - targets. */ -#ifndef STDINT_LONG32 -#define STDINT_LONG32 (LONG_TYPE_SIZE == 32) -#endif - -#define SIG_ATOMIC_TYPE "int" - -/* The newlib logic actually checks for sizes greater than 32 rather - than equal to 64 for various 64-bit types. */ - -#define INT8_TYPE (CHAR_TYPE_SIZE == 8 ? "signed char" : 0) -#define INT16_TYPE (SHORT_TYPE_SIZE == 16 ? "short int" : INT_TYPE_SIZE == 16 ? "int" : CHAR_TYPE_SIZE == 16 ? "signed char" : 0) -#define INT32_TYPE (STDINT_LONG32 ? "long int" : INT_TYPE_SIZE == 32 ? "int" : SHORT_TYPE_SIZE == 32 ? "short int" : CHAR_TYPE_SIZE == 32 ? "signed char" : 0) -#define INT64_TYPE (LONG_TYPE_SIZE == 64 ? "long int" : LONG_LONG_TYPE_SIZE == 64 ? "long long int" : INT_TYPE_SIZE == 64 ? "int" : 0) -#define UINT8_TYPE (CHAR_TYPE_SIZE == 8 ? "unsigned char" : 0) -#define UINT16_TYPE (SHORT_TYPE_SIZE == 16 ? "short unsigned int" : INT_TYPE_SIZE == 16 ? "unsigned int" : CHAR_TYPE_SIZE == 16 ? "unsigned char" : 0) -#define UINT32_TYPE (STDINT_LONG32 ? "long unsigned int" : INT_TYPE_SIZE == 32 ? "unsigned int" : SHORT_TYPE_SIZE == 32 ? "short unsigned int" : CHAR_TYPE_SIZE == 32 ? "unsigned char" : 0) -#define UINT64_TYPE (LONG_TYPE_SIZE == 64 ? "long unsigned int" : LONG_LONG_TYPE_SIZE == 64 ? "long long unsigned int" : INT_TYPE_SIZE == 64 ? "unsigned int" : 0) - -#define INT_LEAST8_TYPE (INT8_TYPE ? INT8_TYPE : INT16_TYPE ? INT16_TYPE : INT32_TYPE ? INT32_TYPE : INT64_TYPE ? INT64_TYPE : 0) -#define INT_LEAST16_TYPE (INT16_TYPE ? INT16_TYPE : INT32_TYPE ? INT32_TYPE : INT64_TYPE ? INT64_TYPE : 0) -#define INT_LEAST32_TYPE (INT32_TYPE ? INT32_TYPE : INT64_TYPE ? INT64_TYPE : 0) -#define INT_LEAST64_TYPE INT64_TYPE -#define UINT_LEAST8_TYPE (UINT8_TYPE ? UINT8_TYPE : UINT16_TYPE ? UINT16_TYPE : UINT32_TYPE ? UINT32_TYPE : UINT64_TYPE ? UINT64_TYPE : 0) -#define UINT_LEAST16_TYPE (UINT16_TYPE ? UINT16_TYPE : UINT32_TYPE ? UINT32_TYPE : UINT64_TYPE ? UINT64_TYPE : 0) -#define UINT_LEAST32_TYPE (UINT32_TYPE ? UINT32_TYPE : UINT64_TYPE ? UINT64_TYPE : 0) -#define UINT_LEAST64_TYPE UINT64_TYPE - -#define INT_FAST8_TYPE (INT_TYPE_SIZE >= 8 ? "int" : INT_LEAST8_TYPE) -#define INT_FAST16_TYPE (INT_TYPE_SIZE >= 16 ? "int" : INT_LEAST16_TYPE) -#define INT_FAST32_TYPE (INT_TYPE_SIZE >= 32 ? "int" : INT_LEAST32_TYPE) -#define INT_FAST64_TYPE (INT_TYPE_SIZE >= 64 ? "int" : INT_LEAST64_TYPE) -#define UINT_FAST8_TYPE (INT_TYPE_SIZE >= 8 ? "unsigned int" : UINT_LEAST8_TYPE) -#define UINT_FAST16_TYPE (INT_TYPE_SIZE >= 16 ? "unsigned int" : UINT_LEAST16_TYPE) -#define UINT_FAST32_TYPE (INT_TYPE_SIZE >= 32 ? "unsigned int" : UINT_LEAST32_TYPE) -#define UINT_FAST64_TYPE (INT_TYPE_SIZE >= 64 ? "unsigned int" : UINT_LEAST64_TYPE) - -/* Newlib uses the unsigned type corresponding to ptrdiff_t for - uintptr_t; this is the same as size_t for most newlib-using - targets. */ -#define INTPTR_TYPE PTRDIFF_TYPE -#ifndef UINTPTR_TYPE -#define UINTPTR_TYPE SIZE_TYPE -#endif diff --git a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/configargs.h b/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/configargs.h deleted file mode 100644 index a0308943..00000000 --- a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/configargs.h +++ /dev/null @@ -1,7 +0,0 @@ -/* Generated automatically. */ -static const char configuration_arguments[] = "../gcc/configure --disable-clocale --disable-gcov --disable-libada --disable-libgomp --disable-libsanitizer --disable-libssp --disable-libvtv --disable-multilib --disable-nls --disable-threads --enable-languages=c,c++ --enable-lto --enable-static --prefix=/Users/runner/work/vscode-amiga-debug/vscode-amiga-debug/output --target=m68k-amiga-elf --with-cpu=68000"; -static const char thread_model[] = "single"; - -static const struct { - const char *name, *value; -} configure_default_options[] = { { "cpu", "mcpu=68000" } }; diff --git a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/context.h b/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/context.h deleted file mode 100644 index ad921f2e..00000000 --- a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/context.h +++ /dev/null @@ -1,69 +0,0 @@ -/* context.h - Holder for global state - Copyright (C) 2013-2023 Free Software Foundation, Inc. - -This file is part of GCC. - -GCC is free software; you can redistribute it and/or modify it under -the terms of the GNU General Public License as published by the Free -Software Foundation; either version 3, or (at your option) any later -version. - -GCC is distributed in the hope that it will be useful, but WITHOUT ANY -WARRANTY; without even the implied warranty of MERCHANTABILITY or -FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -for more details. - -You should have received a copy of the GNU General Public License -along with GCC; see the file COPYING3. If not see -. */ - -#ifndef GCC_CONTEXT_H -#define GCC_CONTEXT_H - -namespace gcc { - -class pass_manager; -class dump_manager; - -/* GCC's internal state can be divided into zero or more - "parallel universe" of state; an instance of this class is one such - context of state. */ -class context -{ -public: - context (); - ~context (); - - /* The flag shows if there are symbols to be streamed for offloading. */ - bool have_offload; - - /* Pass-management. */ - - void set_passes (pass_manager *m) - { - gcc_assert (!m_passes); - m_passes = m; - } - - pass_manager *get_passes () { gcc_assert (m_passes); return m_passes; } - - /* Handling dump files. */ - - dump_manager *get_dumps () {gcc_assert (m_dumps); return m_dumps; } - -private: - /* Pass-management. */ - pass_manager *m_passes; - - /* Dump files. */ - dump_manager *m_dumps; - -}; // class context - -} // namespace gcc - -/* The global singleton context aka "g". - (the name is chosen to be easy to type in a debugger). */ -extern gcc::context *g; - -#endif /* ! GCC_CONTEXT_H */ diff --git a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/convert.h b/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/convert.h deleted file mode 100644 index 5351e820..00000000 --- a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/convert.h +++ /dev/null @@ -1,45 +0,0 @@ -/* Definition of functions in convert.cc. - Copyright (C) 1993-2023 Free Software Foundation, Inc. - -This file is part of GCC. - -GCC is free software; you can redistribute it and/or modify it under -the terms of the GNU General Public License as published by the Free -Software Foundation; either version 3, or (at your option) any later -version. - -GCC is distributed in the hope that it will be useful, but WITHOUT ANY -WARRANTY; without even the implied warranty of MERCHANTABILITY or -FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -for more details. - -You should have received a copy of the GNU General Public License -along with GCC; see the file COPYING3. If not see -. */ - -#ifndef GCC_CONVERT_H -#define GCC_CONVERT_H - -extern tree convert_to_integer (tree, tree); -extern tree convert_to_integer_maybe_fold (tree, tree, bool); -extern tree convert_to_pointer (tree, tree); -extern tree convert_to_pointer_maybe_fold (tree, tree, bool); -extern tree convert_to_real (tree, tree); -extern tree convert_to_real_maybe_fold (tree, tree, bool); -extern tree convert_to_fixed (tree, tree); -extern tree convert_to_complex (tree, tree); -extern tree convert_to_complex_maybe_fold (tree, tree, bool); -extern tree convert_to_vector (tree, tree); - -extern inline tree convert_to_integer_nofold (tree t, tree x) -{ return convert_to_integer_maybe_fold (t, x, false); } -extern inline tree convert_to_pointer_nofold (tree t, tree x) -{ return convert_to_pointer_maybe_fold (t, x, false); } -extern inline tree convert_to_real_nofold (tree t, tree x) -{ return convert_to_real_maybe_fold (t, x, false); } -extern inline tree convert_to_complex_nofold (tree t, tree x) -{ return convert_to_complex_maybe_fold (t, x, false); } - -extern tree preserve_any_location_wrapper (tree result, tree orig_expr); - -#endif /* GCC_CONVERT_H */ diff --git a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/coretypes.h b/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/coretypes.h deleted file mode 100644 index ca8837ce..00000000 --- a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/coretypes.h +++ /dev/null @@ -1,495 +0,0 @@ -/* GCC core type declarations. - Copyright (C) 2002-2023 Free Software Foundation, Inc. - -This file is part of GCC. - -GCC is free software; you can redistribute it and/or modify it under -the terms of the GNU General Public License as published by the Free -Software Foundation; either version 3, or (at your option) any later -version. - -GCC is distributed in the hope that it will be useful, but WITHOUT ANY -WARRANTY; without even the implied warranty of MERCHANTABILITY or -FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -for more details. - -Under Section 7 of GPL version 3, you are granted additional -permissions described in the GCC Runtime Library Exception, version -3.1, as published by the Free Software Foundation. - -You should have received a copy of the GNU General Public License and -a copy of the GCC Runtime Library Exception along with this program; -see the files COPYING3 and COPYING.RUNTIME respectively. If not, see -. */ - -/* Provide forward declarations of core types which are referred to by - most of the compiler. This allows header files to use these types - (e.g. in function prototypes) without concern for whether the full - definitions are visible. Some other declarations that need to be - universally visible are here, too. - - In the context of tconfig.h, most of these have special definitions - which prevent them from being used except in further type - declarations. This is a kludge; the right thing is to avoid - including the "tm.h" header set in the context of tconfig.h, but - we're not there yet. */ - -#ifndef GCC_CORETYPES_H -#define GCC_CORETYPES_H - -#ifndef GTY -#define GTY(x) /* nothing - marker for gengtype */ -#endif - -#ifndef USED_FOR_TARGET - -typedef int64_t gcov_type; -typedef uint64_t gcov_type_unsigned; - -struct bitmap_obstack; -class bitmap_head; -typedef class bitmap_head *bitmap; -typedef const class bitmap_head *const_bitmap; -struct simple_bitmap_def; -typedef struct simple_bitmap_def *sbitmap; -typedef const struct simple_bitmap_def *const_sbitmap; -struct rtx_def; -typedef struct rtx_def *rtx; -typedef const struct rtx_def *const_rtx; -class scalar_mode; -class scalar_int_mode; -class scalar_float_mode; -class complex_mode; -class fixed_size_mode; -template class opt_mode; -typedef opt_mode opt_scalar_mode; -typedef opt_mode opt_scalar_int_mode; -typedef opt_mode opt_scalar_float_mode; -template struct pod_mode; -typedef pod_mode scalar_mode_pod; -typedef pod_mode scalar_int_mode_pod; -typedef pod_mode fixed_size_mode_pod; - -/* Subclasses of rtx_def, using indentation to show the class - hierarchy, along with the relevant invariant. - Where possible, keep this list in the same order as in rtl.def. */ -struct rtx_def; - struct rtx_expr_list; /* GET_CODE (X) == EXPR_LIST */ - struct rtx_insn_list; /* GET_CODE (X) == INSN_LIST */ - struct rtx_sequence; /* GET_CODE (X) == SEQUENCE */ - struct rtx_insn; - struct rtx_debug_insn; /* DEBUG_INSN_P (X) */ - struct rtx_nonjump_insn; /* NONJUMP_INSN_P (X) */ - struct rtx_jump_insn; /* JUMP_P (X) */ - struct rtx_call_insn; /* CALL_P (X) */ - struct rtx_jump_table_data; /* JUMP_TABLE_DATA_P (X) */ - struct rtx_barrier; /* BARRIER_P (X) */ - struct rtx_code_label; /* LABEL_P (X) */ - struct rtx_note; /* NOTE_P (X) */ - -struct rtvec_def; -typedef struct rtvec_def *rtvec; -typedef const struct rtvec_def *const_rtvec; -struct hwivec_def; -typedef struct hwivec_def *hwivec; -typedef const struct hwivec_def *const_hwivec; -union tree_node; -typedef union tree_node *tree; -typedef const union tree_node *const_tree; -struct gimple; -typedef gimple *gimple_seq; -struct gimple_stmt_iterator; - -/* Forward decls for leaf gimple subclasses (for individual gimple codes). - Keep this in the same order as the corresponding codes in gimple.def. */ - -struct gcond; -struct gdebug; -struct ggoto; -struct glabel; -struct gswitch; -struct gassign; -struct gasm; -struct gcall; -struct gtransaction; -struct greturn; -struct gbind; -struct gcatch; -struct geh_filter; -struct geh_mnt; -struct geh_else; -struct gresx; -struct geh_dispatch; -struct gphi; -struct gtry; -struct gomp_atomic_load; -struct gomp_atomic_store; -struct gomp_continue; -struct gomp_critical; -struct gomp_ordered; -struct gomp_for; -struct gomp_parallel; -struct gomp_task; -struct gomp_sections; -struct gomp_single; -struct gomp_target; -struct gomp_teams; - -/* Subclasses of symtab_node, using indentation to show the class - hierarchy. */ - -struct symtab_node; - struct cgraph_node; - struct varpool_node; -struct cgraph_edge; - -union section; -typedef union section section; -struct gcc_options; -struct cl_target_option; -struct cl_optimization; -struct cl_option; -struct cl_decoded_option; -struct cl_option_handlers; -struct diagnostic_context; -class pretty_printer; -class diagnostic_event_id_t; -typedef const char * (*diagnostic_input_charset_callback)(const char *); - -template struct array_traits; - -/* Provides a read-only bitmap view of a single integer bitmask or an - array of integer bitmasks, or of a wrapper around such bitmasks. */ -template, - bool has_constant_size = Traits::has_constant_size> -class bitmap_view; - -/* Address space number for named address space support. */ -typedef unsigned char addr_space_t; - -/* The value of addr_space_t that represents the generic address space. */ -#define ADDR_SPACE_GENERIC 0 -#define ADDR_SPACE_GENERIC_P(AS) ((AS) == ADDR_SPACE_GENERIC) - -/* The major intermediate representations of GCC. */ -enum ir_type { - IR_GIMPLE, - IR_RTL_CFGRTL, - IR_RTL_CFGLAYOUT -}; - -/* Provide forward struct declaration so that we don't have to include - all of cpplib.h whenever a random prototype includes a pointer. - Note that the cpp_reader and cpp_token typedefs remain part of - cpplib.h. */ - -struct cpp_reader; -struct cpp_token; - -/* The thread-local storage model associated with a given VAR_DECL - or SYMBOL_REF. This isn't used much, but both trees and RTL refer - to it, so it's here. */ -enum tls_model { - TLS_MODEL_NONE, - TLS_MODEL_EMULATED, - TLS_MODEL_REAL, - TLS_MODEL_GLOBAL_DYNAMIC = TLS_MODEL_REAL, - TLS_MODEL_LOCAL_DYNAMIC, - TLS_MODEL_INITIAL_EXEC, - TLS_MODEL_LOCAL_EXEC -}; - -/* Types of ABI for an offload compiler. */ -enum offload_abi { - OFFLOAD_ABI_UNSET, - OFFLOAD_ABI_LP64, - OFFLOAD_ABI_ILP32 -}; - -/* Types of profile update methods. */ -enum profile_update { - PROFILE_UPDATE_SINGLE, - PROFILE_UPDATE_ATOMIC, - PROFILE_UPDATE_PREFER_ATOMIC -}; - -/* Type of profile reproducibility methods. */ -enum profile_reproducibility { - PROFILE_REPRODUCIBILITY_SERIAL, - PROFILE_REPRODUCIBILITY_PARALLEL_RUNS, - PROFILE_REPRODUCIBILITY_MULTITHREADED -}; - -/* Type of -fstack-protector-*. */ -enum stack_protector { - SPCT_FLAG_DEFAULT = 1, - SPCT_FLAG_ALL = 2, - SPCT_FLAG_STRONG = 3, - SPCT_FLAG_EXPLICIT = 4 -}; - -/* Types of unwind/exception handling info that can be generated. - Note that a UI_TARGET (or larger) setting is considered to be - incompatible with -freorder-blocks-and-partition. */ - -enum unwind_info_type -{ - UI_NONE, - UI_SJLJ, - UI_DWARF2, - UI_SEH, - UI_TARGET -}; - -/* Callgraph node profile representation. */ -enum node_frequency { - /* This function most likely won't be executed at all. - (set only when profile feedback is available or via function attribute). */ - NODE_FREQUENCY_UNLIKELY_EXECUTED, - /* For functions that are known to be executed once (i.e. constructors, destructors - and main function. */ - NODE_FREQUENCY_EXECUTED_ONCE, - /* The default value. */ - NODE_FREQUENCY_NORMAL, - /* Optimize this function hard - (set only when profile feedback is available or via function attribute). */ - NODE_FREQUENCY_HOT -}; - -/* Ways of optimizing code. */ -enum optimization_type { - /* Prioritize speed over size. */ - OPTIMIZE_FOR_SPEED, - - /* Only do things that are good for both size and speed. */ - OPTIMIZE_FOR_BOTH, - - /* Prioritize size over speed. */ - OPTIMIZE_FOR_SIZE -}; - -/* Enumerates a padding direction. */ -enum pad_direction { - /* No padding is required. */ - PAD_NONE, - - /* Insert padding above the data, i.e. at higher memeory addresses - when dealing with memory, and at the most significant end when - dealing with registers. */ - PAD_UPWARD, - - /* Insert padding below the data, i.e. at lower memeory addresses - when dealing with memory, and at the least significant end when - dealing with registers. */ - PAD_DOWNWARD -}; - -/* Possible initialization status of a variable. When requested - by the user, this information is tracked and recorded in the DWARF - debug information, along with the variable's location. */ -enum var_init_status -{ - VAR_INIT_STATUS_UNKNOWN, - VAR_INIT_STATUS_UNINITIALIZED, - VAR_INIT_STATUS_INITIALIZED -}; - -/* Names for the different levels of -Wstrict-overflow=N. The numeric - values here correspond to N. */ -enum warn_strict_overflow_code -{ - /* Overflow warning that should be issued with -Wall: a questionable - construct that is easy to avoid even when using macros. Example: - folding (x + CONSTANT > x) to 1. */ - WARN_STRICT_OVERFLOW_ALL = 1, - /* Overflow warning about folding a comparison to a constant because - of undefined signed overflow, other than cases covered by - WARN_STRICT_OVERFLOW_ALL. Example: folding (abs (x) >= 0) to 1 - (this is false when x == INT_MIN). */ - WARN_STRICT_OVERFLOW_CONDITIONAL = 2, - /* Overflow warning about changes to comparisons other than folding - them to a constant. Example: folding (x + 1 > 1) to (x > 0). */ - WARN_STRICT_OVERFLOW_COMPARISON = 3, - /* Overflow warnings not covered by the above cases. Example: - folding ((x * 10) / 5) to (x * 2). */ - WARN_STRICT_OVERFLOW_MISC = 4, - /* Overflow warnings about reducing magnitude of constants in - comparison. Example: folding (x + 2 > y) to (x + 1 >= y). */ - WARN_STRICT_OVERFLOW_MAGNITUDE = 5 -}; - -/* The type of an alias set. Code currently assumes that variables of - this type can take the values 0 (the alias set which aliases - everything) and -1 (sometimes indicating that the alias set is - unknown, sometimes indicating a memory barrier) and -2 (indicating - that the alias set should be set to a unique value but has not been - set yet). */ -typedef int alias_set_type; - -class edge_def; -typedef class edge_def *edge; -typedef const class edge_def *const_edge; -struct basic_block_def; -typedef struct basic_block_def *basic_block; -typedef const struct basic_block_def *const_basic_block; - -#if !defined (GENERATOR_FILE) -# define OBSTACK_CHUNK_SIZE memory_block_pool::block_size -# define obstack_chunk_alloc mempool_obstack_chunk_alloc -# define obstack_chunk_free mempool_obstack_chunk_free -#else -# define OBSTACK_CHUNK_SIZE 0 -# define obstack_chunk_alloc xmalloc -# define obstack_chunk_free free -#endif - -#define gcc_obstack_init(OBSTACK) \ - obstack_specify_allocation ((OBSTACK), OBSTACK_CHUNK_SIZE, 0, \ - obstack_chunk_alloc, \ - obstack_chunk_free) - -/* enum reg_class is target specific, so it should not appear in - target-independent code or interfaces, like the target hook declarations - in target.h. */ -typedef int reg_class_t; - -class rtl_opt_pass; - -namespace gcc { - class context; -} - -typedef std::pair tree_pair; -typedef std::pair string_int_pair; - -/* Define a name->value mapping. */ -template -struct kv_pair -{ - const char *const name; /* the name of the value */ - const ValueType value; /* the value of the name */ -}; - -#else - -struct _dont_use_rtx_here_; -struct _dont_use_rtvec_here_; -struct _dont_use_rtx_insn_here_; -union _dont_use_tree_here_; -#define rtx struct _dont_use_rtx_here_ * -#define const_rtx struct _dont_use_rtx_here_ * -#define rtvec struct _dont_use_rtvec_here * -#define const_rtvec struct _dont_use_rtvec_here * -#define rtx_insn struct _dont_use_rtx_insn_here_ -#define tree union _dont_use_tree_here_ * -#define const_tree union _dont_use_tree_here_ * - -typedef struct scalar_mode scalar_mode; -typedef struct scalar_int_mode scalar_int_mode; -typedef struct scalar_float_mode scalar_float_mode; -typedef struct complex_mode complex_mode; - -#endif - -/* Classes of functions that compiler needs to check - whether they are present at the runtime or not. */ -enum function_class { - function_c94, - function_c99_misc, - function_c99_math_complex, - function_sincos, - function_c11_misc, - function_c2x_misc -}; - -/* Enumerate visibility settings. This is deliberately ordered from most - to least visibility. */ -enum symbol_visibility -{ - VISIBILITY_DEFAULT, - VISIBILITY_PROTECTED, - VISIBILITY_HIDDEN, - VISIBILITY_INTERNAL -}; - -/* enums used by the targetm.excess_precision hook. */ - -enum flt_eval_method -{ - FLT_EVAL_METHOD_UNPREDICTABLE = -1, - FLT_EVAL_METHOD_PROMOTE_TO_FLOAT = 0, - FLT_EVAL_METHOD_PROMOTE_TO_DOUBLE = 1, - FLT_EVAL_METHOD_PROMOTE_TO_LONG_DOUBLE = 2, - FLT_EVAL_METHOD_PROMOTE_TO_FLOAT16 = 16 -}; - -enum excess_precision_type -{ - EXCESS_PRECISION_TYPE_IMPLICIT, - EXCESS_PRECISION_TYPE_STANDARD, - EXCESS_PRECISION_TYPE_FAST, - EXCESS_PRECISION_TYPE_FLOAT16 -}; - -/* Level of size optimization. */ - -enum optimize_size_level -{ - /* Do not optimize for size. */ - OPTIMIZE_SIZE_NO, - /* Optimize for size but not at extreme performance costs. */ - OPTIMIZE_SIZE_BALANCED, - /* Optimize for size as much as possible. */ - OPTIMIZE_SIZE_MAX -}; - -/* Support for user-provided GGC and PCH markers. The first parameter - is a pointer to a pointer, the second either NULL if the pointer to - pointer points into a GC object or the actual pointer address if - the first argument points to a temporary and the third a cookie. */ -typedef void (*gt_pointer_operator) (void *, void *, void *); - -#if !defined (HAVE_UCHAR) -typedef unsigned char uchar; -#endif - -/* Most source files will require the following headers. */ -#if !defined (USED_FOR_TARGET) -#include "insn-modes.h" -#include "signop.h" -#include "wide-int.h" -#include "wide-int-print.h" - -/* On targets that don't need polynomial offsets, target-specific code - should be able to treat poly_int like a normal constant, with a - conversion operator going from the former to the latter. We also - allow this for gencondmd.cc for all targets, so that we can treat - machine_modes as enums without causing build failures. */ -#if (defined (IN_TARGET_CODE) \ - && (defined (USE_ENUM_MODES) || NUM_POLY_INT_COEFFS == 1)) -#define POLY_INT_CONVERSION 1 -#else -#define POLY_INT_CONVERSION 0 -#endif - -#include "poly-int.h" -#include "poly-int-types.h" -#include "insn-modes-inline.h" -#include "machmode.h" -#include "double-int.h" -#include "align.h" -/* Most host source files will require the following headers. */ -#if !defined (GENERATOR_FILE) -#include "iterator-utils.h" -#include "real.h" -#include "fixed-value.h" -#include "hash-table.h" -#include "hash-set.h" -#include "input.h" -#include "is-a.h" -#include "memory-block.h" -#include "dumpfile.h" -#endif -#endif /* GENERATOR_FILE && !USED_FOR_TARGET */ - -#endif /* coretypes.h */ diff --git a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/coroutine-builtins.def b/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/coroutine-builtins.def deleted file mode 100644 index 6ba10b1c..00000000 --- a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/coroutine-builtins.def +++ /dev/null @@ -1,53 +0,0 @@ -/* This file contains the definitions and documentation for the - coroutines builtins used in GCC. - - Copyright (C) 2018-2023 Free Software Foundation, Inc. - - Contributed by Iain Sandoe under contract to Facebook. - -This file is part of GCC. - -GCC is free software; you can redistribute it and/or modify it under -the terms of the GNU General Public License as published by the Free -Software Foundation; either version 3, or (at your option) any later -version. - -GCC is distributed in the hope that it will be useful, but WITHOUT ANY -WARRANTY; without even the implied warranty of MERCHANTABILITY or -FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -for more details. - -You should have received a copy of the GNU General Public License -along with GCC; see the file COPYING3. If not see -. */ - -/* Before including this file, you should define a macro: - - DEF_BUILTIN_STUB(ENUM, NAME) - DEF_COROUTINE_BUILTIN (ENUM, NAME, TYPE, ATTRS) - - See builtins.def for details. - The builtins are created used by library implementations of C++ - coroutines. */ - -/* This has to come before all the coroutine builtins. */ -DEF_BUILTIN_STUB (BEGIN_COROUTINE_BUILTINS, (const char *) 0) - -/* These are the builtins that are externally-visible and used by the - standard library implementation of the coroutine header. */ - -DEF_COROUTINE_BUILTIN (BUILT_IN_CORO_PROMISE, "promise", - BT_FN_PTR_PTR_CONST_SIZE_BOOL, - ATTR_CONST_NOTHROW_LEAF_LIST) - -DEF_COROUTINE_BUILTIN (BUILT_IN_CORO_RESUME, "resume", BT_FN_VOID_PTR, - ATTR_NULL) - -DEF_COROUTINE_BUILTIN (BUILT_IN_CORO_DESTROY, "destroy", BT_FN_VOID_PTR, - ATTR_NULL) - -DEF_COROUTINE_BUILTIN (BUILT_IN_CORO_DONE, "done", BT_FN_BOOL_PTR, - ATTR_NOTHROW_LEAF_LIST) - -/* This has to come after all the coroutine builtins. */ -DEF_BUILTIN_STUB (END_COROUTINE_BUILTINS, (const char *) 0) diff --git a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/coverage.h b/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/coverage.h deleted file mode 100644 index 504a2354..00000000 --- a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/coverage.h +++ /dev/null @@ -1,61 +0,0 @@ -/* coverage.h - Defines data exported from coverage.cc - Copyright (C) 1998-2023 Free Software Foundation, Inc. - -This file is part of GCC. - -GCC is free software; you can redistribute it and/or modify it under -the terms of the GNU General Public License as published by the Free -Software Foundation; either version 3, or (at your option) any later -version. - -GCC is distributed in the hope that it will be useful, but WITHOUT ANY -WARRANTY; without even the implied warranty of MERCHANTABILITY or -FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -for more details. - -You should have received a copy of the GNU General Public License -along with GCC; see the file COPYING3. If not see -. */ - -#ifndef GCC_COVERAGE_H -#define GCC_COVERAGE_H - -#include "gcov-io.h" - -extern void coverage_init (const char *); -extern void coverage_finish (void); -extern void coverage_remove_note_file (void); - -/* Start outputting coverage information for the current - function. */ -extern int coverage_begin_function (unsigned, unsigned); - -/* Complete the coverage information for the current function. */ -extern void coverage_end_function (unsigned, unsigned); - -/* Compute the control flow checksum for the function FN given as argument. */ -extern unsigned coverage_compute_cfg_checksum (struct function *fn); - -/* Compute the profile id of function N. */ -extern unsigned coverage_compute_profile_id (struct cgraph_node *n); - -/* Compute the line number checksum for the current function. */ -extern unsigned coverage_compute_lineno_checksum (void); - -/* Allocate some counters. Repeatable per function. */ -extern int coverage_counter_alloc (unsigned /*counter*/, unsigned/*num*/); -/* Use a counter from the most recent allocation. */ -extern tree tree_coverage_counter_ref (unsigned /*counter*/, unsigned/*num*/); -/* Use a counter address from the most recent allocation. */ -extern tree tree_coverage_counter_addr (unsigned /*counter*/, unsigned/*num*/); - -/* Get all the counters for the current function. */ -extern gcov_type *get_coverage_counts (unsigned /*counter*/, - unsigned /*cfg_checksum*/, - unsigned /*lineno_checksum*/, - unsigned /*n_counts*/); - -extern tree get_gcov_type (void); -extern bool coverage_node_map_initialized_p (void); - -#endif diff --git a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/cp/contracts.h b/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/cp/contracts.h deleted file mode 100644 index a5bbd8b5..00000000 --- a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/cp/contracts.h +++ /dev/null @@ -1,305 +0,0 @@ -/* Definitions for C++ contract levels. Implements functionality described in - the N4820 working draft version of contracts, P1290, P1332, and P1429. - Copyright (C) 2020-2023 Free Software Foundation, Inc. - Contributed by Jeff Chapman II (jchapman@lock3software.com) - -This file is part of GCC. - -GCC is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 3, or (at your option) -any later version. - -GCC is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GCC; see the file COPYING3. If not see -. */ - -#ifndef GCC_CP_CONTRACT_H -#define GCC_CP_CONTRACT_H - -/* Contract levels approximate the complexity of the expression. */ - -enum contract_level -{ - CONTRACT_INVALID, - CONTRACT_DEFAULT, - CONTRACT_AUDIT, - CONTRACT_AXIOM -}; - -/* The concrete semantics determine the behavior of a contract. */ - -enum contract_semantic -{ - CCS_INVALID, - CCS_IGNORE, - CCS_ASSUME, - CCS_NEVER, - CCS_MAYBE -}; - -/* True if the contract is unchecked. */ - -inline bool -unchecked_contract_p (contract_semantic cs) -{ - return cs == CCS_IGNORE || cs == CCS_ASSUME; -} - -/* True if the contract is checked. */ - -inline bool -checked_contract_p (contract_semantic cs) -{ - return cs >= CCS_NEVER; -} - -/* Must match std::contract_violation_continuation_mode in . */ -enum contract_continuation -{ - NEVER_CONTINUE, - MAYBE_CONTINUE -}; - -/* Assertion role info. */ -struct contract_role -{ - const char *name; - contract_semantic default_semantic; - contract_semantic audit_semantic; - contract_semantic axiom_semantic; -}; - -/* Information for configured contract semantics. */ - -struct contract_configuration -{ - contract_level level; - contract_role* role; -}; - -/* A contract mode contains information used to derive the checking - and assumption semantics of a contract. This is either a dynamic - configuration, meaning it derives from the build mode, or it is - explicitly specified. */ - -struct contract_mode -{ - contract_mode () : kind(cm_invalid) {} - contract_mode (contract_level level, contract_role *role = NULL) - : kind(cm_dynamic) - { - contract_configuration cc; - cc.level = level; - cc.role = role; - u.config = cc; - } - contract_mode (contract_semantic semantic) : kind(cm_explicit) - { - u.semantic = semantic; - } - - contract_level get_level () const - { - gcc_assert (kind == cm_dynamic); - return u.config.level; - } - - contract_role *get_role () const - { - gcc_assert (kind == cm_dynamic); - return u.config.role; - } - - contract_semantic get_semantic () const - { - gcc_assert (kind == cm_explicit); - return u.semantic; - } - - enum { cm_invalid, cm_dynamic, cm_explicit } kind; - - union - { - contract_configuration config; - contract_semantic semantic; - } u; -}; - -extern contract_role *get_contract_role (const char *); -extern contract_role *add_contract_role (const char *, - contract_semantic, - contract_semantic, - contract_semantic, - bool = true); -extern void validate_contract_role (contract_role *); -extern void setup_default_contract_role (bool = true); -extern contract_semantic lookup_concrete_semantic (const char *); - -/* Map a source level semantic or level name to its value, or invalid. */ -extern contract_semantic map_contract_semantic (const char *); -extern contract_level map_contract_level (const char *); - -/* Check if an attribute is a cxx contract attribute. */ -extern bool cxx_contract_attribute_p (const_tree); -extern bool cp_contract_assertion_p (const_tree); - -/* Returns the default role. */ - -inline contract_role * -get_default_contract_role () -{ - return get_contract_role ("default"); -} - -/* Handle various command line arguments related to semantic mapping. */ -extern void handle_OPT_fcontract_build_level_ (const char *); -extern void handle_OPT_fcontract_assumption_mode_ (const char *); -extern void handle_OPT_fcontract_continuation_mode_ (const char *); -extern void handle_OPT_fcontract_role_ (const char *); -extern void handle_OPT_fcontract_semantic_ (const char *); - -enum contract_matching_context -{ - cmc_declaration, - cmc_override -}; - -/* True if NODE is any kind of contract. */ -#define CONTRACT_P(NODE) \ - (TREE_CODE (NODE) == ASSERTION_STMT \ - || TREE_CODE (NODE) == PRECONDITION_STMT \ - || TREE_CODE (NODE) == POSTCONDITION_STMT) - -/* True if NODE is a contract condition. */ -#define CONTRACT_CONDITION_P(NODE) \ - (TREE_CODE (NODE) == PRECONDITION_STMT \ - || TREE_CODE (NODE) == POSTCONDITION_STMT) - -/* True if NODE is a precondition. */ -#define PRECONDITION_P(NODE) \ - (TREE_CODE (NODE) == PRECONDITION_STMT) - -/* True if NODE is a postcondition. */ -#define POSTCONDITION_P(NODE) \ - (TREE_CODE (NODE) == POSTCONDITION_STMT) - -#define CONTRACT_CHECK(NODE) \ - (TREE_CHECK3 (NODE, ASSERTION_STMT, PRECONDITION_STMT, POSTCONDITION_STMT)) - -/* True iff the FUNCTION_DECL NODE currently has any contracts. */ -#define DECL_HAS_CONTRACTS_P(NODE) \ - (DECL_CONTRACTS (NODE) != NULL_TREE) - -/* For a FUNCTION_DECL of a guarded function, this points to a list of the pre - and post contracts of the first decl of NODE in original order. */ -#define DECL_CONTRACTS(NODE) \ - (find_contract (DECL_ATTRIBUTES (NODE))) - -/* The next contract (if any) after this one in an attribute list. */ -#define CONTRACT_CHAIN(NODE) \ - (find_contract (TREE_CHAIN (NODE))) - -/* The wrapper of the original source location of a list of contracts. */ -#define CONTRACT_SOURCE_LOCATION_WRAPPER(NODE) \ - (TREE_PURPOSE (TREE_VALUE (NODE))) - -/* The original source location of a list of contracts. */ -#define CONTRACT_SOURCE_LOCATION(NODE) \ - (EXPR_LOCATION (CONTRACT_SOURCE_LOCATION_WRAPPER (NODE))) - -/* The actual code _STMT for a contract attribute. */ -#define CONTRACT_STATEMENT(NODE) \ - (TREE_VALUE (TREE_VALUE (NODE))) - -/* True if the contract semantic was specified literally. If true, the - contract mode is an identifier containing the semantic. Otherwise, - it is a TREE_LIST whose TREE_VALUE is the level and whose TREE_PURPOSE - is the role. */ -#define CONTRACT_LITERAL_MODE_P(NODE) \ - (CONTRACT_MODE (NODE) != NULL_TREE \ - && TREE_CODE (CONTRACT_MODE (NODE)) == IDENTIFIER_NODE) - -/* The identifier denoting the literal semantic of the contract. */ -#define CONTRACT_LITERAL_SEMANTIC(NODE) \ - (TREE_OPERAND (NODE, 0)) - -/* The written "mode" of the contract. Either an IDENTIFIER with the - literal semantic or a TREE_LIST containing the level and role. */ -#define CONTRACT_MODE(NODE) \ - (TREE_OPERAND (CONTRACT_CHECK (NODE), 0)) - -/* The identifier denoting the build level of the contract. */ -#define CONTRACT_LEVEL(NODE) \ - (TREE_VALUE (CONTRACT_MODE (NODE))) - -/* The identifier denoting the role of the contract */ -#define CONTRACT_ROLE(NODE) \ - (TREE_PURPOSE (CONTRACT_MODE (NODE))) - -/* The parsed condition of the contract. */ -#define CONTRACT_CONDITION(NODE) \ - (TREE_OPERAND (CONTRACT_CHECK (NODE), 1)) - -/* True iff the condition of the contract NODE is not yet parsed. */ -#define CONTRACT_CONDITION_DEFERRED_P(NODE) \ - (TREE_CODE (CONTRACT_CONDITION (NODE)) == DEFERRED_PARSE) - -/* The raw comment of the contract. */ -#define CONTRACT_COMMENT(NODE) \ - (TREE_OPERAND (CONTRACT_CHECK (NODE), 2)) - -/* The VAR_DECL of a postcondition result. For deferred contracts, this - is an IDENTIFIER. */ -#define POSTCONDITION_IDENTIFIER(NODE) \ - (TREE_OPERAND (POSTCONDITION_STMT_CHECK (NODE), 3)) - -/* For a FUNCTION_DECL of a guarded function, this holds the function decl - where pre contract checks are emitted. */ -#define DECL_PRE_FN(NODE) \ - (get_precondition_function ((NODE))) - -/* For a FUNCTION_DECL of a guarded function, this holds the function decl - where post contract checks are emitted. */ -#define DECL_POST_FN(NODE) \ - (get_postcondition_function ((NODE))) - -/* True iff the FUNCTION_DECL is the pre function for a guarded function. */ -#define DECL_IS_PRE_FN_P(NODE) \ - (DECL_ABSTRACT_ORIGIN (NODE) && DECL_PRE_FN (DECL_ABSTRACT_ORIGIN (NODE)) == NODE) - -/* True iff the FUNCTION_DECL is the post function for a guarded function. */ -#define DECL_IS_POST_FN_P(NODE) \ - (DECL_ABSTRACT_ORIGIN (NODE) && DECL_POST_FN (DECL_ABSTRACT_ORIGIN (NODE)) == NODE) - -extern void remove_contract_attributes (tree); -extern void copy_contract_attributes (tree, tree); -extern void remap_contracts (tree, tree, tree, bool); -extern void maybe_update_postconditions (tree); -extern void rebuild_postconditions (tree); -extern bool check_postcondition_result (tree, tree, location_t); -extern tree get_precondition_function (tree); -extern tree get_postcondition_function (tree); -extern void duplicate_contracts (tree, tree); -extern void match_deferred_contracts (tree); -extern void defer_guarded_contract_match (tree, tree, tree); -extern bool diagnose_misapplied_contracts (tree); -extern tree finish_contract_attribute (tree, tree); -extern tree invalidate_contract (tree); -extern void update_late_contract (tree, tree, tree); -extern tree splice_out_contracts (tree); -extern bool all_attributes_are_contracts_p (tree); -extern void inherit_base_contracts (tree, tree); -extern tree apply_postcondition_to_return (tree); -extern void start_function_contracts (tree); -extern void finish_function_contracts (tree); -extern void set_contract_functions (tree, tree, tree); -extern tree build_contract_check (tree); -extern void emit_assertion (tree); - -#endif /* ! GCC_CP_CONTRACT_H */ diff --git a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/cp/cp-trait.def b/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/cp/cp-trait.def deleted file mode 100644 index bac593c0..00000000 --- a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/cp/cp-trait.def +++ /dev/null @@ -1,108 +0,0 @@ -/* This file contains the definitions for C++-specific built-in traits. - - Copyright The GNU Toolchain Authors. - - This file is part of GCC. - - GCC is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 3, or (at your option) - any later version. - - GCC is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with GCC; see the file COPYING3. If not see - . */ - -/* Add a DEFTRAIT_EXPR (CODE, NAME, N) line to this file to define an - expression-yielding built-in trait that has internal code name CODE, is - spelled as NAME and takes N type arguments (where N is either 1, 2, or - the special value -1 which denotes that it takes at least one argument). - Such traits are represented as TRAIT_EXPR tree whose TRAIT_EXPR_KIND is - CPTK_CODE. Define the behavior of the trait in finish_trait_expr. */ - -/* Add a DEFTRAIT_TYPE (CODE, NAME, N) line to this file to define a - type-yielding built-in trait as described above. Such traits are - generally represented as a TRAIT_TYPE tree whose TRAIT_TYPE_KIND is - CPTK_CODE (exceptions are BASES and DIRECT_BASES below). Define the - behavior of the trait in finish_trait_type. */ - -#ifdef DEFTRAIT -#define DEFTRAIT_EXPR(CODE, NAME, ARITY) DEFTRAIT(tcc_expression, CODE, NAME, ARITY) -#define DEFTRAIT_TYPE(CODE, NAME, ARITY) DEFTRAIT(tcc_type, CODE, NAME, ARITY) -#define DEFTRAIT_EXPR_DEFAULTED -#define DEFTRAIT_TYPE_DEFAULTED -#endif - -#ifndef DEFTRAIT_EXPR -#define DEFTRAIT_EXPR(CODE, NAME, ARITY) -#define DEFTRAIT_EXPR_DEFAULTED -#endif - -#ifndef DEFTRAIT_TYPE -#define DEFTRAIT_TYPE(CODE, NAME, ARITY) -#define DEFTRAIT_TYPE_DEFAULTED -#endif - -DEFTRAIT_EXPR (HAS_NOTHROW_ASSIGN, "__has_nothrow_assign", 1) -DEFTRAIT_EXPR (HAS_NOTHROW_CONSTRUCTOR, "__has_nothrow_constructor", 1) -DEFTRAIT_EXPR (HAS_NOTHROW_COPY, "__has_nothrow_copy", 1) -DEFTRAIT_EXPR (HAS_TRIVIAL_ASSIGN, "__has_trivial_assign", 1) -DEFTRAIT_EXPR (HAS_TRIVIAL_CONSTRUCTOR, "__has_trivial_constructor", 1) -DEFTRAIT_EXPR (HAS_TRIVIAL_COPY, "__has_trivial_copy", 1) -DEFTRAIT_EXPR (HAS_TRIVIAL_DESTRUCTOR, "__has_trivial_destructor", 1) -DEFTRAIT_EXPR (HAS_UNIQUE_OBJ_REPRESENTATIONS, "__has_unique_object_representations", 1) -DEFTRAIT_EXPR (HAS_VIRTUAL_DESTRUCTOR, "__has_virtual_destructor", 1) -DEFTRAIT_EXPR (IS_ABSTRACT, "__is_abstract", 1) -DEFTRAIT_EXPR (IS_AGGREGATE, "__is_aggregate", 1) -DEFTRAIT_EXPR (IS_ASSIGNABLE, "__is_assignable", 2) -DEFTRAIT_EXPR (IS_BASE_OF, "__is_base_of", 2) -DEFTRAIT_EXPR (IS_CLASS, "__is_class", 1) -DEFTRAIT_EXPR (IS_CONSTRUCTIBLE, "__is_constructible", -1) -DEFTRAIT_EXPR (IS_CONVERTIBLE, "__is_convertible", 2) -DEFTRAIT_EXPR (IS_EMPTY, "__is_empty", 1) -DEFTRAIT_EXPR (IS_ENUM, "__is_enum", 1) -DEFTRAIT_EXPR (IS_FINAL, "__is_final", 1) -DEFTRAIT_EXPR (IS_LAYOUT_COMPATIBLE, "__is_layout_compatible", 2) -DEFTRAIT_EXPR (IS_LITERAL_TYPE, "__is_literal_type", 1) -DEFTRAIT_EXPR (IS_NOTHROW_ASSIGNABLE, "__is_nothrow_assignable", 2) -DEFTRAIT_EXPR (IS_NOTHROW_CONSTRUCTIBLE, "__is_nothrow_constructible", -1) -DEFTRAIT_EXPR (IS_NOTHROW_CONVERTIBLE, "__is_nothrow_convertible", 2) -DEFTRAIT_EXPR (IS_POINTER_INTERCONVERTIBLE_BASE_OF, "__is_pointer_interconvertible_base_of", 2) -DEFTRAIT_EXPR (IS_POD, "__is_pod", 1) -DEFTRAIT_EXPR (IS_POLYMORPHIC, "__is_polymorphic", 1) -DEFTRAIT_EXPR (IS_SAME, "__is_same", 2) -DEFTRAIT_EXPR (IS_STD_LAYOUT, "__is_standard_layout", 1) -DEFTRAIT_EXPR (IS_TRIVIAL, "__is_trivial", 1) -DEFTRAIT_EXPR (IS_TRIVIALLY_ASSIGNABLE, "__is_trivially_assignable", 2) -DEFTRAIT_EXPR (IS_TRIVIALLY_CONSTRUCTIBLE, "__is_trivially_constructible", -1) -DEFTRAIT_EXPR (IS_TRIVIALLY_COPYABLE, "__is_trivially_copyable", 1) -DEFTRAIT_EXPR (IS_UNION, "__is_union", 1) -DEFTRAIT_EXPR (REF_CONSTRUCTS_FROM_TEMPORARY, "__reference_constructs_from_temporary", 2) -DEFTRAIT_EXPR (REF_CONVERTS_FROM_TEMPORARY, "__reference_converts_from_temporary", 2) -/* FIXME Added space to avoid direct usage in GCC 13. */ -DEFTRAIT_EXPR (IS_DEDUCIBLE, "__is_deducible ", 2) - -DEFTRAIT_TYPE (REMOVE_CV, "__remove_cv", 1) -DEFTRAIT_TYPE (REMOVE_REFERENCE, "__remove_reference", 1) -DEFTRAIT_TYPE (REMOVE_CVREF, "__remove_cvref", 1) -DEFTRAIT_TYPE (UNDERLYING_TYPE, "__underlying_type", 1) - -/* These traits yield a type pack, not a type, and are represented by - cp_parser_trait as a special BASES tree instead of a TRAIT_TYPE tree. */ -DEFTRAIT_TYPE (BASES, "__bases", 1) -DEFTRAIT_TYPE (DIRECT_BASES, "__direct_bases", 1) - -#ifdef DEFTRAIT_EXPR_DEFAULTED -#undef DEFTRAIT_EXPR -#undef DEFTRAIT_EXPR_DEFAULTED -#endif - -#ifdef DEFTRAIT_TYPE_DEFAULTED -#undef DEFTRAIT_TYPE -#undef DEFTRAIT_TYPE_DEFAULTED -#endif diff --git a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/cp/cp-tree.def b/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/cp/cp-tree.def deleted file mode 100644 index 0e66ca70..00000000 --- a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/cp/cp-tree.def +++ /dev/null @@ -1,600 +0,0 @@ -/* This file contains the definitions and documentation for the - additional tree codes used in the GNU C++ compiler (see tree.def - for the standard codes). - Copyright (C) 1987-2023 Free Software Foundation, Inc. - Hacked by Michael Tiemann (tiemann@cygnus.com) - -This file is part of GCC. - -GCC is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 3, or (at your option) -any later version. - -GCC is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GCC; see the file COPYING3. If not see -. */ - - -/* An OFFSET_REF is used in two situations: - - 1. An expression of the form `A::m' where `A' is a class and `m' is - a non-static member. In this case, operand 0 will be a TYPE - (corresponding to `A') and operand 1 will be a FIELD_DECL, - BASELINK, or TEMPLATE_ID_EXPR (corresponding to `m'). - - The expression is a pointer-to-member if its address is taken, - but simply denotes a member of the object if its address is not - taken. - - This form is only used during the parsing phase; once semantic - analysis has taken place they are eliminated. - - 2. An expression of the form `x.*p'. In this case, operand 0 will - be an expression corresponding to `x' and operand 1 will be an - expression with pointer-to-member type. */ -DEFTREECODE (OFFSET_REF, "offset_ref", tcc_reference, 2) - -/* A pointer-to-member constant. For a pointer-to-member constant - `X::Y' The PTRMEM_CST_CLASS is the RECORD_TYPE for `X' and the - PTRMEM_CST_MEMBER is the _DECL for `Y'. */ -DEFTREECODE (PTRMEM_CST, "ptrmem_cst", tcc_constant, 0) - -/* For NEW_EXPR, operand 0 is the placement list. - Operand 1 is the new-declarator. - Operand 2 is the number of elements in the array. - Operand 3 is the initializer. */ -DEFTREECODE (NEW_EXPR, "nw_expr", tcc_expression, 4) -DEFTREECODE (VEC_NEW_EXPR, "vec_nw_expr", tcc_expression, 3) - -/* For DELETE_EXPR, operand 0 is the store to be destroyed. - Operand 1 is the value to pass to the destroying function - saying whether the store should be deallocated as well. */ -DEFTREECODE (DELETE_EXPR, "dl_expr", tcc_expression, 2) -DEFTREECODE (VEC_DELETE_EXPR, "vec_dl_expr", tcc_expression, 2) - -/* Value is reference to particular overloaded class method. - Operand 0 is the class, operand 1 is the field - The COMPLEXITY field holds the class level (usually 0). */ -DEFTREECODE (SCOPE_REF, "scope_ref", tcc_reference, 2) - -/* When composing an object with a member, this is the result. - Operand 0 is the object. Operand 1 is the member (usually - a dereferenced pointer to member). */ -DEFTREECODE (MEMBER_REF, "member_ref", tcc_reference, 2) - -/* Type conversion operator in C++. TREE_TYPE is type that this - operator converts to. Operand is expression to be converted. */ -DEFTREECODE (TYPE_EXPR, "type_expr", tcc_expression, 1) - -/* AGGR_INIT_EXPRs have a variably-sized representation similar to - that of CALL_EXPRs. Operand 0 is an INTEGER_CST node containing the - operand count, operand 1 is the function which performs initialization, - operand 2 is the slot which was allocated for this expression, and - the remaining operands are the arguments to the initialization function. */ -DEFTREECODE (AGGR_INIT_EXPR, "aggr_init_expr", tcc_vl_exp, 3) - -/* Initialization of an array from another array, expressed at a high level - so that it works with TARGET_EXPR. Operand 0 is the target, operand 1 - is the initializer. */ -DEFTREECODE (VEC_INIT_EXPR, "vec_init_expr", tcc_expression, 2) - -/* A throw expression. operand 0 is the expression, if there was one, - else it is NULL_TREE. */ -DEFTREECODE (THROW_EXPR, "throw_expr", tcc_expression, 1) - -/* An empty class object. The TREE_TYPE gives the class type. We use - these to avoid actually creating instances of the empty classes. */ -DEFTREECODE (EMPTY_CLASS_EXPR, "empty_class_expr", tcc_expression, 0) - -/* A reference to a member function or member functions from a base - class. BASELINK_FUNCTIONS gives the FUNCTION_DECL, - TEMPLATE_DECL, OVERLOAD, or TEMPLATE_ID_EXPR corresponding to the - functions. BASELINK_BINFO gives the base from which the functions - come, i.e., the base to which the `this' pointer must be converted - before the functions are called. BASELINK_ACCESS_BINFO gives the - base used to name the functions. - - A BASELINK is an expression; the TREE_TYPE of the BASELINK gives - the type of the expression. This type is either a FUNCTION_TYPE, - METHOD_TYPE, or `unknown_type_node' indicating that the function is - overloaded. */ -DEFTREECODE (BASELINK, "baselink", tcc_exceptional, 0) - -/* Template definition. The following fields have the specified uses, - although there are other macros in cp-tree.h that should be used for - accessing this data. - DECL_ARGUMENTS template parm vector - DECL_TEMPLATE_INFO template text &c - DECL_VINDEX list of instantiations already produced; - only done for functions so far - For class template: - DECL_INITIAL associated templates (methods &c) - DECL_TEMPLATE_RESULT null - For non-class templates: - TREE_TYPE type of object to be constructed - DECL_TEMPLATE_RESULT decl for object to be created - (e.g., FUNCTION_DECL with tmpl parms used) - */ -DEFTREECODE (TEMPLATE_DECL, "template_decl", tcc_declaration, 0) - -/* Index into a template parameter list. The TEMPLATE_PARM_IDX gives - the index (from 0) of the parameter, while the TEMPLATE_PARM_LEVEL - gives the level (from 1) of the parameter. - - Here's an example: - - template // Index 0, Level 1. - struct S - { - template // Index 1, Level 2. - void f(); - }; - - The DESCENDANTS will be a chain of TEMPLATE_PARM_INDEXs descended - from this one. The first descendant will have the same IDX, but - its LEVEL will be one less. The TREE_CHAIN field is used to chain - together the descendants. The TEMPLATE_PARM_DECL is the - declaration of this parameter, either a TYPE_DECL or CONST_DECL. - The TEMPLATE_PARM_ORIG_LEVEL is the LEVEL of the most distant - parent, i.e., the LEVEL that the parameter originally had when it - was declared. For example, if we instantiate S, we will have: - - struct S - { - template // Index 1, Level 1, Orig Level 2 - void f(); - }; - - The LEVEL is the level of the parameter when we are worrying about - the types of things; the ORIG_LEVEL is the level when we are - worrying about instantiating things. */ -DEFTREECODE (TEMPLATE_PARM_INDEX, "template_parm_index", tcc_exceptional, 0) - -/* Index into a template parameter list for template template parameters. - This parameter must be a type. The TYPE_FIELDS value will be a - TEMPLATE_PARM_INDEX. - - It is used without template arguments like TT in C, - TYPE_NAME is a TEMPLATE_DECL. */ -DEFTREECODE (TEMPLATE_TEMPLATE_PARM, "template_template_parm", tcc_type, 0) - -/* The ordering of the following codes is optimized for the checking - macros in tree.h. Changing the order will degrade the speed of the - compiler. TEMPLATE_TYPE_PARM, TYPENAME_TYPE, TYPEOF_TYPE, - BOUND_TEMPLATE_TEMPLATE_PARM. */ - -/* Index into a template parameter list. This parameter must be a type. - The type.values field will be a TEMPLATE_PARM_INDEX. */ -DEFTREECODE (TEMPLATE_TYPE_PARM, "template_type_parm", tcc_type, 0) - -/* A type designated by `typename T::t'. TYPE_CONTEXT is `T', - TYPE_NAME is an IDENTIFIER_NODE for `t'. If the type was named via - template-id, TYPENAME_TYPE_FULLNAME will hold the TEMPLATE_ID_EXPR. - TREE_TYPE is always NULL. */ -DEFTREECODE (TYPENAME_TYPE, "typename_type", tcc_type, 0) - -/* A type designated by `__typeof (expr)'. TYPEOF_TYPE_EXPR is the - expression in question. */ -DEFTREECODE (TYPEOF_TYPE, "typeof_type", tcc_type, 0) - -/* Like TEMPLATE_TEMPLATE_PARM it is used with bound template arguments - like TT. - In this case, TEMPLATE_TEMPLATE_PARM_TEMPLATE_INFO contains the - template name and its bound arguments. TYPE_NAME is a TYPE_DECL. */ -DEFTREECODE (BOUND_TEMPLATE_TEMPLATE_PARM, "bound_template_template_parm", - tcc_type, 0) - -/* For template template argument of the form `T::template C'. - TYPE_CONTEXT is `T', the template parameter dependent object. - TYPE_NAME is a TEMPLATE_DECL, whose DECL_TEMPLATE_PARMS are any - template parms of the instantiation. That decl's DECL_NAME is the - IDENTIFIER_NODE for `C', the member class template. */ -DEFTREECODE (UNBOUND_CLASS_TEMPLATE, "unbound_class_template", tcc_type, 0) - -/* A using declaration. USING_DECL_SCOPE contains the specified - scope. In a variadic using-declaration, this is a TYPE_PACK_EXPANSION. - In a member using decl, unless DECL_DEPENDENT_P is true, - USING_DECL_DECLS contains the _DECL or OVERLOAD so named. This is - not an alias, but is later expanded into multiple aliases. */ -DEFTREECODE (USING_DECL, "using_decl", tcc_declaration, 0) - -/* A using directive. The operand is USING_STMT_NAMESPACE. */ -DEFTREECODE (USING_STMT, "using_stmt", tcc_statement, 1) - -/* An un-parsed operand. Holds a vector of input tokens and - a vector of places where the argument was instantiated before - parsing had occurred. This is used for default arguments, delayed - NSDMIs, and noexcept-specifier parsing. */ -DEFTREECODE (DEFERRED_PARSE, "deferred_parse", tcc_exceptional, 0) - -/* An uninstantiated/unevaluated noexcept-specification. For the - uninstantiated case, DEFERRED_NOEXCEPT_PATTERN is the pattern from the - template, and DEFERRED_NOEXCEPT_ARGS are the template arguments to - substitute into the pattern when needed. For the unevaluated case, - those slots are NULL_TREE and we use get_defaulted_eh_spec to find - the exception-specification. */ -DEFTREECODE (DEFERRED_NOEXCEPT, "deferred_noexcept", tcc_exceptional, 0) - -/* A template-id, like foo. The first operand is the template. - The second is NULL if there are no explicit arguments, or a - TREE_VEC of arguments. The template will be a FUNCTION_DECL, - TEMPLATE_DECL, or an OVERLOAD. If the template-id refers to a - member template, the template may be an IDENTIFIER_NODE. */ -DEFTREECODE (TEMPLATE_ID_EXPR, "template_id_expr", tcc_expression, 2) - -/* One of a set of overloaded functions. */ -DEFTREECODE (OVERLOAD, "overload", tcc_exceptional, 0) - -/* A vector of binding slots. */ -DEFTREECODE (BINDING_VECTOR, "binding_vector", tcc_exceptional, 0) - -/* A pseudo-destructor, of the form "OBJECT.~DESTRUCTOR" or - "OBJECT.SCOPE::~DESTRUCTOR. The first operand is the OBJECT. The - second operand (if non-NULL) is the SCOPE. The third operand is - the TYPE node corresponding to the DESTRUCTOR. The type of the - first operand will always be a scalar type. - - The type of a PSEUDO_DTOR_EXPR is always "void", even though it can - be used as if it were a zero-argument function. We handle the - function-call case specially, and giving it "void" type prevents it - being used in expressions in ways that are not permitted. */ -DEFTREECODE (PSEUDO_DTOR_EXPR, "pseudo_dtor_expr", tcc_expression, 3) - -/* A whole bunch of tree codes for the initial, superficial parsing of - templates. */ -DEFTREECODE (MODOP_EXPR, "modop_expr", tcc_expression, 3) -DEFTREECODE (CAST_EXPR, "cast_expr", tcc_unary, 1) -DEFTREECODE (REINTERPRET_CAST_EXPR, "reinterpret_cast_expr", tcc_unary, 1) -DEFTREECODE (CONST_CAST_EXPR, "const_cast_expr", tcc_unary, 1) -DEFTREECODE (STATIC_CAST_EXPR, "static_cast_expr", tcc_unary, 1) -DEFTREECODE (DYNAMIC_CAST_EXPR, "dynamic_cast_expr", tcc_unary, 1) -DEFTREECODE (IMPLICIT_CONV_EXPR, "implicit_conv_expr", tcc_unary, 1) -DEFTREECODE (DOTSTAR_EXPR, "dotstar_expr", tcc_expression, 2) -DEFTREECODE (TYPEID_EXPR, "typeid_expr", tcc_expression, 1) -DEFTREECODE (NOEXCEPT_EXPR, "noexcept_expr", tcc_unary, 1) -DEFTREECODE (SPACESHIP_EXPR, "spaceship_expr", tcc_expression, 2) - -/* A placeholder for an expression that is not type-dependent, but - does occur in a template. When an expression that is not - type-dependent appears in a larger expression, we must compute the - type of that larger expression. That computation would normally - modify the original expression, which would change the mangling of - that expression if it appeared in a template argument list. In - that situation, we create a NON_DEPENDENT_EXPR to take the place of - the original expression. The expression is the only operand -- it - is only needed for diagnostics. */ -DEFTREECODE (NON_DEPENDENT_EXPR, "non_dependent_expr", tcc_expression, 1) - -/* CTOR_INITIALIZER is a placeholder in template code for a call to - setup_vtbl_pointer (and appears in all functions, not just ctors). */ -DEFTREECODE (CTOR_INITIALIZER, "ctor_initializer", tcc_expression, 1) - -DEFTREECODE (TRY_BLOCK, "try_block", tcc_statement, 2) - -DEFTREECODE (EH_SPEC_BLOCK, "eh_spec_block", tcc_statement, 2) - -/* A HANDLER wraps a catch handler for the HANDLER_TYPE. If this is - CATCH_ALL_TYPE, then the handler catches all types. The declaration of - the catch variable is in HANDLER_PARMS, and the body block in - HANDLER_BODY. */ -DEFTREECODE (HANDLER, "handler", tcc_statement, 2) - -/* A MUST_NOT_THROW_EXPR wraps an expression that may not - throw, and must call terminate if it does. The second argument - is a condition, used in templates to express noexcept (condition). */ -DEFTREECODE (MUST_NOT_THROW_EXPR, "must_not_throw_expr", tcc_expression, 2) - -/* A CLEANUP_STMT marks the point at which a declaration is fully - constructed. The CLEANUP_EXPR is run on behalf of CLEANUP_DECL - when CLEANUP_BODY completes. */ -DEFTREECODE (CLEANUP_STMT, "cleanup_stmt", tcc_statement, 3) - -/* Represents an 'if' statement. The operands are IF_COND, - THEN_CLAUSE, and ELSE_CLAUSE, and the current scope, respectively. */ -/* ??? It is currently still necessary to distinguish between IF_STMT - and COND_EXPR for the benefit of templates. */ -DEFTREECODE (IF_STMT, "if_stmt", tcc_statement, 4) - -/* Used to represent a range-based `for' statement. The operands are - RANGE_FOR_DECL, RANGE_FOR_EXPR, RANGE_FOR_BODY, RANGE_FOR_SCOPE, - RANGE_FOR_UNROLL, and RANGE_FOR_INIT_STMT, respectively. Only used in - templates. */ -DEFTREECODE (RANGE_FOR_STMT, "range_for_stmt", tcc_statement, 6) - -/* Used to represent an expression statement. Use `EXPR_STMT_EXPR' to - obtain the expression. */ -DEFTREECODE (EXPR_STMT, "expr_stmt", tcc_expression, 1) - -DEFTREECODE (TAG_DEFN, "tag_defn", tcc_expression, 0) - -/* Represents an 'offsetof' expression during template expansion. */ -DEFTREECODE (OFFSETOF_EXPR, "offsetof_expr", tcc_expression, 2) - -/* Represents an '__builtin_addressof' expression during template - expansion. This is similar to ADDR_EXPR, but it doesn't invoke - overloaded & operators. */ -DEFTREECODE (ADDRESSOF_EXPR, "addressof_expr", tcc_expression, 1) - -/* Represents the -> operator during template expansion. */ -DEFTREECODE (ARROW_EXPR, "arrow_expr", tcc_expression, 1) - -/* Represents an '__alignof__' expression during template - expansion. */ -DEFTREECODE (ALIGNOF_EXPR, "alignof_expr", tcc_expression, 1) - -/* Represents an Objective-C++ '@encode' expression during template - expansion. */ -DEFTREECODE (AT_ENCODE_EXPR, "at_encode_expr", tcc_expression, 1) - -/* A STMT_EXPR represents a statement-expression during template - expansion. This is the GCC extension { ( ... ) }. The - STMT_EXPR_STMT is the statement given by the expression. */ -DEFTREECODE (STMT_EXPR, "stmt_expr", tcc_expression, 1) - -/* Unary plus. Operand 0 is the expression to which the unary plus - is applied. */ -DEFTREECODE (UNARY_PLUS_EXPR, "unary_plus_expr", tcc_unary, 1) - -/** C++11 extensions. */ - -/* A static assertion. This is a C++11 extension. - STATIC_ASSERT_CONDITION contains the condition that is being - checked. STATIC_ASSERT_MESSAGE contains the message (a string - literal) to be displayed if the condition fails to hold. */ -DEFTREECODE (STATIC_ASSERT, "static_assert", tcc_exceptional, 0) - -/* Represents an argument pack of types (or templates). An argument - pack stores zero or more arguments that will be used to instantiate - a parameter pack. - - ARGUMENT_PACK_ARGS retrieves the arguments stored in the argument - pack. - - Example: - template - class tuple { ... }; - - tuple t; - - Values is a (template) parameter pack. When tuple is instantiated, the Values parameter pack is instantiated - with the argument pack . ARGUMENT_PACK_ARGS will - be a TREE_VEC containing int, float, and double. */ -DEFTREECODE (TYPE_ARGUMENT_PACK, "type_argument_pack", tcc_type, 0) - -/* Represents an argument pack of values, which can be used either for - non-type template arguments or function call arguments. - - NONTYPE_ARGUMENT_PACK plays precisely the same role as - TYPE_ARGUMENT_PACK, but will be used for packing non-type template - arguments (e.g., "int... Dimensions") or function arguments ("const - Args&... args"). */ -DEFTREECODE (NONTYPE_ARGUMENT_PACK, "nontype_argument_pack", tcc_expression, 1) - -/* Represents a type expression that will be expanded into a list of - types when instantiated with one or more argument packs. - - PACK_EXPANSION_PATTERN retrieves the expansion pattern. This is - the type or expression that we will substitute into with each - argument in an argument pack. - - PACK_EXPANSION_PARAMETER_PACKS contains a TREE_LIST of the parameter - packs that are used in this pack expansion. - - Example: - template - struct tied : tuple { - // ... - }; - - The derivation from tuple contains a TYPE_PACK_EXPANSION for the - template arguments. Its PACK_EXPANSION_PATTERN is "Values&" and its - PACK_EXPANSION_PARAMETER_PACKS will contain "Values". */ -DEFTREECODE (TYPE_PACK_EXPANSION, "type_pack_expansion", tcc_type, 0) - -/* Represents an expression that will be expanded into a list of - expressions when instantiated with one or more argument packs. - - EXPR_PACK_EXPANSION plays precisely the same role as TYPE_PACK_EXPANSION, - but will be used for expressions. */ -DEFTREECODE (EXPR_PACK_EXPANSION, "expr_pack_expansion", tcc_expression, 3) - -/* Selects the Ith parameter out of an argument pack. This node will - be used when instantiating pack expansions; see - tsubst_pack_expansion. - - ARGUMENT_PACK_SELECT_FROM_PACK contains the *_ARGUMENT_PACK node - from which the argument will be selected. - - ARGUMENT_PACK_SELECT_INDEX contains the index into the argument - pack that will be returned by this ARGUMENT_PACK_SELECT node. The - index is a machine integer. */ -DEFTREECODE (ARGUMENT_PACK_SELECT, "argument_pack_select", tcc_exceptional, 0) - -/* Fold expressions allow the expansion of a template argument pack - over a binary operator. - - FOLD_EXPR_MOD_P is true when the fold operation is a compound assignment - operator. - - FOLD_EXPR_OP is an INTEGER_CST storing the tree code for the folded - expression. Note that when FOLDEXPR_MOD_P is true, the operator is - a compound assignment operator for that kind of expression. - - FOLD_EXPR_PACK is an expression containing an unexpanded parameter pack; - when expanded, each term becomes an argument of the folded expression. - - In a BINARY_FOLD_EXPRESSION, FOLD_EXPR_INIT is the non-pack argument. */ -DEFTREECODE (UNARY_LEFT_FOLD_EXPR, "unary_left_fold_expr", tcc_expression, 2) -DEFTREECODE (UNARY_RIGHT_FOLD_EXPR, "unary_right_fold_expr", tcc_expression, 2) -DEFTREECODE (BINARY_LEFT_FOLD_EXPR, "binary_left_fold_expr", tcc_expression, 3) -DEFTREECODE (BINARY_RIGHT_FOLD_EXPR, "binary_right_fold_expr", tcc_expression, 3) - -/* Represents the __builtin_bit_cast (type, expr) expression. - The type is in TREE_TYPE, expression in TREE_OPERAND (bitcast, 0). */ -DEFTREECODE (BIT_CAST_EXPR, "bit_cast_expr", tcc_expression, 1) - -/** C++ extensions. */ - -/* Represents a templated trait that yields an expression. */ -DEFTREECODE (TRAIT_EXPR, "trait_expr", tcc_exceptional, 0) - -/* Represents a templated trait that yields a type. */ -DEFTREECODE (TRAIT_TYPE, "trait_type", tcc_type, 0) - -/* A lambda expression. This is a C++0x extension. - LAMBDA_EXPR_DEFAULT_CAPTURE_MODE is an enum for the default, which may be - none. - LAMBDA_EXPR_CAPTURE_LIST holds the capture-list, including `this'. - LAMBDA_EXPR_THIS_CAPTURE goes straight to the capture of `this', if it exists. - LAMBDA_EXPR_PENDING_PROXIES is a vector of capture proxies which need to - be pushed once scope returns to the lambda. - LAMBDA_EXPR_MUTABLE_P signals whether this lambda was declared mutable. */ -DEFTREECODE (LAMBDA_EXPR, "lambda_expr", tcc_exceptional, 0) - -/* The declared type of an expression. This is a C++0x extension. - DECLTYPE_TYPE_EXPR is the expression whose type we are computing. - DECLTYPE_TYPE_ID_EXPR_OR_MEMBER_ACCESS_P states whether the - expression was parsed as an id-expression or a member access - expression. When false, it was parsed as a full expression. - DECLTYPE_FOR_LAMBDA_CAPTURE is set if we want lambda capture semantics. - DECLTYPE_FOR_LAMBDA_RETURN is set if we want lambda return deduction. */ -DEFTREECODE (DECLTYPE_TYPE, "decltype_type", tcc_type, 0) - -/* A type designated by one of the bases type traits. - BASES_TYPE is the type in question. */ -DEFTREECODE (BASES, "bases", tcc_type, 0) - -/* Dependent operator expressions are given this type rather than a NULL_TREE - type so that we have somewhere to stash the result of phase 1 name lookup - (namely into DEPENDENT_OPERATOR_TYPE_SAVED_LOOKUPS). */ -DEFTREECODE (DEPENDENT_OPERATOR_TYPE, "dependent_operator_type", tcc_type, 0) - -/* Used to represent the template information stored by template - specializations. - The accessors are: - TI_TEMPLATE the template declaration associated to the specialization - TI_ARGS the arguments of the template specialization - TI_TYPEDEFS_NEEDING_ACCESS_CHECKING the vector of typedefs used in - the pattern of the template for which access check is needed at template - instantiation time. */ -DEFTREECODE (TEMPLATE_INFO, "template_info", tcc_exceptional, 0) - -/* OpenMP - #pragma omp depobj - Operand 0: OMP_DEPOBJ_DEPOBJ: Depobj expression - Operand 1: OMP_DEPOBJ_CLAUSES: List of clauses. */ -DEFTREECODE (OMP_DEPOBJ, "omp_depobj", tcc_statement, 2) - -/* Extensions for Concepts. */ - -/* Used to represent information associated with constrained declarations. */ -DEFTREECODE (CONSTRAINT_INFO, "constraint_info", tcc_exceptional, 0) - -/* A wildcard declaration is a placeholder for a template parameter - used to resolve constrained-type-names in concepts. During - resolution, the matching argument is saved as the TREE_TYPE - of the wildcard. */ -DEFTREECODE (WILDCARD_DECL, "wildcard_decl", tcc_declaration, 0) - -/* A requires-expr has three operands. The first operand is - its parameter list (possibly NULL). The second is a list of - requirements, which are denoted by the _REQ* tree codes - below. The third is a TREE_VEC of template arguments to - be applied when substituting into the parameter list and - requirements, set by tsubst_requires_expr for partial instantiations. */ -DEFTREECODE (REQUIRES_EXPR, "requires_expr", tcc_expression, 3) - -/* A requirement for an expression. */ -DEFTREECODE (SIMPLE_REQ, "simple_req", tcc_expression, 1) - -/* A requirement for a type. */ -DEFTREECODE (TYPE_REQ, "type_req", tcc_expression, 1) - -/* A requirement for an expression and its properties. The - first operand is the expression, and the 2nd is its type. - The accessor COMPOUND_REQ_NOEXCEPT determines whether - the noexcept keyword was present. */ -DEFTREECODE (COMPOUND_REQ, "compound_req", tcc_expression, 2) - -/* A requires clause within a requires expression. */ -DEFTREECODE (NESTED_REQ, "nested_req", tcc_expression, 1) - -/* Constraints are modeled as kinds of expressions. - The operands of a constraint can be either types or expressions. - Unlike expressions, constraints do not have a type. */ - -/* An atomic constraint evaluates an expression E. The operand of the - constraint is its parameter mapping. The actual expression is stored - in the context. - - ATOMIC_CONSTR_INFO provides source info to support diagnostics. - ATOMIC_CONSTR_EXPR has the expression to be evaluated. - ATOMIC_CONSTR_PARMS is the parameter mapping for the atomic constraint - and is stored in the type field. */ -DEFTREECODE (ATOMIC_CONSTR, "atomic_constr", tcc_expression, 1) - -/* The conjunction and disjunction of two constraints, respectively. - Operands are accessed using TREE_OPERAND. The third operand provides - source info for diagnostics. - - CONJ_CONSTR_INFO and DISJ_CONSTR_INFO provide access to the source - information of constraints, which is stored in the TREE_TYPE. */ -DEFTREECODE (CONJ_CONSTR, "conj_constr", tcc_expression, 2) -DEFTREECODE (DISJ_CONSTR, "disj_constr", tcc_expression, 2) - -/* A check constraint represents the checking of a concept - C. It has two operands: the template defining the concept - and a sequence of template arguments. - - CHECK_CONSTR_CONCEPT has the concept definition - CHECK_CONSTR_ARGUMENTS are the template arguments */ -DEFTREECODE (CHECK_CONSTR, "check_constr", tcc_expression, 2) - -/* The co_await expression is used to support coroutines. - - Op 0 is the cast expresssion (potentially modified by the - promise "await_transform()" method). - Op1 is a proxy for the temp / coro frame slot 'e' value. - Op2 is the initialiser for Op1 (Op0, potentially modified by any - applicable 'co_await' operator). - Op3 is a vector of the [0] e.ready, [1] e.suspend and [2] e.resume calls. - Op4 is a mode : 0 (await) 1 (yield) 2 (initial) 3 (final) */ -DEFTREECODE (CO_AWAIT_EXPR, "co_await", tcc_expression, 5) - -/* The co_yield expression is used to support coroutines. - - Op0 is the original expr (for use in diagnostics) - Op2 is the co_await derived from this. */ -DEFTREECODE (CO_YIELD_EXPR, "co_yield", tcc_expression, 2) - -/* The co_return expression is used to support coroutines. - - Op0 is the original expr, can be void (for use in diagnostics) - Op1 is the promise return_xxxx call for for the expression given. */ - -DEFTREECODE (CO_RETURN_EXPR, "co_return", tcc_statement, 2) - -/* Different flavors of contracts. - - Assertions and preconditions have two operands: a node containing - the their mode and condition. Postconditions have an additional - operand to store the optional name for the result value. - - CONTRACT_SEMANTIC has the computed behavior of the contract. */ -DEFTREECODE (ASSERTION_STMT, "assertion_stmt", tcc_statement, 3) -DEFTREECODE (PRECONDITION_STMT, "precondition_stmt", tcc_statement, 3) -DEFTREECODE (POSTCONDITION_STMT, "postcondition_stmt", tcc_statement, 4) - -/* -Local variables: -mode:c -End: -*/ diff --git a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/cp/cp-tree.h b/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/cp/cp-tree.h deleted file mode 100644 index a14eb8d0..00000000 --- a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/cp/cp-tree.h +++ /dev/null @@ -1,8843 +0,0 @@ -/* Definitions for -*- C++ -*- parsing and type checking. - Copyright (C) 1987-2023 Free Software Foundation, Inc. - Contributed by Michael Tiemann (tiemann@cygnus.com) - -This file is part of GCC. - -GCC is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 3, or (at your option) -any later version. - -GCC is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GCC; see the file COPYING3. If not see -. */ - -#ifndef GCC_CP_TREE_H -#define GCC_CP_TREE_H - -#include "tm.h" -#include "hard-reg-set.h" -#include "function.h" -#include "tristate.h" -#include "contracts.h" - -/* In order for the format checking to accept the C++ front end - diagnostic framework extensions, you must include this file before - diagnostic-core.h, not after. We override the definition of GCC_DIAG_STYLE - in c-common.h. */ -#undef GCC_DIAG_STYLE -#define GCC_DIAG_STYLE __gcc_cxxdiag__ -#if defined(GCC_DIAGNOSTIC_CORE_H) || defined (GCC_C_COMMON_H) -#error \ -In order for the format checking to accept the C++ front end diagnostic \ -framework extensions, you must include this file before diagnostic-core.h and \ -c-common.h, not after. -#endif -#include "c-family/c-common.h" -#include "diagnostic.h" - -/* A tree node, together with a location, so that we can track locations - (and ranges) during parsing. - - The location is redundant for node kinds that have locations, - but not all node kinds do (e.g. constants, and references to - params, locals, etc), so we stash a copy here. */ - -extern location_t cp_expr_location (const_tree); - -class cp_expr -{ -public: - cp_expr () : - m_value (NULL), m_loc (UNKNOWN_LOCATION), - m_decimal (false) - {} - - cp_expr (tree value) : - m_value (value), m_loc (cp_expr_location (m_value)), - m_decimal (false) - {} - - cp_expr (tree value, location_t loc): - m_value (value), m_loc (loc), m_decimal (false) - { - protected_set_expr_location (value, loc); - } - - cp_expr (tree value, location_t loc, bool decimal): - m_value (value), m_loc (loc), m_decimal (decimal) - { - protected_set_expr_location (value, loc); - } - - /* Implicit conversions to tree. */ - operator tree () const { return m_value; } - tree & operator* () { return m_value; } - tree operator* () const { return m_value; } - tree & operator-> () { return m_value; } - tree operator-> () const { return m_value; } - - tree get_value () const { return m_value; } - location_t get_location () const { return m_loc; } - location_t get_start () const - { - source_range src_range = get_range_from_loc (line_table, m_loc); - return src_range.m_start; - } - location_t get_finish () const - { - source_range src_range = get_range_from_loc (line_table, m_loc); - return src_range.m_finish; - } - - void set_location (location_t loc) - { - protected_set_expr_location (m_value, loc); - m_loc = loc; - } - - void set_range (location_t start, location_t finish) - { - set_location (make_location (m_loc, start, finish)); - } - - cp_expr& maybe_add_location_wrapper () - { - m_value = maybe_wrap_with_location (m_value, m_loc); - return *this; - } - - bool decimal_p () const { return m_decimal; } - - private: - tree m_value; - location_t m_loc; - bool m_decimal : 1; -}; - -inline bool -operator == (const cp_expr &lhs, tree rhs) -{ - return lhs.get_value () == rhs; -} - - -enum cp_tree_index -{ - CPTI_WCHAR_DECL, - CPTI_VTABLE_ENTRY_TYPE, - CPTI_DELTA_TYPE, - CPTI_VTABLE_INDEX_TYPE, - CPTI_CLEANUP_TYPE, - CPTI_VTT_PARM_TYPE, - - CPTI_CLASS_TYPE, - CPTI_UNKNOWN_TYPE, - CPTI_INIT_LIST_TYPE, - CPTI_EXPLICIT_VOID_LIST, - CPTI_VTBL_TYPE, - CPTI_VTBL_PTR_TYPE, - CPTI_GLOBAL, - CPTI_ABORT_FNDECL, - CPTI_AGGR_TAG, - CPTI_CONV_OP_MARKER, - - CPTI_CTOR_IDENTIFIER, - CPTI_COMPLETE_CTOR_IDENTIFIER, - CPTI_BASE_CTOR_IDENTIFIER, - CPTI_DTOR_IDENTIFIER, - CPTI_COMPLETE_DTOR_IDENTIFIER, - CPTI_BASE_DTOR_IDENTIFIER, - CPTI_DELETING_DTOR_IDENTIFIER, - CPTI_CONV_OP_IDENTIFIER, - CPTI_DELTA_IDENTIFIER, - CPTI_IN_CHARGE_IDENTIFIER, - CPTI_VTT_PARM_IDENTIFIER, - CPTI_AS_BASE_IDENTIFIER, - CPTI_THIS_IDENTIFIER, - CPTI_PFN_IDENTIFIER, - CPTI_VPTR_IDENTIFIER, - CPTI_GLOBAL_IDENTIFIER, - CPTI_ANON_IDENTIFIER, - CPTI_AUTO_IDENTIFIER, - CPTI_DECLTYPE_AUTO_IDENTIFIER, - CPTI_INIT_LIST_IDENTIFIER, - CPTI_FOR_RANGE__IDENTIFIER, - CPTI_FOR_BEGIN__IDENTIFIER, - CPTI_FOR_END__IDENTIFIER, - CPTI_FOR_RANGE_IDENTIFIER, - CPTI_FOR_BEGIN_IDENTIFIER, - CPTI_FOR_END_IDENTIFIER, - CPTI_ABI_TAG_IDENTIFIER, - CPTI_ALIGNED_IDENTIFIER, - CPTI_BEGIN_IDENTIFIER, - CPTI_END_IDENTIFIER, - CPTI_GET_IDENTIFIER, - CPTI_GNU_IDENTIFIER, - CPTI_TUPLE_ELEMENT_IDENTIFIER, - CPTI_TUPLE_SIZE_IDENTIFIER, - CPTI_TYPE_IDENTIFIER, - CPTI_VALUE_IDENTIFIER, - CPTI_FUN_IDENTIFIER, - CPTI_CLOSURE_IDENTIFIER, - CPTI_HEAP_UNINIT_IDENTIFIER, - CPTI_HEAP_IDENTIFIER, - CPTI_HEAP_DELETED_IDENTIFIER, - CPTI_HEAP_VEC_UNINIT_IDENTIFIER, - CPTI_HEAP_VEC_IDENTIFIER, - CPTI_OMP_IDENTIFIER, - - CPTI_LANG_NAME_C, - CPTI_LANG_NAME_CPLUSPLUS, - - CPTI_EMPTY_EXCEPT_SPEC, - CPTI_NOEXCEPT_TRUE_SPEC, - CPTI_NOEXCEPT_FALSE_SPEC, - CPTI_NOEXCEPT_DEFERRED_SPEC, - - CPTI_ANY_TARG, - - CPTI_MODULE_HWM, - /* Nodes after here change during compilation, or should not be in - the module's global tree table. Such nodes must be locatable - via name lookup or type-construction, as those are the only - cross-TU matching capabilities remaining. */ - - /* We must find these via the global namespace. */ - CPTI_STD, - CPTI_ABI, - - /* These are created at init time, but the library/headers provide - definitions. */ - CPTI_ALIGN_TYPE, - CPTI_TERMINATE_FN, - CPTI_CALL_UNEXPECTED_FN, - - /* These are lazily inited. */ - CPTI_CONST_TYPE_INFO_TYPE, - CPTI_GET_EXCEPTION_PTR_FN, - CPTI_BEGIN_CATCH_FN, - CPTI_END_CATCH_FN, - CPTI_ALLOCATE_EXCEPTION_FN, - CPTI_FREE_EXCEPTION_FN, - CPTI_THROW_FN, - CPTI_RETHROW_FN, - CPTI_ATEXIT_FN_PTR_TYPE, - CPTI_ATEXIT, - CPTI_DSO_HANDLE, - CPTI_DCAST, - - CPTI_PSEUDO_CONTRACT_VIOLATION, - - CPTI_MAX -}; - -extern GTY(()) tree cp_global_trees[CPTI_MAX]; - -#define wchar_decl_node cp_global_trees[CPTI_WCHAR_DECL] -#define vtable_entry_type cp_global_trees[CPTI_VTABLE_ENTRY_TYPE] -/* The type used to represent an offset by which to adjust the `this' - pointer in pointer-to-member types. */ -#define delta_type_node cp_global_trees[CPTI_DELTA_TYPE] -/* The type used to represent an index into the vtable. */ -#define vtable_index_type cp_global_trees[CPTI_VTABLE_INDEX_TYPE] - -#define class_type_node cp_global_trees[CPTI_CLASS_TYPE] -#define unknown_type_node cp_global_trees[CPTI_UNKNOWN_TYPE] -#define init_list_type_node cp_global_trees[CPTI_INIT_LIST_TYPE] -#define explicit_void_list_node cp_global_trees[CPTI_EXPLICIT_VOID_LIST] -#define vtbl_type_node cp_global_trees[CPTI_VTBL_TYPE] -#define vtbl_ptr_type_node cp_global_trees[CPTI_VTBL_PTR_TYPE] -#define std_node cp_global_trees[CPTI_STD] -#define abi_node cp_global_trees[CPTI_ABI] -#define global_namespace cp_global_trees[CPTI_GLOBAL] -#define const_type_info_type_node cp_global_trees[CPTI_CONST_TYPE_INFO_TYPE] -#define conv_op_marker cp_global_trees[CPTI_CONV_OP_MARKER] -#define abort_fndecl cp_global_trees[CPTI_ABORT_FNDECL] -#define current_aggr cp_global_trees[CPTI_AGGR_TAG] -/* std::align_val_t */ -#define align_type_node cp_global_trees[CPTI_ALIGN_TYPE] -#define pseudo_contract_violation_type cp_global_trees[CPTI_PSEUDO_CONTRACT_VIOLATION] - -/* We cache these tree nodes so as to call get_identifier less frequently. - For identifiers for functions, including special member functions such - as ctors and assignment operators, the nodes can be used (among other - things) to iterate over their overloads defined by/for a type. For - example: - - tree ovlid = assign_op_identifier; - tree overloads = get_class_binding (type, ovlid); - for (ovl_iterator it (overloads); it; ++it) { ... } - - iterates over the set of implicitly and explicitly defined overloads - of the assignment operator for type (including the copy and move - assignment operators, whether deleted or not). */ - -/* The name of a constructor that takes an in-charge parameter to - decide whether or not to construct virtual base classes. */ -#define ctor_identifier cp_global_trees[CPTI_CTOR_IDENTIFIER] -/* The name of a constructor that constructs virtual base classes. */ -#define complete_ctor_identifier cp_global_trees[CPTI_COMPLETE_CTOR_IDENTIFIER] -/* The name of a constructor that does not construct virtual base classes. */ -#define base_ctor_identifier cp_global_trees[CPTI_BASE_CTOR_IDENTIFIER] -/* The name of a destructor that takes an in-charge parameter to - decide whether or not to destroy virtual base classes and whether - or not to delete the object. */ -#define dtor_identifier cp_global_trees[CPTI_DTOR_IDENTIFIER] -/* The name of a destructor that destroys virtual base classes. */ -#define complete_dtor_identifier cp_global_trees[CPTI_COMPLETE_DTOR_IDENTIFIER] -/* The name of a destructor that does not destroy virtual base - classes. */ -#define base_dtor_identifier cp_global_trees[CPTI_BASE_DTOR_IDENTIFIER] -/* The name of a destructor that destroys virtual base classes, and - then deletes the entire object. */ -#define deleting_dtor_identifier cp_global_trees[CPTI_DELETING_DTOR_IDENTIFIER] - -/* The name used for conversion operators -- but note that actual - conversion functions use special identifiers outside the identifier - table. */ -#define conv_op_identifier cp_global_trees[CPTI_CONV_OP_IDENTIFIER] - -#define delta_identifier cp_global_trees[CPTI_DELTA_IDENTIFIER] -#define in_charge_identifier cp_global_trees[CPTI_IN_CHARGE_IDENTIFIER] -/* The name of the parameter that contains a pointer to the VTT to use - for this subobject constructor or destructor. */ -#define vtt_parm_identifier cp_global_trees[CPTI_VTT_PARM_IDENTIFIER] -#define as_base_identifier cp_global_trees[CPTI_AS_BASE_IDENTIFIER] -#define this_identifier cp_global_trees[CPTI_THIS_IDENTIFIER] -#define pfn_identifier cp_global_trees[CPTI_PFN_IDENTIFIER] -#define vptr_identifier cp_global_trees[CPTI_VPTR_IDENTIFIER] -/* The name of the ::, std & anon namespaces. */ -#define global_identifier cp_global_trees[CPTI_GLOBAL_IDENTIFIER] -#define anon_identifier cp_global_trees[CPTI_ANON_IDENTIFIER] -/* auto and declspec(auto) identifiers. */ -#define auto_identifier cp_global_trees[CPTI_AUTO_IDENTIFIER] -#define decltype_auto_identifier cp_global_trees[CPTI_DECLTYPE_AUTO_IDENTIFIER] -#define init_list_identifier cp_global_trees[CPTI_INIT_LIST_IDENTIFIER] -#define for_range__identifier cp_global_trees[CPTI_FOR_RANGE__IDENTIFIER] -#define for_begin__identifier cp_global_trees[CPTI_FOR_BEGIN__IDENTIFIER] -#define for_end__identifier cp_global_trees[CPTI_FOR_END__IDENTIFIER] -#define for_range_identifier cp_global_trees[CPTI_FOR_RANGE_IDENTIFIER] -#define for_begin_identifier cp_global_trees[CPTI_FOR_BEGIN_IDENTIFIER] -#define for_end_identifier cp_global_trees[CPTI_FOR_END_IDENTIFIER] -#define abi_tag_identifier cp_global_trees[CPTI_ABI_TAG_IDENTIFIER] -#define aligned_identifier cp_global_trees[CPTI_ALIGNED_IDENTIFIER] -#define begin_identifier cp_global_trees[CPTI_BEGIN_IDENTIFIER] -#define end_identifier cp_global_trees[CPTI_END_IDENTIFIER] -#define get__identifier cp_global_trees[CPTI_GET_IDENTIFIER] -#define gnu_identifier cp_global_trees[CPTI_GNU_IDENTIFIER] -#define tuple_element_identifier cp_global_trees[CPTI_TUPLE_ELEMENT_IDENTIFIER] -#define tuple_size_identifier cp_global_trees[CPTI_TUPLE_SIZE_IDENTIFIER] -#define type_identifier cp_global_trees[CPTI_TYPE_IDENTIFIER] -#define value_identifier cp_global_trees[CPTI_VALUE_IDENTIFIER] -#define fun_identifier cp_global_trees[CPTI_FUN_IDENTIFIER] -#define closure_identifier cp_global_trees[CPTI_CLOSURE_IDENTIFIER] -#define heap_uninit_identifier cp_global_trees[CPTI_HEAP_UNINIT_IDENTIFIER] -#define heap_identifier cp_global_trees[CPTI_HEAP_IDENTIFIER] -#define heap_deleted_identifier cp_global_trees[CPTI_HEAP_DELETED_IDENTIFIER] -#define heap_vec_uninit_identifier cp_global_trees[CPTI_HEAP_VEC_UNINIT_IDENTIFIER] -#define heap_vec_identifier cp_global_trees[CPTI_HEAP_VEC_IDENTIFIER] -#define omp_identifier cp_global_trees[CPTI_OMP_IDENTIFIER] -#define lang_name_c cp_global_trees[CPTI_LANG_NAME_C] -#define lang_name_cplusplus cp_global_trees[CPTI_LANG_NAME_CPLUSPLUS] - -/* Exception specifiers used for throw(), noexcept(true), - noexcept(false) and deferred noexcept. We rely on these being - uncloned. */ -#define empty_except_spec cp_global_trees[CPTI_EMPTY_EXCEPT_SPEC] -#define noexcept_true_spec cp_global_trees[CPTI_NOEXCEPT_TRUE_SPEC] -#define noexcept_false_spec cp_global_trees[CPTI_NOEXCEPT_FALSE_SPEC] -#define noexcept_deferred_spec cp_global_trees[CPTI_NOEXCEPT_DEFERRED_SPEC] - -/* Exception handling function declarations. */ -#define terminate_fn cp_global_trees[CPTI_TERMINATE_FN] -#define call_unexpected_fn cp_global_trees[CPTI_CALL_UNEXPECTED_FN] -#define get_exception_ptr_fn cp_global_trees[CPTI_GET_EXCEPTION_PTR_FN] -#define begin_catch_fn cp_global_trees[CPTI_BEGIN_CATCH_FN] -#define end_catch_fn cp_global_trees[CPTI_END_CATCH_FN] -#define allocate_exception_fn cp_global_trees[CPTI_ALLOCATE_EXCEPTION_FN] -#define free_exception_fn cp_global_trees[CPTI_FREE_EXCEPTION_FN] -#define throw_fn cp_global_trees[CPTI_THROW_FN] -#define rethrow_fn cp_global_trees[CPTI_RETHROW_FN] - -/* The type of the function-pointer argument to "__cxa_atexit" (or - "std::atexit", if "__cxa_atexit" is not being used). */ -#define atexit_fn_ptr_type_node cp_global_trees[CPTI_ATEXIT_FN_PTR_TYPE] - -/* A pointer to `std::atexit'. */ -#define atexit_node cp_global_trees[CPTI_ATEXIT] - -/* A pointer to `__dso_handle'. */ -#define dso_handle_node cp_global_trees[CPTI_DSO_HANDLE] - -/* The declaration of the dynamic_cast runtime. */ -#define dynamic_cast_node cp_global_trees[CPTI_DCAST] - -/* The type of a destructor. */ -#define cleanup_type cp_global_trees[CPTI_CLEANUP_TYPE] - -/* The type of the vtt parameter passed to subobject constructors and - destructors. */ -#define vtt_parm_type cp_global_trees[CPTI_VTT_PARM_TYPE] - -/* A node which matches any template argument. */ -#define any_targ_node cp_global_trees[CPTI_ANY_TARG] - -/* Node to indicate default access. This must be distinct from the - access nodes in tree.h. */ - -#define access_default_node null_node - -#include "name-lookup.h" - -/* Usage of TREE_LANG_FLAG_?: - 0: IDENTIFIER_KIND_BIT_0 (in IDENTIFIER_NODE) - NEW_EXPR_USE_GLOBAL (in NEW_EXPR). - COND_EXPR_IS_VEC_DELETE (in COND_EXPR). - DELETE_EXPR_USE_GLOBAL (in DELETE_EXPR). - CLEANUP_P (in TRY_BLOCK) - AGGR_INIT_VIA_CTOR_P (in AGGR_INIT_EXPR) - PTRMEM_OK_P (in ADDR_EXPR, OFFSET_REF, SCOPE_REF) - PAREN_STRING_LITERAL_P (in STRING_CST) - CP_DECL_THREAD_LOCAL_P (in VAR_DECL) - KOENIG_LOOKUP_P (in CALL_EXPR) - STATEMENT_LIST_NO_SCOPE (in STATEMENT_LIST). - EXPR_STMT_STMT_EXPR_RESULT (in EXPR_STMT) - STMT_EXPR_NO_SCOPE (in STMT_EXPR) - BIND_EXPR_TRY_BLOCK (in BIND_EXPR) - TYPENAME_IS_ENUM_P (in TYPENAME_TYPE) - OMP_FOR_GIMPLIFYING_P (in OMP_FOR, OMP_SIMD, OMP_DISTRIBUTE, - and OMP_TASKLOOP) - BASELINK_QUALIFIED_P (in BASELINK) - TARGET_EXPR_IMPLICIT_P (in TARGET_EXPR) - TEMPLATE_PARM_PARAMETER_PACK (in TEMPLATE_PARM_INDEX) - ATTR_IS_DEPENDENT (in the TREE_LIST for an attribute) - ABI_TAG_IMPLICIT (in the TREE_LIST for the argument of abi_tag) - LAMBDA_CAPTURE_EXPLICIT_P (in a TREE_LIST in LAMBDA_EXPR_CAPTURE_LIST) - PARENTHESIZED_LIST_P (in the TREE_LIST for a parameter-declaration-list) - CONSTRUCTOR_IS_DIRECT_INIT (in CONSTRUCTOR) - LAMBDA_EXPR_CAPTURES_THIS_P (in LAMBDA_EXPR) - DECLTYPE_FOR_LAMBDA_CAPTURE (in DECLTYPE_TYPE) - VEC_INIT_EXPR_IS_CONSTEXPR (in VEC_INIT_EXPR) - DECL_OVERRIDE_P (in FUNCTION_DECL) - IMPLICIT_CONV_EXPR_DIRECT_INIT (in IMPLICIT_CONV_EXPR) - TRANSACTION_EXPR_IS_STMT (in TRANSACTION_EXPR) - CONVERT_EXPR_VBASE_PATH (in CONVERT_EXPR) - PACK_EXPANSION_LOCAL_P (in *_PACK_EXPANSION) - TINFO_HAS_ACCESS_ERRORS (in TEMPLATE_INFO) - SIZEOF_EXPR_TYPE_P (in SIZEOF_EXPR) - COMPOUND_REQ_NOEXCEPT_P (in COMPOUND_REQ) - WILDCARD_PACK_P (in WILDCARD_DECL) - BLOCK_OUTER_CURLY_BRACE_P (in BLOCK) - FOLD_EXPR_MODOP_P (*_FOLD_EXPR) - IF_STMT_CONSTEXPR_P (IF_STMT) - DECL_NAMESPACE_INLINE_P (in NAMESPACE_DECL) - SWITCH_STMT_ALL_CASES_P (in SWITCH_STMT) - REINTERPRET_CAST_P (in NOP_EXPR) - ALIGNOF_EXPR_STD_P (in ALIGNOF_EXPR) - OVL_DEDUP_P (in OVERLOAD) - ATOMIC_CONSTR_MAP_INSTANTIATED_P (in ATOMIC_CONSTR) - contract_semantic (in ASSERTION_, PRECONDITION_, POSTCONDITION_STMT) - 1: IDENTIFIER_KIND_BIT_1 (in IDENTIFIER_NODE) - TI_PENDING_TEMPLATE_FLAG. - TEMPLATE_PARMS_FOR_INLINE. - DELETE_EXPR_USE_VEC (in DELETE_EXPR). - ICS_ELLIPSIS_FLAG (in _CONV) - DECL_INITIALIZED_P (in VAR_DECL) - TYPENAME_IS_CLASS_P (in TYPENAME_TYPE) - STMT_IS_FULL_EXPR_P (in _STMT) - TARGET_EXPR_LIST_INIT_P (in TARGET_EXPR) - LAMBDA_EXPR_MUTABLE_P (in LAMBDA_EXPR) - DECL_FINAL_P (in FUNCTION_DECL) - QUALIFIED_NAME_IS_TEMPLATE (in SCOPE_REF) - CONSTRUCTOR_IS_DEPENDENT (in CONSTRUCTOR) - TINFO_USED_TEMPLATE_ID (in TEMPLATE_INFO) - PACK_EXPANSION_SIZEOF_P (in *_PACK_EXPANSION) - OVL_USING_P (in OVERLOAD) - IMPLICIT_CONV_EXPR_NONTYPE_ARG (in IMPLICIT_CONV_EXPR) - BASELINK_FUNCTIONS_MAYBE_INCOMPLETE_P (in BASELINK) - BIND_EXPR_VEC_DTOR (in BIND_EXPR) - ATOMIC_CONSTR_EXPR_FROM_CONCEPT_P (in ATOMIC_CONSTR) - 2: IDENTIFIER_KIND_BIT_2 (in IDENTIFIER_NODE) - ICS_THIS_FLAG (in _CONV) - DECL_INITIALIZED_BY_CONSTANT_EXPRESSION_P (in VAR_DECL) - STATEMENT_LIST_TRY_BLOCK (in STATEMENT_LIST) - TYPENAME_IS_RESOLVING_P (in TYPENAME_TYPE) - TARGET_EXPR_DIRECT_INIT_P (in TARGET_EXPR) - FNDECL_USED_AUTO (in FUNCTION_DECL) - DECLTYPE_FOR_LAMBDA_PROXY (in DECLTYPE_TYPE) - REF_PARENTHESIZED_P (in COMPONENT_REF, INDIRECT_REF, SCOPE_REF, - VIEW_CONVERT_EXPR, PAREN_EXPR) - AGGR_INIT_ZERO_FIRST (in AGGR_INIT_EXPR) - CONSTRUCTOR_MUTABLE_POISON (in CONSTRUCTOR) - OVL_HIDDEN_P (in OVERLOAD) - IF_STMT_CONSTEVAL_P (in IF_STMT) - SWITCH_STMT_NO_BREAK_P (in SWITCH_STMT) - LAMBDA_EXPR_CAPTURE_OPTIMIZED (in LAMBDA_EXPR) - IMPLICIT_CONV_EXPR_BRACED_INIT (in IMPLICIT_CONV_EXPR) - PACK_EXPANSION_AUTO_P (in *_PACK_EXPANSION) - contract_semantic (in ASSERTION_, PRECONDITION_, POSTCONDITION_STMT) - 3: IMPLICIT_RVALUE_P (in NON_LVALUE_EXPR or STATIC_CAST_EXPR) - ICS_BAD_FLAG (in _CONV) - FN_TRY_BLOCK_P (in TRY_BLOCK) - BIND_EXPR_BODY_BLOCK (in BIND_EXPR) - CALL_EXPR_ORDERED_ARGS (in CALL_EXPR, AGGR_INIT_EXPR) - DECLTYPE_FOR_REF_CAPTURE (in DECLTYPE_TYPE) - CONSTRUCTOR_C99_COMPOUND_LITERAL (in CONSTRUCTOR) - OVL_NESTED_P (in OVERLOAD) - DECL_MODULE_EXPORT_P (in _DECL) - PACK_EXPANSION_FORCE_EXTRA_ARGS_P (in *_PACK_EXPANSION) - LAMBDA_EXPR_STATIC_P (in LAMBDA_EXPR) - TARGET_EXPR_ELIDING_P (in TARGET_EXPR) - contract_semantic (in ASSERTION_, PRECONDITION_, POSTCONDITION_STMT) - 4: IDENTIFIER_MARKED (IDENTIFIER_NODEs) - TREE_HAS_CONSTRUCTOR (in INDIRECT_REF, SAVE_EXPR, CONSTRUCTOR, - CALL_EXPR, or FIELD_DECL). - DECL_TINFO_P (in VAR_DECL, TYPE_DECL) - FUNCTION_REF_QUALIFIED (in FUNCTION_TYPE, METHOD_TYPE) - OVL_LOOKUP_P (in OVERLOAD) - LOOKUP_FOUND_P (in RECORD_TYPE, UNION_TYPE, ENUMERAL_TYPE, NAMESPACE_DECL) - FNDECL_MANIFESTLY_CONST_EVALUATED (in FUNCTION_DECL) - 5: IDENTIFIER_VIRTUAL_P (in IDENTIFIER_NODE) - FUNCTION_RVALUE_QUALIFIED (in FUNCTION_TYPE, METHOD_TYPE) - CALL_EXPR_REVERSE_ARGS (in CALL_EXPR, AGGR_INIT_EXPR) - CONSTRUCTOR_PLACEHOLDER_BOUNDARY (in CONSTRUCTOR) - OVL_EXPORT_P (in OVERLOAD) - DECL_NTTP_OBJECT_P (in VAR_DECL) - 6: TYPE_MARKED_P (in _TYPE) - DECL_NONTRIVIALLY_INITIALIZED_P (in VAR_DECL) - RANGE_FOR_IVDEP (in RANGE_FOR_STMT) - CALL_EXPR_OPERATOR_SYNTAX (in CALL_EXPR, AGGR_INIT_EXPR) - CONSTRUCTOR_IS_DESIGNATED_INIT (in CONSTRUCTOR) - - Usage of TYPE_LANG_FLAG_?: - 0: TYPE_DEPENDENT_P - 1: TYPE_HAS_USER_CONSTRUCTOR. - 2: TYPE_HAS_LATE_RETURN_TYPE (in FUNCTION_TYPE, METHOD_TYPE) - TYPE_PTRMEMFUNC_FLAG (in RECORD_TYPE) - 4: TYPE_HAS_NONTRIVIAL_DESTRUCTOR - 5: CLASS_TYPE_P (in RECORD_TYPE and UNION_TYPE) - ENUM_FIXED_UNDERLYING_TYPE_P (in ENUMERAL_TYPE) - AUTO_IS_DECLTYPE (in TEMPLATE_TYPE_PARM) - 6: TYPE_DEPENDENT_P_VALID - - Usage of DECL_LANG_FLAG_?: - 0: DECL_TEMPLATE_PARM_P (in PARM_DECL, CONST_DECL, TYPE_DECL, or TEMPLATE_DECL) - DECL_LOCAL_DECL_P (in FUNCTION_DECL, VAR_DECL) - DECL_MUTABLE_P (in FIELD_DECL) - DECL_DEPENDENT_P (in USING_DECL) - LABEL_DECL_BREAK (in LABEL_DECL) - 1: C_TYPEDEF_EXPLICITLY_SIGNED (in TYPE_DECL). - DECL_TEMPLATE_INSTANTIATED (in a VAR_DECL or a FUNCTION_DECL) - DECL_MEMBER_TEMPLATE_P (in TEMPLATE_DECL) - USING_DECL_TYPENAME_P (in USING_DECL) - DECL_VLA_CAPTURE_P (in FIELD_DECL) - DECL_ARRAY_PARAMETER_P (in PARM_DECL) - LABEL_DECL_CONTINUE (in LABEL_DECL) - 2: DECL_THIS_EXTERN (in VAR_DECL, FUNCTION_DECL or PARM_DECL) - DECL_IMPLICIT_TYPEDEF_P (in a TYPE_DECL) - DECL_CONSTRAINT_VAR_P (in a PARM_DECL) - TEMPLATE_DECL_COMPLEX_ALIAS_P (in TEMPLATE_DECL) - DECL_INSTANTIATING_NSDMI_P (in a FIELD_DECL) - USING_DECL_UNRELATED_P (in USING_DECL) - 3: DECL_IN_AGGR_P. - 4: DECL_C_BIT_FIELD (in a FIELD_DECL) - DECL_ANON_UNION_VAR_P (in a VAR_DECL) - DECL_SELF_REFERENCE_P (in a TYPE_DECL) - DECL_INVALID_OVERRIDER_P (in a FUNCTION_DECL) - DECL_UNINSTANIATED_TEMPLATE_FRIEND_P (in TEMPLATE_DECL) - 5: DECL_INTERFACE_KNOWN. - 6: DECL_THIS_STATIC (in VAR_DECL, FUNCTION_DECL or PARM_DECL) - DECL_FIELD_IS_BASE (in FIELD_DECL) - TYPE_DECL_ALIAS_P (in TYPE_DECL) - 7: DECL_THUNK_P (in a member FUNCTION_DECL) - DECL_NORMAL_CAPTURE_P (in FIELD_DECL) - DECL_DECLARED_CONSTINIT_P (in VAR_DECL) - 8: DECL_DECLARED_CONSTEXPR_P (in VAR_DECL, FUNCTION_DECL) - - Usage of language-independent fields in a language-dependent manner: - - TYPE_ALIAS_SET - This field is used by TYPENAME_TYPEs, TEMPLATE_TYPE_PARMs, and so - forth as a substitute for the mark bits provided in `lang_type'. - At present, only the six low-order bits are used. - - TYPE_LANG_SLOT_1 - For a FUNCTION_TYPE or METHOD_TYPE, this is TYPE_RAISES_EXCEPTIONS. - For a POINTER_TYPE (to a METHOD_TYPE), this is TYPE_PTRMEMFUNC_TYPE. - For an ENUMERAL_TYPE, BOUND_TEMPLATE_TEMPLATE_PARM_TYPE, - RECORD_TYPE or UNION_TYPE this is TYPE_TEMPLATE_INFO, - - BINFO_VIRTUALS - For a binfo, this is a TREE_LIST. There is an entry for each - virtual function declared either in BINFO or its direct and - indirect primary bases. - - The BV_DELTA of each node gives the amount by which to adjust the - `this' pointer when calling the function. If the method is an - overridden version of a base class method, then it is assumed - that, prior to adjustment, the this pointer points to an object - of the base class. - - The BV_VCALL_INDEX of each node, if non-NULL, gives the vtable - index of the vcall offset for this entry. - - The BV_FN is the declaration for the virtual function itself. - - If BV_LOST_PRIMARY is set, it means that this entry is for a lost - primary virtual base and can be left null in the vtable. - - BINFO_VTABLE - This is an expression with POINTER_TYPE that gives the value - to which the vptr should be initialized. Use get_vtbl_decl_for_binfo - to extract the VAR_DECL for the complete vtable. - - DECL_VINDEX - This field is NULL for a non-virtual function. For a virtual - function, it is eventually set to an INTEGER_CST indicating the - index in the vtable at which this function can be found. When - a virtual function is declared, but before it is known what - function is overridden, this field is the error_mark_node. - - Temporarily, it may be set to a TREE_LIST whose TREE_VALUE is - the virtual function this one overrides, and whose TREE_CHAIN is - the old DECL_VINDEX. */ - -/* Language-specific tree checkers. */ - -#define VAR_OR_FUNCTION_DECL_CHECK(NODE) \ - TREE_CHECK2(NODE,VAR_DECL,FUNCTION_DECL) - -#define TYPE_FUNCTION_OR_TEMPLATE_DECL_CHECK(NODE) \ - TREE_CHECK3(NODE,TYPE_DECL,TEMPLATE_DECL,FUNCTION_DECL) - -#define TYPE_FUNCTION_OR_TEMPLATE_DECL_P(NODE) \ - (TREE_CODE (NODE) == TYPE_DECL || TREE_CODE (NODE) == TEMPLATE_DECL \ - || TREE_CODE (NODE) == FUNCTION_DECL) - -#define VAR_FUNCTION_OR_PARM_DECL_CHECK(NODE) \ - TREE_CHECK3(NODE,VAR_DECL,FUNCTION_DECL,PARM_DECL) - -#define VAR_TEMPL_TYPE_OR_FUNCTION_DECL_CHECK(NODE) \ - TREE_CHECK4(NODE,VAR_DECL,FUNCTION_DECL,TYPE_DECL,TEMPLATE_DECL) - -#define VAR_TEMPL_TYPE_FIELD_OR_FUNCTION_DECL_CHECK(NODE) \ - TREE_CHECK5(NODE,VAR_DECL,FIELD_DECL,FUNCTION_DECL,TYPE_DECL,TEMPLATE_DECL) - -#define BOUND_TEMPLATE_TEMPLATE_PARM_TYPE_CHECK(NODE) \ - TREE_CHECK(NODE,BOUND_TEMPLATE_TEMPLATE_PARM) - -#if defined ENABLE_TREE_CHECKING && (GCC_VERSION >= 2007) - -/* Returns t iff the node can have a TEMPLATE_INFO field. */ - -inline tree -template_info_decl_check (const_tree t, const char* f, int l, const char* fn) -{ - switch (TREE_CODE (t)) - { - case VAR_DECL: - case FUNCTION_DECL: - case FIELD_DECL: - case TYPE_DECL: - case CONCEPT_DECL: - case TEMPLATE_DECL: - return const_cast(t); - default: - break; - } - tree_check_failed (t, f, l, fn, - VAR_DECL, FUNCTION_DECL, FIELD_DECL, TYPE_DECL, - CONCEPT_DECL, TEMPLATE_DECL, 0); - gcc_unreachable (); -} - -#define TEMPLATE_INFO_DECL_CHECK(NODE) \ - template_info_decl_check ((NODE), __FILE__, __LINE__, __FUNCTION__) - -#define THUNK_FUNCTION_CHECK(NODE) __extension__ \ -({ __typeof (NODE) const __t = (NODE); \ - if (TREE_CODE (__t) != FUNCTION_DECL || !__t->decl_common.lang_specific \ - || !__t->decl_common.lang_specific->u.fn.thunk_p) \ - tree_check_failed (__t, __FILE__, __LINE__, __FUNCTION__, 0); \ - __t; }) - -#else /* ENABLE_TREE_CHECKING */ - -#define TEMPLATE_INFO_DECL_CHECK(NODE) (NODE) -#define THUNK_FUNCTION_CHECK(NODE) (NODE) - -#endif /* ENABLE_TREE_CHECKING */ - -/* Language-dependent contents of an identifier. */ - -struct GTY(()) lang_identifier { - struct c_common_identifier c_common; - cxx_binding *bindings; -}; - -/* Return a typed pointer version of T if it designates a - C++ front-end identifier. */ -inline lang_identifier* -identifier_p (tree t) -{ - if (TREE_CODE (t) == IDENTIFIER_NODE) - return (lang_identifier*) t; - return NULL; -} - -#define LANG_IDENTIFIER_CAST(NODE) \ - ((struct lang_identifier*)IDENTIFIER_NODE_CHECK (NODE)) - -struct GTY(()) template_parm_index { - struct tree_common common; - int index; - int level; - int orig_level; - tree decl; -}; - -struct GTY(()) ptrmem_cst { - struct tree_common common; - tree member; - location_t locus; -}; -typedef struct ptrmem_cst * ptrmem_cst_t; - -#define CLEANUP_P(NODE) TREE_LANG_FLAG_0 (TRY_BLOCK_CHECK (NODE)) - -#define BIND_EXPR_TRY_BLOCK(NODE) \ - TREE_LANG_FLAG_0 (BIND_EXPR_CHECK (NODE)) - -/* This BIND_EXPR is from build_vec_delete_1. */ -#define BIND_EXPR_VEC_DTOR(NODE) \ - TREE_LANG_FLAG_1 (BIND_EXPR_CHECK (NODE)) - -/* Used to mark the block around the member initializers and cleanups. */ -#define BIND_EXPR_BODY_BLOCK(NODE) \ - TREE_LANG_FLAG_3 (BIND_EXPR_CHECK (NODE)) -#define FUNCTION_NEEDS_BODY_BLOCK(NODE) \ - (DECL_CONSTRUCTOR_P (NODE) || DECL_DESTRUCTOR_P (NODE) \ - || LAMBDA_FUNCTION_P (NODE)) - -#define STATEMENT_LIST_NO_SCOPE(NODE) \ - TREE_LANG_FLAG_0 (STATEMENT_LIST_CHECK (NODE)) -#define STATEMENT_LIST_TRY_BLOCK(NODE) \ - TREE_LANG_FLAG_2 (STATEMENT_LIST_CHECK (NODE)) - -/* Mark the outer curly brace BLOCK. */ -#define BLOCK_OUTER_CURLY_BRACE_P(NODE) TREE_LANG_FLAG_0 (BLOCK_CHECK (NODE)) - -/* Nonzero if this statement should be considered a full-expression, - i.e., if temporaries created during this statement should have - their destructors run at the end of this statement. */ -#define STMT_IS_FULL_EXPR_P(NODE) TREE_LANG_FLAG_1 ((NODE)) - -/* Marks the result of a statement expression. */ -#define EXPR_STMT_STMT_EXPR_RESULT(NODE) \ - TREE_LANG_FLAG_0 (EXPR_STMT_CHECK (NODE)) - -/* Nonzero if this statement-expression does not have an associated scope. */ -#define STMT_EXPR_NO_SCOPE(NODE) \ - TREE_LANG_FLAG_0 (STMT_EXPR_CHECK (NODE)) - -#define COND_EXPR_IS_VEC_DELETE(NODE) \ - TREE_LANG_FLAG_0 (COND_EXPR_CHECK (NODE)) - -/* Nonzero if this NOP_EXPR is a reinterpret_cast. Such conversions - are not constexprs. Other NOP_EXPRs are. */ -#define REINTERPRET_CAST_P(NODE) \ - TREE_LANG_FLAG_0 (NOP_EXPR_CHECK (NODE)) - -/* Returns nonzero iff TYPE1 and TYPE2 are the same type, in the usual - sense of `same'. */ -#define same_type_p(TYPE1, TYPE2) \ - comptypes ((TYPE1), (TYPE2), COMPARE_STRICT) - -/* Returns nonzero iff NODE is a declaration for the global function - `main'. */ -#define DECL_MAIN_ANY_P(NODE) \ - (DECL_EXTERN_C_FUNCTION_P (NODE) \ - && DECL_NAME (NODE) != NULL_TREE \ - && MAIN_NAME_P (DECL_NAME (NODE))) - -/* Nonzero iff NODE is a declaration for `int main', or we are hosted. */ -#define DECL_MAIN_FREESTANDING_P(NODE) \ - (DECL_MAIN_ANY_P(NODE) \ - && (flag_hosted \ - || TYPE_MAIN_VARIANT (TREE_TYPE (TREE_TYPE (NODE))) \ - == integer_type_node)) - -/* Nonzero iff NODE is a declaration for `main', and we are hosted. */ -#define DECL_MAIN_P(NODE) (DECL_MAIN_ANY_P(NODE) && flag_hosted) - -/* Lookup walker marking. */ -#define LOOKUP_SEEN_P(NODE) TREE_VISITED (NODE) -#define LOOKUP_FOUND_P(NODE) \ - TREE_LANG_FLAG_4 (TREE_CHECK4 (NODE,RECORD_TYPE,UNION_TYPE,ENUMERAL_TYPE,\ - NAMESPACE_DECL)) - -/* These two accessors should only be used by OVL manipulators. - Other users should use iterators and convenience functions. */ -#define OVL_FUNCTION(NODE) \ - (((struct tree_overload*)OVERLOAD_CHECK (NODE))->function) -#define OVL_CHAIN(NODE) \ - (((struct tree_overload*)OVERLOAD_CHECK (NODE))->common.chain) - -/* If set, this or a subsequent overload contains decls that need deduping. */ -#define OVL_DEDUP_P(NODE) TREE_LANG_FLAG_0 (OVERLOAD_CHECK (NODE)) -/* If set, this was imported in a using declaration. */ -#define OVL_USING_P(NODE) TREE_LANG_FLAG_1 (OVERLOAD_CHECK (NODE)) -/* If set, this overload is a hidden decl. */ -#define OVL_HIDDEN_P(NODE) TREE_LANG_FLAG_2 (OVERLOAD_CHECK (NODE)) -/* If set, this overload contains a nested overload. */ -#define OVL_NESTED_P(NODE) TREE_LANG_FLAG_3 (OVERLOAD_CHECK (NODE)) -/* If set, this overload was constructed during lookup. */ -#define OVL_LOOKUP_P(NODE) TREE_LANG_FLAG_4 (OVERLOAD_CHECK (NODE)) -/* If set, this OVL_USING_P overload is exported. */ -#define OVL_EXPORT_P(NODE) TREE_LANG_FLAG_5 (OVERLOAD_CHECK (NODE)) - -/* The first decl of an overload. */ -#define OVL_FIRST(NODE) ovl_first (NODE) -/* The name of the overload set. */ -#define OVL_NAME(NODE) DECL_NAME (OVL_FIRST (NODE)) - -/* Whether this is a set of overloaded functions. TEMPLATE_DECLS are - always wrapped in an OVERLOAD, so we don't need to check them - here. */ -#define OVL_P(NODE) \ - (TREE_CODE (NODE) == FUNCTION_DECL || TREE_CODE (NODE) == OVERLOAD) -/* Whether this is a single member overload. */ -#define OVL_SINGLE_P(NODE) \ - (TREE_CODE (NODE) != OVERLOAD || !OVL_CHAIN (NODE)) - -/* OVL_HIDDEN_P nodes come before other nodes. */ - -struct GTY(()) tree_overload { - struct tree_common common; - tree function; -}; - -/* Iterator for a 1 dimensional overload. Permits iterating over the - outer level of a 2-d overload when explicitly enabled. */ - -class ovl_iterator { - tree ovl; - const bool allow_inner; /* Only used when checking. */ - - public: - explicit ovl_iterator (tree o, bool allow = false) - : ovl (o), allow_inner (allow) - { - } - - public: - operator bool () const - { - return ovl; - } - ovl_iterator &operator++ () - { - ovl = TREE_CODE (ovl) != OVERLOAD ? NULL_TREE : OVL_CHAIN (ovl); - return *this; - } - tree operator* () const - { - tree fn = TREE_CODE (ovl) != OVERLOAD ? ovl : OVL_FUNCTION (ovl); - - /* Check this is not an unexpected 2-dimensional overload. */ - gcc_checking_assert (allow_inner || TREE_CODE (fn) != OVERLOAD); - - return fn; - } - bool operator== (const ovl_iterator &o) const - { - return ovl == o.ovl; - } - tree get_using () const - { - gcc_checking_assert (using_p ()); - return ovl; - } - - public: - /* Whether this overload was introduced by a using decl. */ - bool using_p () const - { - return (TREE_CODE (ovl) == USING_DECL - || (TREE_CODE (ovl) == OVERLOAD && OVL_USING_P (ovl))); - } - /* Whether this using is being exported. */ - bool exporting_p () const - { - return OVL_EXPORT_P (get_using ()); - } - - bool hidden_p () const - { - return TREE_CODE (ovl) == OVERLOAD && OVL_HIDDEN_P (ovl); - } - - public: - tree remove_node (tree head) - { - return remove_node (head, ovl); - } - tree reveal_node (tree head) - { - return reveal_node (head, ovl); - } - - protected: - /* If we have a nested overload, point at the inner overload and - return the next link on the outer one. */ - tree maybe_push () - { - tree r = NULL_TREE; - - if (ovl && TREE_CODE (ovl) == OVERLOAD && OVL_NESTED_P (ovl)) - { - r = OVL_CHAIN (ovl); - ovl = OVL_FUNCTION (ovl); - } - return r; - } - /* Restore an outer nested overload. */ - void pop (tree outer) - { - gcc_checking_assert (!ovl); - ovl = outer; - } - - private: - /* We make these static functions to avoid the address of the - iterator escaping the local context. */ - static tree remove_node (tree head, tree node); - static tree reveal_node (tree ovl, tree node); -}; - -/* Treat a tree as a range of ovl_iterator, e.g. - for (tree f : ovl_range (fns)) { ... } */ - -class ovl_range -{ - tree t; - bool allow; -public: - explicit ovl_range (tree t, bool allow = false): t(t), allow(allow) { } - ovl_iterator begin() { return ovl_iterator (t, allow); } - ovl_iterator end() { return ovl_iterator (NULL_TREE, allow); } -}; - -/* Iterator over a (potentially) 2 dimensional overload, which is - produced by name lookup. */ - -class lkp_iterator : public ovl_iterator { - typedef ovl_iterator parent; - - tree outer; - - public: - explicit lkp_iterator (tree o) - : parent (o, true), outer (maybe_push ()) - { - } - - public: - lkp_iterator &operator++ () - { - bool repush = !outer; - - if (!parent::operator++ () && !repush) - { - pop (outer); - repush = true; - } - - if (repush) - outer = maybe_push (); - - return *this; - } -}; - -/* Treat a tree as a range of lkp_iterator, e.g. - for (tree f : lkp_range (fns)) { ... } */ - -class lkp_range -{ - tree t; -public: - lkp_range (tree t): t(t) { } - lkp_iterator begin() { return lkp_iterator (t); } - lkp_iterator end() { return lkp_iterator (NULL_TREE); } -}; - -/* hash traits for declarations. Hashes potential overload sets via - DECL_NAME. */ - -struct named_decl_hash : ggc_remove { - typedef tree value_type; /* A DECL or OVERLOAD */ - typedef tree compare_type; /* An identifier. */ - - inline static hashval_t hash (const value_type decl); - inline static bool equal (const value_type existing, compare_type candidate); - - static const bool empty_zero_p = true; - static inline void mark_empty (value_type &p) {p = NULL_TREE;} - static inline bool is_empty (value_type p) {return !p;} - - /* Nothing is deletable. Everything is insertable. */ - static bool is_deleted (value_type) { return false; } - static void mark_deleted (value_type) { gcc_unreachable (); } -}; - -/* Simplified unique_ptr clone to release a tree vec on exit. */ - -class releasing_vec -{ -public: - typedef vec vec_t; - - releasing_vec (vec_t *v): v(v) { } - releasing_vec (): v(make_tree_vector ()) { } - - /* Copy ops are deliberately declared but not defined, - copies must always be elided. */ - releasing_vec (const releasing_vec &); - releasing_vec &operator= (const releasing_vec &); - - vec_t &operator* () const { return *v; } - vec_t *operator-> () const { return v; } - vec_t *get() const { return v; } - operator vec_t *() const { return v; } - vec_t ** operator& () { return &v; } - - /* Breaks pointer/value consistency for convenience. This takes ptrdiff_t - rather than unsigned to avoid ambiguity with the built-in operator[] - (bootstrap/91828). */ - tree& operator[] (ptrdiff_t i) const { return (*v)[i]; } - - tree *begin() { return ::begin (v); } - tree *end() { return ::end (v); } - - void release () { release_tree_vector (v); v = NULL; } - - ~releasing_vec () { release_tree_vector (v); } -private: - vec_t *v; -}; -/* Forwarding functions for vec_safe_* that might reallocate. */ -inline tree* vec_safe_push (releasing_vec& r, const tree &t CXX_MEM_STAT_INFO) -{ return vec_safe_push (*&r, t PASS_MEM_STAT); } -inline bool vec_safe_reserve (releasing_vec& r, unsigned n, bool e = false CXX_MEM_STAT_INFO) -{ return vec_safe_reserve (*&r, n, e PASS_MEM_STAT); } -inline unsigned vec_safe_length (releasing_vec &r) -{ return r->length(); } -inline void vec_safe_splice (releasing_vec &r, vec *p CXX_MEM_STAT_INFO) -{ vec_safe_splice (*&r, p PASS_MEM_STAT); } -void release_tree_vector (releasing_vec &); // cause link error - -struct GTY(()) tree_template_decl { - struct tree_decl_common common; - tree arguments; - tree result; -}; - -/* Returns true iff NODE is a BASELINK. */ -#define BASELINK_P(NODE) \ - (TREE_CODE (NODE) == BASELINK) -/* The BINFO indicating the base in which lookup found the - BASELINK_FUNCTIONS. */ -#define BASELINK_BINFO(NODE) \ - (((struct tree_baselink*) BASELINK_CHECK (NODE))->binfo) -/* The functions referred to by the BASELINK; either a FUNCTION_DECL, - a TEMPLATE_DECL, an OVERLOAD, or a TEMPLATE_ID_EXPR. */ -#define BASELINK_FUNCTIONS(NODE) \ - (((struct tree_baselink*) BASELINK_CHECK (NODE))->functions) -/* If T is a BASELINK, grab the functions, otherwise just T, which is - expected to already be a (list of) functions. */ -#define MAYBE_BASELINK_FUNCTIONS(T) \ - (BASELINK_P (T) ? BASELINK_FUNCTIONS (T) : T) -/* The BINFO in which the search for the functions indicated by this baselink - began. This base is used to determine the accessibility of functions - selected by overload resolution. */ -#define BASELINK_ACCESS_BINFO(NODE) \ - (((struct tree_baselink*) BASELINK_CHECK (NODE))->access_binfo) -/* For a type-conversion operator, the BASELINK_OPTYPE indicates the type - to which the conversion should occur. This value is important if - the BASELINK_FUNCTIONS include a template conversion operator -- - the BASELINK_OPTYPE can be used to determine what type the user - requested. */ -#define BASELINK_OPTYPE(NODE) \ - (TREE_CHAIN (BASELINK_CHECK (NODE))) -/* Nonzero if this baselink was from a qualified lookup. */ -#define BASELINK_QUALIFIED_P(NODE) \ - TREE_LANG_FLAG_0 (BASELINK_CHECK (NODE)) -/* Nonzero if the overload set for this baselink might be incomplete due - to the lookup being performed from an incomplete-class context. */ -#define BASELINK_FUNCTIONS_MAYBE_INCOMPLETE_P(NODE) \ - TREE_LANG_FLAG_1 (BASELINK_CHECK (NODE)) - -struct GTY(()) tree_baselink { - struct tree_common common; - tree binfo; - tree functions; - tree access_binfo; -}; - -/* The different kinds of ids that we encounter. */ - -enum cp_id_kind -{ - /* Not an id at all. */ - CP_ID_KIND_NONE, - /* An unqualified-id that is not a template-id. */ - CP_ID_KIND_UNQUALIFIED, - /* An unqualified-id that is a dependent name. */ - CP_ID_KIND_UNQUALIFIED_DEPENDENT, - /* An unqualified template-id. */ - CP_ID_KIND_TEMPLATE_ID, - /* A qualified-id. */ - CP_ID_KIND_QUALIFIED -}; - - -/* The various kinds of C++0x warnings we encounter. */ - -enum cpp0x_warn_str -{ - /* extended initializer lists */ - CPP0X_INITIALIZER_LISTS, - /* explicit conversion operators */ - CPP0X_EXPLICIT_CONVERSION, - /* variadic templates */ - CPP0X_VARIADIC_TEMPLATES, - /* lambda expressions */ - CPP0X_LAMBDA_EXPR, - /* C++0x auto */ - CPP0X_AUTO, - /* scoped enums */ - CPP0X_SCOPED_ENUMS, - /* defaulted and deleted functions */ - CPP0X_DEFAULTED_DELETED, - /* inline namespaces */ - CPP0X_INLINE_NAMESPACES, - /* override controls, override/final */ - CPP0X_OVERRIDE_CONTROLS, - /* non-static data member initializers */ - CPP0X_NSDMI, - /* user defined literals */ - CPP0X_USER_DEFINED_LITERALS, - /* delegating constructors */ - CPP0X_DELEGATING_CTORS, - /* inheriting constructors */ - CPP0X_INHERITING_CTORS, - /* C++11 attributes */ - CPP0X_ATTRIBUTES, - /* ref-qualified member functions */ - CPP0X_REF_QUALIFIER -}; - -/* The various kinds of operation used by composite_pointer_type. */ - -enum composite_pointer_operation -{ - /* comparison */ - CPO_COMPARISON, - /* conversion */ - CPO_CONVERSION, - /* conditional expression */ - CPO_CONDITIONAL_EXPR -}; - -/* Possible cases of expression list used by build_x_compound_expr_from_list. */ -enum expr_list_kind { - ELK_INIT, /* initializer */ - ELK_MEM_INIT, /* member initializer */ - ELK_FUNC_CAST /* functional cast */ -}; - -/* Possible cases of implicit bad rhs conversions. */ -enum impl_conv_rhs { - ICR_DEFAULT_ARGUMENT, /* default argument */ - ICR_CONVERTING, /* converting */ - ICR_INIT, /* initialization */ - ICR_ARGPASS, /* argument passing */ - ICR_RETURN, /* return */ - ICR_ASSIGN /* assignment */ -}; - -/* Possible cases of implicit or explicit bad conversions to void. */ -enum impl_conv_void { - ICV_CAST, /* (explicit) conversion to void */ - ICV_SECOND_OF_COND, /* second operand of conditional expression */ - ICV_THIRD_OF_COND, /* third operand of conditional expression */ - ICV_RIGHT_OF_COMMA, /* right operand of comma operator */ - ICV_LEFT_OF_COMMA, /* left operand of comma operator */ - ICV_STATEMENT, /* statement */ - ICV_THIRD_IN_FOR /* for increment expression */ -}; - -/* Possible invalid uses of an abstract class that might not have a - specific associated declaration. */ -enum GTY(()) abstract_class_use { - ACU_UNKNOWN, /* unknown or decl provided */ - ACU_CAST, /* cast to abstract class */ - ACU_NEW, /* new-expression of abstract class */ - ACU_THROW, /* throw-expression of abstract class */ - ACU_CATCH, /* catch-parameter of abstract class */ - ACU_ARRAY, /* array of abstract class */ - ACU_RETURN, /* return type of abstract class */ - ACU_PARM /* parameter type of abstract class */ -}; - -/* Macros for access to language-specific slots in an identifier. */ - -/* Identifiers map directly to block or class-scope bindings. - Namespace-scope bindings are held in hash tables on the respective - namespaces. The identifier bindings are the innermost active - binding, from whence you can get the decl and/or implicit-typedef - of an elaborated type. When not bound to a local entity the - values are NULL. */ -#define IDENTIFIER_BINDING(NODE) \ - (LANG_IDENTIFIER_CAST (NODE)->bindings) -#define REAL_IDENTIFIER_TYPE_VALUE(NODE) TREE_TYPE (NODE) -#define SET_IDENTIFIER_TYPE_VALUE(NODE,TYPE) (TREE_TYPE (NODE) = (TYPE)) - -/* Kinds of identifiers. Values are carefully chosen. */ -enum cp_identifier_kind { - cik_normal = 0, /* Not a special identifier. */ - cik_keyword = 1, /* A keyword. */ - cik_ctor = 2, /* Constructor (in-chg, complete or base). */ - cik_dtor = 3, /* Destructor (in-chg, deleting, complete or - base). */ - cik_simple_op = 4, /* Non-assignment operator name. */ - cik_assign_op = 5, /* An assignment operator name. */ - cik_conv_op = 6, /* Conversion operator name. */ - cik_reserved_for_udlit = 7, /* Not yet in use */ - cik_max -}; - -/* Kind bits. */ -#define IDENTIFIER_KIND_BIT_0(NODE) \ - TREE_LANG_FLAG_0 (IDENTIFIER_NODE_CHECK (NODE)) -#define IDENTIFIER_KIND_BIT_1(NODE) \ - TREE_LANG_FLAG_1 (IDENTIFIER_NODE_CHECK (NODE)) -#define IDENTIFIER_KIND_BIT_2(NODE) \ - TREE_LANG_FLAG_2 (IDENTIFIER_NODE_CHECK (NODE)) - -/* Used by various search routines. */ -#define IDENTIFIER_MARKED(NODE) \ - TREE_LANG_FLAG_4 (IDENTIFIER_NODE_CHECK (NODE)) - -/* Nonzero if this identifier is used as a virtual function name somewhere - (optimizes searches). */ -#define IDENTIFIER_VIRTUAL_P(NODE) \ - TREE_LANG_FLAG_5 (IDENTIFIER_NODE_CHECK (NODE)) - -/* True if this identifier is a reserved word. C_RID_CODE (node) is - then the RID_* value of the keyword. Value 1. */ -#define IDENTIFIER_KEYWORD_P(NODE) \ - ((!IDENTIFIER_KIND_BIT_2 (NODE)) \ - & (!IDENTIFIER_KIND_BIT_1 (NODE)) \ - & IDENTIFIER_KIND_BIT_0 (NODE)) - -/* True if this identifier is the name of a constructor or - destructor. Value 2 or 3. */ -#define IDENTIFIER_CDTOR_P(NODE) \ - ((!IDENTIFIER_KIND_BIT_2 (NODE)) \ - & IDENTIFIER_KIND_BIT_1 (NODE)) - -/* True if this identifier is the name of a constructor. Value 2. */ -#define IDENTIFIER_CTOR_P(NODE) \ - (IDENTIFIER_CDTOR_P(NODE) \ - & (!IDENTIFIER_KIND_BIT_0 (NODE))) - -/* True if this identifier is the name of a destructor. Value 3. */ -#define IDENTIFIER_DTOR_P(NODE) \ - (IDENTIFIER_CDTOR_P(NODE) \ - & IDENTIFIER_KIND_BIT_0 (NODE)) - -/* True if this identifier is for any operator name (including - conversions). Value 4, 5, 6 or 7. */ -#define IDENTIFIER_ANY_OP_P(NODE) \ - (IDENTIFIER_KIND_BIT_2 (NODE)) - -/* True if this identifier is for an overloaded operator. Values 4, 5. */ -#define IDENTIFIER_OVL_OP_P(NODE) \ - (IDENTIFIER_ANY_OP_P (NODE) \ - & (!IDENTIFIER_KIND_BIT_1 (NODE))) - -/* True if this identifier is for any assignment. Values 5. */ -#define IDENTIFIER_ASSIGN_OP_P(NODE) \ - (IDENTIFIER_OVL_OP_P (NODE) \ - & IDENTIFIER_KIND_BIT_0 (NODE)) - -/* True if this identifier is the name of a type-conversion - operator. Value 7. */ -#define IDENTIFIER_CONV_OP_P(NODE) \ - (IDENTIFIER_ANY_OP_P (NODE) \ - & IDENTIFIER_KIND_BIT_1 (NODE) \ - & (!IDENTIFIER_KIND_BIT_0 (NODE))) - -/* True if this identifier is a new or delete operator. */ -#define IDENTIFIER_NEWDEL_OP_P(NODE) \ - (IDENTIFIER_OVL_OP_P (NODE) \ - && IDENTIFIER_OVL_OP_FLAGS (NODE) & OVL_OP_FLAG_ALLOC) - -/* True if this identifier is a new operator. */ -#define IDENTIFIER_NEW_OP_P(NODE) \ - (IDENTIFIER_OVL_OP_P (NODE) \ - && (IDENTIFIER_OVL_OP_FLAGS (NODE) \ - & (OVL_OP_FLAG_ALLOC | OVL_OP_FLAG_DELETE)) == OVL_OP_FLAG_ALLOC) - -/* Access a C++-specific index for identifier NODE. - Used to optimize operator mappings etc. */ -#define IDENTIFIER_CP_INDEX(NODE) \ - (IDENTIFIER_NODE_CHECK(NODE)->base.u.bits.address_space) - -/* In a RECORD_TYPE or UNION_TYPE, nonzero if any component is read-only. */ -#define C_TYPE_FIELDS_READONLY(TYPE) \ - (LANG_TYPE_CLASS_CHECK (TYPE)->fields_readonly) - -/* The tokens stored in the unparsed operand. */ - -#define DEFPARSE_TOKENS(NODE) \ - (((struct tree_deferred_parse *)DEFERRED_PARSE_CHECK (NODE))->tokens) -#define DEFPARSE_INSTANTIATIONS(NODE) \ - (((struct tree_deferred_parse *)DEFERRED_PARSE_CHECK (NODE))->instantiations) - -struct GTY (()) tree_deferred_parse { - struct tree_base base; - struct cp_token_cache *tokens; - vec *instantiations; -}; - - -#define DEFERRED_NOEXCEPT_PATTERN(NODE) \ - (((struct tree_deferred_noexcept *)DEFERRED_NOEXCEPT_CHECK (NODE))->pattern) -#define DEFERRED_NOEXCEPT_ARGS(NODE) \ - (((struct tree_deferred_noexcept *)DEFERRED_NOEXCEPT_CHECK (NODE))->args) -#define DEFERRED_NOEXCEPT_SPEC_P(NODE) \ - ((NODE) && (TREE_PURPOSE (NODE)) \ - && (TREE_CODE (TREE_PURPOSE (NODE)) == DEFERRED_NOEXCEPT)) -#define UNEVALUATED_NOEXCEPT_SPEC_P(NODE) \ - (DEFERRED_NOEXCEPT_SPEC_P (NODE) \ - && DEFERRED_NOEXCEPT_PATTERN (TREE_PURPOSE (NODE)) == NULL_TREE) -#define UNPARSED_NOEXCEPT_SPEC_P(NODE) \ - ((NODE) && (TREE_PURPOSE (NODE)) \ - && (TREE_CODE (TREE_PURPOSE (NODE)) == DEFERRED_PARSE)) - -struct GTY (()) tree_deferred_noexcept { - struct tree_base base; - tree pattern; - tree args; -}; - - -/* The condition associated with the static assertion. This must be - an integral constant expression. */ -#define STATIC_ASSERT_CONDITION(NODE) \ - (((struct tree_static_assert *)STATIC_ASSERT_CHECK (NODE))->condition) - -/* The message associated with the static assertion. This must be a - string constant, which will be emitted as an error message when the - static assert condition is false. */ -#define STATIC_ASSERT_MESSAGE(NODE) \ - (((struct tree_static_assert *)STATIC_ASSERT_CHECK (NODE))->message) - -/* Source location information for a static assertion. */ -#define STATIC_ASSERT_SOURCE_LOCATION(NODE) \ - (((struct tree_static_assert *)STATIC_ASSERT_CHECK (NODE))->location) - -struct GTY (()) tree_static_assert { - struct tree_common common; - tree condition; - tree message; - location_t location; -}; - -struct GTY (()) tree_argument_pack_select { - struct tree_common common; - tree argument_pack; - int index; -}; - -/* The different kinds of traits that we encounter. */ - -enum cp_trait_kind -{ -#define DEFTRAIT(TCC, CODE, NAME, ARITY) \ - CPTK_##CODE, -#include "cp-trait.def" -#undef DEFTRAIT -}; - -/* The types that we are processing. */ -#define TRAIT_EXPR_TYPE1(NODE) \ - (((struct tree_trait_expr *)TRAIT_EXPR_CHECK (NODE))->type1) - -#define TRAIT_EXPR_TYPE2(NODE) \ - (((struct tree_trait_expr *)TRAIT_EXPR_CHECK (NODE))->type2) - -/* The specific trait that we are processing. */ -#define TRAIT_EXPR_KIND(NODE) \ - (((struct tree_trait_expr *)TRAIT_EXPR_CHECK (NODE))->kind) - -#define TRAIT_EXPR_LOCATION(NODE) \ - (((struct tree_trait_expr *)TRAIT_EXPR_CHECK (NODE))->locus) - -struct GTY (()) tree_trait_expr { - struct tree_common common; - tree type1; - tree type2; - location_t locus; - enum cp_trait_kind kind; -}; - -/* An INTEGER_CST containing the kind of the trait type NODE. */ -#define TRAIT_TYPE_KIND_RAW(NODE) \ - TYPE_VALUES_RAW (TRAIT_TYPE_CHECK (NODE)) - -/* The kind of the trait type NODE. */ -#define TRAIT_TYPE_KIND(NODE) \ - ((enum cp_trait_kind) TREE_INT_CST_LOW (TRAIT_TYPE_KIND_RAW (NODE))) - -/* The first argument of the trait type NODE. */ -#define TRAIT_TYPE_TYPE1(NODE) \ - TYPE_MIN_VALUE_RAW (TRAIT_TYPE_CHECK (NODE)) - -/* The rest of the arguments of the trait type NODE. */ -#define TRAIT_TYPE_TYPE2(NODE) \ - TYPE_MAX_VALUE_RAW (TRAIT_TYPE_CHECK (NODE)) - -/* Identifiers used for lambda types are almost anonymous. Use this - spare flag to distinguish them (they also have the anonymous flag). */ -#define IDENTIFIER_LAMBDA_P(NODE) \ - (IDENTIFIER_NODE_CHECK(NODE)->base.protected_flag) - -/* Based off of TYPE_UNNAMED_P. */ -#define LAMBDA_TYPE_P(NODE) \ - (TREE_CODE (NODE) == RECORD_TYPE \ - && TYPE_LINKAGE_IDENTIFIER (NODE) \ - && IDENTIFIER_LAMBDA_P (TYPE_LINKAGE_IDENTIFIER (NODE))) - -/* Test if FUNCTION_DECL is a lambda function. */ -#define LAMBDA_FUNCTION_P(FNDECL) \ - (DECL_DECLARES_FUNCTION_P (FNDECL) \ - && DECL_OVERLOADED_OPERATOR_P (FNDECL) \ - && DECL_OVERLOADED_OPERATOR_IS (FNDECL, CALL_EXPR) \ - && LAMBDA_TYPE_P (CP_DECL_CONTEXT (FNDECL))) - -enum cp_lambda_default_capture_mode_type { - CPLD_NONE, - CPLD_COPY, - CPLD_REFERENCE -}; - -/* The method of default capture, if any. */ -#define LAMBDA_EXPR_DEFAULT_CAPTURE_MODE(NODE) \ - (((struct tree_lambda_expr *)LAMBDA_EXPR_CHECK (NODE))->default_capture_mode) - -/* The capture-list, including `this'. Each capture is stored as a FIELD_DECL - * so that the name, type, and field are all together, whether or not it has - * been added to the lambda's class type. - TREE_LIST: - TREE_PURPOSE: The FIELD_DECL for this capture. - TREE_VALUE: The initializer. This is part of a GNU extension. */ -#define LAMBDA_EXPR_CAPTURE_LIST(NODE) \ - (((struct tree_lambda_expr *)LAMBDA_EXPR_CHECK (NODE))->capture_list) - -/* During parsing of the lambda-introducer, the node in the capture-list - that holds the 'this' capture. During parsing of the body, the - capture proxy for that node. */ -#define LAMBDA_EXPR_THIS_CAPTURE(NODE) \ - (((struct tree_lambda_expr *)LAMBDA_EXPR_CHECK (NODE))->this_capture) - -/* Predicate tracking whether `this' is in the effective capture set. */ -#define LAMBDA_EXPR_CAPTURES_THIS_P(NODE) \ - LAMBDA_EXPR_THIS_CAPTURE(NODE) - -/* Predicate tracking whether the lambda was declared 'mutable'. */ -#define LAMBDA_EXPR_MUTABLE_P(NODE) \ - TREE_LANG_FLAG_1 (LAMBDA_EXPR_CHECK (NODE)) - -/* True iff uses of a const variable capture were optimized away. */ -#define LAMBDA_EXPR_CAPTURE_OPTIMIZED(NODE) \ - TREE_LANG_FLAG_2 (LAMBDA_EXPR_CHECK (NODE)) - -/* Predicate tracking whether the lambda was declared 'static'. */ -#define LAMBDA_EXPR_STATIC_P(NODE) \ - TREE_LANG_FLAG_3 (LAMBDA_EXPR_CHECK (NODE)) - -/* True if this TREE_LIST in LAMBDA_EXPR_CAPTURE_LIST is for an explicit - capture. */ -#define LAMBDA_CAPTURE_EXPLICIT_P(NODE) \ - TREE_LANG_FLAG_0 (TREE_LIST_CHECK (NODE)) - -/* The source location of the lambda. */ -#define LAMBDA_EXPR_LOCATION(NODE) \ - (((struct tree_lambda_expr *)LAMBDA_EXPR_CHECK (NODE))->locus) - -/* The mangling scope for the lambda: FUNCTION_DECL, PARM_DECL, VAR_DECL, - FIELD_DECL or NULL_TREE. If this is NULL_TREE, we have no linkage. */ -#define LAMBDA_EXPR_EXTRA_SCOPE(NODE) \ - (((struct tree_lambda_expr *)LAMBDA_EXPR_CHECK (NODE))->extra_scope) - -/* Lambdas in the same extra scope might need a discriminating count. - For ABI 17, we have single per-scope count, for ABI 18, we have - per-scope, per-signature numbering. */ -#define LAMBDA_EXPR_SCOPE_ONLY_DISCRIMINATOR(NODE) \ - (((struct tree_lambda_expr *)LAMBDA_EXPR_CHECK (NODE))->discriminator_scope) -#define LAMBDA_EXPR_SCOPE_SIG_DISCRIMINATOR(NODE) \ - (((struct tree_lambda_expr *)LAMBDA_EXPR_CHECK (NODE))->discriminator_sig) - -/* During parsing of the lambda, a vector of capture proxies which need - to be pushed once we're done processing a nested lambda. */ -#define LAMBDA_EXPR_PENDING_PROXIES(NODE) \ - (((struct tree_lambda_expr *)LAMBDA_EXPR_CHECK (NODE))->pending_proxies) - -/* If NODE was regenerated via tsubst_lambda_expr, this is a TEMPLATE_INFO - whose TI_TEMPLATE is the immediate LAMBDA_EXPR from which NODE was - regenerated, and TI_ARGS is the full set of template arguments used - to regenerate NODE from the most general lambda. */ -#define LAMBDA_EXPR_REGEN_INFO(NODE) \ - (((struct tree_lambda_expr *)LAMBDA_EXPR_CHECK (NODE))->regen_info) - -/* The closure type of the lambda, which is also the type of the - LAMBDA_EXPR. */ -#define LAMBDA_EXPR_CLOSURE(NODE) \ - (TREE_TYPE (LAMBDA_EXPR_CHECK (NODE))) - -struct GTY (()) tree_lambda_expr -{ - struct tree_typed typed; - tree capture_list; - tree this_capture; - tree extra_scope; - tree regen_info; - vec *pending_proxies; - location_t locus; - enum cp_lambda_default_capture_mode_type default_capture_mode : 2; - unsigned discriminator_scope : 15; // Per-scope discriminator - unsigned discriminator_sig : 15; // Per-scope, per-signature discriminator -}; - -/* Non-zero if this template specialization has access violations that - should be rechecked when the function is instantiated outside argument - deduction. */ -#define TINFO_HAS_ACCESS_ERRORS(NODE) \ - (TREE_LANG_FLAG_0 (TEMPLATE_INFO_CHECK (NODE))) -#define FNDECL_HAS_ACCESS_ERRORS(NODE) \ - (TINFO_HAS_ACCESS_ERRORS (DECL_TEMPLATE_INFO (NODE))) - -/* Non-zero if this variable template specialization was specified using a - template-id, so it's a partial or full specialization and not a definition - of the member template of a particular class specialization. */ -#define TINFO_USED_TEMPLATE_ID(NODE) \ - (TREE_LANG_FLAG_1 (TEMPLATE_INFO_CHECK (NODE))) - -/* The representation of a deferred access check. */ - -struct GTY(()) deferred_access_check { - /* The base class in which the declaration is referenced. */ - tree binfo; - /* The declaration whose access must be checked. */ - tree decl; - /* The declaration that should be used in the error message. */ - tree diag_decl; - /* The location of this access. */ - location_t loc; -}; - -struct GTY(()) tree_template_info { - struct tree_base base; - tree tmpl; - tree args; - vec *deferred_access_checks; -}; - -// Constraint information for a C++ declaration. Constraint information is -// comprised of: -// -// - a constraint expression introduced by the template header -// - a constraint expression introduced by a function declarator -// - the associated constraints, which are the conjunction of those, -// and used for declaration matching -// -// The template and declarator requirements are kept to support pretty -// printing constrained declarations. -struct GTY(()) tree_constraint_info { - struct tree_base base; - tree template_reqs; - tree declarator_reqs; - tree associated_constr; -}; - -// Require that pointer P is non-null before returning. -template -inline T* -check_nonnull (T* p) -{ - gcc_assert (p); - return p; -} - -/* Returns true iff T is non-null and represents constraint info. */ -inline tree_constraint_info * -check_constraint_info (tree t) -{ - if (t && TREE_CODE (t) == CONSTRAINT_INFO) - return (tree_constraint_info *)t; - return NULL; -} - -/* Access the expression describing the template constraints. This may be - null if no constraints were introduced in the template parameter list, - a requirements clause after the template parameter list, or constraints - through a constrained-type-specifier. */ -#define CI_TEMPLATE_REQS(NODE) \ - check_constraint_info (check_nonnull (NODE))->template_reqs - -/* Access the expression describing the trailing constraints. This is non-null - for any implicit instantiation of a constrained declaration. For a - templated declaration it is non-null only when a trailing requires-clause - was specified. */ -#define CI_DECLARATOR_REQS(NODE) \ - check_constraint_info (check_nonnull (NODE))->declarator_reqs - -/* The computed associated constraint expression for a declaration. */ -#define CI_ASSOCIATED_CONSTRAINTS(NODE) \ - check_constraint_info (check_nonnull (NODE))->associated_constr - -/* Access the constraint-expression introduced by the requires-clause - associate the template parameter list NODE. */ -#define TEMPLATE_PARMS_CONSTRAINTS(NODE) \ - TREE_TYPE (TREE_LIST_CHECK (NODE)) - -/* Access the logical constraints on the template parameter declaration - indicated by NODE. */ -#define TEMPLATE_PARM_CONSTRAINTS(NODE) \ - TREE_TYPE (TREE_LIST_CHECK (NODE)) - -/* Non-zero if the noexcept is present in a compound requirement. */ -#define COMPOUND_REQ_NOEXCEPT_P(NODE) \ - TREE_LANG_FLAG_0 (TREE_CHECK (NODE, COMPOUND_REQ)) - -/* A TREE_LIST whose TREE_VALUE is the constraints on the 'auto' placeholder - type NODE, used in an argument deduction constraint. The TREE_PURPOSE - holds the set of template parameters that were in-scope when this 'auto' - was formed. */ -#define PLACEHOLDER_TYPE_CONSTRAINTS_INFO(NODE) \ - DECL_SIZE_UNIT (TYPE_NAME (NODE)) - -/* The constraints on the 'auto' placeholder type NODE. */ -#define PLACEHOLDER_TYPE_CONSTRAINTS(NODE) \ - (PLACEHOLDER_TYPE_CONSTRAINTS_INFO (NODE) \ - ? TREE_VALUE (PLACEHOLDER_TYPE_CONSTRAINTS_INFO (NODE)) \ - : NULL_TREE) - -/* True if NODE is a constraint. */ -#define CONSTR_P(NODE) \ - (TREE_CODE (NODE) == ATOMIC_CONSTR \ - || TREE_CODE (NODE) == CONJ_CONSTR \ - || TREE_CODE (NODE) == DISJ_CONSTR) - -/* Valid for any normalized constraint. */ -#define CONSTR_CHECK(NODE) \ - TREE_CHECK3 (NODE, ATOMIC_CONSTR, CONJ_CONSTR, DISJ_CONSTR) - -/* The CONSTR_INFO stores normalization data for a constraint. It refers to - the original expression and the expression or declaration - from which the constraint was normalized. - - This is TREE_LIST whose TREE_PURPOSE is the original expression and whose - TREE_VALUE is a list of contexts. */ -#define CONSTR_INFO(NODE) \ - TREE_TYPE (CONSTR_CHECK (NODE)) - -/* The expression evaluated by the constraint. */ -#define CONSTR_EXPR(NODE) \ - TREE_PURPOSE (CONSTR_INFO (NODE)) - -/* The expression or declaration from which this constraint was normalized. - This is a TREE_LIST whose TREE_VALUE is either a template-id expression - denoting a concept check or the declaration introducing the constraint. - These are chained to other context objects. */ -#define CONSTR_CONTEXT(NODE) \ - TREE_VALUE (CONSTR_INFO (NODE)) - -/* The parameter mapping for an atomic constraint. */ -#define ATOMIC_CONSTR_MAP(NODE) \ - TREE_OPERAND (TREE_CHECK (NODE, ATOMIC_CONSTR), 0) - -/* Whether the parameter mapping of this atomic constraint - is already instantiated with concrete template arguments. - Used only in satisfy_atom and in the satisfaction cache. */ -#define ATOMIC_CONSTR_MAP_INSTANTIATED_P(NODE) \ - TREE_LANG_FLAG_0 (ATOMIC_CONSTR_CHECK (NODE)) - -/* Whether the expression for this atomic constraint belongs to a - concept definition. */ -#define ATOMIC_CONSTR_EXPR_FROM_CONCEPT_P(NODE) \ - TREE_LANG_FLAG_1 (ATOMIC_CONSTR_CHECK (NODE)) - -/* The expression of an atomic constraint. */ -#define ATOMIC_CONSTR_EXPR(NODE) \ - CONSTR_EXPR (ATOMIC_CONSTR_CHECK (NODE)) - -/* The concept of a concept check. */ -#define CHECK_CONSTR_CONCEPT(NODE) \ - TREE_OPERAND (TREE_CHECK (NODE, CHECK_CONSTR), 0) - -/* The template arguments of a concept check. */ -#define CHECK_CONSTR_ARGS(NODE) \ - TREE_OPERAND (TREE_CHECK (NODE, CHECK_CONSTR), 1) - -/* Whether a PARM_DECL represents a local parameter in a - requires-expression. */ -#define CONSTRAINT_VAR_P(NODE) \ - DECL_LANG_FLAG_2 (TREE_CHECK (NODE, PARM_DECL)) - -/* The concept constraining this constrained template-parameter. */ -#define CONSTRAINED_PARM_CONCEPT(NODE) \ - DECL_SIZE_UNIT (TYPE_DECL_CHECK (NODE)) -/* Any extra template arguments specified for a constrained - template-parameter. */ -#define CONSTRAINED_PARM_EXTRA_ARGS(NODE) \ - DECL_SIZE (TYPE_DECL_CHECK (NODE)) -/* The first template parameter of CONSTRAINED_PARM_CONCEPT to be used as a - prototype for the constrained parameter in finish_shorthand_constraint, - attached for convenience. */ -#define CONSTRAINED_PARM_PROTOTYPE(NODE) \ - DECL_INITIAL (TYPE_DECL_CHECK (NODE)) - -/* Module flags on FUNCTION,VAR,TYPE,CONCEPT or NAMESPACE - A TEMPLATE_DECL holds them on the DECL_TEMPLATE_RESULT object -- - it's just not practical to keep them consistent. */ -#define DECL_MODULE_CHECK(NODE) \ - TREE_NOT_CHECK (NODE, TEMPLATE_DECL) - -/* In the purview of a named module (or in the purview of the - header-unit being compiled). */ -#define DECL_MODULE_PURVIEW_P(N) \ - (DECL_LANG_SPECIFIC (DECL_MODULE_CHECK (N))->u.base.module_purview_p) - -/* Attached to the named module it is in the purview of. Decls - attached to the global module will have this false. */ -#define DECL_MODULE_ATTACH_P(N) \ - (DECL_LANG_SPECIFIC (DECL_MODULE_CHECK (N))->u.base.module_attach_p) - -/* True if the live version of the decl was imported. */ -#define DECL_MODULE_IMPORT_P(NODE) \ - (DECL_LANG_SPECIFIC (DECL_MODULE_CHECK (NODE))->u.base.module_import_p) - -/* True if this decl is in the entity hash & array. This means that - some variant was imported, even if DECL_MODULE_IMPORT_P is false. */ -#define DECL_MODULE_ENTITY_P(NODE) \ - (DECL_LANG_SPECIFIC (DECL_MODULE_CHECK (NODE))->u.base.module_entity_p) - -/* DECL that has attached decls for ODR-relatedness. */ -#define DECL_MODULE_KEYED_DECLS_P(NODE) \ - (DECL_LANG_SPECIFIC (TREE_CHECK2(NODE,FUNCTION_DECL,VAR_DECL))\ - ->u.base.module_keyed_decls_p) - -/* Whether this is an exported DECL. Held on any decl that can appear - at namespace scope (function, var, type, template, const or - namespace). templates copy from their template_result, consts have - it for unscoped enums. */ -#define DECL_MODULE_EXPORT_P(NODE) TREE_LANG_FLAG_3 (NODE) - - -/* The list of local parameters introduced by this requires-expression, - in the form of a chain of PARM_DECLs. */ -#define REQUIRES_EXPR_PARMS(NODE) \ - TREE_OPERAND (TREE_CHECK (NODE, REQUIRES_EXPR), 0) - -/* A TREE_LIST of the requirements for this requires-expression. - The requirements are stored in lexical order within the TREE_VALUE - of each TREE_LIST node. The TREE_PURPOSE of each node is unused. */ -#define REQUIRES_EXPR_REQS(NODE) \ - TREE_OPERAND (TREE_CHECK (NODE, REQUIRES_EXPR), 1) - -/* Like PACK_EXPANSION_EXTRA_ARGS, for requires-expressions. */ -#define REQUIRES_EXPR_EXTRA_ARGS(NODE) \ - TREE_OPERAND (TREE_CHECK (NODE, REQUIRES_EXPR), 2) - -enum cp_tree_node_structure_enum { - TS_CP_GENERIC, - TS_CP_IDENTIFIER, - TS_CP_TPI, - TS_CP_PTRMEM, - TS_CP_OVERLOAD, - TS_CP_BINDING_VECTOR, - TS_CP_BASELINK, - TS_CP_TEMPLATE_DECL, - TS_CP_DEFERRED_PARSE, - TS_CP_DEFERRED_NOEXCEPT, - TS_CP_STATIC_ASSERT, - TS_CP_ARGUMENT_PACK_SELECT, - TS_CP_TRAIT_EXPR, - TS_CP_LAMBDA_EXPR, - TS_CP_TEMPLATE_INFO, - TS_CP_CONSTRAINT_INFO, - TS_CP_USERDEF_LITERAL -}; - -/* The resulting tree type. */ -union GTY((desc ("cp_tree_node_structure (&%h)"), - chain_next ("(union lang_tree_node *) c_tree_chain_next (&%h.generic)"))) lang_tree_node { - union tree_node GTY ((tag ("TS_CP_GENERIC"), - desc ("tree_node_structure (&%h)"))) generic; - struct template_parm_index GTY ((tag ("TS_CP_TPI"))) tpi; - struct ptrmem_cst GTY ((tag ("TS_CP_PTRMEM"))) ptrmem; - struct tree_overload GTY ((tag ("TS_CP_OVERLOAD"))) overload; - struct tree_binding_vec GTY ((tag ("TS_CP_BINDING_VECTOR"))) binding_vec; - struct tree_baselink GTY ((tag ("TS_CP_BASELINK"))) baselink; - struct tree_template_decl GTY ((tag ("TS_CP_TEMPLATE_DECL"))) template_decl; - struct tree_deferred_parse GTY ((tag ("TS_CP_DEFERRED_PARSE"))) deferred_parse; - struct tree_deferred_noexcept GTY ((tag ("TS_CP_DEFERRED_NOEXCEPT"))) deferred_noexcept; - struct lang_identifier GTY ((tag ("TS_CP_IDENTIFIER"))) identifier; - struct tree_static_assert GTY ((tag ("TS_CP_STATIC_ASSERT"))) - static_assertion; - struct tree_argument_pack_select GTY ((tag ("TS_CP_ARGUMENT_PACK_SELECT"))) - argument_pack_select; - struct tree_trait_expr GTY ((tag ("TS_CP_TRAIT_EXPR"))) - trait_expression; - struct tree_lambda_expr GTY ((tag ("TS_CP_LAMBDA_EXPR"))) - lambda_expression; - struct tree_template_info GTY ((tag ("TS_CP_TEMPLATE_INFO"))) - template_info; - struct tree_constraint_info GTY ((tag ("TS_CP_CONSTRAINT_INFO"))) - constraint_info; - struct tree_userdef_literal GTY ((tag ("TS_CP_USERDEF_LITERAL"))) - userdef_literal; -}; - - -struct GTY(()) cp_omp_declare_target_attr { - bool attr_syntax; - int device_type; -}; - -struct GTY(()) cp_omp_begin_assumes_data { - bool attr_syntax; -}; - -/* Global state. */ - -struct GTY(()) saved_scope { - vec *old_bindings; - tree old_namespace; - vec *decl_ns_list; - tree class_name; - tree class_type; - tree access_specifier; - tree function_decl; - vec *lang_base; - tree lang_name; - tree template_parms; - cp_binding_level *x_previous_class_level; - tree x_saved_tree; - - /* Only used for uses of this in trailing return type. */ - tree x_current_class_ptr; - tree x_current_class_ref; - - int x_processing_template_decl; - int x_processing_specialization; - int x_processing_constraint; - int x_processing_contract_condition; - int suppress_location_wrappers; - BOOL_BITFIELD x_processing_explicit_instantiation : 1; - BOOL_BITFIELD need_pop_function_context : 1; - - /* Nonzero if we are parsing the discarded statement of a constexpr - if-statement. */ - BOOL_BITFIELD discarded_stmt : 1; - /* Nonzero if we are parsing or instantiating the compound-statement - of consteval if statement. Also set while processing an immediate - invocation. */ - BOOL_BITFIELD consteval_if_p : 1; - - int unevaluated_operand; - int inhibit_evaluation_warnings; - int noexcept_operand; - int ref_temp_count; - - struct stmt_tree_s x_stmt_tree; - - cp_binding_level *class_bindings; - cp_binding_level *bindings; - - hash_map *GTY((skip)) x_local_specializations; - vec *omp_declare_target_attribute; - vec *omp_begin_assumes; - - struct saved_scope *prev; -}; - -extern GTY(()) struct saved_scope *scope_chain; - -/* The current open namespace. */ - -#define current_namespace scope_chain->old_namespace - -/* The stack for namespaces of current declarations. */ - -#define decl_namespace_list scope_chain->decl_ns_list - -/* IDENTIFIER_NODE: name of current class */ - -#define current_class_name scope_chain->class_name - -/* _TYPE: the type of the current class */ - -#define current_class_type scope_chain->class_type - -/* When parsing a class definition, the access specifier most recently - given by the user, or, if no access specifier was given, the - default value appropriate for the kind of class (i.e., struct, - class, or union). */ - -#define current_access_specifier scope_chain->access_specifier - -/* Pointer to the top of the language name stack. */ - -#define current_lang_base scope_chain->lang_base -#define current_lang_name scope_chain->lang_name - -/* When parsing a template declaration, a TREE_LIST represents the - active template parameters. Each node in the list represents one - level of template parameters. The innermost level is first in the - list. The depth of each level is stored as an INTEGER_CST in the - TREE_PURPOSE of each node. The parameters for that level are - stored in the TREE_VALUE. */ - -#define current_template_parms scope_chain->template_parms -#define current_template_depth \ - (current_template_parms ? TMPL_PARMS_DEPTH (current_template_parms) : 0) - -#define processing_template_decl scope_chain->x_processing_template_decl -#define processing_specialization scope_chain->x_processing_specialization -#define processing_explicit_instantiation scope_chain->x_processing_explicit_instantiation - -/* Nonzero if we are parsing the conditional expression of a contract - condition. These expressions appear outside the paramter list (like a - trailing return type), but are potentially evaluated. */ - -#define processing_contract_condition scope_chain->x_processing_contract_condition - -#define in_discarded_stmt scope_chain->discarded_stmt -#define in_consteval_if_p scope_chain->consteval_if_p - -#define current_ref_temp_count scope_chain->ref_temp_count - -/* RAII sentinel to handle clearing processing_template_decl and restoring - it when done. */ - -class processing_template_decl_sentinel -{ -public: - int saved; - processing_template_decl_sentinel (bool reset = true) - : saved (processing_template_decl) - { - if (reset) - processing_template_decl = 0; - } - ~processing_template_decl_sentinel() - { - processing_template_decl = saved; - } -}; - -/* RAII sentinel to disable certain warnings during template substitution - and elsewhere. */ - -class warning_sentinel -{ -public: - int &flag; - int val; - warning_sentinel(int& flag, bool suppress=true) - : flag(flag), val(flag) { if (suppress) flag = 0; } - ~warning_sentinel() { flag = val; } -}; - -/* RAII sentinel to temporarily override input_location. This will not set - input_location to UNKNOWN_LOCATION or BUILTINS_LOCATION. */ - -class iloc_sentinel -{ - location_t saved_loc; -public: - iloc_sentinel (location_t loc): saved_loc (input_location) - { - if (loc >= RESERVED_LOCATION_COUNT) - input_location = loc; - } - ~iloc_sentinel () - { - input_location = saved_loc; - } -}; - -/* RAII sentinel that saves the value of a variable, optionally - overrides it right away, and restores its value when the sentinel - id destructed. */ - -template -class temp_override -{ - T& overridden_variable; - T saved_value; -public: - temp_override(T& var) : overridden_variable (var), saved_value (var) {} - temp_override(T& var, T overrider) - : overridden_variable (var), saved_value (var) - { - overridden_variable = overrider; - } - ~temp_override() { overridden_variable = saved_value; } -}; - -/* Wrapping a template parameter in type_identity_t hides it from template - argument deduction. */ -#if __cpp_lib_type_identity -using std::type_identity_t; -#else -template -struct type_identity { typedef T type; }; -template -using type_identity_t = typename type_identity::type; -#endif - -/* Object generator function for temp_override, so you don't need to write the - type of the object as a template argument. - - Use as auto x = make_temp_override (flag); */ - -template -inline temp_override -make_temp_override (T& var) -{ - return { var }; -} - -/* Likewise, but use as auto x = make_temp_override (flag, value); */ - -template -inline temp_override -make_temp_override (T& var, type_identity_t overrider) -{ - return { var, overrider }; -} - -/* temp_override for in_consteval_if_p, which can't use make_temp_override - because it is a bitfield. */ - -struct in_consteval_if_p_temp_override { - bool save_in_consteval_if_p; - in_consteval_if_p_temp_override () - : save_in_consteval_if_p (in_consteval_if_p) {} - void reset () { in_consteval_if_p = save_in_consteval_if_p; } - ~in_consteval_if_p_temp_override () - { reset (); } -}; - -/* The cached class binding level, from the most recently exited - class, or NULL if none. */ - -#define previous_class_level scope_chain->x_previous_class_level - -/* A map from local variable declarations in the body of the template - presently being instantiated to the corresponding instantiated - local variables. */ - -#define local_specializations scope_chain->x_local_specializations - -/* Nonzero if we are parsing the operand of a noexcept operator. */ - -#define cp_noexcept_operand scope_chain->noexcept_operand - -struct named_label_entry; /* Defined in decl.cc. */ - -struct named_label_hash : ggc_remove -{ - typedef named_label_entry *value_type; - typedef tree compare_type; /* An identifier. */ - - inline static hashval_t hash (value_type); - inline static bool equal (const value_type, compare_type); - - static const bool empty_zero_p = true; - inline static void mark_empty (value_type &p) {p = NULL;} - inline static bool is_empty (value_type p) {return !p;} - - /* Nothing is deletable. Everything is insertable. */ - inline static bool is_deleted (value_type) { return false; } - inline static void mark_deleted (value_type) { gcc_unreachable (); } -}; - -/* Global state pertinent to the current function. */ - -struct GTY(()) language_function { - struct c_language_function base; - - tree x_current_class_ptr; - tree x_current_class_ref; - tree x_eh_spec_block; - tree x_in_charge_parm; - tree x_vtt_parm; - tree x_return_value; - - BOOL_BITFIELD returns_value : 1; - BOOL_BITFIELD returns_null : 1; - BOOL_BITFIELD returns_abnormally : 1; - BOOL_BITFIELD infinite_loop: 1; - BOOL_BITFIELD x_in_function_try_handler : 1; - BOOL_BITFIELD x_in_base_initializer : 1; - - /* True if this function can throw an exception. */ - BOOL_BITFIELD can_throw : 1; - - BOOL_BITFIELD invalid_constexpr : 1; - BOOL_BITFIELD throwing_cleanup : 1; - - hash_table *x_named_labels; - - cp_binding_level *bindings; - - /* Tracking possibly infinite loops. This is a vec only because - vec doesn't work with gtype. */ - vec *infinite_loops; -}; - -/* The current C++-specific per-function global variables. */ - -#define cp_function_chain (cfun->language) - -/* When we're processing a member function, current_class_ptr is the - PARM_DECL for the `this' pointer. The current_class_ref is an - expression for `*this'. */ - -#define current_class_ptr \ - (*(cfun && cp_function_chain \ - ? &cp_function_chain->x_current_class_ptr \ - : &scope_chain->x_current_class_ptr)) -#define current_class_ref \ - (*(cfun && cp_function_chain \ - ? &cp_function_chain->x_current_class_ref \ - : &scope_chain->x_current_class_ref)) - -/* The EH_SPEC_BLOCK for the exception-specifiers for the current - function, if any. */ - -#define current_eh_spec_block cp_function_chain->x_eh_spec_block - -/* The `__in_chrg' parameter for the current function. Only used for - constructors and destructors. */ - -#define current_in_charge_parm cp_function_chain->x_in_charge_parm - -/* The `__vtt_parm' parameter for the current function. Only used for - constructors and destructors. */ - -#define current_vtt_parm cp_function_chain->x_vtt_parm - -/* A boolean flag to control whether we need to clean up the return value if a - local destructor throws. Only used in functions that return by value a - class with a destructor. Which 'tors don't, so we can use the same - field as current_vtt_parm. */ - -#define current_retval_sentinel current_vtt_parm - -/* Set to 0 at beginning of a function definition, set to 1 if - a return statement that specifies a return value is seen. */ - -#define current_function_returns_value cp_function_chain->returns_value - -/* Set to 0 at beginning of a function definition, set to 1 if - a return statement with no argument is seen. */ - -#define current_function_returns_null cp_function_chain->returns_null - -/* Set to 0 at beginning of a function definition, set to 1 if - a call to a noreturn function is seen. */ - -#define current_function_returns_abnormally \ - cp_function_chain->returns_abnormally - -/* Set to 0 at beginning of a function definition, set to 1 if we see an - obvious infinite loop. This can have false positives and false - negatives, so it should only be used as a heuristic. */ - -#define current_function_infinite_loop cp_function_chain->infinite_loop - -/* Nonzero if we are processing a base initializer. Zero elsewhere. */ -#define in_base_initializer cp_function_chain->x_in_base_initializer - -#define in_function_try_handler cp_function_chain->x_in_function_try_handler - -/* Expression always returned from function, or error_mark_node - otherwise, for use by the automatic named return value optimization. */ - -#define current_function_return_value \ - (cp_function_chain->x_return_value) - -/* In parser.cc. */ -extern tree cp_literal_operator_id (const char *); - -#define NON_ERROR(NODE) ((NODE) == error_mark_node ? NULL_TREE : (NODE)) - -/* TRUE if a tree code represents a statement. */ -extern bool statement_code_p[MAX_TREE_CODES]; - -#define STATEMENT_CODE_P(CODE) statement_code_p[(int) (CODE)] - -enum languages { lang_c, lang_cplusplus }; - -/* Macros to make error reporting functions' lives easier. */ -#define TYPE_LINKAGE_IDENTIFIER(NODE) \ - (TYPE_IDENTIFIER (TYPE_MAIN_VARIANT (NODE))) -#define TYPE_NAME_STRING(NODE) (IDENTIFIER_POINTER (TYPE_IDENTIFIER (NODE))) -#define TYPE_NAME_LENGTH(NODE) (IDENTIFIER_LENGTH (TYPE_IDENTIFIER (NODE))) - -/* Any kind of anonymous type. */ -#define TYPE_ANON_P(NODE) \ - (TYPE_LINKAGE_IDENTIFIER (NODE) \ - && IDENTIFIER_ANON_P (TYPE_LINKAGE_IDENTIFIER (NODE))) - -/* Nonzero if NODE, a TYPE, has no name for linkage purposes. */ -#define TYPE_UNNAMED_P(NODE) \ - (TYPE_ANON_P (NODE) \ - && !IDENTIFIER_LAMBDA_P (TYPE_LINKAGE_IDENTIFIER (NODE))) - -/* The _DECL for this _TYPE. */ -#define TYPE_MAIN_DECL(NODE) (TYPE_STUB_DECL (TYPE_MAIN_VARIANT (NODE))) - -/* Nonzero if T is a type that could resolve to any kind of concrete type - at instantiation time. */ -#define WILDCARD_TYPE_P(T) \ - (TREE_CODE (T) == TEMPLATE_TYPE_PARM \ - || TREE_CODE (T) == TYPENAME_TYPE \ - || TREE_CODE (T) == TYPEOF_TYPE \ - || TREE_CODE (T) == BOUND_TEMPLATE_TEMPLATE_PARM \ - || TREE_CODE (T) == DECLTYPE_TYPE \ - || TREE_CODE (T) == TRAIT_TYPE \ - || TREE_CODE (T) == DEPENDENT_OPERATOR_TYPE) - -/* Nonzero if T is a class (or struct or union) type. Also nonzero - for template type parameters, typename types, and instantiated - template template parameters. Keep these checks in ascending code - order. */ -#define MAYBE_CLASS_TYPE_P(T) (WILDCARD_TYPE_P (T) || CLASS_TYPE_P (T)) - -/* Set CLASS_TYPE_P for T to VAL. T must be a class, struct, or - union type. */ -#define SET_CLASS_TYPE_P(T, VAL) \ - (TYPE_LANG_FLAG_5 (RECORD_OR_UNION_CHECK (T)) = (VAL)) - -/* Nonzero if T is a class type. Zero for template type parameters, - typename types, and so forth. */ -#define CLASS_TYPE_P(T) \ - (RECORD_OR_UNION_CODE_P (TREE_CODE (T)) && TYPE_LANG_FLAG_5 (T)) - -/* Nonzero if T is a class type but not a union. */ -#define NON_UNION_CLASS_TYPE_P(T) \ - (TREE_CODE (T) == RECORD_TYPE && TYPE_LANG_FLAG_5 (T)) - -/* Keep these checks in ascending code order. */ -#define RECORD_OR_UNION_CODE_P(T) \ - ((T) == RECORD_TYPE || (T) == UNION_TYPE) -#define OVERLOAD_TYPE_P(T) \ - (CLASS_TYPE_P (T) || TREE_CODE (T) == ENUMERAL_TYPE) - -/* True if this type is dependent. This predicate is only valid if - TYPE_DEPENDENT_P_VALID is true. */ -#define TYPE_DEPENDENT_P(NODE) TYPE_LANG_FLAG_0 (NODE) - -/* True if dependent_type_p has been called for this type, with the - result that TYPE_DEPENDENT_P is valid. */ -#define TYPE_DEPENDENT_P_VALID(NODE) TYPE_LANG_FLAG_6(NODE) - -/* Nonzero if this type is const-qualified. */ -#define CP_TYPE_CONST_P(NODE) \ - ((cp_type_quals (NODE) & TYPE_QUAL_CONST) != 0) - -/* Nonzero if this type is volatile-qualified. */ -#define CP_TYPE_VOLATILE_P(NODE) \ - ((cp_type_quals (NODE) & TYPE_QUAL_VOLATILE) != 0) - -/* Nonzero if this type is restrict-qualified. */ -#define CP_TYPE_RESTRICT_P(NODE) \ - ((cp_type_quals (NODE) & TYPE_QUAL_RESTRICT) != 0) - -/* Nonzero if this type is const-qualified, but not - volatile-qualified. Other qualifiers are ignored. This macro is - used to test whether or not it is OK to bind an rvalue to a - reference. */ -#define CP_TYPE_CONST_NON_VOLATILE_P(NODE) \ - ((cp_type_quals (NODE) & (TYPE_QUAL_CONST | TYPE_QUAL_VOLATILE)) \ - == TYPE_QUAL_CONST) - -#define FUNCTION_ARG_CHAIN(NODE) \ - TREE_CHAIN (TYPE_ARG_TYPES (TREE_TYPE (NODE))) - -/* Given a FUNCTION_DECL, returns the first TREE_LIST out of TYPE_ARG_TYPES - which refers to a user-written parameter. */ -#define FUNCTION_FIRST_USER_PARMTYPE(NODE) \ - skip_artificial_parms_for ((NODE), TYPE_ARG_TYPES (TREE_TYPE (NODE))) - -/* Similarly, but for DECL_ARGUMENTS. */ -#define FUNCTION_FIRST_USER_PARM(NODE) \ - skip_artificial_parms_for ((NODE), DECL_ARGUMENTS (NODE)) - -/* Nonzero iff TYPE is derived from PARENT. Ignores accessibility and - ambiguity issues. */ -#define DERIVED_FROM_P(PARENT, TYPE) \ - (lookup_base ((TYPE), (PARENT), ba_any, NULL, tf_none) != NULL_TREE) - -/* Gives the visibility specification for a class type. */ -#define CLASSTYPE_VISIBILITY(TYPE) \ - DECL_VISIBILITY (TYPE_MAIN_DECL (TYPE)) -#define CLASSTYPE_VISIBILITY_SPECIFIED(TYPE) \ - DECL_VISIBILITY_SPECIFIED (TYPE_MAIN_DECL (TYPE)) - -struct GTY (()) tree_pair_s { - tree purpose; - tree value; -}; -typedef tree_pair_s *tree_pair_p; - -/* This structure provides additional information above and beyond - what is provide in the ordinary tree_type. In the past, we used it - for the types of class types, template parameters types, typename - types, and so forth. However, there can be many (tens to hundreds - of thousands) of template parameter types in a compilation, and - there's no need for this additional information in that case. - Therefore, we now use this data structure only for class types. - - In the past, it was thought that there would be relatively few - class types. However, in the presence of heavy use of templates, - many (i.e., thousands) of classes can easily be generated. - Therefore, we should endeavor to keep the size of this structure to - a minimum. */ -struct GTY(()) lang_type { - unsigned char align; - - unsigned has_type_conversion : 1; - unsigned has_copy_ctor : 1; - unsigned has_default_ctor : 1; - unsigned const_needs_init : 1; - unsigned ref_needs_init : 1; - unsigned has_const_copy_assign : 1; - unsigned use_template : 2; - - unsigned has_mutable : 1; - unsigned com_interface : 1; - unsigned non_pod_class : 1; - unsigned nearly_empty_p : 1; - unsigned user_align : 1; - unsigned has_copy_assign : 1; - unsigned has_new : 1; - unsigned has_array_new : 1; - - unsigned gets_delete : 2; - unsigned interface_only : 1; - unsigned interface_unknown : 1; - unsigned contains_empty_class_p : 1; - unsigned anon_aggr : 1; - unsigned non_zero_init : 1; - unsigned empty_p : 1; - /* 32 bits allocated. */ - - unsigned vec_new_uses_cookie : 1; - unsigned declared_class : 1; - unsigned diamond_shaped : 1; - unsigned repeated_base : 1; - unsigned being_defined : 1; - unsigned debug_requested : 1; - unsigned fields_readonly : 1; - unsigned ptrmemfunc_flag : 1; - - unsigned lazy_default_ctor : 1; - unsigned lazy_copy_ctor : 1; - unsigned lazy_copy_assign : 1; - unsigned lazy_destructor : 1; - unsigned has_const_copy_ctor : 1; - unsigned has_complex_copy_ctor : 1; - unsigned has_complex_copy_assign : 1; - unsigned non_aggregate : 1; - - unsigned has_complex_dflt : 1; - unsigned has_list_ctor : 1; - unsigned non_std_layout : 1; - unsigned is_literal : 1; - unsigned lazy_move_ctor : 1; - unsigned lazy_move_assign : 1; - unsigned has_complex_move_ctor : 1; - unsigned has_complex_move_assign : 1; - - unsigned has_constexpr_ctor : 1; - unsigned unique_obj_representations : 1; - unsigned unique_obj_representations_set : 1; - bool erroneous : 1; - bool non_pod_aggregate : 1; - - /* When adding a flag here, consider whether or not it ought to - apply to a template instance if it applies to the template. If - so, make sure to copy it in instantiate_class_template! */ - - /* There are some bits left to fill out a 32-bit word. Keep track - of this by updating the size of this bitfield whenever you add or - remove a flag. */ - unsigned dummy : 3; - - tree primary_base; - vec *vcall_indices; - tree vtables; - tree typeinfo_var; - vec *vbases; - tree as_base; - vec *pure_virtuals; - tree friend_classes; - vec * GTY((reorder ("resort_type_member_vec"))) members; - tree key_method; - tree decl_list; - tree befriending_classes; - /* In a RECORD_TYPE, information specific to Objective-C++, such - as a list of adopted protocols or a pointer to a corresponding - @interface. See objc/objc-act.h for details. */ - tree objc_info; - /* FIXME reuse another field? */ - tree lambda_expr; -}; - -/* We used to have a variant type for lang_type. Keep the name of the - checking accessor for the sole survivor. */ -#define LANG_TYPE_CLASS_CHECK(NODE) (TYPE_LANG_SPECIFIC (NODE)) - -/* Nonzero for _CLASSTYPE means that operator delete is defined. */ -#define TYPE_GETS_DELETE(NODE) (LANG_TYPE_CLASS_CHECK (NODE)->gets_delete) -#define TYPE_GETS_REG_DELETE(NODE) (TYPE_GETS_DELETE (NODE) & 1) -#define TYPE_GETS_VEC_DELETE(NODE) (TYPE_GETS_DELETE (NODE) & 2) - -/* Nonzero if `new NODE[x]' should cause the allocation of extra - storage to indicate how many array elements are in use. */ -#define TYPE_VEC_NEW_USES_COOKIE(NODE) \ - (CLASS_TYPE_P (NODE) \ - && LANG_TYPE_CLASS_CHECK (NODE)->vec_new_uses_cookie) - -/* Nonzero means that this _CLASSTYPE node defines ways of converting - itself to other types. */ -#define TYPE_HAS_CONVERSION(NODE) \ - (LANG_TYPE_CLASS_CHECK (NODE)->has_type_conversion) - -/* Nonzero means that NODE (a class type) has a default constructor -- - but that it has not yet been declared. */ -#define CLASSTYPE_LAZY_DEFAULT_CTOR(NODE) \ - (LANG_TYPE_CLASS_CHECK (NODE)->lazy_default_ctor) - -/* Nonzero means that NODE (a class type) has a copy constructor -- - but that it has not yet been declared. */ -#define CLASSTYPE_LAZY_COPY_CTOR(NODE) \ - (LANG_TYPE_CLASS_CHECK (NODE)->lazy_copy_ctor) - -/* Nonzero means that NODE (a class type) has a move constructor -- - but that it has not yet been declared. */ -#define CLASSTYPE_LAZY_MOVE_CTOR(NODE) \ - (LANG_TYPE_CLASS_CHECK (NODE)->lazy_move_ctor) - -/* Nonzero means that NODE (a class type) has an assignment operator - -- but that it has not yet been declared. */ -#define CLASSTYPE_LAZY_COPY_ASSIGN(NODE) \ - (LANG_TYPE_CLASS_CHECK (NODE)->lazy_copy_assign) - -/* Nonzero means that NODE (a class type) has an assignment operator - -- but that it has not yet been declared. */ -#define CLASSTYPE_LAZY_MOVE_ASSIGN(NODE) \ - (LANG_TYPE_CLASS_CHECK (NODE)->lazy_move_assign) - -/* Nonzero means that NODE (a class type) has a destructor -- but that - it has not yet been declared. */ -#define CLASSTYPE_LAZY_DESTRUCTOR(NODE) \ - (LANG_TYPE_CLASS_CHECK (NODE)->lazy_destructor) - -/* Nonzero means that NODE (a class type) is final */ -#define CLASSTYPE_FINAL(NODE) \ - TYPE_FINAL_P (NODE) - - -/* Nonzero means that this _CLASSTYPE node overloads operator=(X&). */ -#define TYPE_HAS_COPY_ASSIGN(NODE) (LANG_TYPE_CLASS_CHECK (NODE)->has_copy_assign) - -/* True iff the class type NODE has an "operator =" whose parameter - has a parameter of type "const X&". */ -#define TYPE_HAS_CONST_COPY_ASSIGN(NODE) \ - (LANG_TYPE_CLASS_CHECK (NODE)->has_const_copy_assign) - -/* Nonzero means that this _CLASSTYPE node has an X(X&) constructor. */ -#define TYPE_HAS_COPY_CTOR(NODE) (LANG_TYPE_CLASS_CHECK (NODE)->has_copy_ctor) -#define TYPE_HAS_CONST_COPY_CTOR(NODE) \ - (LANG_TYPE_CLASS_CHECK (NODE)->has_const_copy_ctor) - -/* Nonzero if this class has an X(initializer_list) constructor. */ -#define TYPE_HAS_LIST_CTOR(NODE) \ - (LANG_TYPE_CLASS_CHECK (NODE)->has_list_ctor) - -/* Nonzero if this class has a constexpr constructor other than a copy/move - constructor. Note that a class can have constexpr constructors for - static initialization even if it isn't a literal class. */ -#define TYPE_HAS_CONSTEXPR_CTOR(NODE) \ - (LANG_TYPE_CLASS_CHECK (NODE)->has_constexpr_ctor) - -/* Nonzero if this class defines an overloaded operator new. (An - operator new [] doesn't count.) */ -#define TYPE_HAS_NEW_OPERATOR(NODE) \ - (LANG_TYPE_CLASS_CHECK (NODE)->has_new) - -/* Nonzero if this class defines an overloaded operator new[]. */ -#define TYPE_HAS_ARRAY_NEW_OPERATOR(NODE) \ - (LANG_TYPE_CLASS_CHECK (NODE)->has_array_new) - -/* Nonzero means that this type is being defined. I.e., the left brace - starting the definition of this type has been seen. */ -#define TYPE_BEING_DEFINED(NODE) (LANG_TYPE_CLASS_CHECK (NODE)->being_defined) - -/* Nonzero means that this type is either complete or being defined, so we - can do lookup in it. */ -#define COMPLETE_OR_OPEN_TYPE_P(NODE) \ - (COMPLETE_TYPE_P (NODE) || (CLASS_TYPE_P (NODE) && TYPE_BEING_DEFINED (NODE))) - -/* Mark bits for repeated base checks. */ -#define TYPE_MARKED_P(NODE) TREE_LANG_FLAG_6 (TYPE_CHECK (NODE)) - -/* Nonzero if the class NODE has multiple paths to the same (virtual) - base object. */ -#define CLASSTYPE_DIAMOND_SHAPED_P(NODE) \ - (LANG_TYPE_CLASS_CHECK(NODE)->diamond_shaped) - -/* Nonzero if the class NODE has multiple instances of the same base - type. */ -#define CLASSTYPE_REPEATED_BASE_P(NODE) \ - (LANG_TYPE_CLASS_CHECK(NODE)->repeated_base) - -/* The member function with which the vtable will be emitted: - the first noninline non-pure-virtual member function. NULL_TREE - if there is no key function or if this is a class template */ -#define CLASSTYPE_KEY_METHOD(NODE) (LANG_TYPE_CLASS_CHECK (NODE)->key_method) - -/* Vector of members. During definition, it is unordered and only - member functions are present. After completion it is sorted and - contains both member functions and non-functions. STAT_HACK is - involved to preserve oneslot per name invariant. */ -#define CLASSTYPE_MEMBER_VEC(NODE) (LANG_TYPE_CLASS_CHECK (NODE)->members) - -/* For class templates, this is a TREE_LIST of all member data, - functions, types, and friends in the order of declaration. - The TREE_PURPOSE of each TREE_LIST is NULL_TREE for a friend, - and the RECORD_TYPE for the class template otherwise. */ -#define CLASSTYPE_DECL_LIST(NODE) (LANG_TYPE_CLASS_CHECK (NODE)->decl_list) - -/* A FUNCTION_DECL or OVERLOAD for the constructors for NODE. These - are the constructors that take an in-charge parameter. */ -#define CLASSTYPE_CONSTRUCTORS(NODE) \ - (get_class_binding_direct (NODE, ctor_identifier)) - -/* A FUNCTION_DECL for the destructor for NODE. This is the - destructors that take an in-charge parameter. If - CLASSTYPE_LAZY_DESTRUCTOR is true, then this entry will be NULL - until the destructor is created with lazily_declare_fn. */ -#define CLASSTYPE_DESTRUCTOR(NODE) \ - (get_class_binding_direct (NODE, dtor_identifier)) - -/* Nonzero if NODE has a primary base class, i.e., a base class with - which it shares the virtual function table pointer. */ -#define CLASSTYPE_HAS_PRIMARY_BASE_P(NODE) \ - (CLASSTYPE_PRIMARY_BINFO (NODE) != NULL_TREE) - -/* If non-NULL, this is the binfo for the primary base class, i.e., - the base class which contains the virtual function table pointer - for this class. */ -#define CLASSTYPE_PRIMARY_BINFO(NODE) \ - (LANG_TYPE_CLASS_CHECK (NODE)->primary_base) - -/* A vector of BINFOs for the direct and indirect virtual base classes - that this type uses in a post-order depth-first left-to-right - order. (In other words, these bases appear in the order that they - should be initialized.) */ -#define CLASSTYPE_VBASECLASSES(NODE) (LANG_TYPE_CLASS_CHECK (NODE)->vbases) - -/* The type corresponding to NODE when NODE is used as a base class, - i.e., NODE without virtual base classes or tail padding. */ -#define CLASSTYPE_AS_BASE(NODE) (LANG_TYPE_CLASS_CHECK (NODE)->as_base) - -/* True iff NODE is the CLASSTYPE_AS_BASE version of some type. */ -#define IS_FAKE_BASE_TYPE(NODE) \ - (TREE_CODE (NODE) == RECORD_TYPE \ - && TYPE_CONTEXT (NODE) && CLASS_TYPE_P (TYPE_CONTEXT (NODE)) \ - && CLASSTYPE_AS_BASE (TYPE_CONTEXT (NODE)) == (NODE)) - -/* These are the size and alignment of the type without its virtual - base classes, for when we use this type as a base itself. */ -#define CLASSTYPE_SIZE(NODE) TYPE_SIZE (CLASSTYPE_AS_BASE (NODE)) -#define CLASSTYPE_SIZE_UNIT(NODE) TYPE_SIZE_UNIT (CLASSTYPE_AS_BASE (NODE)) -#define CLASSTYPE_ALIGN(NODE) TYPE_ALIGN (CLASSTYPE_AS_BASE (NODE)) -#define CLASSTYPE_USER_ALIGN(NODE) TYPE_USER_ALIGN (CLASSTYPE_AS_BASE (NODE)) - -/* The alignment of NODE, without its virtual bases, in bytes. */ -#define CLASSTYPE_ALIGN_UNIT(NODE) \ - (CLASSTYPE_ALIGN (NODE) / BITS_PER_UNIT) - -/* A vec of virtual functions which cannot be inherited by - derived classes. When deriving from this type, the derived - class must provide its own definition for each of these functions. */ -#define CLASSTYPE_PURE_VIRTUALS(NODE) \ - (LANG_TYPE_CLASS_CHECK (NODE)->pure_virtuals) - -/* Nonzero means that this type is an abstract class type. */ -#define ABSTRACT_CLASS_TYPE_P(NODE) \ - (CLASS_TYPE_P (NODE) && CLASSTYPE_PURE_VIRTUALS(NODE)) - -/* Nonzero means that this type has an X() constructor. */ -#define TYPE_HAS_DEFAULT_CONSTRUCTOR(NODE) \ - (LANG_TYPE_CLASS_CHECK (NODE)->has_default_ctor) - -/* Nonzero means that this type contains a mutable member. */ -#define CLASSTYPE_HAS_MUTABLE(NODE) (LANG_TYPE_CLASS_CHECK (NODE)->has_mutable) -#define TYPE_HAS_MUTABLE_P(NODE) (cp_has_mutable_p (NODE)) - -/* Nonzero means that this class type is not POD for the purpose of layout - (as defined in the ABI). This is different from the language's POD. */ -#define CLASSTYPE_NON_LAYOUT_POD_P(NODE) \ - (LANG_TYPE_CLASS_CHECK (NODE)->non_pod_class) - -/* Nonzero means that this class type is a non-standard-layout class. */ -#define CLASSTYPE_NON_STD_LAYOUT(NODE) \ - (LANG_TYPE_CLASS_CHECK (NODE)->non_std_layout) - -/* Nonzero means that this class type does have unique object - representations. */ -#define CLASSTYPE_UNIQUE_OBJ_REPRESENTATIONS(NODE) \ - (LANG_TYPE_CLASS_CHECK (NODE)->unique_obj_representations) - -/* Nonzero means that this class type has - CLASSTYPE_UNIQUE_OBJ_REPRESENTATIONS computed. */ -#define CLASSTYPE_UNIQUE_OBJ_REPRESENTATIONS_SET(NODE) \ - (LANG_TYPE_CLASS_CHECK (NODE)->unique_obj_representations_set) - -/* Nonzero means that this class contains pod types whose default - initialization is not a zero initialization (namely, pointers to - data members). */ -#define CLASSTYPE_NON_ZERO_INIT_P(NODE) \ - (LANG_TYPE_CLASS_CHECK (NODE)->non_zero_init) - -/* Nonzero if this class is "empty" in the sense of the C++ ABI. */ -#define CLASSTYPE_EMPTY_P(NODE) \ - (LANG_TYPE_CLASS_CHECK (NODE)->empty_p) - -/* Nonzero if this class is "nearly empty", i.e., contains only a - virtual function table pointer. */ -#define CLASSTYPE_NEARLY_EMPTY_P(NODE) \ - (LANG_TYPE_CLASS_CHECK (NODE)->nearly_empty_p) - -/* Nonzero if this class contains an empty subobject. */ -#define CLASSTYPE_CONTAINS_EMPTY_CLASS_P(NODE) \ - (LANG_TYPE_CLASS_CHECK (NODE)->contains_empty_class_p) - -/* A list of class types of which this type is a friend. The - TREE_VALUE is normally a TYPE, but will be a TEMPLATE_DECL in the - case of a template friend. */ -#define CLASSTYPE_FRIEND_CLASSES(NODE) \ - (LANG_TYPE_CLASS_CHECK (NODE)->friend_classes) - -/* A list of the classes which grant friendship to this class. */ -#define CLASSTYPE_BEFRIENDING_CLASSES(NODE) \ - (LANG_TYPE_CLASS_CHECK (NODE)->befriending_classes) - -/* The associated LAMBDA_EXPR that made this class. */ -#define CLASSTYPE_LAMBDA_EXPR(NODE) \ - (LANG_TYPE_CLASS_CHECK (NODE)->lambda_expr) -/* The extra mangling scope for this closure type. */ -#define LAMBDA_TYPE_EXTRA_SCOPE(NODE) \ - (LAMBDA_EXPR_EXTRA_SCOPE (CLASSTYPE_LAMBDA_EXPR (NODE))) - -/* Say whether this node was declared as a "class" or a "struct". */ -#define CLASSTYPE_DECLARED_CLASS(NODE) \ - (LANG_TYPE_CLASS_CHECK (NODE)->declared_class) - -/* Nonzero if this class has const members - which have no specified initialization. */ -#define CLASSTYPE_READONLY_FIELDS_NEED_INIT(NODE) \ - (TYPE_LANG_SPECIFIC (NODE) \ - ? LANG_TYPE_CLASS_CHECK (NODE)->const_needs_init : 0) -#define SET_CLASSTYPE_READONLY_FIELDS_NEED_INIT(NODE, VALUE) \ - (LANG_TYPE_CLASS_CHECK (NODE)->const_needs_init = (VALUE)) - -/* Nonzero if this class has ref members - which have no specified initialization. */ -#define CLASSTYPE_REF_FIELDS_NEED_INIT(NODE) \ - (TYPE_LANG_SPECIFIC (NODE) \ - ? LANG_TYPE_CLASS_CHECK (NODE)->ref_needs_init : 0) -#define SET_CLASSTYPE_REF_FIELDS_NEED_INIT(NODE, VALUE) \ - (LANG_TYPE_CLASS_CHECK (NODE)->ref_needs_init = (VALUE)) - -/* Nonzero if this class is included from a header file which employs - `#pragma interface', and it is not included in its implementation file. */ -#define CLASSTYPE_INTERFACE_ONLY(NODE) \ - (LANG_TYPE_CLASS_CHECK (NODE)->interface_only) - -/* True if we have already determined whether or not vtables, VTTs, - typeinfo, and other similar per-class data should be emitted in - this translation unit. This flag does not indicate whether or not - these items should be emitted; it only indicates that we know one - way or the other. */ -#define CLASSTYPE_INTERFACE_KNOWN(NODE) \ - (LANG_TYPE_CLASS_CHECK (NODE)->interface_unknown == 0) -/* The opposite of CLASSTYPE_INTERFACE_KNOWN. */ -#define CLASSTYPE_INTERFACE_UNKNOWN(NODE) \ - (LANG_TYPE_CLASS_CHECK (NODE)->interface_unknown) - -#define SET_CLASSTYPE_INTERFACE_UNKNOWN_X(NODE,X) \ - (LANG_TYPE_CLASS_CHECK (NODE)->interface_unknown = !!(X)) -#define SET_CLASSTYPE_INTERFACE_UNKNOWN(NODE) \ - (LANG_TYPE_CLASS_CHECK (NODE)->interface_unknown = 1) -#define SET_CLASSTYPE_INTERFACE_KNOWN(NODE) \ - (LANG_TYPE_CLASS_CHECK (NODE)->interface_unknown = 0) - -/* Nonzero if a _DECL node requires us to output debug info for this class. */ -#define CLASSTYPE_DEBUG_REQUESTED(NODE) \ - (LANG_TYPE_CLASS_CHECK (NODE)->debug_requested) - -/* True if we saw errors while instantiating this class. */ -#define CLASSTYPE_ERRONEOUS(NODE) \ - (LANG_TYPE_CLASS_CHECK (NODE)->erroneous) - -/* True if this class is non-layout-POD only because it was not an aggregate - before C++14. If we run out of bits in lang_type, this could be replaced - with a hash_set only filled in when abi_version_crosses (17). */ -#define CLASSTYPE_NON_POD_AGGREGATE(NODE) \ - (LANG_TYPE_CLASS_CHECK (NODE)->non_pod_aggregate) - -/* Additional macros for inheritance information. */ - -/* Nonzero means that this class is on a path leading to a new vtable. */ -#define BINFO_VTABLE_PATH_MARKED(NODE) BINFO_FLAG_1 (NODE) - -/* Nonzero means B (a BINFO) has its own vtable. Any copies will not - have this flag set. */ -#define BINFO_NEW_VTABLE_MARKED(B) (BINFO_FLAG_2 (B)) - -/* Compare a BINFO_TYPE with another type for equality. For a binfo, - this is functionally equivalent to using same_type_p, but - measurably faster. At least one of the arguments must be a - BINFO_TYPE. The other can be a BINFO_TYPE or a regular type. If - BINFO_TYPE(T) ever stops being the main variant of the class the - binfo is for, this macro must change. */ -#define SAME_BINFO_TYPE_P(A, B) ((A) == (B)) - -/* Any subobject that needs a new vtable must have a vptr and must not - be a non-virtual primary base (since it would then use the vtable from a - derived class and never become non-primary.) */ -#define SET_BINFO_NEW_VTABLE_MARKED(B) \ - (BINFO_NEW_VTABLE_MARKED (B) = 1, \ - gcc_assert (!BINFO_PRIMARY_P (B) || BINFO_VIRTUAL_P (B)), \ - gcc_assert (TYPE_VFIELD (BINFO_TYPE (B)))) - -/* Nonzero if this binfo is for a dependent base - one that should not - be searched. */ -#define BINFO_DEPENDENT_BASE_P(NODE) BINFO_FLAG_3 (NODE) - -/* Nonzero if this binfo has lost its primary base binfo (because that - is a nearly-empty virtual base that has been taken by some other - base in the complete hierarchy. */ -#define BINFO_LOST_PRIMARY_P(NODE) BINFO_FLAG_4 (NODE) - -/* Nonzero if this BINFO is a primary base class. */ -#define BINFO_PRIMARY_P(NODE) BINFO_FLAG_5(NODE) - -/* A vec of the vcall indices associated with the class - NODE. The PURPOSE of each element is a FUNCTION_DECL for a virtual - function. The VALUE is the index into the virtual table where the - vcall offset for that function is stored, when NODE is a virtual - base. */ -#define CLASSTYPE_VCALL_INDICES(NODE) \ - (LANG_TYPE_CLASS_CHECK (NODE)->vcall_indices) - -/* The various vtables for the class NODE. The primary vtable will be - first, followed by the construction vtables and VTT, if any. */ -#define CLASSTYPE_VTABLES(NODE) \ - (LANG_TYPE_CLASS_CHECK (NODE)->vtables) - -/* The std::type_info variable representing this class, or NULL if no - such variable has been created. This field is only set for the - TYPE_MAIN_VARIANT of the class. */ -#define CLASSTYPE_TYPEINFO_VAR(NODE) \ - (LANG_TYPE_CLASS_CHECK (NODE)->typeinfo_var) - -/* Accessor macros for the BINFO_VIRTUALS list. */ - -/* The number of bytes by which to adjust the `this' pointer when - calling this virtual function. Subtract this value from the this - pointer. Always non-NULL, might be constant zero though. */ -#define BV_DELTA(NODE) (TREE_PURPOSE (NODE)) - -/* If non-NULL, the vtable index at which to find the vcall offset - when calling this virtual function. Add the value at that vtable - index to the this pointer. */ -#define BV_VCALL_INDEX(NODE) (TREE_TYPE (NODE)) - -/* The function to call. */ -#define BV_FN(NODE) (TREE_VALUE (NODE)) - -/* Whether or not this entry is for a lost primary virtual base. */ -#define BV_LOST_PRIMARY(NODE) (TREE_LANG_FLAG_0 (NODE)) - -/* For FUNCTION_TYPE or METHOD_TYPE, a list of the exceptions that - this type can raise. Each TREE_VALUE is a _TYPE. The TREE_VALUE - will be NULL_TREE to indicate a throw specification of `()', or - no exceptions allowed. For a noexcept specification, TREE_VALUE - is NULL_TREE and TREE_PURPOSE is the constant-expression. For - a deferred noexcept-specification, TREE_PURPOSE is a DEFERRED_NOEXCEPT - (for templates) or an OVERLOAD list of functions (for implicitly - declared functions). */ -#define TYPE_RAISES_EXCEPTIONS(NODE) \ - TYPE_LANG_SLOT_1 (FUNC_OR_METHOD_CHECK (NODE)) - -/* For FUNCTION_TYPE or METHOD_TYPE, return 1 iff it is declared `throw()' - or noexcept(true). */ -#define TYPE_NOTHROW_P(NODE) nothrow_spec_p (TYPE_RAISES_EXCEPTIONS (NODE)) - -/* For FUNCTION_TYPE or METHOD_TYPE, true if NODE is noexcept. This is the - case for things declared noexcept(true) and, with -fnothrow-opt, for - throw() functions. */ -#define TYPE_NOEXCEPT_P(NODE) type_noexcept_p (NODE) - -/* The binding level associated with the namespace. */ -#define NAMESPACE_LEVEL(NODE) \ - (LANG_DECL_NS_CHECK (NODE)->level) - -/* Discriminator values for lang_decl. */ - -enum lang_decl_selector -{ - lds_min, - lds_fn, - lds_ns, - lds_parm, - lds_decomp -}; - -/* Flags shared by all forms of DECL_LANG_SPECIFIC. - - Some of the flags live here only to make lang_decl_min/fn smaller. Do - not make this struct larger than 32 bits. */ - -struct GTY(()) lang_decl_base { - ENUM_BITFIELD(lang_decl_selector) selector : 3; - ENUM_BITFIELD(languages) language : 1; - unsigned use_template : 2; - unsigned not_really_extern : 1; /* var or fn */ - unsigned initialized_in_class : 1; /* var or fn */ - - unsigned threadprivate_or_deleted_p : 1; /* var or fn */ - /* anticipated_p is no longer used for anticipated_decls (fn, type - or template). It is used as DECL_OMP_PRIVATIZED_MEMBER in - var. */ - unsigned anticipated_p : 1; - unsigned friend_or_tls : 1; /* var, fn, type or template */ - unsigned unknown_bound_p : 1; /* var */ - unsigned odr_used : 1; /* var or fn */ - unsigned concept_p : 1; /* applies to vars and functions */ - unsigned var_declared_inline_p : 1; /* var */ - unsigned dependent_init_p : 1; /* var */ - - /* The following apply to VAR, FUNCTION, TYPE, CONCEPT, & NAMESPACE - decls. */ - unsigned module_purview_p : 1; // in named-module purview - unsigned module_attach_p : 1; // attached to named module - unsigned module_import_p : 1; /* from an import */ - unsigned module_entity_p : 1; /* is in the entitity ary & - hash. */ - /* VAR_DECL or FUNCTION_DECL has keyed decls. */ - unsigned module_keyed_decls_p : 1; - - /* 12 spare bits. */ -}; - -/* True for DECL codes which have template info and access. */ -#define LANG_DECL_HAS_MIN(NODE) \ - (VAR_OR_FUNCTION_DECL_P (NODE) \ - || TREE_CODE (NODE) == FIELD_DECL \ - || TREE_CODE (NODE) == CONST_DECL \ - || TREE_CODE (NODE) == TYPE_DECL \ - || TREE_CODE (NODE) == TEMPLATE_DECL \ - || TREE_CODE (NODE) == USING_DECL \ - || TREE_CODE (NODE) == CONCEPT_DECL) - -/* DECL_LANG_SPECIFIC for the above codes. */ - -struct GTY(()) lang_decl_min { - struct lang_decl_base base; /* 32-bits. */ - - /* In a FUNCTION_DECL for which DECL_THUNK_P holds, this is - THUNK_ALIAS. - In a FUNCTION_DECL for which DECL_THUNK_P does not hold, - VAR_DECL, TYPE_DECL, or TEMPLATE_DECL, this is - DECL_TEMPLATE_INFO. */ - tree template_info; - - /* In a DECL_THUNK_P FUNCTION_DECL, this is THUNK_VIRTUAL_OFFSET. - In a lambda-capture proxy VAR_DECL, this is DECL_CAPTURED_VARIABLE. - In a function-scope TREE_STATIC VAR_DECL or IMPLICIT_TYPEDEF_P TYPE_DECL, - this is DECL_DISCRIMINATOR. - In a DECL_LOCAL_DECL_P decl, this is the namespace decl it aliases. - Otherwise, in a class-scope DECL, this is DECL_ACCESS. */ - tree access; -}; - -/* Additional DECL_LANG_SPECIFIC information for functions. */ - -struct GTY(()) lang_decl_fn { - struct lang_decl_min min; - - /* In a overloaded operator, this is the compressed operator code. */ - unsigned ovl_op_code : 6; - unsigned global_ctor_p : 1; - unsigned global_dtor_p : 1; - - unsigned static_function : 1; - unsigned pure_virtual : 1; - unsigned defaulted_p : 1; - unsigned has_in_charge_parm_p : 1; - unsigned has_vtt_parm_p : 1; - unsigned pending_inline_p : 1; - unsigned nonconverting : 1; - unsigned thunk_p : 1; - - unsigned this_thunk_p : 1; - unsigned omp_declare_reduction_p : 1; - unsigned has_dependent_explicit_spec_p : 1; - unsigned immediate_fn_p : 1; - unsigned maybe_deleted : 1; - unsigned coroutine_p : 1; - unsigned implicit_constexpr : 1; - - unsigned spare : 9; - - /* 32-bits padding on 64-bit host. */ - - /* For a non-thunk function decl, this is a tree list of - friendly classes. For a thunk function decl, it is the - thunked to function decl. */ - tree befriending_classes; - - /* For a virtual FUNCTION_DECL for which - DECL_THIS_THUNK_P does not hold, this is DECL_THUNKS. Both - this pointer and result pointer adjusting thunks are - chained here. This pointer thunks to return pointer thunks - will be chained on the return pointer thunk. - For a DECL_CONSTUCTOR_P FUNCTION_DECL, this is the base from - whence we inherit. Otherwise, it is the class in which a - (namespace-scope) friend is defined (if any). */ - tree context; - - union lang_decl_u5 - { - /* In a non-thunk FUNCTION_DECL, this is DECL_CLONED_FUNCTION. */ - tree GTY ((tag ("0"))) cloned_function; - - /* In a FUNCTION_DECL for which THUNK_P holds this is the - THUNK_FIXED_OFFSET. */ - HOST_WIDE_INT GTY ((tag ("1"))) fixed_offset; - } GTY ((desc ("%1.thunk_p"))) u5; - - union lang_decl_u3 - { - struct cp_token_cache * GTY ((tag ("1"))) pending_inline_info; - tree GTY ((tag ("0"))) saved_auto_return_type; - } GTY ((desc ("%1.pending_inline_p"))) u; - -}; - -/* DECL_LANG_SPECIFIC for namespaces. */ - -struct GTY(()) lang_decl_ns { - struct lang_decl_base base; /* 32 bits. */ - cp_binding_level *level; - - /* Inline children. Needs to be va_gc, because of PCH. */ - vec *inlinees; - - /* Hash table of bound decls. It'd be nice to have this inline, but - as the hash_map has a dtor, we can't then put this struct into a - union (until moving to c++11). */ - hash_table *bindings; -}; - -/* DECL_LANG_SPECIFIC for parameters. */ - -struct GTY(()) lang_decl_parm { - struct lang_decl_base base; /* 32 bits. */ - int level; - int index; -}; - -/* Additional DECL_LANG_SPECIFIC information for structured bindings. */ - -struct GTY(()) lang_decl_decomp { - struct lang_decl_min min; - /* The artificial underlying "e" variable of the structured binding - variable. */ - tree base; -}; - -/* DECL_LANG_SPECIFIC for all types. It would be nice to just make this a - union rather than a struct containing a union as its only field, but - tree.h declares it as a struct. */ - -struct GTY(()) lang_decl { - union GTY((desc ("%h.base.selector"))) lang_decl_u { - /* Nothing of only the base type exists. */ - struct lang_decl_base GTY ((default)) base; - struct lang_decl_min GTY((tag ("lds_min"))) min; - struct lang_decl_fn GTY ((tag ("lds_fn"))) fn; - struct lang_decl_ns GTY((tag ("lds_ns"))) ns; - struct lang_decl_parm GTY((tag ("lds_parm"))) parm; - struct lang_decl_decomp GTY((tag ("lds_decomp"))) decomp; - } u; -}; - -/* Looks through a template (if present) to find what it declares. */ -#define STRIP_TEMPLATE(NODE) \ - (TREE_CODE (NODE) == TEMPLATE_DECL ? DECL_TEMPLATE_RESULT (NODE) : NODE) - -#if defined ENABLE_TREE_CHECKING && (GCC_VERSION >= 2007) - -#define LANG_DECL_MIN_CHECK(NODE) __extension__ \ -({ struct lang_decl *lt = DECL_LANG_SPECIFIC (NODE); \ - if (!LANG_DECL_HAS_MIN (NODE)) \ - lang_check_failed (__FILE__, __LINE__, __FUNCTION__); \ - <->u.min; }) - -/* We want to be able to check DECL_CONSTRUCTOR_P and such on a function - template, not just on a FUNCTION_DECL. So when looking for things in - lang_decl_fn, look down through a TEMPLATE_DECL into its result. */ -#define LANG_DECL_FN_CHECK(NODE) __extension__ \ -({ struct lang_decl *lt = DECL_LANG_SPECIFIC (STRIP_TEMPLATE (NODE)); \ - if (!DECL_DECLARES_FUNCTION_P (NODE) \ - || lt->u.base.selector != lds_fn) \ - lang_check_failed (__FILE__, __LINE__, __FUNCTION__); \ - <->u.fn; }) - -#define LANG_DECL_NS_CHECK(NODE) __extension__ \ -({ struct lang_decl *lt = DECL_LANG_SPECIFIC (NODE); \ - if (TREE_CODE (NODE) != NAMESPACE_DECL \ - || lt->u.base.selector != lds_ns) \ - lang_check_failed (__FILE__, __LINE__, __FUNCTION__); \ - <->u.ns; }) - -#define LANG_DECL_PARM_CHECK(NODE) __extension__ \ -({ struct lang_decl *lt = DECL_LANG_SPECIFIC (NODE); \ - if (TREE_CODE (NODE) != PARM_DECL \ - || lt->u.base.selector != lds_parm) \ - lang_check_failed (__FILE__, __LINE__, __FUNCTION__); \ - <->u.parm; }) - -#define LANG_DECL_DECOMP_CHECK(NODE) __extension__ \ -({ struct lang_decl *lt = DECL_LANG_SPECIFIC (NODE); \ - if (!VAR_P (NODE) \ - || lt->u.base.selector != lds_decomp) \ - lang_check_failed (__FILE__, __LINE__, __FUNCTION__); \ - <->u.decomp; }) - -#else - -#define LANG_DECL_MIN_CHECK(NODE) \ - (&DECL_LANG_SPECIFIC (NODE)->u.min) - -#define LANG_DECL_FN_CHECK(NODE) \ - (&DECL_LANG_SPECIFIC (STRIP_TEMPLATE (NODE))->u.fn) - -#define LANG_DECL_NS_CHECK(NODE) \ - (&DECL_LANG_SPECIFIC (NODE)->u.ns) - -#define LANG_DECL_PARM_CHECK(NODE) \ - (&DECL_LANG_SPECIFIC (NODE)->u.parm) - -#define LANG_DECL_DECOMP_CHECK(NODE) \ - (&DECL_LANG_SPECIFIC (NODE)->u.decomp) - -#endif /* ENABLE_TREE_CHECKING */ - -/* For a FUNCTION_DECL or a VAR_DECL, the language linkage for the - declaration. Some entities (like a member function in a local - class, or a local variable) do not have linkage at all, and this - macro should not be used in those cases. - - Implementation note: A FUNCTION_DECL without DECL_LANG_SPECIFIC was - created by language-independent code, and has C linkage. Most - VAR_DECLs have C++ linkage, and do not have DECL_LANG_SPECIFIC, but - we do create DECL_LANG_SPECIFIC for variables with non-C++ linkage. */ -#define DECL_LANGUAGE(NODE) \ - (DECL_LANG_SPECIFIC (NODE) \ - ? DECL_LANG_SPECIFIC (NODE)->u.base.language \ - : (TREE_CODE (NODE) == FUNCTION_DECL \ - ? lang_c : lang_cplusplus)) - -/* Set the language linkage for NODE to LANGUAGE. */ -#define SET_DECL_LANGUAGE(NODE, LANGUAGE) \ - (DECL_LANG_SPECIFIC (NODE)->u.base.language = (LANGUAGE)) - -/* For FUNCTION_DECLs and TEMPLATE_DECLs: nonzero means that this function - is a constructor. */ -#define DECL_CONSTRUCTOR_P(NODE) \ - DECL_CXX_CONSTRUCTOR_P (STRIP_TEMPLATE (NODE)) - -/* Nonzero if NODE (a FUNCTION_DECL) is a constructor for a complete - object. */ -#define DECL_COMPLETE_CONSTRUCTOR_P(NODE) \ - (DECL_NAME (NODE) == complete_ctor_identifier) - -/* Nonzero if NODE (a FUNCTION_DECL) is a constructor for a base - object. */ -#define DECL_BASE_CONSTRUCTOR_P(NODE) \ - (DECL_NAME (NODE) == base_ctor_identifier) - -/* Nonzero if NODE (a FUNCTION_DECL) is a constructor, but not either the - specialized in-charge constructor or the specialized not-in-charge - constructor. */ -#define DECL_MAYBE_IN_CHARGE_CONSTRUCTOR_P(NODE) \ - (DECL_NAME (NODE) == ctor_identifier) - -/* Nonzero if NODE (a FUNCTION_DECL) is a copy constructor. */ -#define DECL_COPY_CONSTRUCTOR_P(NODE) \ - (DECL_CONSTRUCTOR_P (NODE) && copy_fn_p (NODE) > 0) - -/* Nonzero if NODE (a FUNCTION_DECL) is a move constructor. */ -#define DECL_MOVE_CONSTRUCTOR_P(NODE) \ - (DECL_CONSTRUCTOR_P (NODE) && move_fn_p (NODE)) - -/* Nonzero if NODE (a FUNCTION_DECL or TEMPLATE_DECL) - is a destructor. */ -#define DECL_DESTRUCTOR_P(NODE) \ - DECL_CXX_DESTRUCTOR_P (STRIP_TEMPLATE (NODE)) - -/* Nonzero if NODE (a FUNCTION_DECL) is a destructor, but not the - specialized in-charge constructor, in-charge deleting constructor, - or the base destructor. */ -#define DECL_MAYBE_IN_CHARGE_DESTRUCTOR_P(NODE) \ - (DECL_NAME (NODE) == dtor_identifier) - -/* Nonzero if NODE (a FUNCTION_DECL) is a destructor for a complete - object. */ -#define DECL_COMPLETE_DESTRUCTOR_P(NODE) \ - (DECL_NAME (NODE) == complete_dtor_identifier) - -/* Nonzero if NODE (a FUNCTION_DECL) is a destructor for a base - object. */ -#define DECL_BASE_DESTRUCTOR_P(NODE) \ - (DECL_NAME (NODE) == base_dtor_identifier) - -/* Nonzero if NODE (a FUNCTION_DECL) is a destructor for a complete - object that deletes the object after it has been destroyed. */ -#define DECL_DELETING_DESTRUCTOR_P(NODE) \ - (DECL_NAME (NODE) == deleting_dtor_identifier) - -/* Nonzero if either DECL_MAYBE_IN_CHARGE_CONSTRUCTOR_P or - DECL_MAYBE_IN_CHARGE_DESTRUCTOR_P is true of NODE. */ -#define DECL_MAYBE_IN_CHARGE_CDTOR_P(NODE) \ - (DECL_MAYBE_IN_CHARGE_CONSTRUCTOR_P (NODE) \ - || DECL_MAYBE_IN_CHARGE_DESTRUCTOR_P (NODE)) - -/* Nonzero if NODE (a _DECL) is a cloned constructor or - destructor. */ -#define DECL_CLONED_FUNCTION_P(NODE) \ - (DECL_NAME (NODE) \ - && IDENTIFIER_CDTOR_P (DECL_NAME (NODE)) \ - && !DECL_MAYBE_IN_CHARGE_CDTOR_P (NODE)) - -/* If DECL_CLONED_FUNCTION_P holds, this is the function that was - cloned. */ -#define DECL_CLONED_FUNCTION(NODE) \ - (DECL_LANG_SPECIFIC (FUNCTION_DECL_CHECK (NODE))->u.fn.u5.cloned_function) - -/* Perform an action for each clone of FN, if FN is a function with - clones. This macro should be used like: - - FOR_EACH_CLONE (clone, fn) - { ... } - - */ -#define FOR_EACH_CLONE(CLONE, FN) \ - if (!(TREE_CODE (FN) == FUNCTION_DECL \ - && DECL_MAYBE_IN_CHARGE_CDTOR_P (FN))) \ - ; \ - else \ - for (CLONE = DECL_CHAIN (FN); \ - CLONE && DECL_CLONED_FUNCTION_P (CLONE); \ - CLONE = DECL_CHAIN (CLONE)) - -/* Nonzero if NODE has DECL_DISCRIMINATOR and not DECL_ACCESS. */ -#define DECL_DISCRIMINATOR_P(NODE) \ - (((TREE_CODE (NODE) == VAR_DECL && TREE_STATIC (NODE)) \ - || DECL_IMPLICIT_TYPEDEF_P (NODE)) \ - && DECL_FUNCTION_SCOPE_P (NODE)) - -/* Discriminator for name mangling. */ -#define DECL_DISCRIMINATOR(NODE) (LANG_DECL_MIN_CHECK (NODE)->access) - -/* The index of a user-declared parameter in its function, starting at 1. - All artificial parameters will have index 0. */ -#define DECL_PARM_INDEX(NODE) \ - (LANG_DECL_PARM_CHECK (NODE)->index) - -/* The level of a user-declared parameter in its function, starting at 1. - A parameter of the function will have level 1; a parameter of the first - nested function declarator (i.e. t in void f (void (*p)(T t))) will have - level 2. */ -#define DECL_PARM_LEVEL(NODE) \ - (LANG_DECL_PARM_CHECK (NODE)->level) - -/* Nonzero if the VTT parm has been added to NODE. */ -#define DECL_HAS_VTT_PARM_P(NODE) \ - (LANG_DECL_FN_CHECK (NODE)->has_vtt_parm_p) - -/* Nonzero if NODE is a user-defined conversion operator. */ -#define DECL_CONV_FN_P(NODE) IDENTIFIER_CONV_OP_P (DECL_NAME (NODE)) - -/* The type to which conversion operator FN converts to. */ -#define DECL_CONV_FN_TYPE(FN) \ - TREE_TYPE ((gcc_checking_assert (DECL_CONV_FN_P (FN)), DECL_NAME (FN))) - -/* Nonzero if NODE, a static data member, was declared in its class as an - array of unknown bound. */ -#define VAR_HAD_UNKNOWN_BOUND(NODE) \ - (DECL_LANG_SPECIFIC (VAR_DECL_CHECK (NODE)) \ - ? DECL_LANG_SPECIFIC (NODE)->u.base.unknown_bound_p \ - : false) -#define SET_VAR_HAD_UNKNOWN_BOUND(NODE) \ - (DECL_LANG_SPECIFIC (VAR_DECL_CHECK (NODE))->u.base.unknown_bound_p = true) - -/* True iff decl NODE is for an overloaded operator. */ -#define DECL_OVERLOADED_OPERATOR_P(NODE) \ - IDENTIFIER_ANY_OP_P (DECL_NAME (NODE)) - -/* Nonzero if NODE is an assignment operator (including += and such). */ -#define DECL_ASSIGNMENT_OPERATOR_P(NODE) \ - IDENTIFIER_ASSIGN_OP_P (DECL_NAME (NODE)) - -/* NODE is a function_decl for an overloaded operator. Return its - compressed (raw) operator code. Note that this is not a TREE_CODE. */ -#define DECL_OVERLOADED_OPERATOR_CODE_RAW(NODE) \ - (LANG_DECL_FN_CHECK (NODE)->ovl_op_code) - -/* DECL is an overloaded operator. Test whether it is for TREE_CODE - (a literal constant). */ -#define DECL_OVERLOADED_OPERATOR_IS(DECL, CODE) \ - (DECL_OVERLOADED_OPERATOR_CODE_RAW (DECL) == OVL_OP_##CODE) - -/* For FUNCTION_DECLs: nonzero means that this function is a - constructor or a destructor with an extra in-charge parameter to - control whether or not virtual bases are constructed. */ -#define DECL_HAS_IN_CHARGE_PARM_P(NODE) \ - (LANG_DECL_FN_CHECK (NODE)->has_in_charge_parm_p) - -/* Nonzero if DECL is a declaration of __builtin_constant_p. */ -#define DECL_IS_BUILTIN_CONSTANT_P(NODE) \ - (TREE_CODE (NODE) == FUNCTION_DECL \ - && DECL_BUILT_IN_CLASS (NODE) == BUILT_IN_NORMAL \ - && DECL_FUNCTION_CODE (NODE) == BUILT_IN_CONSTANT_P) - -/* Nonzero for _DECL means that this decl appears in (or will appear - in) as a member in a RECORD_TYPE or UNION_TYPE node. It is also for - detecting circularity in case members are multiply defined. In the - case of a VAR_DECL, it means that no definition has been seen, even - if an initializer has been. */ -#define DECL_IN_AGGR_P(NODE) (DECL_LANG_FLAG_3 (NODE)) - -/* Nonzero for a VAR_DECL means that the variable's initialization (if - any) has been processed. (In general, DECL_INITIALIZED_P is - !DECL_EXTERNAL, but static data members may be initialized even if - not defined.) */ -#define DECL_INITIALIZED_P(NODE) \ - (TREE_LANG_FLAG_1 (VAR_DECL_CHECK (NODE))) - -/* Nonzero for a VAR_DECL iff an explicit initializer was provided - or a non-trivial constructor is called. */ -#define DECL_NONTRIVIALLY_INITIALIZED_P(NODE) \ - (TREE_LANG_FLAG_6 (VAR_DECL_CHECK (NODE))) - -/* Nonzero for a VAR_DECL that was initialized with a - constant-expression. */ -#define DECL_INITIALIZED_BY_CONSTANT_EXPRESSION_P(NODE) \ - (TREE_LANG_FLAG_2 (VAR_DECL_CHECK (NODE))) - -/* Nonzero if the DECL was initialized in the class definition itself, - rather than outside the class. This is used for both static member - VAR_DECLS, and FUNCTION_DECLS that are defined in the class. */ -#define DECL_INITIALIZED_IN_CLASS_P(DECL) \ - (DECL_LANG_SPECIFIC (VAR_OR_FUNCTION_DECL_CHECK (DECL)) \ - ->u.base.initialized_in_class) - -/* Nonzero if the DECL is used in the sense of 3.2 [basic.def.odr]. - Only available for decls with DECL_LANG_SPECIFIC. */ -#define DECL_ODR_USED(DECL) \ - (DECL_LANG_SPECIFIC (VAR_OR_FUNCTION_DECL_CHECK (DECL)) \ - ->u.base.odr_used) - -/* Nonzero for FUNCTION_DECL means that this is a friend that is - either not pushed into a namespace/looked up in a class (because it - is a dependent type, in an uninstantiated template), or it has - /only/ been subject to hidden friend injection from one or more - befriending classes. Once another decl matches, the flag is - cleared. There are requirements on its default parms. */ -#define DECL_UNIQUE_FRIEND_P(NODE) \ - (DECL_LANG_SPECIFIC (FUNCTION_DECL_CHECK (NODE)) \ - ->u.base.friend_or_tls) - -/* True of a TEMPLATE_DECL that is a template class friend. Such - decls are not pushed until instantiated (as they may depend on - parameters of the befriending class). DECL_CHAIN is the - befriending class. */ -#define DECL_UNINSTANTIATED_TEMPLATE_FRIEND_P(NODE) \ - (DECL_LANG_FLAG_4 (TEMPLATE_DECL_CHECK (NODE))) - -/* Nonzero if the thread-local variable was declared with __thread as - opposed to thread_local. */ -#define DECL_GNU_TLS_P(NODE) \ - (DECL_LANG_SPECIFIC (VAR_DECL_CHECK (NODE)) \ - && DECL_LANG_SPECIFIC (NODE)->u.base.friend_or_tls) -#define SET_DECL_GNU_TLS_P(NODE) \ - (retrofit_lang_decl (VAR_DECL_CHECK (NODE)), \ - DECL_LANG_SPECIFIC (NODE)->u.base.friend_or_tls = true) - -/* A TREE_LIST of the types which have befriended this FUNCTION_DECL. */ -#define DECL_BEFRIENDING_CLASSES(NODE) \ - (LANG_DECL_FN_CHECK (NODE)->befriending_classes) - -/* Nonzero for FUNCTION_DECL means that this decl is a static - member function. */ -#define DECL_STATIC_FUNCTION_P(NODE) \ - (LANG_DECL_FN_CHECK (NODE)->static_function) - -/* Nonzero for FUNCTION_DECL means that this decl is a non-static - member function. */ -#define DECL_NONSTATIC_MEMBER_FUNCTION_P(NODE) \ - (TREE_CODE (TREE_TYPE (NODE)) == METHOD_TYPE) - -/* Nonzero for FUNCTION_DECL means that this decl is a member function - (static or non-static). */ -#define DECL_FUNCTION_MEMBER_P(NODE) \ - (DECL_NONSTATIC_MEMBER_FUNCTION_P (NODE) || DECL_STATIC_FUNCTION_P (NODE)) - -/* Nonzero for FUNCTION_DECL means that this member function - has `this' as const X *const. */ -#define DECL_CONST_MEMFUNC_P(NODE) \ - (DECL_NONSTATIC_MEMBER_FUNCTION_P (NODE) \ - && CP_TYPE_CONST_P (TREE_TYPE (TREE_VALUE \ - (TYPE_ARG_TYPES (TREE_TYPE (NODE)))))) - -/* Nonzero for FUNCTION_DECL means that this member function - has `this' as volatile X *const. */ -#define DECL_VOLATILE_MEMFUNC_P(NODE) \ - (DECL_NONSTATIC_MEMBER_FUNCTION_P (NODE) \ - && CP_TYPE_VOLATILE_P (TREE_TYPE (TREE_VALUE \ - (TYPE_ARG_TYPES (TREE_TYPE (NODE)))))) - -/* Nonzero for a DECL means that this member is a non-static member. */ -#define DECL_NONSTATIC_MEMBER_P(NODE) \ - (DECL_NONSTATIC_MEMBER_FUNCTION_P (NODE) \ - || TREE_CODE (NODE) == FIELD_DECL) - -/* Nonzero for a FIELD_DECL means that this member object type - is mutable. */ -#define DECL_MUTABLE_P(NODE) (DECL_LANG_FLAG_0 (FIELD_DECL_CHECK (NODE))) - -/* Nonzero for _DECL means that this constructor or conversion function is - non-converting. */ -#define DECL_NONCONVERTING_P(NODE) \ - (LANG_DECL_FN_CHECK (NODE)->nonconverting) - -/* Nonzero for FUNCTION_DECL means that this member function is a pure - virtual function. */ -#define DECL_PURE_VIRTUAL_P(NODE) \ - (LANG_DECL_FN_CHECK (NODE)->pure_virtual) - -/* Nonzero for FUNCTION_DECL means that this member function (either - a constructor or a conversion function) has an explicit specifier - with a value-dependent expression. */ -#define DECL_HAS_DEPENDENT_EXPLICIT_SPEC_P(NODE) \ - (LANG_DECL_FN_CHECK (NODE)->has_dependent_explicit_spec_p) - -/* Nonzero for a defaulted FUNCTION_DECL for which we haven't decided yet if - it's deleted; we will decide in synthesize_method. */ -#define DECL_MAYBE_DELETED(NODE) \ - (LANG_DECL_FN_CHECK (NODE)->maybe_deleted) - -/* True (in a FUNCTION_DECL) if NODE is a virtual function that is an - invalid overrider for a function from a base class. Once we have - complained about an invalid overrider we avoid complaining about it - again. */ -#define DECL_INVALID_OVERRIDER_P(NODE) \ - (DECL_LANG_FLAG_4 (NODE)) - -/* True (in a FUNCTION_DECL) if NODE is a function declared with - an override virt-specifier */ -#define DECL_OVERRIDE_P(NODE) (TREE_LANG_FLAG_0 (NODE)) - -/* The thunks associated with NODE, a FUNCTION_DECL. */ -#define DECL_THUNKS(NODE) \ - (DECL_VIRTUAL_P (NODE) ? LANG_DECL_FN_CHECK (NODE)->context : NULL_TREE) - -/* Set DECL_THUNKS. */ -#define SET_DECL_THUNKS(NODE,THUNKS) \ - (LANG_DECL_FN_CHECK (NODE)->context = (THUNKS)) - -/* If NODE, a FUNCTION_DECL, is a C++11 inheriting constructor, then this - is the constructor it inherits from. */ -#define DECL_INHERITED_CTOR(NODE) \ - (DECL_DECLARES_FUNCTION_P (NODE) && DECL_CONSTRUCTOR_P (NODE) \ - ? LANG_DECL_FN_CHECK (NODE)->context : NULL_TREE) - -/* And this is the base that constructor comes from. */ -#define DECL_INHERITED_CTOR_BASE(NODE) \ - (DECL_INHERITED_CTOR (NODE) \ - ? DECL_CONTEXT (flag_new_inheriting_ctors \ - ? strip_inheriting_ctors (NODE) \ - : DECL_INHERITED_CTOR (NODE)) \ - : NULL_TREE) - -/* Set the inherited base. */ -#define SET_DECL_INHERITED_CTOR(NODE,INH) \ - (LANG_DECL_FN_CHECK (NODE)->context = (INH)) - -/* Nonzero if NODE is a thunk, rather than an ordinary function. */ -#define DECL_THUNK_P(NODE) \ - (TREE_CODE (NODE) == FUNCTION_DECL \ - && DECL_LANG_SPECIFIC (NODE) \ - && LANG_DECL_FN_CHECK (NODE)->thunk_p) - -/* Set DECL_THUNK_P for node. */ -#define SET_DECL_THUNK_P(NODE, THIS_ADJUSTING) \ - (LANG_DECL_FN_CHECK (NODE)->thunk_p = 1, \ - LANG_DECL_FN_CHECK (NODE)->this_thunk_p = (THIS_ADJUSTING)) - -/* Nonzero if NODE is a this pointer adjusting thunk. */ -#define DECL_THIS_THUNK_P(NODE) \ - (DECL_THUNK_P (NODE) && LANG_DECL_FN_CHECK (NODE)->this_thunk_p) - -/* Nonzero if NODE is a result pointer adjusting thunk. */ -#define DECL_RESULT_THUNK_P(NODE) \ - (DECL_THUNK_P (NODE) && !LANG_DECL_FN_CHECK (NODE)->this_thunk_p) - -/* Nonzero if NODE is a FUNCTION_DECL, but not a thunk. */ -#define DECL_NON_THUNK_FUNCTION_P(NODE) \ - (TREE_CODE (NODE) == FUNCTION_DECL && !DECL_THUNK_P (NODE)) - -/* Nonzero if NODE is `extern "C"'. */ -#define DECL_EXTERN_C_P(NODE) \ - (DECL_LANGUAGE (NODE) == lang_c) - -/* Nonzero if NODE is an `extern "C"' function. */ -#define DECL_EXTERN_C_FUNCTION_P(NODE) \ - (DECL_NON_THUNK_FUNCTION_P (NODE) && DECL_EXTERN_C_P (NODE)) - -/* Non-zero if this variable is declared `constinit' specifier. */ -#define DECL_DECLARED_CONSTINIT_P(NODE) \ - (DECL_LANG_FLAG_7 (VAR_DECL_CHECK (NODE))) - -/* True if DECL is declared 'constexpr'. */ -#define DECL_DECLARED_CONSTEXPR_P(DECL) \ - DECL_LANG_FLAG_8 (VAR_OR_FUNCTION_DECL_CHECK (STRIP_TEMPLATE (DECL))) - -/* True if FNDECL is an immediate function. */ -#define DECL_IMMEDIATE_FUNCTION_P(NODE) \ - (DECL_LANG_SPECIFIC (FUNCTION_DECL_CHECK (STRIP_TEMPLATE (NODE))) \ - ? LANG_DECL_FN_CHECK (NODE)->immediate_fn_p \ - : false) -#define SET_DECL_IMMEDIATE_FUNCTION_P(NODE) \ - (retrofit_lang_decl (FUNCTION_DECL_CHECK (NODE)), \ - LANG_DECL_FN_CHECK (NODE)->immediate_fn_p = true) - -// True if NODE was declared as 'concept'. The flag implies that the -// declaration is constexpr, that the declaration cannot be specialized or -// refined, and that the result type must be convertible to bool. -#define DECL_DECLARED_CONCEPT_P(NODE) \ - (DECL_LANG_SPECIFIC (NODE)->u.base.concept_p) - -/* Nonzero if this DECL is the __PRETTY_FUNCTION__ variable in a - template function. */ -#define DECL_PRETTY_FUNCTION_P(NODE) \ - (DECL_NAME (NODE) \ - && id_equal (DECL_NAME (NODE), "__PRETTY_FUNCTION__")) - -/* For a DECL, true if it is __func__ or similar. */ -#define DECL_FNAME_P(NODE) \ - (VAR_P (NODE) && DECL_NAME (NODE) && DECL_ARTIFICIAL (NODE) \ - && DECL_HAS_VALUE_EXPR_P (NODE) \ - && (id_equal (DECL_NAME (NODE), "__PRETTY_FUNCTION__") \ - || id_equal (DECL_NAME (NODE), "__FUNCTION__") \ - || id_equal (DECL_NAME (NODE), "__func__"))) - -/* Nonzero if the variable was declared to be thread-local. - We need a special C++ version of this test because the middle-end - DECL_THREAD_LOCAL_P uses the symtab, so we can't use it for - templates. */ -#define CP_DECL_THREAD_LOCAL_P(NODE) \ - (TREE_LANG_FLAG_0 (VAR_DECL_CHECK (NODE))) - -/* The _TYPE context in which this _DECL appears. This field holds the - class where a virtual function instance is actually defined. */ -#define DECL_CLASS_CONTEXT(NODE) \ - (DECL_CLASS_SCOPE_P (NODE) ? DECL_CONTEXT (NODE) : NULL_TREE) - -/* For a non-member friend function, the class (if any) in which this - friend was defined. For example, given: - - struct S { friend void f () { ... } }; - - the DECL_FRIEND_CONTEXT for `f' will be `S'. */ -#define DECL_FRIEND_CONTEXT(NODE) \ - ((DECL_DECLARES_FUNCTION_P (NODE) && !DECL_VIRTUAL_P (NODE) \ - && !DECL_CONSTRUCTOR_P (NODE)) \ - ? LANG_DECL_FN_CHECK (NODE)->context \ - : NULL_TREE) - -/* Set the DECL_FRIEND_CONTEXT for NODE to CONTEXT. */ -#define SET_DECL_FRIEND_CONTEXT(NODE, CONTEXT) \ - (LANG_DECL_FN_CHECK (NODE)->context = (CONTEXT)) - -#define CP_DECL_CONTEXT(NODE) \ - (!DECL_FILE_SCOPE_P (NODE) ? DECL_CONTEXT (NODE) : global_namespace) -#define CP_TYPE_CONTEXT(NODE) \ - (!TYPE_FILE_SCOPE_P (NODE) ? TYPE_CONTEXT (NODE) : global_namespace) -#define FROB_CONTEXT(NODE) \ - ((NODE) == global_namespace ? DECL_CONTEXT (NODE) : (NODE)) - -/* 1 iff NODE has namespace scope, including the global namespace. */ -#define DECL_NAMESPACE_SCOPE_P(NODE) \ - (!DECL_TEMPLATE_PARM_P (NODE) \ - && TREE_CODE (CP_DECL_CONTEXT (NODE)) == NAMESPACE_DECL) - -#define TYPE_NAMESPACE_SCOPE_P(NODE) \ - (TREE_CODE (CP_TYPE_CONTEXT (NODE)) == NAMESPACE_DECL) - -#define NAMESPACE_SCOPE_P(NODE) \ - ((DECL_P (NODE) && DECL_NAMESPACE_SCOPE_P (NODE)) \ - || (TYPE_P (NODE) && TYPE_NAMESPACE_SCOPE_P (NODE))) - -/* 1 iff NODE is a class member. */ -#define DECL_CLASS_SCOPE_P(NODE) \ - (DECL_CONTEXT (NODE) && TYPE_P (DECL_CONTEXT (NODE))) - -#define TYPE_CLASS_SCOPE_P(NODE) \ - (TYPE_CONTEXT (NODE) && TYPE_P (TYPE_CONTEXT (NODE))) - -/* 1 iff NODE is function-local. */ -#define DECL_FUNCTION_SCOPE_P(NODE) \ - (DECL_CONTEXT (NODE) \ - && TREE_CODE (DECL_CONTEXT (NODE)) == FUNCTION_DECL) - -#define TYPE_FUNCTION_SCOPE_P(NODE) \ - (TYPE_CONTEXT (NODE) && TREE_CODE (TYPE_CONTEXT (NODE)) == FUNCTION_DECL) - -/* 1 iff VAR_DECL node NODE is a type-info decl. This flag is set for - both the primary typeinfo object and the associated NTBS name. */ -#define DECL_TINFO_P(NODE) \ - TREE_LANG_FLAG_4 (TREE_CHECK2 (NODE,VAR_DECL,TYPE_DECL)) - -/* true iff VAR_DECL node NODE is a NTTP object decl. */ -#define DECL_NTTP_OBJECT_P(NODE) \ - TREE_LANG_FLAG_5 (TREE_CHECK (NODE,VAR_DECL)) - -/* 1 iff VAR_DECL node NODE is virtual table or VTT. We forward to - DECL_VIRTUAL_P from the common code, as that has the semantics we - need. But we want a more descriptive name. */ -#define DECL_VTABLE_OR_VTT_P(NODE) DECL_VIRTUAL_P (VAR_DECL_CHECK (NODE)) - -/* 1 iff FUNCTION_TYPE or METHOD_TYPE has a ref-qualifier (either & or &&). */ -#define FUNCTION_REF_QUALIFIED(NODE) \ - TREE_LANG_FLAG_4 (FUNC_OR_METHOD_CHECK (NODE)) - -/* 1 iff FUNCTION_TYPE or METHOD_TYPE has &&-ref-qualifier. */ -#define FUNCTION_RVALUE_QUALIFIED(NODE) \ - TREE_LANG_FLAG_5 (FUNC_OR_METHOD_CHECK (NODE)) - -/* 1 iff NODE is function-local, but for types. */ -#define LOCAL_CLASS_P(NODE) \ - (decl_function_context (TYPE_MAIN_DECL (NODE)) != NULL_TREE) - -/* The nesting depth of namespace, class or function. Makes is_ancestor much - simpler. Only 8 bits available. */ -#define SCOPE_DEPTH(NODE) \ - (NAMESPACE_DECL_CHECK (NODE)->base.u.bits.address_space) - -/* Whether the namepace is an inline namespace. */ -#define DECL_NAMESPACE_INLINE_P(NODE) \ - TREE_LANG_FLAG_0 (NAMESPACE_DECL_CHECK (NODE)) - -/* In a NAMESPACE_DECL, a vector of inline namespaces. */ -#define DECL_NAMESPACE_INLINEES(NODE) \ - (LANG_DECL_NS_CHECK (NODE)->inlinees) - -/* Pointer to hash_map from IDENTIFIERS to DECLS */ -#define DECL_NAMESPACE_BINDINGS(NODE) \ - (LANG_DECL_NS_CHECK (NODE)->bindings) - -/* In a NAMESPACE_DECL, points to the original namespace if this is - a namespace alias. */ -#define DECL_NAMESPACE_ALIAS(NODE) \ - DECL_ABSTRACT_ORIGIN (NAMESPACE_DECL_CHECK (NODE)) -#define ORIGINAL_NAMESPACE(NODE) \ - (DECL_NAMESPACE_ALIAS (NODE) ? DECL_NAMESPACE_ALIAS (NODE) : (NODE)) - -/* Nonzero if NODE is the std namespace. */ -#define DECL_NAMESPACE_STD_P(NODE) \ - ((NODE) == std_node) - -/* In a TREE_LIST in an attribute list, indicates that the attribute - must be applied at instantiation time. */ -#define ATTR_IS_DEPENDENT(NODE) TREE_LANG_FLAG_0 (TREE_LIST_CHECK (NODE)) - -/* In a TREE_LIST in the argument of attribute abi_tag, indicates that the tag - was inherited from a template parameter, not explicitly indicated. */ -#define ABI_TAG_IMPLICIT(NODE) TREE_LANG_FLAG_0 (TREE_LIST_CHECK (NODE)) - -/* In a TREE_LIST for a parameter-declaration-list, indicates that all the - parameters in the list have declarators enclosed in (). */ -#define PARENTHESIZED_LIST_P(NODE) TREE_LANG_FLAG_0 (TREE_LIST_CHECK (NODE)) - -/* Non zero if this is a using decl for a dependent scope. */ -#define DECL_DEPENDENT_P(NODE) DECL_LANG_FLAG_0 (USING_DECL_CHECK (NODE)) - -/* The scope named in a using decl. */ -#define USING_DECL_SCOPE(NODE) DECL_RESULT_FLD (USING_DECL_CHECK (NODE)) - -/* The decls named by a using decl. */ -#define USING_DECL_DECLS(NODE) DECL_INITIAL (USING_DECL_CHECK (NODE)) - -/* Non zero if the using decl refers to a dependent type. */ -#define USING_DECL_TYPENAME_P(NODE) DECL_LANG_FLAG_1 (USING_DECL_CHECK (NODE)) - -/* True if member using decl NODE refers to a non-inherited NODE. */ -#define USING_DECL_UNRELATED_P(NODE) DECL_LANG_FLAG_2 (USING_DECL_CHECK (NODE)) - -/* True iff the CONST_DECL is a class-scope clone from C++20 using enum, - created by handle_using_decl. */ -#define CONST_DECL_USING_P(NODE) \ - (TREE_CODE (NODE) == CONST_DECL \ - && TREE_TYPE (NODE) \ - && TREE_CODE (TREE_TYPE (NODE)) == ENUMERAL_TYPE \ - && DECL_CONTEXT (NODE) != TREE_TYPE (NODE)) - -/* In a FUNCTION_DECL, this is nonzero if this function was defined in - the class definition. We have saved away the text of the function, - but have not yet processed it. */ -#define DECL_PENDING_INLINE_P(NODE) \ - (LANG_DECL_FN_CHECK (NODE)->pending_inline_p) - -/* If DECL_PENDING_INLINE_P holds, this is the saved text of the - function. */ -#define DECL_PENDING_INLINE_INFO(NODE) \ - (LANG_DECL_FN_CHECK (NODE)->u.pending_inline_info) - -/* Nonzero for TYPE_DECL means that it was written 'using name = type'. */ -#define TYPE_DECL_ALIAS_P(NODE) \ - DECL_LANG_FLAG_6 (TYPE_DECL_CHECK (NODE)) - -/* Nonzero for TEMPLATE_DECL means that it is a 'complex' alias template. */ -#define TEMPLATE_DECL_COMPLEX_ALIAS_P(NODE) \ - DECL_LANG_FLAG_2 (TEMPLATE_DECL_CHECK (NODE)) - -/* Nonzero for a type which is an alias for another type; i.e, a type - which declaration was written 'using name-of-type = - another-type'. */ -#define TYPE_ALIAS_P(NODE) \ - (TYPE_P (NODE) \ - && TYPE_NAME (NODE) \ - && TREE_CODE (TYPE_NAME (NODE)) == TYPE_DECL \ - && TYPE_DECL_ALIAS_P (TYPE_NAME (NODE))) - -/* If non-NULL for a VAR_DECL, FUNCTION_DECL, TYPE_DECL, TEMPLATE_DECL, - or CONCEPT_DECL, the entity is either a template specialization (if - DECL_USE_TEMPLATE is nonzero) or the abstract instance of the - template itself. - - In either case, DECL_TEMPLATE_INFO is a TEMPLATE_INFO, whose - TI_TEMPLATE is the TEMPLATE_DECL of which this entity is a - specialization or abstract instance. The TI_ARGS is the - template arguments used to specialize the template. - - Consider: - - template struct S { friend void f(T) {} }; - - In this case, S::f is, from the point of view of the compiler, - an instantiation of a template -- but, from the point of view of - the language, each instantiation of S results in a wholly unrelated - global function f. In this case, DECL_TEMPLATE_INFO for S::f - will be non-NULL, but DECL_USE_TEMPLATE will be zero. - - In a friend declaration, TI_TEMPLATE can be an overload set, or - identifier. */ -#define DECL_TEMPLATE_INFO(NODE) \ - (DECL_LANG_SPECIFIC (TEMPLATE_INFO_DECL_CHECK (NODE)) \ - ->u.min.template_info) - -/* For a lambda capture proxy, its captured variable. */ -#define DECL_CAPTURED_VARIABLE(NODE) \ - (LANG_DECL_MIN_CHECK (NODE)->access) - -/* For a VAR_DECL, indicates that the variable is actually a - non-static data member of anonymous union that has been promoted to - variable status. */ -#define DECL_ANON_UNION_VAR_P(NODE) \ - (DECL_LANG_FLAG_4 (VAR_DECL_CHECK (NODE))) - -/* Template information for a RECORD_TYPE or UNION_TYPE. */ -#define CLASSTYPE_TEMPLATE_INFO(NODE) \ - (TYPE_LANG_SLOT_1 (RECORD_OR_UNION_CHECK (NODE))) - -/* Template information for a template template parameter. */ -#define TEMPLATE_TEMPLATE_PARM_TEMPLATE_INFO(NODE) \ - (TYPE_LANG_SLOT_1 (BOUND_TEMPLATE_TEMPLATE_PARM_TYPE_CHECK (NODE))) - -/* Template information for an ENUMERAL_, RECORD_, UNION_TYPE, or - BOUND_TEMPLATE_TEMPLATE_PARM type. This ignores any alias - templateness of NODE. It'd be nice if this could unconditionally - access the slot, rather than return NULL if given a - non-templatable type. */ -#define TYPE_TEMPLATE_INFO(NODE) \ - (TREE_CODE (NODE) == ENUMERAL_TYPE \ - || TREE_CODE (NODE) == BOUND_TEMPLATE_TEMPLATE_PARM \ - || RECORD_OR_UNION_TYPE_P (NODE) \ - ? TYPE_LANG_SLOT_1 (NODE) : NULL_TREE) - -/* Template information (if any) for an alias type. */ -#define TYPE_ALIAS_TEMPLATE_INFO(NODE) \ - (DECL_LANG_SPECIFIC (TYPE_NAME (NODE)) \ - ? DECL_TEMPLATE_INFO (TYPE_NAME (NODE)) \ - : NULL_TREE) - -/* If NODE is a type alias, this accessor returns the template info - for the alias template (if any). Otherwise behave as - TYPE_TEMPLATE_INFO. */ -#define TYPE_TEMPLATE_INFO_MAYBE_ALIAS(NODE) \ - (typedef_variant_p (NODE) \ - ? TYPE_ALIAS_TEMPLATE_INFO (NODE) \ - : TYPE_TEMPLATE_INFO (NODE)) - -/* Set the template information for a non-alias n ENUMERAL_, RECORD_, - or UNION_TYPE to VAL. ALIAS's are dealt with separately. */ -#define SET_TYPE_TEMPLATE_INFO(NODE, VAL) \ - (TREE_CODE (NODE) == ENUMERAL_TYPE \ - || (CLASS_TYPE_P (NODE) && !TYPE_ALIAS_P (NODE)) \ - ? (TYPE_LANG_SLOT_1 (NODE) = (VAL)) \ - : (DECL_TEMPLATE_INFO (TYPE_NAME (NODE)) = (VAL))) \ - -#define TI_TEMPLATE(NODE) \ - ((struct tree_template_info*)TEMPLATE_INFO_CHECK (NODE))->tmpl -#define TI_ARGS(NODE) \ - ((struct tree_template_info*)TEMPLATE_INFO_CHECK (NODE))->args -#define TI_PENDING_TEMPLATE_FLAG(NODE) \ - TREE_LANG_FLAG_1 (TEMPLATE_INFO_CHECK (NODE)) -/* For a given TREE_VEC containing a template argument list, - this property contains the number of arguments that are not - defaulted. */ -#define NON_DEFAULT_TEMPLATE_ARGS_COUNT(NODE) \ - TREE_CHAIN (TREE_VEC_CHECK (NODE)) - -/* Below are the setter and getter of the NON_DEFAULT_TEMPLATE_ARGS_COUNT - property. */ -#define SET_NON_DEFAULT_TEMPLATE_ARGS_COUNT(NODE, INT_VALUE) \ - NON_DEFAULT_TEMPLATE_ARGS_COUNT(NODE) = build_int_cst (NULL_TREE, INT_VALUE) -#if CHECKING_P -#define GET_NON_DEFAULT_TEMPLATE_ARGS_COUNT(NODE) \ - int_cst_value (NON_DEFAULT_TEMPLATE_ARGS_COUNT (NODE)) -#else -#define GET_NON_DEFAULT_TEMPLATE_ARGS_COUNT(NODE) \ - NON_DEFAULT_TEMPLATE_ARGS_COUNT (NODE) \ - ? int_cst_value (NON_DEFAULT_TEMPLATE_ARGS_COUNT (NODE)) \ - : TREE_VEC_LENGTH (INNERMOST_TEMPLATE_ARGS (NODE)) -#endif - -/* The list of access checks that were deferred during parsing - which need to be performed at template instantiation time. - - FIXME this should be associated with the TEMPLATE_DECL, not the - TEMPLATE_INFO. */ -#define TI_DEFERRED_ACCESS_CHECKS(NODE) \ - ((struct tree_template_info*)TEMPLATE_INFO_CHECK \ - (NODE))->deferred_access_checks - -/* We use TREE_VECs to hold template arguments. If there is only one - level of template arguments, then the TREE_VEC contains the - arguments directly. If there is more than one level of template - arguments, then each entry in the TREE_VEC is itself a TREE_VEC, - containing the template arguments for a single level. The first - entry in the outer TREE_VEC is the outermost level of template - parameters; the last is the innermost. - - It is incorrect to ever form a template argument vector containing - only one level of arguments, but which is a TREE_VEC containing as - its only entry the TREE_VEC for that level. - - For each TREE_VEC containing the template arguments for a single - level, it's possible to get or set the number of non defaulted - template arguments by using the accessor macros - GET_NON_DEFAULT_TEMPLATE_ARGS_COUNT or - SET_NON_DEFAULT_TEMPLATE_ARGS_COUNT. */ - -/* Nonzero if the template arguments is actually a vector of vectors, - rather than just a vector. */ -#define TMPL_ARGS_HAVE_MULTIPLE_LEVELS(NODE) \ - (NODE && TREE_VEC_LENGTH (NODE) && TREE_VEC_ELT (NODE, 0) \ - && TREE_CODE (TREE_VEC_ELT (NODE, 0)) == TREE_VEC) - -/* The depth of a template argument vector. When called directly by - the parser, we use a TREE_LIST rather than a TREE_VEC to represent - template arguments. In that case, there is only one level of template - arguments. We may even see NULL_TREE if there are 0 levels of - template arguments, as in cp_parser_requires_expression. */ -#define TMPL_ARGS_DEPTH(NODE) \ - ((NODE) == NULL_TREE ? 0 \ - : TMPL_ARGS_HAVE_MULTIPLE_LEVELS (NODE) ? TREE_VEC_LENGTH (NODE) \ - : 1) - -/* The LEVELth level of the template ARGS. The outermost level of - args is level 1, not level 0. */ -#define TMPL_ARGS_LEVEL(ARGS, LEVEL) \ - (TMPL_ARGS_HAVE_MULTIPLE_LEVELS (ARGS) \ - ? TREE_VEC_ELT (ARGS, (LEVEL) - 1) \ - : (gcc_checking_assert ((LEVEL) == 1), (ARGS))) - -/* Set the LEVELth level of the template ARGS to VAL. This macro does - not work with single-level argument vectors. */ -#define SET_TMPL_ARGS_LEVEL(ARGS, LEVEL, VAL) \ - (TREE_VEC_ELT (ARGS, (LEVEL) - 1) = (VAL)) - -/* Accesses the IDXth parameter in the LEVELth level of the ARGS. */ -#define TMPL_ARG(ARGS, LEVEL, IDX) \ - (TREE_VEC_ELT (TMPL_ARGS_LEVEL (ARGS, LEVEL), IDX)) - -/* Given a single level of template arguments in NODE, return the - number of arguments. */ -#define NUM_TMPL_ARGS(NODE) \ - (TREE_VEC_LENGTH (NODE)) - -/* Returns the innermost level of template arguments in ARGS. */ -#define INNERMOST_TEMPLATE_ARGS(NODE) \ - (get_innermost_template_args ((NODE), 1)) - -/* The number of levels of template parameters given by NODE. */ -#define TMPL_PARMS_DEPTH(NODE) \ - ((HOST_WIDE_INT) TREE_INT_CST_LOW (TREE_PURPOSE (NODE))) - -/* The TEMPLATE_DECL instantiated or specialized by NODE. This - TEMPLATE_DECL will be the immediate parent, not the most general - template. For example, in: - - template struct S { template void f(U); } - - the FUNCTION_DECL for S::f will have, as its - DECL_TI_TEMPLATE, `template S::f'. - - As a special case, for a member friend template of a template - class, this value will not be a TEMPLATE_DECL, but rather an - IDENTIFIER_NODE or OVERLOAD indicating the name of the template and - any explicit template arguments provided. For example, in: - - template struct S { friend void f(int, double); } - - the DECL_TI_TEMPLATE will be an IDENTIFIER_NODE for `f' and the - DECL_TI_ARGS will be {int}. - - For a FIELD_DECL with a non-static data member initializer, this value - is the FIELD_DECL it was instantiated from. */ -#define DECL_TI_TEMPLATE(NODE) TI_TEMPLATE (DECL_TEMPLATE_INFO (NODE)) - -/* The template arguments used to obtain this decl from the most - general form of DECL_TI_TEMPLATE. For the example given for - DECL_TI_TEMPLATE, the DECL_TI_ARGS will be {int, double}. These - are always the full set of arguments required to instantiate this - declaration from the most general template specialized here. */ -#define DECL_TI_ARGS(NODE) TI_ARGS (DECL_TEMPLATE_INFO (NODE)) - -/* The TEMPLATE_DECL associated with NODE, a class type. Even if NODE - will be generated from a partial specialization, the TEMPLATE_DECL - referred to here will be the original template. For example, - given: - - template struct S {}; - template struct S {}; - - the CLASSTYPE_TI_TEMPLATE for S will be S, not the S. - - For a member class template, CLASSTYPE_TI_TEMPLATE always refers to the - partial instantiation rather than the primary template. CLASSTYPE_TI_ARGS - are for the primary template if the partial instantiation isn't - specialized, or for the explicit specialization if it is, e.g. - - template class C { template class D; } - template <> template class C::D; */ -#define CLASSTYPE_TI_TEMPLATE(NODE) TI_TEMPLATE (CLASSTYPE_TEMPLATE_INFO (NODE)) -#define CLASSTYPE_TI_ARGS(NODE) TI_ARGS (CLASSTYPE_TEMPLATE_INFO (NODE)) - -/* For a template instantiation TYPE, returns the TYPE corresponding - to the primary template. Otherwise returns TYPE itself. */ -#define CLASSTYPE_PRIMARY_TEMPLATE_TYPE(TYPE) \ - ((CLASSTYPE_USE_TEMPLATE ((TYPE)) \ - && !CLASSTYPE_TEMPLATE_SPECIALIZATION ((TYPE))) \ - ? TREE_TYPE (DECL_TEMPLATE_RESULT (DECL_PRIMARY_TEMPLATE \ - (CLASSTYPE_TI_TEMPLATE ((TYPE))))) \ - : (TYPE)) - -/* Like CLASS_TI_TEMPLATE, but also works for ENUMERAL_TYPEs. */ -#define TYPE_TI_TEMPLATE(NODE) \ - (TI_TEMPLATE (TYPE_TEMPLATE_INFO (NODE))) - -/* Like DECL_TI_ARGS, but for an ENUMERAL_, RECORD_, or UNION_TYPE. */ -#define TYPE_TI_ARGS(NODE) \ - (TI_ARGS (TYPE_TEMPLATE_INFO (NODE))) - -#define INNERMOST_TEMPLATE_PARMS(NODE) TREE_VALUE (NODE) - -/* Nonzero if NODE (a TEMPLATE_DECL) is a member template, in the - sense of [temp.mem]. */ -#define DECL_MEMBER_TEMPLATE_P(NODE) \ - (DECL_LANG_FLAG_1 (TEMPLATE_DECL_CHECK (NODE))) - -/* Nonzero if the NODE corresponds to the template parameters for a - member template, whose inline definition is being processed after - the class definition is complete. */ -#define TEMPLATE_PARMS_FOR_INLINE(NODE) TREE_LANG_FLAG_1 (NODE) - -/* Determine if a declaration (PARM_DECL or FIELD_DECL) is a pack. */ -#define DECL_PACK_P(NODE) \ - (DECL_P (NODE) && PACK_EXPANSION_P (TREE_TYPE (NODE))) - -/* Determines if NODE is an expansion of one or more parameter packs, - e.g., a TYPE_PACK_EXPANSION or EXPR_PACK_EXPANSION. */ -#define PACK_EXPANSION_P(NODE) \ - (TREE_CODE (NODE) == TYPE_PACK_EXPANSION \ - || TREE_CODE (NODE) == EXPR_PACK_EXPANSION) - -#define PACK_EXPANSION_CHECK(NODE) \ - TREE_CHECK2 (NODE, TYPE_PACK_EXPANSION, EXPR_PACK_EXPANSION) - -/* Extracts the type or expression pattern from a TYPE_PACK_EXPANSION or - EXPR_PACK_EXPANSION. */ -#define PACK_EXPANSION_PATTERN(NODE) \ - (TREE_CODE (PACK_EXPANSION_CHECK (NODE)) == TYPE_PACK_EXPANSION \ - ? TREE_TYPE (NODE) : TREE_OPERAND (NODE, 0)) - -/* The list of parameter packs used in the PACK_EXPANSION_* node. The - TREE_VALUE of each TREE_LIST contains the parameter packs. */ -#define PACK_EXPANSION_PARAMETER_PACKS(NODE) \ - *(TREE_CODE (PACK_EXPANSION_CHECK (NODE)) == EXPR_PACK_EXPANSION \ - ? &TREE_OPERAND (NODE, 1) \ - : &TYPE_MIN_VALUE_RAW (TYPE_PACK_EXPANSION_CHECK (NODE))) - -/* Any additional template args to be applied when substituting into - the pattern, set by tsubst_pack_expansion for partial instantiations. - If this is a TREE_LIST, the TREE_VALUE of the first element is the - usual template argument TREE_VEC, and the TREE_PURPOSE of later elements - are enclosing functions that provided function parameter packs we'll need - to map appropriately. */ -#define PACK_EXPANSION_EXTRA_ARGS(NODE) \ - *(TREE_CODE (PACK_EXPANSION_CHECK (NODE)) == TYPE_PACK_EXPANSION \ - ? &TYPE_MAX_VALUE_RAW (NODE) \ - : &TREE_OPERAND ((NODE), 2)) - -/* True iff this pack expansion is within a function context. */ -#define PACK_EXPANSION_LOCAL_P(NODE) \ - TREE_LANG_FLAG_0 (PACK_EXPANSION_CHECK (NODE)) - -/* True iff this pack expansion is for sizeof.... */ -#define PACK_EXPANSION_SIZEOF_P(NODE) \ - TREE_LANG_FLAG_1 (PACK_EXPANSION_CHECK (NODE)) - -/* True iff this pack expansion is for auto... in lambda init-capture. */ -#define PACK_EXPANSION_AUTO_P(NODE) \ - TREE_LANG_FLAG_2 (PACK_EXPANSION_CHECK (NODE)) - -/* True if we must use PACK_EXPANSION_EXTRA_ARGS and avoid partial - instantiation of this pack expansion. */ -#define PACK_EXPANSION_FORCE_EXTRA_ARGS_P(NODE) \ - TREE_LANG_FLAG_3 (PACK_EXPANSION_CHECK (NODE)) - -/* True iff the wildcard can match a template parameter pack. */ -#define WILDCARD_PACK_P(NODE) TREE_LANG_FLAG_0 (NODE) - -/* Determine if this is an argument pack. */ -#define ARGUMENT_PACK_P(NODE) \ - (TREE_CODE (NODE) == TYPE_ARGUMENT_PACK \ - || TREE_CODE (NODE) == NONTYPE_ARGUMENT_PACK) - -#define ARGUMENT_PACK_CHECK(NODE) \ - TREE_CHECK2 (NODE, TYPE_ARGUMENT_PACK, NONTYPE_ARGUMENT_PACK) - -/* The arguments stored in an argument pack. Arguments are stored in a - TREE_VEC, which may have length zero. */ -#define ARGUMENT_PACK_ARGS(NODE) \ - (TREE_CODE (ARGUMENT_PACK_CHECK (NODE)) == TYPE_ARGUMENT_PACK \ - ? TREE_TYPE (NODE) : TREE_OPERAND (NODE, 0)) - -/* Whether the argument pack is "incomplete", meaning that more - arguments can still be deduced. Incomplete argument packs are only - used when the user has provided an explicit template argument list - for a variadic function template. Some of the explicit template - arguments will be placed into the beginning of the argument pack, - but additional arguments might still be deduced. */ -#define ARGUMENT_PACK_INCOMPLETE_P(NODE) \ - TREE_ADDRESSABLE (ARGUMENT_PACK_ARGS (NODE)) - -/* When ARGUMENT_PACK_INCOMPLETE_P, stores the explicit template - arguments used to fill this pack. */ -#define ARGUMENT_PACK_EXPLICIT_ARGS(NODE) \ - TREE_TYPE (ARGUMENT_PACK_ARGS (NODE)) - -/* In an ARGUMENT_PACK_SELECT, the argument pack from which an - argument will be selected. */ -#define ARGUMENT_PACK_SELECT_FROM_PACK(NODE) \ - (((struct tree_argument_pack_select *)ARGUMENT_PACK_SELECT_CHECK (NODE))->argument_pack) - -/* In an ARGUMENT_PACK_SELECT, the index of the argument we want to - select. */ -#define ARGUMENT_PACK_SELECT_INDEX(NODE) \ - (((struct tree_argument_pack_select *)ARGUMENT_PACK_SELECT_CHECK (NODE))->index) - -#define FOLD_EXPR_CHECK(NODE) \ - TREE_CHECK4 (NODE, UNARY_LEFT_FOLD_EXPR, UNARY_RIGHT_FOLD_EXPR, \ - BINARY_LEFT_FOLD_EXPR, BINARY_RIGHT_FOLD_EXPR) - -#define BINARY_FOLD_EXPR_CHECK(NODE) \ - TREE_CHECK2 (NODE, BINARY_LEFT_FOLD_EXPR, BINARY_RIGHT_FOLD_EXPR) - -/* True if NODE is UNARY_FOLD_EXPR or a BINARY_FOLD_EXPR */ -#define FOLD_EXPR_P(NODE) \ - (TREE_CODE (NODE) == UNARY_LEFT_FOLD_EXPR \ - || TREE_CODE (NODE) == UNARY_RIGHT_FOLD_EXPR \ - || TREE_CODE (NODE) == BINARY_LEFT_FOLD_EXPR \ - || TREE_CODE (NODE) == BINARY_RIGHT_FOLD_EXPR) - -/* True when NODE is a fold over a compound assignment operator. */ -#define FOLD_EXPR_MODIFY_P(NODE) \ - TREE_LANG_FLAG_0 (FOLD_EXPR_CHECK (NODE)) - -/* An INTEGER_CST containing the tree code of the folded operator. */ -#define FOLD_EXPR_OP_RAW(NODE) \ - TREE_OPERAND (FOLD_EXPR_CHECK (NODE), 0) - -/* The tree code of the folded operator. */ -#define FOLD_EXPR_OP(NODE) \ - ((enum tree_code) TREE_INT_CST_LOW (FOLD_EXPR_OP_RAW (NODE))) - -/* The expression containing an unexpanded parameter pack. */ -#define FOLD_EXPR_PACK(NODE) \ - TREE_OPERAND (FOLD_EXPR_CHECK (NODE), 1) - -/* In a binary fold expression, the argument with no unexpanded - parameter packs. */ -#define FOLD_EXPR_INIT(NODE) \ - TREE_OPERAND (BINARY_FOLD_EXPR_CHECK (NODE), 2) - -/* In a FUNCTION_DECL, the saved auto-return pattern. */ -#define DECL_SAVED_AUTO_RETURN_TYPE(NODE) \ - (LANG_DECL_FN_CHECK (FUNCTION_DECL_CHECK (NODE)) \ - ->u.saved_auto_return_type) - -/* True if NODE is an implicit INDIRECT_REF from convert_from_reference. */ -#define REFERENCE_REF_P(NODE) \ - (INDIRECT_REF_P (NODE) \ - && TREE_TYPE (TREE_OPERAND (NODE, 0)) \ - && TYPE_REF_P (TREE_TYPE (TREE_OPERAND ((NODE), 0)))) - -/* True iff this represents an lvalue being treated as an rvalue during return - or throw as per [class.copy.elision]. */ -#define IMPLICIT_RVALUE_P(NODE) \ - TREE_LANG_FLAG_3 (TREE_CHECK2 ((NODE), NON_LVALUE_EXPR, STATIC_CAST_EXPR)) - -#define NEW_EXPR_USE_GLOBAL(NODE) \ - TREE_LANG_FLAG_0 (NEW_EXPR_CHECK (NODE)) -#define DELETE_EXPR_USE_GLOBAL(NODE) \ - TREE_LANG_FLAG_0 (DELETE_EXPR_CHECK (NODE)) -#define DELETE_EXPR_USE_VEC(NODE) \ - TREE_LANG_FLAG_1 (DELETE_EXPR_CHECK (NODE)) - -#define CALL_OR_AGGR_INIT_CHECK(NODE) \ - TREE_CHECK2 ((NODE), CALL_EXPR, AGGR_INIT_EXPR) - -/* In a CALL_EXPR appearing in a template, true if Koenig lookup - should be performed at instantiation time. */ -#define KOENIG_LOOKUP_P(NODE) TREE_LANG_FLAG_0 (CALL_EXPR_CHECK (NODE)) - -/* True if the arguments to NODE should be evaluated in left-to-right - order regardless of PUSH_ARGS_REVERSED. */ -#define CALL_EXPR_ORDERED_ARGS(NODE) \ - TREE_LANG_FLAG_3 (CALL_OR_AGGR_INIT_CHECK (NODE)) - -/* True if the arguments to NODE should be evaluated in right-to-left - order regardless of PUSH_ARGS_REVERSED. */ -#define CALL_EXPR_REVERSE_ARGS(NODE) \ - TREE_LANG_FLAG_5 (CALL_OR_AGGR_INIT_CHECK (NODE)) - -/* True if CALL_EXPR was written as an operator expression, not a function - call. */ -#define CALL_EXPR_OPERATOR_SYNTAX(NODE) \ - TREE_LANG_FLAG_6 (CALL_OR_AGGR_INIT_CHECK (NODE)) - -/* A TREE_LIST containing the result of phase 1 name lookup of the operator - overloads that are pertinent to the dependent operator expression whose - type is NODE. Each TREE_PURPOSE is an IDENTIFIER_NODE and TREE_VALUE is - the corresponding (possibly empty) lookup result. The TREE_TYPE of the - first TREE_LIST node points back to NODE. */ -#define DEPENDENT_OPERATOR_TYPE_SAVED_LOOKUPS(NODE) \ - TYPE_VALUES_RAW (DEPENDENT_OPERATOR_TYPE_CHECK (NODE)) - -/* Guarded helper for the above accessor macro that takes a (templated) - operator expression instead of the type thereof. */ -inline tree -templated_operator_saved_lookups (tree t) -{ - tree type = TREE_TYPE (EXPR_CHECK (t)); - if (type && TREE_CODE (type) == DEPENDENT_OPERATOR_TYPE) - return DEPENDENT_OPERATOR_TYPE_SAVED_LOOKUPS (type); - else - return NULL_TREE; -} - -/* Indicates whether a string literal has been parenthesized. Such - usages are disallowed in certain circumstances. */ - -#define PAREN_STRING_LITERAL_P(NODE) \ - TREE_LANG_FLAG_0 (STRING_CST_CHECK (NODE)) - -/* Indicates whether a COMPONENT_REF or a SCOPE_REF has been parenthesized, an - INDIRECT_REF comes from parenthesizing a _DECL, or a PAREN_EXPR identifies a - parenthesized initializer relevant for decltype(auto). Currently only set - some of the time in C++14 mode. */ - -#define REF_PARENTHESIZED_P(NODE) \ - TREE_LANG_FLAG_2 (TREE_CHECK5 ((NODE), COMPONENT_REF, INDIRECT_REF, SCOPE_REF, VIEW_CONVERT_EXPR, PAREN_EXPR)) - -/* Nonzero if this AGGR_INIT_EXPR provides for initialization via a - constructor call, rather than an ordinary function call. */ -#define AGGR_INIT_VIA_CTOR_P(NODE) \ - TREE_LANG_FLAG_0 (AGGR_INIT_EXPR_CHECK (NODE)) - -/* Nonzero if expanding this AGGR_INIT_EXPR should first zero-initialize - the object. */ -#define AGGR_INIT_ZERO_FIRST(NODE) \ - TREE_LANG_FLAG_2 (AGGR_INIT_EXPR_CHECK (NODE)) - -/* Nonzero means that the call is the jump from a thunk to the - thunked-to function. */ -#define AGGR_INIT_FROM_THUNK_P(NODE) \ - (AGGR_INIT_EXPR_CHECK (NODE)->base.protected_flag) - -/* AGGR_INIT_EXPR accessors. These are equivalent to the CALL_EXPR - accessors, except for AGGR_INIT_EXPR_SLOT (which takes the place of - CALL_EXPR_STATIC_CHAIN). */ - -#define AGGR_INIT_EXPR_FN(NODE) TREE_OPERAND (AGGR_INIT_EXPR_CHECK (NODE), 1) -#define AGGR_INIT_EXPR_SLOT(NODE) \ - TREE_OPERAND (AGGR_INIT_EXPR_CHECK (NODE), 2) -#define AGGR_INIT_EXPR_ARG(NODE, I) \ - TREE_OPERAND (AGGR_INIT_EXPR_CHECK (NODE), (I) + 3) -#define aggr_init_expr_nargs(NODE) (VL_EXP_OPERAND_LENGTH(NODE) - 3) - -/* AGGR_INIT_EXPR_ARGP returns a pointer to the argument vector for NODE. - We can't use &AGGR_INIT_EXPR_ARG (NODE, 0) because that will complain if - the argument count is zero when checking is enabled. Instead, do - the pointer arithmetic to advance past the 3 fixed operands in a - AGGR_INIT_EXPR. That produces a valid pointer to just past the end of - the operand array, even if it's not valid to dereference it. */ -#define AGGR_INIT_EXPR_ARGP(NODE) \ - (&(TREE_OPERAND (AGGR_INIT_EXPR_CHECK (NODE), 0)) + 3) - -/* Abstract iterators for AGGR_INIT_EXPRs. */ - -/* Structure containing iterator state. */ -struct aggr_init_expr_arg_iterator { - tree t; /* the aggr_init_expr */ - int n; /* argument count */ - int i; /* next argument index */ -}; - -/* Initialize the abstract argument list iterator object ITER with the - arguments from AGGR_INIT_EXPR node EXP. */ -inline void -init_aggr_init_expr_arg_iterator (tree exp, - aggr_init_expr_arg_iterator *iter) -{ - iter->t = exp; - iter->n = aggr_init_expr_nargs (exp); - iter->i = 0; -} - -/* Return the next argument from abstract argument list iterator object ITER, - and advance its state. Return NULL_TREE if there are no more arguments. */ -inline tree -next_aggr_init_expr_arg (aggr_init_expr_arg_iterator *iter) -{ - tree result; - if (iter->i >= iter->n) - return NULL_TREE; - result = AGGR_INIT_EXPR_ARG (iter->t, iter->i); - iter->i++; - return result; -} - -/* Initialize the abstract argument list iterator object ITER, then advance - past and return the first argument. Useful in for expressions, e.g. - for (arg = first_aggr_init_expr_arg (exp, &iter); arg; - arg = next_aggr_init_expr_arg (&iter)) */ -inline tree -first_aggr_init_expr_arg (tree exp, aggr_init_expr_arg_iterator *iter) -{ - init_aggr_init_expr_arg_iterator (exp, iter); - return next_aggr_init_expr_arg (iter); -} - -/* Test whether there are more arguments in abstract argument list iterator - ITER, without changing its state. */ -inline bool -more_aggr_init_expr_args_p (const aggr_init_expr_arg_iterator *iter) -{ - return (iter->i < iter->n); -} - -/* Iterate through each argument ARG of AGGR_INIT_EXPR CALL, using variable - ITER (of type aggr_init_expr_arg_iterator) to hold the iteration state. */ -#define FOR_EACH_AGGR_INIT_EXPR_ARG(arg, iter, call) \ - for ((arg) = first_aggr_init_expr_arg ((call), &(iter)); (arg); \ - (arg) = next_aggr_init_expr_arg (&(iter))) - -/* We have an expression tree T that represents a call, either CALL_EXPR - or AGGR_INIT_EXPR. Return a reference to the Nth argument. */ - -inline tree& -get_nth_callarg (tree t, int n) -{ - switch (TREE_CODE (t)) - { - case CALL_EXPR: - return CALL_EXPR_ARG (t, n); - - case AGGR_INIT_EXPR: - return AGGR_INIT_EXPR_ARG (t, n); - - default: - gcc_unreachable (); - } -} - -/* VEC_INIT_EXPR accessors. */ -#define VEC_INIT_EXPR_SLOT(NODE) TREE_OPERAND (VEC_INIT_EXPR_CHECK (NODE), 0) -#define VEC_INIT_EXPR_INIT(NODE) TREE_OPERAND (VEC_INIT_EXPR_CHECK (NODE), 1) - -/* Indicates that a VEC_INIT_EXPR is a potential constant expression. - Only set when the current function is constexpr. */ -#define VEC_INIT_EXPR_IS_CONSTEXPR(NODE) \ - TREE_LANG_FLAG_0 (VEC_INIT_EXPR_CHECK (NODE)) - -/* Indicates that a VEC_INIT_EXPR is expressing value-initialization. */ -#define VEC_INIT_EXPR_VALUE_INIT(NODE) \ - TREE_LANG_FLAG_1 (VEC_INIT_EXPR_CHECK (NODE)) - -/* If T is a VEC_INIT_EXPR, return it, possibly stripping a TARGET_EXPR - wrapper. Otherwise, return null. */ -inline tree -get_vec_init_expr (tree t) -{ - if (t && TREE_CODE (t) == TARGET_EXPR) - t = TARGET_EXPR_INITIAL (t); - if (t && TREE_CODE (t) == VEC_INIT_EXPR) - return t; - return NULL_TREE; -} - -/* The condition under which this MUST_NOT_THROW_EXPR actually blocks - exceptions. NULL_TREE means 'true'. */ -#define MUST_NOT_THROW_COND(NODE) \ - TREE_OPERAND (MUST_NOT_THROW_EXPR_CHECK (NODE), 1) - -/* The TYPE_MAIN_DECL for a class template type is a TYPE_DECL, not a - TEMPLATE_DECL. This macro determines whether or not a given class - type is really a template type, as opposed to an instantiation or - specialization of one. */ -#define CLASSTYPE_IS_TEMPLATE(NODE) \ - (CLASSTYPE_TEMPLATE_INFO (NODE) \ - && !CLASSTYPE_USE_TEMPLATE (NODE) \ - && PRIMARY_TEMPLATE_P (CLASSTYPE_TI_TEMPLATE (NODE))) - -/* The name used by the user to name the typename type. Typically, - this is an IDENTIFIER_NODE, and the same as the DECL_NAME on the - corresponding TYPE_DECL. However, this may also be a - TEMPLATE_ID_EXPR if we had something like `typename X::Y'. */ -#define TYPENAME_TYPE_FULLNAME(NODE) \ - (TYPE_VALUES_RAW (TYPENAME_TYPE_CHECK (NODE))) - -/* True if a TYPENAME_TYPE was declared as an "enum". */ -#define TYPENAME_IS_ENUM_P(NODE) \ - (TREE_LANG_FLAG_0 (TYPENAME_TYPE_CHECK (NODE))) - -/* True if a TYPENAME_TYPE was declared as a "class", "struct", or - "union". */ -#define TYPENAME_IS_CLASS_P(NODE) \ - (TREE_LANG_FLAG_1 (TYPENAME_TYPE_CHECK (NODE))) - -/* True if a TYPENAME_TYPE is in the process of being resolved. */ -#define TYPENAME_IS_RESOLVING_P(NODE) \ - (TREE_LANG_FLAG_2 (TYPENAME_TYPE_CHECK (NODE))) - -/* [class.virtual] - - A class that declares or inherits a virtual function is called a - polymorphic class. */ -#define TYPE_POLYMORPHIC_P(NODE) (TREE_LANG_FLAG_2 (NODE)) - -/* Nonzero if this class has a virtual function table pointer. */ -#define TYPE_CONTAINS_VPTR_P(NODE) \ - (TYPE_POLYMORPHIC_P (NODE) || CLASSTYPE_VBASECLASSES (NODE)) - -/* Nonzero if NODE is a FUNCTION_DECL or VARIABLE_DECL (for a decl - with namespace scope) declared in a local scope. */ -#define DECL_LOCAL_DECL_P(NODE) \ - DECL_LANG_FLAG_0 (VAR_OR_FUNCTION_DECL_CHECK (NODE)) - -/* The namespace-scope decl a DECL_LOCAL_DECL_P aliases. */ -#define DECL_LOCAL_DECL_ALIAS(NODE) \ - DECL_ACCESS ((gcc_checking_assert (DECL_LOCAL_DECL_P (NODE)), NODE)) - -/* True if NODE was declared with auto in its return type, but it has - started compilation and so the return type might have been changed by - return type deduction; its declared return type should be found in - DECL_SAVED_AUTO_RETURN_TYPE (NODE). */ -#define FNDECL_USED_AUTO(NODE) \ - TREE_LANG_FLAG_2 (FUNCTION_DECL_CHECK (NODE)) - -/* True if NODE is needed for a manifestly constant-evaluated expression. - This doesn't especially need to be a flag, since currently it's only - used for error recovery; if we run out of function flags it could move - to an attribute. */ -#define FNDECL_MANIFESTLY_CONST_EVALUATED(NODE) \ - TREE_LANG_FLAG_4 (FUNCTION_DECL_CHECK (NODE)) - -/* True for artificial decls added for OpenMP privatized non-static - data members. */ -#define DECL_OMP_PRIVATIZED_MEMBER(NODE) \ - (DECL_LANG_SPECIFIC (VAR_DECL_CHECK (NODE))->u.base.anticipated_p) - -/* Nonzero if NODE is an artificial FUNCTION_DECL for - #pragma omp declare reduction. */ -#define DECL_OMP_DECLARE_REDUCTION_P(NODE) \ - (LANG_DECL_FN_CHECK (DECL_COMMON_CHECK (NODE))->omp_declare_reduction_p) - -/* Nonzero if DECL has been declared threadprivate by - #pragma omp threadprivate. */ -#define CP_DECL_THREADPRIVATE_P(DECL) \ - (DECL_LANG_SPECIFIC (VAR_DECL_CHECK (DECL))->u.base.threadprivate_or_deleted_p) - -/* Nonzero if NODE is a VAR_DECL which has been declared inline. */ -#define DECL_VAR_DECLARED_INLINE_P(NODE) \ - (DECL_LANG_SPECIFIC (VAR_DECL_CHECK (NODE)) \ - ? DECL_LANG_SPECIFIC (NODE)->u.base.var_declared_inline_p \ - : false) -#define SET_DECL_VAR_DECLARED_INLINE_P(NODE) \ - (DECL_LANG_SPECIFIC (VAR_DECL_CHECK (NODE))->u.base.var_declared_inline_p \ - = true) - -/* True if NODE is a constant variable with a value-dependent initializer. */ -#define DECL_DEPENDENT_INIT_P(NODE) \ - (DECL_LANG_SPECIFIC (VAR_DECL_CHECK (NODE)) \ - && DECL_LANG_SPECIFIC (NODE)->u.base.dependent_init_p) -#define SET_DECL_DEPENDENT_INIT_P(NODE, X) \ - (DECL_LANG_SPECIFIC (VAR_DECL_CHECK (NODE))->u.base.dependent_init_p = (X)) - -/* Nonzero if NODE is an artificial VAR_DECL for a C++17 structured binding - declaration or one of VAR_DECLs for the user identifiers in it. */ -#define DECL_DECOMPOSITION_P(NODE) \ - (VAR_P (NODE) && DECL_LANG_SPECIFIC (NODE) \ - ? DECL_LANG_SPECIFIC (NODE)->u.base.selector == lds_decomp \ - : false) - -/* The underlying artificial VAR_DECL for structured binding. */ -#define DECL_DECOMP_BASE(NODE) \ - (LANG_DECL_DECOMP_CHECK (NODE)->base) - -/* Nonzero if NODE is an inline VAR_DECL. In C++17, static data members - declared with constexpr specifier are implicitly inline variables. */ -#define DECL_INLINE_VAR_P(NODE) \ - (DECL_VAR_DECLARED_INLINE_P (NODE) \ - || (cxx_dialect >= cxx17 \ - && DECL_DECLARED_CONSTEXPR_P (NODE) \ - && DECL_CLASS_SCOPE_P (NODE))) - -/* Nonzero if DECL was declared with '= delete'. */ -#define DECL_DELETED_FN(DECL) \ - (LANG_DECL_FN_CHECK (DECL)->min.base.threadprivate_or_deleted_p) - -/* Nonzero if DECL was declared with '= default' (maybe implicitly). */ -#define DECL_DEFAULTED_FN(DECL) \ - (LANG_DECL_FN_CHECK (DECL)->defaulted_p) - -/* Nonzero if DECL is explicitly defaulted in the class body. */ -#define DECL_DEFAULTED_IN_CLASS_P(DECL) \ - (DECL_DEFAULTED_FN (DECL) && DECL_INITIALIZED_IN_CLASS_P (DECL)) -/* Nonzero if DECL was defaulted outside the class body. */ -#define DECL_DEFAULTED_OUTSIDE_CLASS_P(DECL) \ - (DECL_DEFAULTED_FN (DECL) \ - && !(DECL_ARTIFICIAL (DECL) || DECL_INITIALIZED_IN_CLASS_P (DECL))) - -/* Record whether a typedef for type `int' was actually `signed int'. */ -#define C_TYPEDEF_EXPLICITLY_SIGNED(EXP) DECL_LANG_FLAG_1 (EXP) - -/* Returns nonzero if DECL has external linkage, as specified by the - language standard. (This predicate may hold even when the - corresponding entity is not actually given external linkage in the - object file; see decl_linkage for details.) */ -#define DECL_EXTERNAL_LINKAGE_P(DECL) \ - (decl_linkage (DECL) == lk_external) - -/* Keep these codes in ascending code order. */ - -#define INTEGRAL_CODE_P(CODE) \ - ((CODE) == ENUMERAL_TYPE \ - || (CODE) == BOOLEAN_TYPE \ - || (CODE) == INTEGER_TYPE) - -/* [basic.fundamental] - - Types bool, char, wchar_t, and the signed and unsigned integer types - are collectively called integral types. - - Note that INTEGRAL_TYPE_P, as defined in tree.h, allows enumeration - types as well, which is incorrect in C++. Keep these checks in - ascending code order. */ -#define CP_INTEGRAL_TYPE_P(TYPE) \ - (TREE_CODE (TYPE) == BOOLEAN_TYPE \ - || TREE_CODE (TYPE) == INTEGER_TYPE) - -/* Returns true if TYPE is an integral or enumeration name. Keep - these checks in ascending code order. */ -#define INTEGRAL_OR_ENUMERATION_TYPE_P(TYPE) \ - (TREE_CODE (TYPE) == ENUMERAL_TYPE || CP_INTEGRAL_TYPE_P (TYPE)) - -/* Returns true if TYPE is an integral or unscoped enumeration type. */ -#define INTEGRAL_OR_UNSCOPED_ENUMERATION_TYPE_P(TYPE) \ - (UNSCOPED_ENUM_P (TYPE) || CP_INTEGRAL_TYPE_P (TYPE)) - -/* True if the class type TYPE is a literal type. */ -#define CLASSTYPE_LITERAL_P(TYPE) \ - (LANG_TYPE_CLASS_CHECK (TYPE)->is_literal) - -/* [basic.fundamental] - - Integral and floating types are collectively called arithmetic - types. - - As a GNU extension, we also accept complex types. - - Keep these checks in ascending code order. */ -#define ARITHMETIC_TYPE_P(TYPE) \ - (CP_INTEGRAL_TYPE_P (TYPE) \ - || TREE_CODE (TYPE) == REAL_TYPE \ - || TREE_CODE (TYPE) == COMPLEX_TYPE) - -/* [basic.types] - - Arithmetic types, enumeration types, pointer types, - pointer-to-member types, and std::nullptr_t are collectively called - scalar types. - - Keep these checks in ascending code order. */ -#define SCALAR_TYPE_P(TYPE) \ - (TYPE_PTRDATAMEM_P (TYPE) \ - || TREE_CODE (TYPE) == ENUMERAL_TYPE \ - || ARITHMETIC_TYPE_P (TYPE) \ - || TYPE_PTR_P (TYPE) \ - || TYPE_PTRMEMFUNC_P (TYPE) \ - || NULLPTR_TYPE_P (TYPE)) - -/* Determines whether this type is a C++0x scoped enumeration - type. Scoped enumerations types are introduced via "enum class" or - "enum struct", e.g., - - enum class Color { - Red, Green, Blue - }; - - Scoped enumeration types are different from normal (unscoped) - enumeration types in several ways: - - - The enumerators of a scoped enumeration type are only available - within the scope of the enumeration type and not in the - enclosing scope. For example, the Red color can be referred to - with "Color::Red" but not "Red". - - - Scoped enumerators and enumerations do not implicitly convert - to integers or 'bool'. - - - The underlying type of the enum is well-defined. */ -#define SCOPED_ENUM_P(TYPE) \ - (TREE_CODE (TYPE) == ENUMERAL_TYPE && ENUM_IS_SCOPED (TYPE)) - -/* Determine whether this is an unscoped enumeration type. */ -#define UNSCOPED_ENUM_P(TYPE) \ - (TREE_CODE (TYPE) == ENUMERAL_TYPE && !ENUM_IS_SCOPED (TYPE)) - -/* Set the flag indicating whether an ENUMERAL_TYPE is a C++0x scoped - enumeration type (1) or a normal (unscoped) enumeration type - (0). */ -#define SET_SCOPED_ENUM_P(TYPE, VAL) \ - (ENUM_IS_SCOPED (TYPE) = (VAL)) - -#define SET_OPAQUE_ENUM_P(TYPE, VAL) \ - (ENUM_IS_OPAQUE (TYPE) = (VAL)) - -#define OPAQUE_ENUM_P(TYPE) \ - (TREE_CODE (TYPE) == ENUMERAL_TYPE && ENUM_IS_OPAQUE (TYPE)) - -/* [dcl.init.aggr] - - An aggregate is an array or a class with no user-provided - constructors, no brace-or-equal-initializers for non-static data - members, no private or protected non-static data members, no - base classes, and no virtual functions. - - As an extension, we also treat vectors as aggregates. Keep these - checks in ascending code order. */ -#define CP_AGGREGATE_TYPE_P(TYPE) \ - (gnu_vector_type_p (TYPE) \ - || TREE_CODE (TYPE) == ARRAY_TYPE \ - || (CLASS_TYPE_P (TYPE) && COMPLETE_TYPE_P (TYPE) && !CLASSTYPE_NON_AGGREGATE (TYPE))) - -/* Nonzero for a class type means that the class type has a - user-declared constructor. */ -#define TYPE_HAS_USER_CONSTRUCTOR(NODE) (TYPE_LANG_FLAG_1 (NODE)) - -/* Nonzero means that the FUNCTION_TYPE or METHOD_TYPE has a - late-specified return type. */ -#define TYPE_HAS_LATE_RETURN_TYPE(NODE) \ - (TYPE_LANG_FLAG_2 (FUNC_OR_METHOD_CHECK (NODE))) - -/* When appearing in an INDIRECT_REF, it means that the tree structure - underneath is actually a call to a constructor. This is needed - when the constructor must initialize local storage (which can - be automatically destroyed), rather than allowing it to allocate - space from the heap. - - When appearing in a SAVE_EXPR, it means that underneath - is a call to a constructor. - - When appearing in a CONSTRUCTOR, the expression is an unconverted - compound literal. - - When appearing in a CALL_EXPR, it means that it is a call to - a constructor. - - When appearing in a FIELD_DECL, it means that this field - has been duly initialized in its constructor. */ -#define TREE_HAS_CONSTRUCTOR(NODE) (TREE_LANG_FLAG_4 (NODE)) - -/* True if NODE is a brace-enclosed initializer. */ -#define BRACE_ENCLOSED_INITIALIZER_P(NODE) \ - (TREE_CODE (NODE) == CONSTRUCTOR && TREE_TYPE (NODE) == init_list_type_node) - -/* True if NODE is a compound-literal, i.e., a brace-enclosed - initializer cast to a particular type. This is mostly only set during - template parsing; once the initializer has been digested into an actual - value of the type, the expression is represented by a TARGET_EXPR. */ -#define COMPOUND_LITERAL_P(NODE) \ - (TREE_CODE (NODE) == CONSTRUCTOR && TREE_HAS_CONSTRUCTOR (NODE)) - -#define EMPTY_CONSTRUCTOR_P(NODE) (TREE_CODE (NODE) == CONSTRUCTOR \ - && vec_safe_is_empty(CONSTRUCTOR_ELTS(NODE))\ - && !TREE_HAS_CONSTRUCTOR (NODE)) - -/* True if NODE is a init-list used as a direct-initializer, i.e. - B b{1,2}, not B b({1,2}) or B b = {1,2}. */ -#define CONSTRUCTOR_IS_DIRECT_INIT(NODE) (TREE_LANG_FLAG_0 (CONSTRUCTOR_CHECK (NODE))) - -/* True if this CONSTRUCTOR is instantiation-dependent and needs to be - substituted. */ -#define CONSTRUCTOR_IS_DEPENDENT(NODE) \ - (TREE_LANG_FLAG_1 (CONSTRUCTOR_CHECK (NODE))) - -/* True if this CONSTRUCTOR should not be used as a variable initializer - because it was loaded from a constexpr variable with mutable fields. */ -#define CONSTRUCTOR_MUTABLE_POISON(NODE) \ - (TREE_LANG_FLAG_2 (CONSTRUCTOR_CHECK (NODE))) - -/* True if this typed CONSTRUCTOR represents C99 compound-literal syntax rather - than C++11 functional cast syntax. */ -#define CONSTRUCTOR_C99_COMPOUND_LITERAL(NODE) \ - (TREE_LANG_FLAG_3 (CONSTRUCTOR_CHECK (NODE))) - -/* True if this CONSTRUCTOR contains PLACEHOLDER_EXPRs referencing the - CONSTRUCTOR's type not nested inside another CONSTRUCTOR marked with - CONSTRUCTOR_PLACEHOLDER_BOUNDARY. */ -#define CONSTRUCTOR_PLACEHOLDER_BOUNDARY(NODE) \ - (TREE_LANG_FLAG_5 (CONSTRUCTOR_CHECK (NODE))) - -#define DIRECT_LIST_INIT_P(NODE) \ - (BRACE_ENCLOSED_INITIALIZER_P (NODE) && CONSTRUCTOR_IS_DIRECT_INIT (NODE)) - -/* True if this is a designated initializer (when we allow initializer-clauses - mixed with designated-initializer-clauses set whenever there is at least - one designated-initializer-clause), or a C99 designator. */ -#define CONSTRUCTOR_IS_DESIGNATED_INIT(NODE) \ - (TREE_LANG_FLAG_6 (CONSTRUCTOR_CHECK (NODE))) - -/* True if this CONSTRUCTOR comes from a parenthesized list of values, e.g. - A(1, 2, 3). */ -#define CONSTRUCTOR_IS_PAREN_INIT(NODE) \ - (CONSTRUCTOR_CHECK(NODE)->base.private_flag) - -/* True if reshape_init built this sub-CONSTRUCTOR to undo the brace elision - of the original CONSTRUCTOR. This flag is used during C++20 aggregate - CTAD. */ -#define CONSTRUCTOR_BRACES_ELIDED_P(NODE) \ - (CONSTRUCTOR_CHECK (NODE)->base.protected_flag) - -/* True if NODE represents a conversion for direct-initialization in a - template. Set by perform_implicit_conversion_flags. */ -#define IMPLICIT_CONV_EXPR_DIRECT_INIT(NODE) \ - (TREE_LANG_FLAG_0 (IMPLICIT_CONV_EXPR_CHECK (NODE))) - -/* True if NODE represents a dependent conversion of a non-type template - argument. Set by maybe_convert_nontype_argument. */ -#define IMPLICIT_CONV_EXPR_NONTYPE_ARG(NODE) \ - (TREE_LANG_FLAG_1 (IMPLICIT_CONV_EXPR_CHECK (NODE))) - -/* True if NODE represents a conversion for braced-init-list in a - template. Set by perform_implicit_conversion_flags. */ -#define IMPLICIT_CONV_EXPR_BRACED_INIT(NODE) \ - (TREE_LANG_FLAG_2 (IMPLICIT_CONV_EXPR_CHECK (NODE))) - -/* Nonzero means that an object of this type cannot be initialized using - an initializer list. */ -#define CLASSTYPE_NON_AGGREGATE(NODE) \ - (LANG_TYPE_CLASS_CHECK (NODE)->non_aggregate) -#define TYPE_NON_AGGREGATE_CLASS(NODE) \ - (CLASS_TYPE_P (NODE) && CLASSTYPE_NON_AGGREGATE (NODE)) - -/* Nonzero if there is a non-trivial X::op=(cv X&) for this class. */ -#define TYPE_HAS_COMPLEX_COPY_ASSIGN(NODE) (LANG_TYPE_CLASS_CHECK (NODE)->has_complex_copy_assign) - -/* Nonzero if there is a non-trivial X::X(cv X&) for this class. */ -#define TYPE_HAS_COMPLEX_COPY_CTOR(NODE) (LANG_TYPE_CLASS_CHECK (NODE)->has_complex_copy_ctor) - -/* Nonzero if there is a non-trivial X::op=(X&&) for this class. */ -#define TYPE_HAS_COMPLEX_MOVE_ASSIGN(NODE) (LANG_TYPE_CLASS_CHECK (NODE)->has_complex_move_assign) - -/* Nonzero if there is a non-trivial X::X(X&&) for this class. */ -#define TYPE_HAS_COMPLEX_MOVE_CTOR(NODE) (LANG_TYPE_CLASS_CHECK (NODE)->has_complex_move_ctor) - -/* Nonzero if there is no trivial default constructor for this class. */ -#define TYPE_HAS_COMPLEX_DFLT(NODE) (LANG_TYPE_CLASS_CHECK (NODE)->has_complex_dflt) - -/* Nonzero if TYPE has a trivial destructor. From [class.dtor]: - - A destructor is trivial if it is an implicitly declared - destructor and if: - - - all of the direct base classes of its class have trivial - destructors, - - - for all of the non-static data members of its class that are - of class type (or array thereof), each such class has a - trivial destructor. */ -#define TYPE_HAS_TRIVIAL_DESTRUCTOR(NODE) \ - (!TYPE_HAS_NONTRIVIAL_DESTRUCTOR (NODE)) - -/* Nonzero for _TYPE node means that this type does not have a trivial - destructor. Therefore, destroying an object of this type will - involve a call to a destructor. This can apply to objects of - ARRAY_TYPE if the type of the elements needs a destructor. */ -#define TYPE_HAS_NONTRIVIAL_DESTRUCTOR(NODE) \ - (TYPE_LANG_FLAG_4 (NODE)) - -/* Nonzero for class type means that the default constructor is trivial. */ -#define TYPE_HAS_TRIVIAL_DFLT(NODE) \ - (TYPE_HAS_DEFAULT_CONSTRUCTOR (NODE) && ! TYPE_HAS_COMPLEX_DFLT (NODE)) - -/* Nonzero for class type means that copy initialization of this type can use - a bitwise copy. */ -#define TYPE_HAS_TRIVIAL_COPY_CTOR(NODE) \ - (TYPE_HAS_COPY_CTOR (NODE) && ! TYPE_HAS_COMPLEX_COPY_CTOR (NODE)) - -/* Nonzero for class type means that assignment of this type can use - a bitwise copy. */ -#define TYPE_HAS_TRIVIAL_COPY_ASSIGN(NODE) \ - (TYPE_HAS_COPY_ASSIGN (NODE) && ! TYPE_HAS_COMPLEX_COPY_ASSIGN (NODE)) - -/* Returns true if NODE is a pointer-to-data-member. */ -#define TYPE_PTRDATAMEM_P(NODE) \ - (TREE_CODE (NODE) == OFFSET_TYPE) - -/* Returns true if NODE is a pointer. */ -#define TYPE_PTR_P(NODE) \ - (TREE_CODE (NODE) == POINTER_TYPE) - -/* Returns true if NODE is a reference. */ -#define TYPE_REF_P(NODE) \ - (TREE_CODE (NODE) == REFERENCE_TYPE) - -/* Returns true if NODE is a pointer or a reference. */ -#define INDIRECT_TYPE_P(NODE) \ - (TYPE_PTR_P (NODE) || TYPE_REF_P (NODE)) - -/* Returns true if NODE is an object type: - - [basic.types] - - An object type is a (possibly cv-qualified) type that is not a - function type, not a reference type, and not a void type. - - Keep these checks in ascending order, for speed. */ -#define TYPE_OBJ_P(NODE) \ - (!TYPE_REF_P (NODE) \ - && !VOID_TYPE_P (NODE) \ - && !FUNC_OR_METHOD_TYPE_P (NODE)) - -/* Returns true if NODE is a pointer to an object. Keep these checks - in ascending tree code order. */ -#define TYPE_PTROB_P(NODE) \ - (TYPE_PTR_P (NODE) && TYPE_OBJ_P (TREE_TYPE (NODE))) - -/* Returns true if NODE is a reference to an object. Keep these checks - in ascending tree code order. */ -#define TYPE_REF_OBJ_P(NODE) \ - (TYPE_REF_P (NODE) && TYPE_OBJ_P (TREE_TYPE (NODE))) - -/* Returns true if NODE is a pointer to an object, or a pointer to - void. Keep these checks in ascending tree code order. */ -#define TYPE_PTROBV_P(NODE) \ - (TYPE_PTR_P (NODE) \ - && !FUNC_OR_METHOD_TYPE_P (TREE_TYPE (NODE))) - -/* Returns true if NODE is a pointer to function type. */ -#define TYPE_PTRFN_P(NODE) \ - (TYPE_PTR_P (NODE) \ - && TREE_CODE (TREE_TYPE (NODE)) == FUNCTION_TYPE) - -/* Returns true if NODE is a reference to function type. */ -#define TYPE_REFFN_P(NODE) \ - (TYPE_REF_P (NODE) \ - && TREE_CODE (TREE_TYPE (NODE)) == FUNCTION_TYPE) - -/* Returns true if NODE is a pointer to member function type. */ -#define TYPE_PTRMEMFUNC_P(NODE) \ - (TREE_CODE (NODE) == RECORD_TYPE \ - && TYPE_PTRMEMFUNC_FLAG (NODE)) - -#define TYPE_PTRMEMFUNC_FLAG(NODE) \ - (TYPE_LANG_FLAG_2 (RECORD_TYPE_CHECK (NODE))) - -/* Returns true if NODE is a pointer-to-member. */ -#define TYPE_PTRMEM_P(NODE) \ - (TYPE_PTRDATAMEM_P (NODE) || TYPE_PTRMEMFUNC_P (NODE)) - -/* Returns true if NODE is a pointer or a pointer-to-member. */ -#define TYPE_PTR_OR_PTRMEM_P(NODE) \ - (TYPE_PTR_P (NODE) || TYPE_PTRMEM_P (NODE)) - -/* Indicates when overload resolution may resolve to a pointer to - member function. [expr.unary.op]/3 */ -#define PTRMEM_OK_P(NODE) \ - TREE_LANG_FLAG_0 (TREE_CHECK3 ((NODE), ADDR_EXPR, OFFSET_REF, SCOPE_REF)) - -/* Get the POINTER_TYPE to the METHOD_TYPE associated with this - pointer to member function. TYPE_PTRMEMFUNC_P _must_ be true, - before using this macro. */ -#define TYPE_PTRMEMFUNC_FN_TYPE(NODE) \ - (cp_build_qualified_type (TREE_TYPE (TYPE_FIELDS (NODE)),\ - cp_type_quals (NODE))) - -/* As above, but can be used in places that want an lvalue at the expense - of not necessarily having the correct cv-qualifiers. */ -#define TYPE_PTRMEMFUNC_FN_TYPE_RAW(NODE) \ - (TREE_TYPE (TYPE_FIELDS (NODE))) - -/* Returns `A' for a type like `int (A::*)(double)' */ -#define TYPE_PTRMEMFUNC_OBJECT_TYPE(NODE) \ - TYPE_METHOD_BASETYPE (TREE_TYPE (TYPE_PTRMEMFUNC_FN_TYPE (NODE))) - -/* The canonical internal RECORD_TYPE from the POINTER_TYPE to - METHOD_TYPE. */ -#define TYPE_PTRMEMFUNC_TYPE(NODE) \ - TYPE_LANG_SLOT_1 (NODE) - -/* For a pointer-to-member type of the form `T X::*', this is `X'. - For a type like `void (X::*)() const', this type is `X', not `const - X'. To get at the `const X' you have to look at the - TYPE_PTRMEM_POINTED_TO_TYPE; there, the first parameter will have - type `const X*'. */ -#define TYPE_PTRMEM_CLASS_TYPE(NODE) \ - (TYPE_PTRDATAMEM_P (NODE) \ - ? TYPE_OFFSET_BASETYPE (NODE) \ - : TYPE_PTRMEMFUNC_OBJECT_TYPE (NODE)) - -/* For a pointer-to-member type of the form `T X::*', this is `T'. */ -#define TYPE_PTRMEM_POINTED_TO_TYPE(NODE) \ - (TYPE_PTRDATAMEM_P (NODE) \ - ? TREE_TYPE (NODE) \ - : TREE_TYPE (TYPE_PTRMEMFUNC_FN_TYPE (NODE))) - -/* For a pointer-to-member constant `X::Y' this is the RECORD_TYPE for - `X'. */ -#define PTRMEM_CST_CLASS(NODE) \ - TYPE_PTRMEM_CLASS_TYPE (TREE_TYPE (PTRMEM_CST_CHECK (NODE))) - -/* For a pointer-to-member constant `X::Y' this is the _DECL for - `Y'. */ -#define PTRMEM_CST_MEMBER(NODE) \ - (((ptrmem_cst_t)PTRMEM_CST_CHECK (NODE))->member) - -/* For a pointer-to-member constant `X::Y' this is a location where - the address of the member has been taken. */ -#define PTRMEM_CST_LOCATION(NODE) \ - (((ptrmem_cst_t)PTRMEM_CST_CHECK (NODE))->locus) - -/* The expression in question for a TYPEOF_TYPE. */ -#define TYPEOF_TYPE_EXPR(NODE) (TYPE_VALUES_RAW (TYPEOF_TYPE_CHECK (NODE))) - -/* The type in question for an UNDERLYING_TYPE. */ -#define UNDERLYING_TYPE_TYPE(NODE) \ - (TYPE_VALUES_RAW (UNDERLYING_TYPE_CHECK (NODE))) - -/* The type in question for BASES. */ -#define BASES_TYPE(NODE) \ - (TYPE_VALUES_RAW (BASES_CHECK (NODE))) - -#define BASES_DIRECT(NODE) \ - TREE_LANG_FLAG_0 (BASES_CHECK (NODE)) - -/* The expression in question for a DECLTYPE_TYPE. */ -#define DECLTYPE_TYPE_EXPR(NODE) (TYPE_VALUES_RAW (DECLTYPE_TYPE_CHECK (NODE))) - -/* Whether the DECLTYPE_TYPE_EXPR of NODE was originally parsed as an - id-expression or a member-access expression. When false, it was - parsed as a full expression. */ -#define DECLTYPE_TYPE_ID_EXPR_OR_MEMBER_ACCESS_P(NODE) \ - (DECLTYPE_TYPE_CHECK (NODE))->type_common.string_flag - -/* These flags indicate that we want different semantics from normal - decltype: lambda capture just drops references, - lambda proxies look through implicit dereference. */ -#define DECLTYPE_FOR_LAMBDA_CAPTURE(NODE) \ - TREE_LANG_FLAG_0 (DECLTYPE_TYPE_CHECK (NODE)) -#define DECLTYPE_FOR_LAMBDA_PROXY(NODE) \ - TREE_LANG_FLAG_2 (DECLTYPE_TYPE_CHECK (NODE)) -#define DECLTYPE_FOR_REF_CAPTURE(NODE) \ - TREE_LANG_FLAG_3 (DECLTYPE_TYPE_CHECK (NODE)) - -/* Nonzero for VAR_DECL and FUNCTION_DECL node means that `extern' was - specified in its declaration. This can also be set for an - erroneously declared PARM_DECL. */ -#define DECL_THIS_EXTERN(NODE) \ - DECL_LANG_FLAG_2 (VAR_FUNCTION_OR_PARM_DECL_CHECK (NODE)) - -/* Nonzero for VAR_DECL and FUNCTION_DECL node means that `static' was - specified in its declaration. This can also be set for an - erroneously declared PARM_DECL. */ -#define DECL_THIS_STATIC(NODE) \ - DECL_LANG_FLAG_6 (VAR_FUNCTION_OR_PARM_DECL_CHECK (NODE)) - -/* Nonzero for FIELD_DECL node means that this field is a lambda capture - field for an array of runtime bound. */ -#define DECL_VLA_CAPTURE_P(NODE) \ - DECL_LANG_FLAG_1 (FIELD_DECL_CHECK (NODE)) - -/* Nonzero for PARM_DECL node means that this is an array function - parameter, i.e, a[] rather than *a. */ -#define DECL_ARRAY_PARAMETER_P(NODE) \ - DECL_LANG_FLAG_1 (PARM_DECL_CHECK (NODE)) - -/* Nonzero for a FIELD_DECL who's NSMDI is currently being - instantiated. */ -#define DECL_INSTANTIATING_NSDMI_P(NODE) \ - DECL_LANG_FLAG_2 (FIELD_DECL_CHECK (NODE)) - -/* Nonzero for FIELD_DECL node means that this field is a base class - of the parent object, as opposed to a member field. */ -#define DECL_FIELD_IS_BASE(NODE) \ - DECL_LANG_FLAG_6 (FIELD_DECL_CHECK (NODE)) - -/* Nonzero for FIELD_DECL node means that this field is a simple (no - explicit initializer) lambda capture field, making it invisible to - name lookup in unevaluated contexts. */ -#define DECL_NORMAL_CAPTURE_P(NODE) \ - DECL_LANG_FLAG_7 (FIELD_DECL_CHECK (NODE)) - -/* Nonzero if TYPE is an anonymous union or struct type. We have to use a - flag for this because "A union for which objects or pointers are - declared is not an anonymous union" [class.union]. */ -#define ANON_AGGR_TYPE_P(NODE) \ - (CLASS_TYPE_P (NODE) && LANG_TYPE_CLASS_CHECK (NODE)->anon_aggr) -#define SET_ANON_AGGR_TYPE_P(NODE) \ - (LANG_TYPE_CLASS_CHECK (NODE)->anon_aggr = 1) - -/* Nonzero if TYPE is an anonymous union type. */ -#define ANON_UNION_TYPE_P(NODE) \ - (TREE_CODE (NODE) == UNION_TYPE && ANON_AGGR_TYPE_P (NODE)) - -/* For an ANON_AGGR_TYPE_P the single FIELD_DECL it is used with. */ -#define ANON_AGGR_TYPE_FIELD(NODE) \ - (LANG_TYPE_CLASS_CHECK (NODE)->typeinfo_var) - -/* Define fields and accessors for nodes representing declared names. */ - -/* True if TYPE is an unnamed structured type with a typedef for - linkage purposes. In that case TYPE_NAME and TYPE_STUB_DECL of the - MAIN-VARIANT are different. */ -#define TYPE_WAS_UNNAMED(NODE) \ - (TYPE_NAME (TYPE_MAIN_VARIANT (NODE)) \ - != TYPE_STUB_DECL (TYPE_MAIN_VARIANT (NODE))) - -/* C++: all of these are overloaded! These apply only to TYPE_DECLs. */ - -/* The format of each node in the DECL_FRIENDLIST is as follows: - - The TREE_PURPOSE will be the name of a function, i.e., an - IDENTIFIER_NODE. The TREE_VALUE will be itself a TREE_LIST, whose - TREE_VALUEs are friends with the given name. */ -#define DECL_FRIENDLIST(NODE) (DECL_INITIAL (NODE)) -#define FRIEND_NAME(LIST) (TREE_PURPOSE (LIST)) -#define FRIEND_DECLS(LIST) (TREE_VALUE (LIST)) - -/* The DECL_ACCESS, if non-NULL, is a TREE_LIST. The TREE_PURPOSE of - each node is a type; the TREE_VALUE is the access granted for this - DECL in that type. The DECL_ACCESS is set by access declarations. - For example, if a member that would normally be public in a - derived class is made protected, then the derived class and the - protected_access_node will appear in the DECL_ACCESS for the node. */ -#define DECL_ACCESS(NODE) (LANG_DECL_MIN_CHECK (NODE)->access) - -/* Nonzero if the FUNCTION_DECL is a global constructor. */ -#define DECL_GLOBAL_CTOR_P(NODE) \ - (LANG_DECL_FN_CHECK (NODE)->global_ctor_p) - -/* Nonzero if the FUNCTION_DECL is a global destructor. */ -#define DECL_GLOBAL_DTOR_P(NODE) \ - (LANG_DECL_FN_CHECK (NODE)->global_dtor_p) - -/* Accessor macros for C++ template decl nodes. */ - -/* The DECL_TEMPLATE_PARMS are a list. The TREE_PURPOSE of each node - is a INT_CST whose TREE_INT_CST_LOW indicates the level of the - template parameters, with 1 being the outermost set of template - parameters. The TREE_VALUE is a vector, whose elements are the - template parameters at each level. Each element in the vector is a - TREE_LIST, whose TREE_VALUE is a PARM_DECL (if the parameter is a - non-type parameter), or a TYPE_DECL (if the parameter is a type - parameter) or a TEMPLATE_DECL (if the parameter is a template - parameter). The TREE_PURPOSE is the default value, if any. The - TEMPLATE_PARM_INDEX for the parameter is available as the - DECL_INITIAL (for a PARM_DECL) or as the TREE_TYPE (for a - TYPE_DECL). - - FIXME: CONST_CAST_TREE is a hack that hopefully will go away after - tree is converted to C++ class hiearchy. */ -#define DECL_TEMPLATE_PARMS(NODE) \ - ((struct tree_template_decl *)CONST_CAST_TREE (TEMPLATE_DECL_CHECK (NODE)))->arguments -#define DECL_INNERMOST_TEMPLATE_PARMS(NODE) \ - INNERMOST_TEMPLATE_PARMS (DECL_TEMPLATE_PARMS (NODE)) -#define DECL_NTPARMS(NODE) \ - TREE_VEC_LENGTH (DECL_INNERMOST_TEMPLATE_PARMS (NODE)) -/* For function, method, class-data templates. - - FIXME: CONST_CAST_TREE is a hack that hopefully will go away after - tree is converted to C++ class hiearchy. */ -#define DECL_TEMPLATE_RESULT(NODE) \ - ((struct tree_template_decl *)CONST_CAST_TREE(TEMPLATE_DECL_CHECK (NODE)))->result -/* For a function template at namespace scope, DECL_TEMPLATE_INSTANTIATIONS - lists all instantiations and specializations of the function so that - tsubst_friend_function can reassign them to another template if we find - that the namespace-scope template is really a partial instantiation of a - friend template. - - For a class template the DECL_TEMPLATE_INSTANTIATIONS lists holds - all instantiations and specializations of the class type, including - partial instantiations and partial specializations, so that if we - explicitly specialize a partial instantiation we can walk the list - in maybe_process_partial_specialization and reassign them or complain - as appropriate. - - In both cases, the TREE_PURPOSE of each node contains the arguments - used; the TREE_VALUE contains the generated variable. The template - arguments are always complete. For example, given: - - template struct S1 { - template struct S2 {}; - template struct S2 {}; - }; - - the record for the partial specialization will contain, as its - argument list, { {T}, {U*} }, and will be on the - DECL_TEMPLATE_INSTANTIATIONS list for `template template - struct S1::S2'. - - This list is not used for other templates. */ -#define DECL_TEMPLATE_INSTANTIATIONS(NODE) \ - DECL_SIZE_UNIT (TEMPLATE_DECL_CHECK (NODE)) - -/* For a class template, this list contains the partial - specializations of this template. (Full specializations are not - recorded on this list.) The TREE_PURPOSE holds the arguments used - in the partial specialization (e.g., for `template struct - S' this will be `T*, int'.) The arguments will also include - any outer template arguments. The TREE_VALUE holds the TEMPLATE_DECL - for the partial specialization. The TREE_TYPE is the _TYPE node for - the partial specialization. - - This list is not used for other templates. */ -#define DECL_TEMPLATE_SPECIALIZATIONS(NODE) \ - DECL_SIZE (TEMPLATE_DECL_CHECK (NODE)) - -/* Nonzero for a DECL which is actually a template parameter. Keep - these checks in ascending tree code order. */ -#define DECL_TEMPLATE_PARM_P(NODE) \ - (DECL_LANG_FLAG_0 (NODE) \ - && (TREE_CODE (NODE) == CONST_DECL \ - || TREE_CODE (NODE) == PARM_DECL \ - || TREE_CODE (NODE) == TYPE_DECL \ - || TREE_CODE (NODE) == TEMPLATE_DECL)) - -/* Nonzero for a raw template parameter node. */ -#define TEMPLATE_PARM_P(NODE) \ - (TREE_CODE (NODE) == TEMPLATE_TYPE_PARM \ - || TREE_CODE (NODE) == TEMPLATE_TEMPLATE_PARM \ - || TREE_CODE (NODE) == TEMPLATE_PARM_INDEX) - -/* Mark NODE as a template parameter. */ -#define SET_DECL_TEMPLATE_PARM_P(NODE) \ - (DECL_LANG_FLAG_0 (NODE) = 1) - -/* Nonzero if NODE is a template template parameter. */ -#define DECL_TEMPLATE_TEMPLATE_PARM_P(NODE) \ - (TREE_CODE (NODE) == TEMPLATE_DECL && DECL_TEMPLATE_PARM_P (NODE)) - -/* Nonzero for a DECL that represents a function template. */ -#define DECL_FUNCTION_TEMPLATE_P(NODE) \ - (TREE_CODE (NODE) == TEMPLATE_DECL \ - && DECL_TEMPLATE_RESULT (NODE) != NULL_TREE \ - && TREE_CODE (DECL_TEMPLATE_RESULT (NODE)) == FUNCTION_DECL) - -/* Nonzero for a DECL that represents a class template or alias - template. */ -#define DECL_TYPE_TEMPLATE_P(NODE) \ - (TREE_CODE (NODE) == TEMPLATE_DECL \ - && DECL_TEMPLATE_RESULT (NODE) != NULL_TREE \ - && TREE_CODE (DECL_TEMPLATE_RESULT (NODE)) == TYPE_DECL) - -/* Nonzero for a DECL that represents a class template. */ -#define DECL_CLASS_TEMPLATE_P(NODE) \ - (DECL_TYPE_TEMPLATE_P (NODE) \ - && DECL_IMPLICIT_TYPEDEF_P (DECL_TEMPLATE_RESULT (NODE))) - -/* Nonzero for a TEMPLATE_DECL that represents an alias template. */ -#define DECL_ALIAS_TEMPLATE_P(NODE) \ - (DECL_TYPE_TEMPLATE_P (NODE) \ - && !DECL_ARTIFICIAL (DECL_TEMPLATE_RESULT (NODE))) - -/* Nonzero for a NODE which declares a type. */ -#define DECL_DECLARES_TYPE_P(NODE) \ - (TREE_CODE (NODE) == TYPE_DECL || DECL_TYPE_TEMPLATE_P (NODE)) - -/* Nonzero if NODE declares a function. */ -#define DECL_DECLARES_FUNCTION_P(NODE) \ - (TREE_CODE (NODE) == FUNCTION_DECL || DECL_FUNCTION_TEMPLATE_P (NODE)) - -/* Nonzero if NODE is the typedef implicitly generated for a type when - the type is declared. In C++, `struct S {};' is roughly - equivalent to `struct S {}; typedef struct S S;' in C. - DECL_IMPLICIT_TYPEDEF_P will hold for the typedef indicated in this - example. In C++, there is a second implicit typedef for each - class, called the injected-class-name, in the scope of `S' itself, so that - you can say `S::S'. DECL_SELF_REFERENCE_P will hold for that typedef. */ -#define DECL_IMPLICIT_TYPEDEF_P(NODE) \ - (TREE_CODE (NODE) == TYPE_DECL && DECL_LANG_FLAG_2 (NODE)) -#define SET_DECL_IMPLICIT_TYPEDEF_P(NODE) \ - (DECL_LANG_FLAG_2 (NODE) = 1) -#define DECL_SELF_REFERENCE_P(NODE) \ - (TREE_CODE (NODE) == TYPE_DECL && DECL_LANG_FLAG_4 (NODE)) -#define SET_DECL_SELF_REFERENCE_P(NODE) \ - (DECL_LANG_FLAG_4 (NODE) = 1) - -/* A `primary' template is one that has its own template header and is not - a partial specialization. A member function of a class template is a - template, but not primary. A member template is primary. Friend - templates are primary, too. */ - -/* Returns the primary template corresponding to these parameters. */ -#define TPARMS_PRIMARY_TEMPLATE(NODE) (TREE_TYPE (NODE)) - -#define DECL_PRIMARY_TEMPLATE(NODE) \ - (TPARMS_PRIMARY_TEMPLATE (DECL_INNERMOST_TEMPLATE_PARMS (NODE))) - -/* Returns nonzero if NODE is a primary template. */ -#define PRIMARY_TEMPLATE_P(NODE) (DECL_PRIMARY_TEMPLATE (NODE) == (NODE)) - -/* Nonzero iff NODE is a specialization of a template. The value - indicates the type of specializations: - - 1=implicit instantiation - - 2=partial or explicit specialization, e.g.: - - template <> int min (int, int), - - 3=explicit instantiation, e.g.: - - template int min (int, int); - - Note that NODE will be marked as a specialization even if the - template it is instantiating is not a primary template. For - example, given: - - template struct O { - void f(); - struct I {}; - }; - - both O::f and O::I will be marked as instantiations. - - If DECL_USE_TEMPLATE is nonzero, then DECL_TEMPLATE_INFO will also - be non-NULL. */ -#define DECL_USE_TEMPLATE(NODE) (DECL_LANG_SPECIFIC (NODE)->u.base.use_template) - -/* Like DECL_USE_TEMPLATE, but for class types. */ -#define CLASSTYPE_USE_TEMPLATE(NODE) \ - (LANG_TYPE_CLASS_CHECK (NODE)->use_template) - -/* True if NODE is a specialization of a primary template. */ -#define CLASSTYPE_SPECIALIZATION_OF_PRIMARY_TEMPLATE_P(NODE) \ - (CLASS_TYPE_P (NODE) \ - && CLASSTYPE_USE_TEMPLATE (NODE) \ - && PRIMARY_TEMPLATE_P (CLASSTYPE_TI_TEMPLATE (NODE))) - -#define DECL_TEMPLATE_INSTANTIATION(NODE) (DECL_USE_TEMPLATE (NODE) & 1) -#define CLASSTYPE_TEMPLATE_INSTANTIATION(NODE) \ - (CLASSTYPE_USE_TEMPLATE (NODE) & 1) - -#define DECL_TEMPLATE_SPECIALIZATION(NODE) (DECL_USE_TEMPLATE (NODE) == 2) -#define SET_DECL_TEMPLATE_SPECIALIZATION(NODE) (DECL_USE_TEMPLATE (NODE) = 2) - -/* Returns true for an explicit or partial specialization of a class - template. */ -#define CLASSTYPE_TEMPLATE_SPECIALIZATION(NODE) \ - (CLASSTYPE_USE_TEMPLATE (NODE) == 2) -#define SET_CLASSTYPE_TEMPLATE_SPECIALIZATION(NODE) \ - (CLASSTYPE_USE_TEMPLATE (NODE) = 2) - -#define DECL_IMPLICIT_INSTANTIATION(NODE) (DECL_USE_TEMPLATE (NODE) == 1) -#define SET_DECL_IMPLICIT_INSTANTIATION(NODE) (DECL_USE_TEMPLATE (NODE) = 1) -#define CLASSTYPE_IMPLICIT_INSTANTIATION(NODE) \ - (CLASSTYPE_USE_TEMPLATE (NODE) == 1) -#define SET_CLASSTYPE_IMPLICIT_INSTANTIATION(NODE) \ - (CLASSTYPE_USE_TEMPLATE (NODE) = 1) - -#define DECL_EXPLICIT_INSTANTIATION(NODE) (DECL_USE_TEMPLATE (NODE) == 3) -#define SET_DECL_EXPLICIT_INSTANTIATION(NODE) (DECL_USE_TEMPLATE (NODE) = 3) -#define CLASSTYPE_EXPLICIT_INSTANTIATION(NODE) \ - (CLASSTYPE_USE_TEMPLATE (NODE) == 3) -#define SET_CLASSTYPE_EXPLICIT_INSTANTIATION(NODE) \ - (CLASSTYPE_USE_TEMPLATE (NODE) = 3) - -/* Nonzero if DECL is a friend function which is an instantiation - from the point of view of the compiler, but not from the point of - view of the language. For example given: - template struct S { friend void f(T) {}; }; - the declaration of `void f(int)' generated when S is - instantiated will not be a DECL_TEMPLATE_INSTANTIATION, but will be - a DECL_FRIEND_PSEUDO_TEMPLATE_INSTANTIATION. */ -#define DECL_FRIEND_PSEUDO_TEMPLATE_INSTANTIATION(DECL) \ - (DECL_LANG_SPECIFIC (DECL) && DECL_TEMPLATE_INFO (DECL) \ - && !DECL_USE_TEMPLATE (DECL)) - -/* Nonzero if DECL is a function generated from a function 'temploid', - i.e. template, member of class template, or dependent friend. */ -#define DECL_TEMPLOID_INSTANTIATION(DECL) \ - (DECL_TEMPLATE_INSTANTIATION (DECL) \ - || DECL_FRIEND_PSEUDO_TEMPLATE_INSTANTIATION (DECL)) - -/* Nonzero if DECL is either defined implicitly by the compiler or - generated from a temploid. */ -#define DECL_GENERATED_P(DECL) \ - (DECL_TEMPLOID_INSTANTIATION (DECL) || DECL_DEFAULTED_FN (DECL)) - -/* Nonzero iff we are currently processing a declaration for an - entity with its own template parameter list, and which is not a - full specialization. */ -#define PROCESSING_REAL_TEMPLATE_DECL_P() \ - (!processing_template_parmlist \ - && current_template_depth > template_class_depth (current_scope ())) - -/* Nonzero if this VAR_DECL or FUNCTION_DECL has already been - instantiated, i.e. its definition has been generated from the - pattern given in the template. */ -#define DECL_TEMPLATE_INSTANTIATED(NODE) \ - DECL_LANG_FLAG_1 (VAR_OR_FUNCTION_DECL_CHECK (NODE)) - -/* We know what we're doing with this decl now. */ -#define DECL_INTERFACE_KNOWN(NODE) DECL_LANG_FLAG_5 (NODE) - -/* DECL_EXTERNAL must be set on a decl until the decl is actually emitted, - so that assemble_external will work properly. So we have this flag to - tell us whether the decl is really not external. - - This flag does not indicate whether or not the decl is defined in the - current translation unit; it indicates whether or not we should emit the - decl at the end of compilation if it is defined and needed. */ -#define DECL_NOT_REALLY_EXTERN(NODE) \ - (DECL_LANG_SPECIFIC (NODE)->u.base.not_really_extern) - -#define DECL_REALLY_EXTERN(NODE) \ - (DECL_EXTERNAL (NODE) \ - && (!DECL_LANG_SPECIFIC (NODE) || !DECL_NOT_REALLY_EXTERN (NODE))) - -/* A thunk is a stub function. - - A thunk is an alternate entry point for an ordinary FUNCTION_DECL. - The address of the ordinary FUNCTION_DECL is given by the - DECL_INITIAL, which is always an ADDR_EXPR whose operand is a - FUNCTION_DECL. The job of the thunk is to either adjust the this - pointer before transferring control to the FUNCTION_DECL, or call - FUNCTION_DECL and then adjust the result value. Note, the result - pointer adjusting thunk must perform a call to the thunked - function, (or be implemented via passing some invisible parameter - to the thunked function, which is modified to perform the - adjustment just before returning). - - A thunk may perform either, or both, of the following operations: - - o Adjust the this or result pointer by a constant offset. - o Adjust the this or result pointer by looking up a vcall or vbase offset - in the vtable. - - A this pointer adjusting thunk converts from a base to a derived - class, and hence adds the offsets. A result pointer adjusting thunk - converts from a derived class to a base, and hence subtracts the - offsets. If both operations are performed, then the constant - adjustment is performed first for this pointer adjustment and last - for the result pointer adjustment. - - The constant adjustment is given by THUNK_FIXED_OFFSET. If the - vcall or vbase offset is required, THUNK_VIRTUAL_OFFSET is - used. For this pointer adjusting thunks, it is the vcall offset - into the vtable. For result pointer adjusting thunks it is the - binfo of the virtual base to convert to. Use that binfo's vbase - offset. - - It is possible to have equivalent covariant thunks. These are - distinct virtual covariant thunks whose vbase offsets happen to - have the same value. THUNK_ALIAS is used to pick one as the - canonical thunk, which will get all the this pointer adjusting - thunks attached to it. */ - -/* An integer indicating how many bytes should be subtracted from the - this or result pointer when this function is called. */ -#define THUNK_FIXED_OFFSET(DECL) \ - (DECL_LANG_SPECIFIC (THUNK_FUNCTION_CHECK (DECL))->u.fn.u5.fixed_offset) - -/* A tree indicating how to perform the virtual adjustment. For a this - adjusting thunk it is the number of bytes to be added to the vtable - to find the vcall offset. For a result adjusting thunk, it is the - binfo of the relevant virtual base. If NULL, then there is no - virtual adjust. (The vptr is always located at offset zero from - the this or result pointer.) (If the covariant type is within the - class hierarchy being laid out, the vbase index is not yet known - at the point we need to create the thunks, hence the need to use - binfos.) */ - -#define THUNK_VIRTUAL_OFFSET(DECL) \ - (LANG_DECL_MIN_CHECK (FUNCTION_DECL_CHECK (DECL))->access) - -/* A thunk which is equivalent to another thunk. */ -#define THUNK_ALIAS(DECL) \ - (DECL_LANG_SPECIFIC (FUNCTION_DECL_CHECK (DECL))->u.min.template_info) - -/* For thunk NODE, this is the FUNCTION_DECL thunked to. It is - possible for the target to be a thunk too. */ -#define THUNK_TARGET(NODE) \ - (LANG_DECL_FN_CHECK (NODE)->befriending_classes) - -/* True for a SCOPE_REF iff the "template" keyword was used to - indicate that the qualified name denotes a template. */ -#define QUALIFIED_NAME_IS_TEMPLATE(NODE) \ - (TREE_LANG_FLAG_1 (SCOPE_REF_CHECK (NODE))) - -/* [coroutines] -*/ - -/* True if NODE is a co-routine FUNCTION_DECL. */ -#define DECL_COROUTINE_P(NODE) \ - (LANG_DECL_FN_CHECK (DECL_COMMON_CHECK (NODE))->coroutine_p) - -/* For a FUNCTION_DECL of a coroutine, this holds the ACTOR helper function - decl. */ -#define DECL_ACTOR_FN(NODE) \ - (coro_get_actor_function ((NODE))) - -/* For a FUNCTION_DECL of a coroutine, this holds the DESTROY helper function - decl. */ -#define DECL_DESTROY_FN(NODE) \ - (coro_get_destroy_function ((NODE))) - -/* For a FUNCTION_DECL of a coroutine helper (ACTOR or DESTROY), this points - back to the original (ramp) function. */ -#define DECL_RAMP_FN(NODE) \ - (coro_get_ramp_function (NODE)) - -/* True for an OMP_ATOMIC that has dependent parameters. These are stored - as an expr in operand 1, and integer_zero_node or clauses in operand 0. */ -#define OMP_ATOMIC_DEPENDENT_P(NODE) \ - (TREE_CODE (TREE_OPERAND (OMP_ATOMIC_CHECK (NODE), 0)) == INTEGER_CST \ - || TREE_CODE (TREE_OPERAND (OMP_ATOMIC_CHECK (NODE), 0)) == OMP_CLAUSE) - -/* Used while gimplifying continue statements bound to OMP_FOR nodes. */ -#define OMP_FOR_GIMPLIFYING_P(NODE) \ - (TREE_LANG_FLAG_0 (OMP_LOOPING_CHECK (NODE))) - -/* A language-specific token attached to the OpenMP data clauses to - hold code (or code fragments) related to ctors, dtors, and op=. - See semantics.cc for details. */ -#define CP_OMP_CLAUSE_INFO(NODE) \ - TREE_TYPE (OMP_CLAUSE_RANGE_CHECK (NODE, OMP_CLAUSE_PRIVATE, \ - OMP_CLAUSE__CONDTEMP_)) - -/* Nonzero if this transaction expression's body contains statements. */ -#define TRANSACTION_EXPR_IS_STMT(NODE) \ - TREE_LANG_FLAG_0 (TRANSACTION_EXPR_CHECK (NODE)) - -/* These macros provide convenient access to the various _STMT nodes - created when parsing template declarations. */ -#define TRY_STMTS(NODE) TREE_OPERAND (TRY_BLOCK_CHECK (NODE), 0) -#define TRY_HANDLERS(NODE) TREE_OPERAND (TRY_BLOCK_CHECK (NODE), 1) - -#define EH_SPEC_STMTS(NODE) TREE_OPERAND (EH_SPEC_BLOCK_CHECK (NODE), 0) -#define EH_SPEC_RAISES(NODE) TREE_OPERAND (EH_SPEC_BLOCK_CHECK (NODE), 1) - -#define USING_STMT_NAMESPACE(NODE) TREE_OPERAND (USING_STMT_CHECK (NODE), 0) - -/* Nonzero if this try block is a function try block. */ -#define FN_TRY_BLOCK_P(NODE) TREE_LANG_FLAG_3 (TRY_BLOCK_CHECK (NODE)) -#define HANDLER_PARMS(NODE) TREE_OPERAND (HANDLER_CHECK (NODE), 0) -#define HANDLER_BODY(NODE) TREE_OPERAND (HANDLER_CHECK (NODE), 1) -#define HANDLER_TYPE(NODE) TREE_TYPE (HANDLER_CHECK (NODE)) - -/* CLEANUP_STMT accessors. The statement(s) covered, the cleanup to run - and the VAR_DECL for which this cleanup exists. */ -#define CLEANUP_BODY(NODE) TREE_OPERAND (CLEANUP_STMT_CHECK (NODE), 0) -#define CLEANUP_EXPR(NODE) TREE_OPERAND (CLEANUP_STMT_CHECK (NODE), 1) -#define CLEANUP_DECL(NODE) TREE_OPERAND (CLEANUP_STMT_CHECK (NODE), 2) - -/* IF_STMT accessors. These give access to the condition of the if - statement, the then block of the if statement, and the else block - of the if statement if it exists. */ -#define IF_COND(NODE) TREE_OPERAND (IF_STMT_CHECK (NODE), 0) -#define THEN_CLAUSE(NODE) TREE_OPERAND (IF_STMT_CHECK (NODE), 1) -#define ELSE_CLAUSE(NODE) TREE_OPERAND (IF_STMT_CHECK (NODE), 2) -#define IF_SCOPE(NODE) TREE_OPERAND (IF_STMT_CHECK (NODE), 3) -#define IF_STMT_CONSTEXPR_P(NODE) TREE_LANG_FLAG_0 (IF_STMT_CHECK (NODE)) -#define IF_STMT_CONSTEVAL_P(NODE) TREE_LANG_FLAG_2 (IF_STMT_CHECK (NODE)) - -/* Like PACK_EXPANSION_EXTRA_ARGS, for constexpr if. IF_SCOPE is used while - building an IF_STMT; IF_STMT_EXTRA_ARGS is used after it is complete. */ -#define IF_STMT_EXTRA_ARGS(NODE) IF_SCOPE (NODE) - -/* RANGE_FOR_STMT accessors. These give access to the declarator, - expression, body, and scope of the statement, respectively. */ -#define RANGE_FOR_DECL(NODE) TREE_OPERAND (RANGE_FOR_STMT_CHECK (NODE), 0) -#define RANGE_FOR_EXPR(NODE) TREE_OPERAND (RANGE_FOR_STMT_CHECK (NODE), 1) -#define RANGE_FOR_BODY(NODE) TREE_OPERAND (RANGE_FOR_STMT_CHECK (NODE), 2) -#define RANGE_FOR_SCOPE(NODE) TREE_OPERAND (RANGE_FOR_STMT_CHECK (NODE), 3) -#define RANGE_FOR_UNROLL(NODE) TREE_OPERAND (RANGE_FOR_STMT_CHECK (NODE), 4) -#define RANGE_FOR_INIT_STMT(NODE) TREE_OPERAND (RANGE_FOR_STMT_CHECK (NODE), 5) -#define RANGE_FOR_IVDEP(NODE) TREE_LANG_FLAG_6 (RANGE_FOR_STMT_CHECK (NODE)) - -/* STMT_EXPR accessor. */ -#define STMT_EXPR_STMT(NODE) TREE_OPERAND (STMT_EXPR_CHECK (NODE), 0) - -/* EXPR_STMT accessor. This gives the expression associated with an - expression statement. */ -#define EXPR_STMT_EXPR(NODE) TREE_OPERAND (EXPR_STMT_CHECK (NODE), 0) - -/* True if this TARGET_EXPR was created by build_cplus_new, and so we can - discard it if it isn't useful. */ -#define TARGET_EXPR_IMPLICIT_P(NODE) \ - TREE_LANG_FLAG_0 (TARGET_EXPR_CHECK (NODE)) - -/* True if this TARGET_EXPR is the result of list-initialization of a - temporary. */ -#define TARGET_EXPR_LIST_INIT_P(NODE) \ - TREE_LANG_FLAG_1 (TARGET_EXPR_CHECK (NODE)) - -/* True if this TARGET_EXPR expresses direct-initialization of an object - to be named later. */ -#define TARGET_EXPR_DIRECT_INIT_P(NODE) \ - TREE_LANG_FLAG_2 (TARGET_EXPR_CHECK (NODE)) - -/* True if we expect this TARGET_EXPR to be used as an initializer, not to - materialize as a temporary. */ -#define TARGET_EXPR_ELIDING_P(NODE) \ - TREE_LANG_FLAG_3 (TARGET_EXPR_CHECK (NODE)) - -/* True if NODE is a TARGET_EXPR that just expresses a copy of its INITIAL; if - the initializer has void type, it's doing something more complicated. */ -#define SIMPLE_TARGET_EXPR_P(NODE) \ - (TREE_CODE (NODE) == TARGET_EXPR \ - && TARGET_EXPR_INITIAL (NODE) \ - && !VOID_TYPE_P (TREE_TYPE (TARGET_EXPR_INITIAL (NODE)))) - -/* True if T is a TARGET_EXPR for which we'll need to replace_decl to use it as - an initializer. */ -inline bool -target_expr_needs_replace (tree t) -{ - if (!t || TREE_CODE (t) != TARGET_EXPR) - return false; - tree init = TARGET_EXPR_INITIAL (t); - if (!init || !VOID_TYPE_P (TREE_TYPE (init))) - return false; - while (TREE_CODE (init) == COMPOUND_EXPR) - init = TREE_OPERAND (init, 1); - return (TREE_CODE (init) != AGGR_INIT_EXPR - && TREE_CODE (init) != VEC_INIT_EXPR); -} - -/* True if EXPR expresses direct-initialization of a TYPE. */ -#define DIRECT_INIT_EXPR_P(TYPE,EXPR) \ - (TREE_CODE (EXPR) == TARGET_EXPR && TREE_LANG_FLAG_2 (EXPR) \ - && same_type_ignoring_top_level_qualifiers_p (TYPE, TREE_TYPE (EXPR))) - -/* True if this CONVERT_EXPR is for a conversion to virtual base in - an NSDMI, and should be re-evaluated when used in a constructor. */ -#define CONVERT_EXPR_VBASE_PATH(NODE) \ - TREE_LANG_FLAG_0 (CONVERT_EXPR_CHECK (NODE)) - -/* True if SIZEOF_EXPR argument is type. */ -#define SIZEOF_EXPR_TYPE_P(NODE) \ - TREE_LANG_FLAG_0 (SIZEOF_EXPR_CHECK (NODE)) - -/* True if the ALIGNOF_EXPR was spelled "alignof". */ -#define ALIGNOF_EXPR_STD_P(NODE) \ - TREE_LANG_FLAG_0 (ALIGNOF_EXPR_CHECK (NODE)) - -/* OMP_DEPOBJ accessors. These give access to the depobj expression of the - #pragma omp depobj directive and the clauses, respectively. If - OMP_DEPOBJ_CLAUSES is INTEGER_CST, it is instead the update clause kind - or OMP_CLAUSE_DEPEND_LAST for destroy clause. */ -#define OMP_DEPOBJ_DEPOBJ(NODE) TREE_OPERAND (OMP_DEPOBJ_CHECK (NODE), 0) -#define OMP_DEPOBJ_CLAUSES(NODE) TREE_OPERAND (OMP_DEPOBJ_CHECK (NODE), 1) - -/* An enumeration of the kind of tags that C++ accepts. */ -enum tag_types { - none_type = 0, /* Not a tag type. */ - record_type, /* "struct" types. */ - class_type, /* "class" types. */ - union_type, /* "union" types. */ - enum_type, /* "enum" types. */ - typename_type, /* "typename" types. */ - scope_type /* namespace or tagged type name followed by :: */ -}; - -/* The various kinds of lvalues we distinguish. */ -enum cp_lvalue_kind_flags { - clk_none = 0, /* Things that are not an lvalue. */ - clk_ordinary = 1, /* An ordinary lvalue. */ - clk_rvalueref = 2,/* An xvalue (rvalue formed using an rvalue reference) */ - clk_class = 4, /* A prvalue of class or array type. */ - clk_bitfield = 8, /* An lvalue for a bit-field. */ - clk_packed = 16, /* An lvalue for a packed field. */ - clk_implicit_rval = 1<<5 /* An lvalue being treated as an xvalue. */ -}; - -/* This type is used for parameters and variables which hold - combinations of the flags in enum cp_lvalue_kind_flags. */ -typedef int cp_lvalue_kind; - -/* Various kinds of template specialization, instantiation, etc. */ -enum tmpl_spec_kind { - tsk_none, /* Not a template at all. */ - tsk_invalid_member_spec, /* An explicit member template - specialization, but the enclosing - classes have not all been explicitly - specialized. */ - tsk_invalid_expl_inst, /* An explicit instantiation containing - template parameter lists. */ - tsk_excessive_parms, /* A template declaration with too many - template parameter lists. */ - tsk_insufficient_parms, /* A template declaration with too few - parameter lists. */ - tsk_template, /* A template declaration. */ - tsk_expl_spec, /* An explicit specialization. */ - tsk_expl_inst /* An explicit instantiation. */ -}; - -/* The various kinds of access. BINFO_ACCESS depends on these being - two bit quantities. The numerical values are important; they are - used to initialize RTTI data structures, so changing them changes - the ABI. */ -enum access_kind { - ak_none = 0, /* Inaccessible. */ - ak_public = 1, /* Accessible, as a `public' thing. */ - ak_protected = 2, /* Accessible, as a `protected' thing. */ - ak_private = 3 /* Accessible, as a `private' thing. */ -}; - -/* The various kinds of special functions. If you add to this list, - you should update special_function_p as well. */ -enum special_function_kind { - sfk_none = 0, /* Not a special function. This enumeral - must have value zero; see - special_function_p. */ - /* The following are ordered, for use by member synthesis fns. */ - sfk_destructor, /* A destructor. */ - sfk_constructor, /* A constructor. */ - sfk_inheriting_constructor, /* An inheriting constructor */ - sfk_copy_constructor, /* A copy constructor. */ - sfk_move_constructor, /* A move constructor. */ - sfk_copy_assignment, /* A copy assignment operator. */ - sfk_move_assignment, /* A move assignment operator. */ - /* The following are unordered. */ - sfk_complete_destructor, /* A destructor for complete objects. */ - sfk_base_destructor, /* A destructor for base subobjects. */ - sfk_deleting_destructor, /* A destructor for complete objects that - deletes the object after it has been - destroyed. */ - sfk_conversion, /* A conversion operator. */ - sfk_deduction_guide, /* A class template deduction guide. */ - sfk_comparison, /* A comparison operator (e.g. ==, <, <=>). */ - sfk_virtual_destructor /* Used by member synthesis fns. */ -}; - -/* The various kinds of linkage. From [basic.link], - - A name is said to have linkage when it might denote the same - object, reference, function, type, template, namespace or value - as a name introduced in another scope: - - -- When a name has external linkage, the entity it denotes can - be referred to from scopes of other translation units or from - other scopes of the same translation unit. - - -- When a name has internal linkage, the entity it denotes can - be referred to by names from other scopes in the same - translation unit. - - -- When a name has no linkage, the entity it denotes cannot be - referred to by names from other scopes. */ - -enum linkage_kind { - lk_none, /* No linkage. */ - lk_internal, /* Internal linkage. */ - lk_external /* External linkage. */ -}; - -enum duration_kind { - dk_static, - dk_thread, - dk_auto, - dk_dynamic -}; - -/* Bitmask flags to control type substitution. */ -enum tsubst_flags { - tf_none = 0, /* nothing special */ - tf_error = 1 << 0, /* give error messages */ - tf_warning = 1 << 1, /* give warnings too */ - tf_ignore_bad_quals = 1 << 2, /* ignore bad cvr qualifiers */ - tf_keep_type_decl = 1 << 3, /* retain typedef type decls - (make_typename_type use) */ - tf_ptrmem_ok = 1 << 4, /* pointers to member ok (internal - instantiate_type use) */ - tf_user = 1 << 5, /* found template must be a user template - (lookup_template_class use) */ - tf_conv = 1 << 6, /* We are determining what kind of - conversion might be permissible, - not actually performing the - conversion. */ - tf_decltype = 1 << 7, /* We are the operand of decltype. - Used to implement the special rules - for calls in decltype (5.2.2/11). */ - tf_partial = 1 << 8, /* Doing initial explicit argument - substitution in fn_type_unification. */ - tf_fndecl_type = 1 << 9, /* Substituting the type of a function - declaration. */ - tf_no_cleanup = 1 << 10, /* Do not build a cleanup - (build_target_expr and friends) */ - tf_norm = 1 << 11, /* Build diagnostic information during - constraint normalization. */ - tf_tst_ok = 1 << 12, /* Allow a typename-specifier to name - a template (C++17 or later). */ - tf_dguide = 1 << 13, /* Building a deduction guide from a ctor. */ - tf_qualifying_scope = 1 << 14, /* Substituting the LHS of the :: operator. - Affects TYPENAME_TYPE resolution from - make_typename_type. */ - /* Convenient substitution flags combinations. */ - tf_warning_or_error = tf_warning | tf_error -}; - -/* This type is used for parameters and variables which hold - combinations of the flags in enum tsubst_flags. */ -typedef int tsubst_flags_t; - -/* The kind of checking we can do looking in a class hierarchy. */ -enum base_access_flags { - ba_any = 0, /* Do not check access, allow an ambiguous base, - prefer a non-virtual base */ - ba_unique = 1 << 0, /* Must be a unique base. */ - ba_check_bit = 1 << 1, /* Check access. */ - ba_check = ba_unique | ba_check_bit, - ba_ignore_scope = 1 << 2 /* Ignore access allowed by local scope. */ -}; - -/* This type is used for parameters and variables which hold - combinations of the flags in enum base_access_flags. */ -typedef int base_access; - -/* The various kinds of access check during parsing. */ -enum deferring_kind { - dk_no_deferred = 0, /* Check access immediately */ - dk_deferred = 1, /* Deferred check */ - dk_no_check = 2 /* No access check */ -}; - -/* The kind of base we can find, looking in a class hierarchy. - Values <0 indicate we failed. */ -enum base_kind { - bk_inaccessible = -3, /* The base is inaccessible */ - bk_ambig = -2, /* The base is ambiguous */ - bk_not_base = -1, /* It is not a base */ - bk_same_type = 0, /* It is the same type */ - bk_proper_base = 1, /* It is a proper base */ - bk_via_virtual = 2 /* It is a proper base, but via a virtual - path. This might not be the canonical - binfo. */ -}; - -/* Node for "pointer to (virtual) function". - This may be distinct from ptr_type_node so gdb can distinguish them. */ -#define vfunc_ptr_type_node vtable_entry_type - - -/* For building calls to `delete'. */ -extern GTY(()) tree integer_two_node; - -/* The number of function bodies which we are currently processing. - (Zero if we are at namespace scope, one inside the body of a - function, two inside the body of a function in a local class, etc.) */ -extern int function_depth; - -/* Nonzero if we are inside spec_hasher::equal, which affects - comparison of PARM_DECLs in cp_tree_equal. */ -extern int comparing_specializations; - -/* Nonzero if we want different dependent aliases to compare as unequal. - FIXME we should always do this except during deduction/ordering. */ -extern int comparing_dependent_aliases; - -/* Nonzero if we want to consider different member expressions to compare - equal if they designate the same entity. This is set when comparing - contract conditions of overrides. */ -extern bool comparing_override_contracts; - -/* In parser.cc. */ - -/* Nonzero if we are parsing an unevaluated operand: an operand to - sizeof, typeof, or alignof. This is a count since operands to - sizeof can be nested. */ - -extern int cp_unevaluated_operand; - -/* RAII class used to inhibit the evaluation of operands during parsing - and template instantiation. Evaluation warnings are also inhibited. */ - -class cp_unevaluated -{ -public: - cp_unevaluated (); - ~cp_unevaluated (); -}; - -/* The reverse: an RAII class used for nested contexts that are evaluated even - if the enclosing context is not. */ - -class cp_evaluated -{ -public: - int uneval; - int inhibit; - cp_evaluated (bool reset = true) - : uneval(cp_unevaluated_operand), inhibit(c_inhibit_evaluation_warnings) - { if (reset) - cp_unevaluated_operand = c_inhibit_evaluation_warnings = 0; } - ~cp_evaluated () - { cp_unevaluated_operand = uneval; - c_inhibit_evaluation_warnings = inhibit; } -}; - -/* in pt.cc */ - -/* These values are used for the `STRICT' parameter to type_unification and - fn_type_unification. Their meanings are described with the - documentation for fn_type_unification. */ - -enum unification_kind_t { - DEDUCE_CALL, - DEDUCE_CONV, - DEDUCE_EXACT -}; - -// An RAII class used to create a new pointer map for local -// specializations. When the stack goes out of scope, the -// previous pointer map is restored. -enum lss_policy { lss_blank, lss_copy, lss_nop }; -class local_specialization_stack -{ -public: - local_specialization_stack (lss_policy = lss_blank); - ~local_specialization_stack (); - - hash_map *saved; -}; - -/* Entry in the specialization hash table. */ -struct GTY((for_user)) spec_entry -{ - tree tmpl; /* The general template this is a specialization of. */ - tree args; /* The args for this (maybe-partial) specialization. */ - tree spec; /* The specialization itself. */ -}; - -/* in class.cc */ - -extern int current_class_depth; - -/* in decl.cc */ - -/* An array of static vars & fns. */ -extern GTY(()) vec *static_decls; - -/* An array of vtable-needing types that have no key function, or have - an emitted key function. */ -extern GTY(()) vec *keyed_classes; - -/* Here's where we control how name mangling takes place. */ - -/* Cannot use '$' up front, because this confuses gdb - (names beginning with '$' are gdb-local identifiers). - - Note that all forms in which the '$' is significant are long enough - for direct indexing (meaning that if we know there is a '$' - at a particular location, we can index into the string at - any other location that provides distinguishing characters). */ - -/* Define NO_DOT_IN_LABEL in your favorite tm file if your assembler - doesn't allow '.' in symbol names. */ -#ifndef NO_DOT_IN_LABEL - -#define JOINER '.' -#define JOIN_STR "." - -#define AUTO_TEMP_NAME "_.tmp_" -#define VFIELD_BASE ".vf" -#define VFIELD_NAME "_vptr." -#define VFIELD_NAME_FORMAT "_vptr.%s" - -#else /* NO_DOT_IN_LABEL */ - -#ifndef NO_DOLLAR_IN_LABEL - -#define JOINER '$' -#define JOIN_STR "$" - -#define AUTO_TEMP_NAME "_$tmp_" -#define VFIELD_BASE "$vf" -#define VFIELD_NAME "_vptr$" -#define VFIELD_NAME_FORMAT "_vptr$%s" - -#else /* NO_DOLLAR_IN_LABEL */ - -#define JOIN_STR "_" - -#define VTABLE_NAME "__vt_" -#define VTABLE_NAME_P(ID_NODE) \ - (!strncmp (IDENTIFIER_POINTER (ID_NODE), VTABLE_NAME, \ - sizeof (VTABLE_NAME) - 1)) -#define VFIELD_BASE "__vfb" -#define VFIELD_NAME "__vptr_" -#define VFIELD_NAME_P(ID_NODE) \ - (!strncmp (IDENTIFIER_POINTER (ID_NODE), VFIELD_NAME, \ - sizeof (VFIELD_NAME) - 1)) -#define VFIELD_NAME_FORMAT "__vptr_%s" - -#endif /* NO_DOLLAR_IN_LABEL */ -#endif /* NO_DOT_IN_LABEL */ - -#define UDLIT_OP_ANSI_PREFIX "operator\"\"" -#define UDLIT_OP_ANSI_FORMAT UDLIT_OP_ANSI_PREFIX "%s" -#define UDLIT_OP_MANGLED_PREFIX "li" -#define UDLIT_OP_MANGLED_FORMAT UDLIT_OP_MANGLED_PREFIX "%s" -#define UDLIT_OPER_P(ID_NODE) \ - (!strncmp (IDENTIFIER_POINTER (ID_NODE), \ - UDLIT_OP_ANSI_PREFIX, \ - sizeof (UDLIT_OP_ANSI_PREFIX) - 1)) -#define UDLIT_OP_SUFFIX(ID_NODE) \ - (IDENTIFIER_POINTER (ID_NODE) + sizeof (UDLIT_OP_ANSI_PREFIX) - 1) - -#if !defined(NO_DOLLAR_IN_LABEL) || !defined(NO_DOT_IN_LABEL) - -#define VTABLE_NAME_P(ID_NODE) (IDENTIFIER_POINTER (ID_NODE)[1] == 'v' \ - && IDENTIFIER_POINTER (ID_NODE)[2] == 't' \ - && IDENTIFIER_POINTER (ID_NODE)[3] == JOINER) - -#define VFIELD_NAME_P(ID_NODE) \ - (!strncmp (IDENTIFIER_POINTER (ID_NODE), VFIELD_NAME, sizeof(VFIELD_NAME)-1)) - -#endif /* !defined(NO_DOLLAR_IN_LABEL) || !defined(NO_DOT_IN_LABEL) */ - - -/* Nonzero if we're done parsing and into end-of-file activities. - Two if we're done with front-end processing. */ - -extern int at_eof; - -/* True if note_mangling_alias should enqueue mangling aliases for - later generation, rather than emitting them right away. */ - -extern bool defer_mangling_aliases; - -/* True if noexcept is part of the type (i.e. in C++17). */ - -extern bool flag_noexcept_type; - -/* A list of namespace-scope objects which have constructors or - destructors which reside in the global scope. The decl is stored - in the TREE_VALUE slot and the initializer is stored in the - TREE_PURPOSE slot. */ -extern GTY(()) tree static_aggregates; -/* Likewise, for thread local storage. */ -extern GTY(()) tree tls_aggregates; - -/* A hash-map mapping from variable decls to the dynamic initializer for - the decl. This is currently only used by OpenMP. */ -extern GTY(()) decl_tree_map *dynamic_initializers; - -enum overload_flags { NO_SPECIAL = 0, DTOR_FLAG, TYPENAME_FLAG }; - -/* These are uses as bits in flags passed to various functions to - control their behavior. Despite the LOOKUP_ prefix, many of these - do not control name lookup. ??? Functions using these flags should - probably be modified to accept explicit boolean flags for the - behaviors relevant to them. */ -/* Check for access violations. */ -#define LOOKUP_PROTECT (1 << 0) -#define LOOKUP_NORMAL (LOOKUP_PROTECT) -/* Even if the function found by lookup is a virtual function, it - should be called directly. */ -#define LOOKUP_NONVIRTUAL (1 << 1) -/* Non-converting (i.e., "explicit") constructors are not tried. This flag - indicates that we are not performing direct-initialization. */ -#define LOOKUP_ONLYCONVERTING (1 << 2) -#define LOOKUP_IMPLICIT (LOOKUP_NORMAL | LOOKUP_ONLYCONVERTING) -/* If a temporary is created, it should be created so that it lives - as long as the current variable bindings; otherwise it only lives - until the end of the complete-expression. It also forces - direct-initialization in cases where other parts of the compiler - have already generated a temporary, such as reference - initialization and the catch parameter. */ -#define DIRECT_BIND (1 << 3) -/* We're performing a user-defined conversion, so more user-defined - conversions are not permitted (only built-in conversions). */ -#define LOOKUP_NO_CONVERSION (1 << 4) -/* The user has explicitly called a destructor. (Therefore, we do - not need to check that the object is non-NULL before calling the - destructor.) */ -#define LOOKUP_DESTRUCTOR (1 << 5) -/* Do not permit references to bind to temporaries. */ -#define LOOKUP_NO_TEMP_BIND (1 << 6) -/* We're inside an init-list, so narrowing conversions are ill-formed. */ -#define LOOKUP_NO_NARROWING (LOOKUP_NO_TEMP_BIND << 1) -/* We're looking up a constructor for list-initialization. */ -#define LOOKUP_LIST_INIT_CTOR (LOOKUP_NO_NARROWING << 1) -/* This is the first parameter of a copy constructor. */ -#define LOOKUP_COPY_PARM (LOOKUP_LIST_INIT_CTOR << 1) -/* We only want to consider list constructors. */ -#define LOOKUP_LIST_ONLY (LOOKUP_COPY_PARM << 1) -/* Return after determining which function to call and checking access. - Used by sythesized_method_walk to determine which functions will - be called to initialize subobjects, in order to determine exception - specification and possible implicit delete. - This is kind of a hack, but exiting early avoids problems with trying - to perform argument conversions when the class isn't complete yet. */ -#define LOOKUP_SPECULATIVE (LOOKUP_LIST_ONLY << 1) -/* Used by calls from defaulted functions to limit the overload set to avoid - cycles trying to declare them (core issue 1092). */ -#define LOOKUP_DEFAULTED (LOOKUP_SPECULATIVE << 1) -/* Used in calls to store_init_value to suppress its usual call to - digest_init. */ -#define LOOKUP_ALREADY_DIGESTED (LOOKUP_DEFAULTED << 1) -/* Like LOOKUP_NO_TEMP_BIND, but also prevent binding to xvalues. */ -#define LOOKUP_NO_RVAL_BIND (LOOKUP_ALREADY_DIGESTED << 1) -/* Used by case_conversion to disregard non-integral conversions. */ -#define LOOKUP_NO_NON_INTEGRAL (LOOKUP_NO_RVAL_BIND << 1) -/* Used for delegating constructors in order to diagnose self-delegation. */ -#define LOOKUP_DELEGATING_CONS (LOOKUP_NO_NON_INTEGRAL << 1) -/* Allow initialization of a flexible array members. */ -#define LOOKUP_ALLOW_FLEXARRAY_INIT (LOOKUP_DELEGATING_CONS << 1) -/* We're looking for either a rewritten comparison operator candidate or the - operator to use on the former's result. We distinguish between the two by - knowing that comparisons other than == and <=> must be the latter, as must - a <=> expression trying to rewrite to <=> without reversing. */ -#define LOOKUP_REWRITTEN (LOOKUP_ALLOW_FLEXARRAY_INIT << 1) -/* Reverse the order of the two arguments for comparison rewriting. First we - swap the arguments in add_operator_candidates, then we swap the conversions - in add_candidate (so that they correspond to the original order of the - args), then we swap the conversions back in build_new_op_1 (so they - correspond to the order of the args in the candidate). */ -#define LOOKUP_REVERSED (LOOKUP_REWRITTEN << 1) -/* We're initializing an aggregate from a parenthesized list of values. */ -#define LOOKUP_AGGREGATE_PAREN_INIT (LOOKUP_REVERSED << 1) -/* We're computing conversions as part of a first pass of overload resolution - wherein we don't try to distinguish an unviable candidate from a - non-strictly viable candidate and thus can avoid computing unnecessary - bad conversions. */ -#define LOOKUP_SHORTCUT_BAD_CONVS (LOOKUP_AGGREGATE_PAREN_INIT << 1) - -/* These flags are used by the conversion code. - CONV_IMPLICIT : Perform implicit conversions (standard and user-defined). - CONV_STATIC : Perform the explicit conversions for static_cast. - CONV_CONST : Perform the explicit conversions for const_cast. - CONV_REINTERPRET: Perform the explicit conversions for reinterpret_cast. - CONV_PRIVATE : Perform upcasts to private bases. - CONV_FORCE_TEMP : Require a new temporary when converting to the same - aggregate type. */ - -#define CONV_IMPLICIT 1 -#define CONV_STATIC 2 -#define CONV_CONST 4 -#define CONV_REINTERPRET 8 -#define CONV_PRIVATE 16 -#define CONV_FORCE_TEMP 32 -#define CONV_FOLD 64 -#define CONV_OLD_CONVERT (CONV_IMPLICIT | CONV_STATIC | CONV_CONST \ - | CONV_REINTERPRET) -#define CONV_C_CAST (CONV_IMPLICIT | CONV_STATIC | CONV_CONST \ - | CONV_REINTERPRET | CONV_PRIVATE | CONV_FORCE_TEMP) -#define CONV_BACKEND_CONVERT (CONV_OLD_CONVERT | CONV_FOLD) - -/* Used by build_expr_type_conversion to indicate which types are - acceptable as arguments to the expression under consideration. */ - -#define WANT_INT 1 /* integer types, including bool */ -#define WANT_FLOAT 2 /* floating point types */ -#define WANT_ENUM 4 /* enumerated types */ -#define WANT_POINTER 8 /* pointer types */ -#define WANT_NULL 16 /* null pointer constant */ -#define WANT_VECTOR_OR_COMPLEX 32 /* vector or complex types */ -#define WANT_ARITH (WANT_INT | WANT_FLOAT | WANT_VECTOR_OR_COMPLEX) - -/* Used with comptypes, and related functions, to guide type - comparison. */ - -#define COMPARE_STRICT 0 /* Just check if the types are the - same. */ -#define COMPARE_BASE 1 /* Check to see if the second type is - derived from the first. */ -#define COMPARE_DERIVED 2 /* Like COMPARE_BASE, but in - reverse. */ -#define COMPARE_REDECLARATION 4 /* The comparison is being done when - another declaration of an existing - entity is seen. */ -#define COMPARE_STRUCTURAL 8 /* The comparison is intended to be - structural. The actual comparison - will be identical to - COMPARE_STRICT. */ - -/* Used with start function. */ -#define SF_DEFAULT 0 /* No flags. */ -#define SF_PRE_PARSED 1 /* The function declaration has - already been parsed. */ -#define SF_INCLASS_INLINE 2 /* The function is an inline, defined - in the class body. */ - -/* Used with start_decl's initialized parameter. */ -#define SD_UNINITIALIZED 0 -#define SD_INITIALIZED 1 -/* Like SD_INITIALIZED, but also mark the new decl as DECL_DECOMPOSITION_P. */ -#define SD_DECOMPOSITION 2 -#define SD_DEFAULTED 3 -#define SD_DELETED 4 - -/* Returns nonzero iff TYPE1 and TYPE2 are the same type, or if TYPE2 - is derived from TYPE1, or if TYPE2 is a pointer (reference) to a - class derived from the type pointed to (referred to) by TYPE1. */ -#define same_or_base_type_p(TYPE1, TYPE2) \ - comptypes ((TYPE1), (TYPE2), COMPARE_BASE) - -/* These macros are used to access a TEMPLATE_PARM_INDEX. */ -#define TEMPLATE_PARM_INDEX_CAST(NODE) \ - ((template_parm_index*)TEMPLATE_PARM_INDEX_CHECK (NODE)) -#define TEMPLATE_PARM_IDX(NODE) (TEMPLATE_PARM_INDEX_CAST (NODE)->index) -#define TEMPLATE_PARM_LEVEL(NODE) (TEMPLATE_PARM_INDEX_CAST (NODE)->level) -#define TEMPLATE_PARM_DESCENDANTS(NODE) (TREE_CHAIN (NODE)) -#define TEMPLATE_PARM_ORIG_LEVEL(NODE) (TEMPLATE_PARM_INDEX_CAST (NODE)->orig_level) -#define TEMPLATE_PARM_DECL(NODE) (TEMPLATE_PARM_INDEX_CAST (NODE)->decl) -#define TEMPLATE_PARM_PARAMETER_PACK(NODE) \ - (TREE_LANG_FLAG_0 (TEMPLATE_PARM_INDEX_CHECK (NODE))) - -/* These macros are for accessing the fields of TEMPLATE_TYPE_PARM, - TEMPLATE_TEMPLATE_PARM and BOUND_TEMPLATE_TEMPLATE_PARM nodes. */ -#define TEMPLATE_TYPE_PARM_INDEX(NODE) \ - (TYPE_VALUES_RAW (TREE_CHECK3 ((NODE), TEMPLATE_TYPE_PARM, \ - TEMPLATE_TEMPLATE_PARM, \ - BOUND_TEMPLATE_TEMPLATE_PARM))) -#define TEMPLATE_TYPE_IDX(NODE) \ - (TEMPLATE_PARM_IDX (TEMPLATE_TYPE_PARM_INDEX (NODE))) -#define TEMPLATE_TYPE_LEVEL(NODE) \ - (TEMPLATE_PARM_LEVEL (TEMPLATE_TYPE_PARM_INDEX (NODE))) -#define TEMPLATE_TYPE_ORIG_LEVEL(NODE) \ - (TEMPLATE_PARM_ORIG_LEVEL (TEMPLATE_TYPE_PARM_INDEX (NODE))) -#define TEMPLATE_TYPE_DECL(NODE) \ - (TEMPLATE_PARM_DECL (TEMPLATE_TYPE_PARM_INDEX (NODE))) -#define TEMPLATE_TYPE_PARAMETER_PACK(NODE) \ - (TEMPLATE_PARM_PARAMETER_PACK (TEMPLATE_TYPE_PARM_INDEX (NODE))) - -/* For a C++17 class deduction placeholder, the template it represents. */ -#define CLASS_PLACEHOLDER_TEMPLATE(NODE) \ - (DECL_INITIAL (TYPE_NAME (TEMPLATE_TYPE_PARM_CHECK (NODE)))) - -/* Contexts in which auto deduction occurs. These flags are - used to control diagnostics in do_auto_deduction. */ - -enum auto_deduction_context -{ - adc_unspecified, /* Not given */ - adc_variable_type, /* Variable initializer deduction */ - adc_return_type, /* Return type deduction */ - adc_unify, /* Template argument deduction */ - adc_requirement, /* Argument deduction constraint */ - adc_decomp_type /* Decomposition declaration initializer deduction */ -}; - -/* True iff this TEMPLATE_TYPE_PARM represents decltype(auto). */ -#define AUTO_IS_DECLTYPE(NODE) \ - (TYPE_LANG_FLAG_5 (TEMPLATE_TYPE_PARM_CHECK (NODE))) - -/* These constants can used as bit flags in the process of tree formatting. - - TFF_PLAIN_IDENTIFIER: unqualified part of a name. - TFF_SCOPE: include the class and namespace scope of the name. - TFF_CHASE_TYPEDEF: print the original type-id instead of the typedef-name. - TFF_DECL_SPECIFIERS: print decl-specifiers. - TFF_CLASS_KEY_OR_ENUM: precede a class-type name (resp. enum name) with - a class-key (resp. `enum'). - TFF_RETURN_TYPE: include function return type. - TFF_FUNCTION_DEFAULT_ARGUMENTS: include function default parameter values. - TFF_EXCEPTION_SPECIFICATION: show function exception specification. - TFF_TEMPLATE_HEADER: show the template<...> header in a - template-declaration. - TFF_TEMPLATE_NAME: show only template-name. - TFF_EXPR_IN_PARENS: parenthesize expressions. - TFF_NO_FUNCTION_ARGUMENTS: don't show function arguments. - TFF_UNQUALIFIED_NAME: do not print the qualifying scope of the - top-level entity. - TFF_NO_OMIT_DEFAULT_TEMPLATE_ARGUMENTS: do not omit template arguments - identical to their defaults. - TFF_NO_TEMPLATE_BINDINGS: do not print information about the template - arguments for a function template specialization. - TFF_POINTER: we are printing a pointer type. */ - -#define TFF_PLAIN_IDENTIFIER (0) -#define TFF_SCOPE (1) -#define TFF_CHASE_TYPEDEF (1 << 1) -#define TFF_DECL_SPECIFIERS (1 << 2) -#define TFF_CLASS_KEY_OR_ENUM (1 << 3) -#define TFF_RETURN_TYPE (1 << 4) -#define TFF_FUNCTION_DEFAULT_ARGUMENTS (1 << 5) -#define TFF_EXCEPTION_SPECIFICATION (1 << 6) -#define TFF_TEMPLATE_HEADER (1 << 7) -#define TFF_TEMPLATE_NAME (1 << 8) -#define TFF_EXPR_IN_PARENS (1 << 9) -#define TFF_NO_FUNCTION_ARGUMENTS (1 << 10) -#define TFF_UNQUALIFIED_NAME (1 << 11) -#define TFF_NO_OMIT_DEFAULT_TEMPLATE_ARGUMENTS (1 << 12) -#define TFF_NO_TEMPLATE_BINDINGS (1 << 13) -#define TFF_POINTER (1 << 14) - -/* These constants can be used as bit flags to control strip_typedefs. - - STF_USER_VISIBLE: use heuristics to try to avoid stripping user-facing - aliases of internal details. This is intended for diagnostics, - where it should (for example) give more useful "aka" types. - - STF_STRIP_DEPENDENT: allow the stripping of aliases with dependent - template parameters, relying on code elsewhere to report any - appropriate diagnostics. */ -const unsigned int STF_USER_VISIBLE = 1U; -const unsigned int STF_STRIP_DEPENDENT = 1U << 1; - -/* Returns the TEMPLATE_DECL associated to a TEMPLATE_TEMPLATE_PARM - node. */ -#define TEMPLATE_TEMPLATE_PARM_TEMPLATE_DECL(NODE) \ - ((TREE_CODE (NODE) == BOUND_TEMPLATE_TEMPLATE_PARM) \ - ? TYPE_TI_TEMPLATE (NODE) \ - : TYPE_NAME (NODE)) - -/* in lex.cc */ - -extern void init_reswords (void); - -/* Various flags for the overloaded operator information. */ -enum ovl_op_flags { - OVL_OP_FLAG_NONE = 0, /* Don't care. */ - OVL_OP_FLAG_UNARY = 1, /* Is unary. */ - OVL_OP_FLAG_BINARY = 2, /* Is binary. */ - OVL_OP_FLAG_AMBIARY = 3, /* May be unary or binary. */ - OVL_OP_FLAG_ALLOC = 4, /* operator new or delete. */ - OVL_OP_FLAG_DELETE = 1, /* operator delete. */ - OVL_OP_FLAG_VEC = 2 /* vector new or delete. */ -}; - -/* Compressed operator codes. Order is determined by operators.def - and does not match that of tree_codes. */ -enum ovl_op_code { - OVL_OP_ERROR_MARK, - OVL_OP_NOP_EXPR, -#define DEF_OPERATOR(NAME, CODE, MANGLING, FLAGS) OVL_OP_##CODE, -#define DEF_ASSN_OPERATOR(NAME, CODE, MANGLING) /* NOTHING */ -#include "operators.def" - OVL_OP_MAX -}; - -/* Make sure it fits in lang_decl_fn::ovl_op_code. */ -STATIC_ASSERT (OVL_OP_MAX < (1 << 6)); - -struct GTY(()) ovl_op_info_t { - /* The IDENTIFIER_NODE for the operator. */ - tree identifier; - /* The name of the operator. */ - const char *name; - /* The mangled name of the operator. */ - const char *mangled_name; - /* The (regular) tree code. */ - enum tree_code tree_code : 16; - /* The (compressed) operator code. */ - enum ovl_op_code ovl_op_code : 8; - /* The ovl_op_flags of the operator */ - unsigned flags : 8; -}; - -/* Overloaded operator info indexed by ass_op_p & ovl_op_code. */ -extern GTY(()) ovl_op_info_t ovl_op_info[2][OVL_OP_MAX]; -/* Mapping from tree_codes to ovl_op_codes. */ -extern GTY(()) unsigned char ovl_op_mapping[MAX_TREE_CODES]; -/* Mapping for ambi-ary operators from the binary to the unary. */ -extern GTY(()) unsigned char ovl_op_alternate[OVL_OP_MAX]; - -/* Given an ass_op_p boolean and a tree code, return a pointer to its - overloaded operator info. Tree codes for non-overloaded operators - map to the error-operator. */ -#define OVL_OP_INFO(IS_ASS_P, TREE_CODE) \ - (&ovl_op_info[(IS_ASS_P) != 0][ovl_op_mapping[(TREE_CODE)]]) -/* Overloaded operator info for an identifier for which - IDENTIFIER_OVL_OP_P is true. */ -#define IDENTIFIER_OVL_OP_INFO(NODE) \ - (&ovl_op_info[IDENTIFIER_KIND_BIT_0 (NODE)][IDENTIFIER_CP_INDEX (NODE)]) -#define IDENTIFIER_OVL_OP_FLAGS(NODE) \ - (IDENTIFIER_OVL_OP_INFO (NODE)->flags) - -inline tree ovl_op_identifier (bool isass, tree_code code) -{ return OVL_OP_INFO(isass, code)->identifier; } -inline tree ovl_op_identifier (tree_code code) { return ovl_op_identifier (false, code); } -#define assign_op_identifier (ovl_op_info[true][OVL_OP_NOP_EXPR].identifier) -#define call_op_identifier (ovl_op_info[false][OVL_OP_CALL_EXPR].identifier) - -/* A type-qualifier, or bitmask therefore, using the TYPE_QUAL - constants. */ - -typedef int cp_cv_quals; - -/* Non-static member functions have an optional virt-specifier-seq. - There is a VIRT_SPEC value for each virt-specifier. - They can be combined by bitwise-or to form the complete set of - virt-specifiers for a member function. */ -enum virt_specifier - { - VIRT_SPEC_UNSPECIFIED = 0x0, - VIRT_SPEC_FINAL = 0x1, - VIRT_SPEC_OVERRIDE = 0x2 - }; - -/* A type-qualifier, or bitmask therefore, using the VIRT_SPEC - constants. */ - -typedef int cp_virt_specifiers; - -/* Wherever there is a function-cv-qual, there could also be a ref-qualifier: - - [dcl.fct] - The return type, the parameter-type-list, the ref-qualifier, and - the cv-qualifier-seq, but not the default arguments or the exception - specification, are part of the function type. - - REF_QUAL_NONE Ordinary member function with no ref-qualifier - REF_QUAL_LVALUE Member function with the &-ref-qualifier - REF_QUAL_RVALUE Member function with the &&-ref-qualifier */ - -enum cp_ref_qualifier { - REF_QUAL_NONE = 0, - REF_QUAL_LVALUE = 1, - REF_QUAL_RVALUE = 2 -}; - -/* A storage class. */ - -enum cp_storage_class { - /* sc_none must be zero so that zeroing a cp_decl_specifier_seq - sets the storage_class field to sc_none. */ - sc_none = 0, - sc_auto, - sc_register, - sc_static, - sc_extern, - sc_mutable -}; - -/* An individual decl-specifier. This is used to index the array of - locations for the declspecs in struct cp_decl_specifier_seq - below. */ - -enum cp_decl_spec { - ds_first, - ds_signed = ds_first, - ds_unsigned, - ds_short, - ds_long, - ds_const, - ds_volatile, - ds_restrict, - ds_inline, - ds_virtual, - ds_explicit, - ds_friend, - ds_typedef, - ds_alias, - ds_constexpr, - ds_complex, - ds_constinit, - ds_consteval, - ds_thread, - ds_type_spec, - ds_redefined_builtin_type_spec, - ds_attribute, - ds_std_attribute, - ds_storage_class, - ds_long_long, - ds_concept, - ds_last /* This enumerator must always be the last one. */ -}; - -/* A decl-specifier-seq. */ - -struct cp_decl_specifier_seq { - /* An array of locations for the declaration sepecifiers, indexed by - enum cp_decl_spec_word. */ - location_t locations[ds_last]; - /* The primary type, if any, given by the decl-specifier-seq. - Modifiers, like "short", "const", and "unsigned" are not - reflected here. This field will be a TYPE, unless a typedef-name - was used, in which case it will be a TYPE_DECL. */ - tree type; - /* The attributes, if any, provided with the specifier sequence. */ - tree attributes; - /* The c++11 attributes that follows the type specifier. */ - tree std_attributes; - /* If non-NULL, a built-in type that the user attempted to redefine - to some other type. */ - tree redefined_builtin_type; - /* The explicit-specifier, if any. */ - tree explicit_specifier; - /* The storage class specified -- or sc_none if no storage class was - explicitly specified. */ - cp_storage_class storage_class; - /* For the __intN declspec, this stores the index into the int_n_* arrays. */ - int int_n_idx; - /* True iff TYPE_SPEC defines a class or enum. */ - BOOL_BITFIELD type_definition_p : 1; - /* True iff multiple types were (erroneously) specified for this - decl-specifier-seq. */ - BOOL_BITFIELD multiple_types_p : 1; - /* True iff multiple storage classes were (erroneously) specified - for this decl-specifier-seq or a combination of a storage class - with a typedef specifier. */ - BOOL_BITFIELD conflicting_specifiers_p : 1; - /* True iff at least one decl-specifier was found. */ - BOOL_BITFIELD any_specifiers_p : 1; - /* True iff at least one type-specifier was found. */ - BOOL_BITFIELD any_type_specifiers_p : 1; - /* True iff "int" was explicitly provided. */ - BOOL_BITFIELD explicit_int_p : 1; - /* True iff "__intN" was explicitly provided. */ - BOOL_BITFIELD explicit_intN_p : 1; - /* True iff "char" was explicitly provided. */ - BOOL_BITFIELD explicit_char_p : 1; - /* True iff ds_thread is set for __thread, not thread_local. */ - BOOL_BITFIELD gnu_thread_keyword_p : 1; - /* True iff the type is a decltype. */ - BOOL_BITFIELD decltype_p : 1; - /* True iff the alternate "__intN__" form of the __intN type has been - used. */ - BOOL_BITFIELD int_n_alt: 1; -}; - -/* The various kinds of declarators. */ - -enum cp_declarator_kind { - cdk_id, - cdk_function, - cdk_array, - cdk_pointer, - cdk_reference, - cdk_ptrmem, - cdk_decomp, - cdk_error -}; - -/* A declarator. */ - -typedef struct cp_declarator cp_declarator; - -typedef struct cp_parameter_declarator cp_parameter_declarator; - -/* A parameter, before it has been semantically analyzed. */ -struct cp_parameter_declarator { - /* The next parameter, or NULL_TREE if none. */ - cp_parameter_declarator *next; - /* The decl-specifiers-seq for the parameter. */ - cp_decl_specifier_seq decl_specifiers; - /* The declarator for the parameter. */ - cp_declarator *declarator; - /* The default-argument expression, or NULL_TREE, if none. */ - tree default_argument; - /* True iff this is a template parameter pack. */ - bool template_parameter_pack_p; - /* Location within source. */ - location_t loc; -}; - -/* A declarator. */ -struct cp_declarator { - /* The kind of declarator. */ - ENUM_BITFIELD (cp_declarator_kind) kind : 4; - /* Whether we parsed an ellipsis (`...') just before the declarator, - to indicate this is a parameter pack. */ - BOOL_BITFIELD parameter_pack_p : 1; - /* If this declarator is parenthesized, this the open-paren. It is - UNKNOWN_LOCATION when not parenthesized. */ - location_t parenthesized; - /* Currently only set for cdk_id, cdk_decomp and cdk_function. */ - location_t id_loc; - /* If this declarator is part of an init-declarator, the location of the - initializer. */ - location_t init_loc; - /* GNU Attributes that apply to this declarator. If the declarator - is a pointer or a reference, these attribute apply to the type - pointed to. */ - tree attributes; - /* Standard C++11 attributes that apply to this declarator. If the - declarator is a pointer or a reference, these attributes apply - to the pointer, rather than to the type pointed to. */ - tree std_attributes; - /* For all but cdk_id, cdk_decomp and cdk_error, the contained declarator. - For cdk_id, cdk_decomp and cdk_error, guaranteed to be NULL. */ - cp_declarator *declarator; - union { - /* For identifiers. */ - struct { - /* If non-NULL, the qualifying scope (a NAMESPACE_DECL or - *_TYPE) for this identifier. */ - tree qualifying_scope; - /* The unqualified name of the entity -- an IDENTIFIER_NODE, - BIT_NOT_EXPR, or TEMPLATE_ID_EXPR. */ - tree unqualified_name; - /* If this is the name of a function, what kind of special - function (if any). */ - special_function_kind sfk; - } id; - /* For functions. */ - struct { - /* The parameters to the function as a TREE_LIST of decl/default. */ - tree parameters; - /* The cv-qualifiers for the function. */ - cp_cv_quals qualifiers; - /* The virt-specifiers for the function. */ - cp_virt_specifiers virt_specifiers; - /* The ref-qualifier for the function. */ - cp_ref_qualifier ref_qualifier; - /* The transaction-safety qualifier for the function. */ - tree tx_qualifier; - /* The exception-specification for the function. */ - tree exception_specification; - /* The late-specified return type, if any. */ - tree late_return_type; - /* The trailing requires-clause, if any. */ - tree requires_clause; - location_t parens_loc; - } function; - /* For arrays. */ - struct { - /* The bounds to the array. */ - tree bounds; - } array; - /* For cdk_pointer and cdk_ptrmem. */ - struct { - /* The cv-qualifiers for the pointer. */ - cp_cv_quals qualifiers; - /* For cdk_ptrmem, the class type containing the member. */ - tree class_type; - } pointer; - /* For cdk_reference */ - struct { - /* The cv-qualifiers for the reference. These qualifiers are - only used to diagnose ill-formed code. */ - cp_cv_quals qualifiers; - /* Whether this is an rvalue reference */ - bool rvalue_ref; - } reference; - } u; -}; - -/* A level of template instantiation. */ -struct GTY((chain_next ("%h.next"))) tinst_level { - /* The immediately deeper level in the chain. */ - struct tinst_level *next; - - /* The original node. TLDCL can be a DECL (for a function or static - data member), a TYPE (for a class), depending on what we were - asked to instantiate, or a TREE_LIST with the template as PURPOSE - and the template args as VALUE, if we are substituting for - overload resolution. In all these cases, TARGS is NULL. - However, to avoid creating TREE_LIST objects for substitutions if - we can help, we store PURPOSE and VALUE in TLDCL and TARGS, - respectively. So TLDCL stands for TREE_LIST or DECL (the - template is a DECL too), whereas TARGS stands for the template - arguments. */ - tree tldcl, targs; - - /* For modules we need to know (a) the modules on the path of - instantiation and (b) the transitive imports along that path. - Note that these two bitmaps may be inherited from NEXT, if this - decl is in the same module as NEXT (or has no new information). */ - bitmap path; - bitmap visible; - - private: - /* Return TRUE iff the original node is a split list. */ - bool split_list_p () const { return targs; } - - /* Return TRUE iff the original node is a TREE_LIST object. */ - bool tree_list_p () const - { - return !split_list_p () && TREE_CODE (tldcl) == TREE_LIST; - } - - /* Return TRUE iff the original node is not a list, split or not. */ - bool not_list_p () const - { - return !split_list_p () && !tree_list_p (); - } - - /* Convert (in place) the original node from a split list to a - TREE_LIST. */ - tree to_list (); - - public: - /* Release storage for OBJ and node, if it's a TREE_LIST. */ - static void free (tinst_level *obj); - - /* Return TRUE iff the original node is a list, split or not. */ - bool list_p () const { return !not_list_p (); } - - /* Return the original node; if it's a split list, make it a - TREE_LIST first, so that it can be returned as a single tree - object. */ - tree get_node () { - if (!split_list_p ()) return tldcl; - else return to_list (); - } - - /* Return the original node if it's a DECL or a TREE_LIST, but do - NOT convert a split list to a TREE_LIST: return NULL instead. */ - tree maybe_get_node () const { - if (!split_list_p ()) return tldcl; - else return NULL_TREE; - } - - /* The location where the template is instantiated. */ - location_t locus; - - /* errorcount + sorrycount when we pushed this level. */ - unsigned short errors; - - /* Count references to this object. If refcount reaches - refcount_infinity value, we don't increment or decrement the - refcount anymore, as the refcount isn't accurate anymore. - The object can be still garbage collected if unreferenced from - anywhere, which might keep referenced objects referenced longer than - otherwise necessary. Hitting the infinity is rare though. */ - unsigned short refcount; - - /* Infinity value for the above refcount. */ - static const unsigned short refcount_infinity = (unsigned short) ~0; -}; - -/* BUILT_IN_FRONTEND function codes. */ -enum cp_built_in_function { - CP_BUILT_IN_IS_CONSTANT_EVALUATED, - CP_BUILT_IN_INTEGER_PACK, - CP_BUILT_IN_IS_CORRESPONDING_MEMBER, - CP_BUILT_IN_IS_POINTER_INTERCONVERTIBLE_WITH_CLASS, - CP_BUILT_IN_SOURCE_LOCATION, - CP_BUILT_IN_LAST -}; - -bool decl_spec_seq_has_spec_p (const cp_decl_specifier_seq *, cp_decl_spec); - -/* Return the type of the `this' parameter of FNTYPE. */ - -inline tree -type_of_this_parm (const_tree fntype) -{ - function_args_iterator iter; - gcc_assert (TREE_CODE (fntype) == METHOD_TYPE); - function_args_iter_init (&iter, fntype); - return function_args_iter_cond (&iter); -} - -/* Return the class of the `this' parameter of FNTYPE. */ - -inline tree -class_of_this_parm (const_tree fntype) -{ - return TREE_TYPE (type_of_this_parm (fntype)); -} - -/* A parameter list indicating for a function with no parameters, - e.g "int f(void)". */ -extern cp_parameter_declarator *no_parameters; - -/* Various dump ids. */ -extern int class_dump_id; -extern int module_dump_id; -extern int raw_dump_id; - -/* in call.cc */ -extern bool check_dtor_name (tree, tree); -int magic_varargs_p (tree); - -extern tree build_conditional_expr (const op_location_t &, - tree, tree, tree, - tsubst_flags_t); -extern tree build_addr_func (tree, tsubst_flags_t); -extern void set_flags_from_callee (tree); -extern tree build_call_a (tree, int, tree*); -extern tree build_call_n (tree, int, ...); -extern bool null_ptr_cst_p (tree); -extern bool null_member_pointer_value_p (tree); -extern bool sufficient_parms_p (const_tree); -extern tree type_decays_to (tree); -extern tree extract_call_expr (tree); -extern tree build_trivial_dtor_call (tree, bool = false); -extern tristate ref_conv_binds_to_temporary (tree, tree, bool = false); -extern tree build_user_type_conversion (tree, tree, int, - tsubst_flags_t); -extern tree build_new_function_call (tree, vec **, - tsubst_flags_t); -extern tree build_operator_new_call (tree, vec **, - tree *, tree *, tree, tree, - tree *, tsubst_flags_t); -extern tree build_new_method_call (tree, tree, - vec **, tree, - int, tree *, tsubst_flags_t); -extern tree build_special_member_call (tree, tree, - vec **, - tree, int, tsubst_flags_t); -extern tree build_new_op (const op_location_t &, - enum tree_code, - int, tree, tree, tree, tree, - tree *, tsubst_flags_t); -/* Wrapper that leaves out the usually-null op3 and overload parms. */ -inline tree build_new_op (const op_location_t &loc, enum tree_code code, - int flags, tree arg1, tree arg2, - tsubst_flags_t complain) -{ - return build_new_op (loc, code, flags, arg1, arg2, NULL_TREE, NULL_TREE, - NULL, complain); -} -extern tree keep_unused_object_arg (tree, tree, tree); -extern tree build_op_call (tree, vec **, - tsubst_flags_t); -extern tree build_op_subscript (const op_location_t &, tree, - vec **, tree *, - tsubst_flags_t); -extern bool aligned_allocation_fn_p (tree); -extern tree destroying_delete_p (tree); -extern bool usual_deallocation_fn_p (tree); -extern tree build_op_delete_call (enum tree_code, tree, tree, - bool, tree, tree, - tsubst_flags_t); -extern bool can_convert (tree, tree, tsubst_flags_t); -extern bool can_convert_standard (tree, tree, tsubst_flags_t); -extern bool can_convert_arg (tree, tree, tree, int, - tsubst_flags_t); -extern bool can_convert_arg_bad (tree, tree, tree, int, - tsubst_flags_t); -extern int conv_flags (int, int, tree, tree, int); -extern struct conversion * good_conversion (tree, tree, tree, int, tsubst_flags_t); -extern location_t get_fndecl_argument_location (tree, int); -extern void complain_about_bad_argument (location_t arg_loc, - tree from_type, tree to_type, - tree fndecl, int parmnum); -extern void maybe_inform_about_fndecl_for_bogus_argument_init (tree, int); -extern tree perform_dguide_overload_resolution (tree, const vec *, - tsubst_flags_t); - - -/* A class for recording information about access failures (e.g. private - fields), so that we can potentially supply a fix-it hint about - an accessor (from a context in which the constness of the object - is known). */ - -class access_failure_info -{ - public: - access_failure_info () : m_was_inaccessible (false), - m_basetype_path (NULL_TREE), - m_decl (NULL_TREE), m_diag_decl (NULL_TREE) {} - - void record_access_failure (tree basetype_path, tree decl, tree diag_decl); - - bool was_inaccessible_p () const { return m_was_inaccessible; } - tree get_decl () const { return m_decl; } - tree get_diag_decl () const { return m_diag_decl; } - tree get_any_accessor (bool const_p) const; - void maybe_suggest_accessor (bool const_p) const; - static void add_fixit_hint (rich_location *richloc, tree accessor); - - private: - bool m_was_inaccessible; - tree m_basetype_path; - tree m_decl; - tree m_diag_decl; -}; - -extern void complain_about_access (tree, tree, tree, bool, - access_kind); -extern void push_defarg_context (tree); -extern void pop_defarg_context (void); -extern tree convert_default_arg (tree, tree, tree, int, - tsubst_flags_t); -extern tree convert_arg_to_ellipsis (tree, tsubst_flags_t); -extern tree build_x_va_arg (location_t, tree, tree); -extern tree cxx_type_promotes_to (tree); -extern tree type_passed_as (tree); -extern tree convert_for_arg_passing (tree, tree, tsubst_flags_t); -extern bool is_properly_derived_from (tree, tree); -extern tree initialize_reference (tree, tree, int, - tsubst_flags_t); -extern tree extend_ref_init_temps (tree, tree, - vec**, - tree * = NULL); -extern tree make_temporary_var_for_ref_to_temp (tree, tree); -extern bool type_has_extended_temps (tree); -extern tree strip_top_quals (tree); -extern bool reference_related_p (tree, tree); -extern bool reference_compatible_p (tree, tree); -extern int remaining_arguments (tree); -extern tree build_implicit_conv_flags (tree, tree, int); -extern tree perform_implicit_conversion (tree, tree, tsubst_flags_t); -extern tree perform_implicit_conversion_flags (tree, tree, tsubst_flags_t, int); -extern tree build_converted_constant_expr (tree, tree, tsubst_flags_t); -extern tree build_converted_constant_bool_expr (tree, tsubst_flags_t); -extern tree perform_direct_initialization_if_possible (tree, tree, bool, - tsubst_flags_t); -extern vec *resolve_args (vec*, tsubst_flags_t); -extern tree in_charge_arg_for_name (tree); -extern bool in_immediate_context (); -extern tree build_cxx_call (tree, int, tree *, - tsubst_flags_t, - tree = NULL_TREE); -extern bool is_std_init_list (tree); -extern bool is_list_ctor (tree); -extern void validate_conversion_obstack (void); -extern void mark_versions_used (tree); -extern int unsafe_return_slot_p (tree); -extern bool unsafe_copy_elision_p (tree, tree); -extern bool make_safe_copy_elision (tree, tree); -extern bool cp_handle_deprecated_or_unavailable (tree, tsubst_flags_t = tf_warning_or_error); -extern void cp_warn_deprecated_use_scopes (tree); -extern tree get_function_version_dispatcher (tree); -extern bool any_template_arguments_need_structural_equality_p (tree); - -/* in class.cc */ -extern tree build_vfield_ref (tree, tree); -extern tree build_if_in_charge (tree true_stmt, tree false_stmt = void_node); -extern tree build_base_path (enum tree_code, tree, - tree, int, tsubst_flags_t); -extern tree convert_to_base (tree, tree, bool, bool, - tsubst_flags_t); -extern tree convert_to_base_statically (tree, tree); -extern bool is_empty_base_ref (tree); -extern tree build_vtbl_ref (tree, tree); -extern tree build_vfn_ref (tree, tree); -extern tree get_vtable_decl (tree, int); -extern bool add_method (tree, tree, bool); -extern tree declared_access (tree); -extern bool maybe_push_used_methods (tree); -extern tree currently_open_class (tree); -extern tree currently_open_derived_class (tree); -extern tree outermost_open_class (void); -extern tree current_nonlambda_class_type (void); -extern tree finish_struct (tree, tree); -extern void finish_struct_1 (tree); -extern int resolves_to_fixed_type_p (tree, int * = NULL); -extern void init_class_processing (void); -extern int is_empty_class (tree); -extern bool is_really_empty_class (tree, bool); -extern void pushclass (tree); -extern void popclass (void); -extern void push_nested_class (tree); -extern void pop_nested_class (void); -extern int current_lang_depth (void); -extern void push_lang_context (tree); -extern void pop_lang_context (void); -extern tree instantiate_type (tree, tree, tsubst_flags_t); -extern void build_self_reference (void); -extern int same_signature_p (const_tree, const_tree); -extern tree lookup_vfn_in_binfo (tree, tree); -extern void maybe_add_class_template_decl_list (tree, tree, int); -extern void unreverse_member_declarations (tree); -extern bool is_empty_field (tree); -extern void invalidate_class_lookup_cache (void); -extern void maybe_note_name_used_in_class (tree, tree); -extern void note_name_declared_in_class (tree, tree); -extern tree get_vtbl_decl_for_binfo (tree); -extern bool vptr_via_virtual_p (tree); -extern void debug_class (tree); -extern void debug_thunks (tree); -extern void set_linkage_according_to_type (tree, tree); -extern void determine_key_method (tree); -extern void check_for_override (tree, tree); -extern void push_class_stack (void); -extern void pop_class_stack (void); -extern bool default_ctor_p (const_tree); -extern bool type_has_user_nondefault_constructor (tree); -extern tree in_class_defaulted_default_constructor (tree); -extern bool user_provided_p (tree); -extern bool type_has_user_provided_constructor (tree); -extern bool type_has_non_user_provided_default_constructor (tree); -extern bool vbase_has_user_provided_move_assign (tree); -extern tree default_init_uninitialized_part (tree); -extern bool trivial_default_constructor_is_constexpr (tree); -extern bool type_has_constexpr_default_constructor (tree); -extern bool type_has_constexpr_destructor (tree); -extern bool type_has_virtual_destructor (tree); -extern bool classtype_has_move_assign_or_move_ctor_p (tree, bool user_declared); -extern bool classtype_has_non_deleted_move_ctor (tree); -extern tree classtype_has_depr_implicit_copy (tree); -extern bool classtype_has_op (tree, tree_code); -extern tree classtype_has_defaulted_op (tree, tree_code); -extern bool type_build_ctor_call (tree); -extern bool type_build_dtor_call (tree); -extern void explain_non_literal_class (tree); -extern void inherit_targ_abi_tags (tree); -extern void defaulted_late_check (tree); -extern bool defaultable_fn_check (tree); -extern void check_abi_tags (tree); -extern tree missing_abi_tags (tree); -extern void fixup_type_variants (tree); -extern void fixup_attribute_variants (tree); -extern void build_cdtor_clones (tree, bool, bool, bool); -extern void clone_cdtor (tree, bool); -extern tree copy_operator_fn (tree, tree_code code); -extern void adjust_clone_args (tree); -extern void deduce_noexcept_on_destructor (tree); -extern bool uniquely_derived_from_p (tree, tree); -extern bool publicly_uniquely_derived_p (tree, tree); -extern tree common_enclosing_class (tree, tree); - -/* in cvt.cc */ -extern tree convert_to_reference (tree, tree, int, int, tree, - tsubst_flags_t); -extern tree convert_from_reference (tree); -extern tree force_rvalue (tree, tsubst_flags_t); -extern tree ocp_convert (tree, tree, int, int, - tsubst_flags_t); -extern tree cp_convert (tree, tree, tsubst_flags_t); -extern tree cp_convert_and_check (tree, tree, tsubst_flags_t); -extern tree cp_fold_convert (tree, tree); -extern tree cp_get_callee (tree); -extern tree cp_get_callee_fndecl (tree); -extern tree cp_get_callee_fndecl_nofold (tree); -extern tree cp_get_fndecl_from_callee (tree, bool fold = true); -extern tree convert_to_void (tree, impl_conv_void, - tsubst_flags_t); -extern tree convert_force (tree, tree, int, - tsubst_flags_t); -extern tree build_expr_type_conversion (int, tree, bool); -extern tree type_promotes_to (tree); -extern bool can_convert_qual (tree, tree); -extern tree perform_qualification_conversions (tree, tree); -extern bool tx_safe_fn_type_p (tree); -extern tree tx_unsafe_fn_variant (tree); -extern bool fnptr_conv_p (tree, tree); -extern tree strip_fnptr_conv (tree); - -/* in name-lookup.cc */ -extern void maybe_push_cleanup_level (tree); -extern tree maybe_push_decl (tree); -extern tree current_decl_namespace (void); - -/* decl.cc */ -extern tree poplevel (int, int, int); -extern void cxx_init_decl_processing (void); -enum cp_tree_node_structure_enum cp_tree_node_structure - (union lang_tree_node *); -extern void finish_scope (void); -extern void push_switch (tree); -extern void pop_switch (void); -extern void note_break_stmt (void); -extern bool note_iteration_stmt_body_start (void); -extern void note_iteration_stmt_body_end (bool); -extern void determine_local_discriminator (tree); -extern bool fns_correspond (tree, tree); -extern int decls_match (tree, tree, bool = true); -extern bool maybe_version_functions (tree, tree, bool); -extern bool merge_default_template_args (tree, tree, bool); -extern tree duplicate_decls (tree, tree, - bool hiding = false, - bool was_hidden = false); -extern tree declare_local_label (tree); -extern tree define_label (location_t, tree); -extern void check_goto (tree); -extern bool check_omp_return (void); -extern tree make_typename_type (tree, tree, enum tag_types, tsubst_flags_t); -extern tree build_typename_type (tree, tree, tree, tag_types); -extern tree make_unbound_class_template (tree, tree, tree, tsubst_flags_t); -extern tree make_unbound_class_template_raw (tree, tree, tree); -extern unsigned push_abi_namespace (tree node = abi_node); -extern void pop_abi_namespace (unsigned flags, - tree node = abi_node); -extern tree build_library_fn_ptr (const char *, tree, int); -extern tree build_cp_library_fn_ptr (const char *, tree, int); -extern tree push_library_fn (tree, tree, tree, int); -extern tree push_throw_library_fn (tree, tree); -extern void warn_misplaced_attr_for_class_type (location_t location, - tree class_type); -extern tree check_tag_decl (cp_decl_specifier_seq *, bool); -extern tree shadow_tag (cp_decl_specifier_seq *); -extern tree groktypename (cp_decl_specifier_seq *, const cp_declarator *, bool); -extern tree start_decl (const cp_declarator *, cp_decl_specifier_seq *, int, tree, tree, tree *); -extern void start_decl_1 (tree, bool); -extern bool check_array_initializer (tree, tree, tree); -extern void omp_declare_variant_finalize (tree, tree); -extern void cp_finish_decl (tree, tree, bool, tree, int); -extern tree lookup_decomp_type (tree); -extern void cp_maybe_mangle_decomp (tree, tree, unsigned int); -extern void cp_finish_decomp (tree, tree, unsigned int); -extern int cp_complete_array_type (tree *, tree, bool); -extern int cp_complete_array_type_or_error (tree *, tree, bool, tsubst_flags_t); -extern tree build_ptrmemfunc_type (tree); -extern tree build_ptrmem_type (tree, tree); -/* the grokdeclarator prototype is in decl.h */ -extern tree build_this_parm (tree, tree, cp_cv_quals); -extern tree grokparms (tree, tree *); -extern int copy_fn_p (const_tree); -extern bool move_fn_p (const_tree); -extern bool move_signature_fn_p (const_tree); -extern tree get_scope_of_declarator (const cp_declarator *); -extern void grok_special_member_properties (tree); -extern bool grok_ctor_properties (const_tree, const_tree); -extern bool grok_op_properties (tree, bool); -extern tree xref_tag (tag_types, tree, - TAG_how = TAG_how::CURRENT_ONLY, - bool tpl_header_p = false); -extern void xref_basetypes (tree, tree); -extern tree start_enum (tree, tree, tree, tree, bool, bool *); -extern void finish_enum_value_list (tree); -extern void finish_enum (tree); -extern tree build_enumerator (tree, tree, tree, tree, location_t); -extern tree lookup_enumerator (tree, tree); -extern bool start_preparsed_function (tree, tree, int); -extern bool start_function (cp_decl_specifier_seq *, - const cp_declarator *, tree); -extern void maybe_return_this (void); -extern tree begin_function_body (void); -extern void finish_function_body (tree); -extern tree outer_curly_brace_block (tree); -extern tree finish_function (bool); -extern tree grokmethod (cp_decl_specifier_seq *, const cp_declarator *, tree); -extern void maybe_register_incomplete_var (tree); -extern void maybe_commonize_var (tree); -extern void complete_vars (tree); -extern tree static_fn_type (tree); -extern void revert_static_member_fn (tree); -extern void fixup_anonymous_aggr (tree); -extern tree compute_array_index_type (tree, tree, tsubst_flags_t); -extern tree check_default_argument (tree, tree, tsubst_flags_t); -extern int wrapup_namespace_globals (); -extern tree create_implicit_typedef (tree, tree); -extern int local_variable_p (const_tree); -extern tree register_dtor_fn (tree); -extern tmpl_spec_kind current_tmpl_spec_kind (int); -extern tree cxx_builtin_function (tree decl); -extern tree cxx_builtin_function_ext_scope (tree decl); -extern tree cxx_simulate_builtin_function_decl (tree); -extern tree check_elaborated_type_specifier (enum tag_types, tree, bool); -extern void warn_extern_redeclared_static (tree, tree); -extern tree cxx_comdat_group (tree); -extern bool cp_missing_noreturn_ok_p (tree); -extern bool is_direct_enum_init (tree, tree); -extern void initialize_artificial_var (tree, vec *); -extern tree check_var_type (tree, tree, location_t); -extern tree reshape_init (tree, tree, tsubst_flags_t); -extern tree next_aggregate_field (tree); -extern tree next_subobject_field (tree); -extern tree first_field (const_tree); -extern tree fndecl_declared_return_type (tree); -extern bool undeduced_auto_decl (tree); -extern bool require_deduced_type (tree, tsubst_flags_t = tf_warning_or_error); - -extern tree finish_case_label (location_t, tree, tree); -extern tree cxx_maybe_build_cleanup (tree, tsubst_flags_t); -extern bool check_array_designated_initializer (constructor_elt *, - unsigned HOST_WIDE_INT); -extern bool check_for_uninitialized_const_var (tree, bool, tsubst_flags_t); -extern tree build_explicit_specifier (tree, tsubst_flags_t); -extern void do_push_parm_decls (tree, tree, tree *); -extern tree do_aggregate_paren_init (tree, tree); - -/* in decl2.cc */ -extern void record_mangling (tree, bool); -extern void overwrite_mangling (tree, tree); -extern void note_mangling_alias (tree, tree); -extern void generate_mangling_aliases (void); -extern tree build_memfn_type (tree, tree, cp_cv_quals, cp_ref_qualifier); -extern tree build_pointer_ptrmemfn_type (tree); -extern tree change_return_type (tree, tree); -extern void maybe_retrofit_in_chrg (tree); -extern void maybe_make_one_only (tree); -extern bool vague_linkage_p (tree); -extern void grokclassfn (tree, tree, - enum overload_flags); -extern tree grok_array_decl (location_t, tree, tree, - vec **, tsubst_flags_t); -extern tree delete_sanity (location_t, tree, tree, bool, - int, tsubst_flags_t); -extern tree check_classfn (tree, tree, tree); -extern void check_member_template (tree); -extern tree grokfield (const cp_declarator *, cp_decl_specifier_seq *, - tree, bool, tree, tree); -extern tree grokbitfield (const cp_declarator *, cp_decl_specifier_seq *, - tree, tree, tree); -extern tree splice_template_attributes (tree *, tree); -extern bool any_dependent_type_attributes_p (tree); -extern tree cp_reconstruct_complex_type (tree, tree); -extern bool attributes_naming_typedef_ok (tree); -extern void cplus_decl_attributes (tree *, tree, int); -extern void finish_anon_union (tree); -extern void cxx_post_compilation_parsing_cleanups (void); -extern tree coerce_new_type (tree, location_t); -extern void coerce_delete_type (tree, location_t); -extern void comdat_linkage (tree); -extern void determine_visibility (tree); -extern void constrain_class_visibility (tree); -extern void reset_type_linkage (tree); -extern void tentative_decl_linkage (tree); -extern void import_export_decl (tree); -extern tree build_cleanup (tree); -extern tree build_offset_ref_call_from_tree (tree, vec **, - tsubst_flags_t); -extern bool decl_defined_p (tree); -extern bool decl_constant_var_p (tree); -extern bool decl_maybe_constant_var_p (tree); -extern void no_linkage_error (tree); -extern void check_default_args (tree); -extern bool mark_used (tree, - tsubst_flags_t = tf_warning_or_error); -extern bool mark_single_function (tree, tsubst_flags_t); -extern void finish_static_data_member_decl (tree, tree, bool, tree, int); -extern tree cp_build_parm_decl (tree, tree, tree); -extern void copy_linkage (tree, tree); -extern tree get_guard (tree); -extern tree get_guard_cond (tree, bool); -extern tree set_guard (tree); -extern bool var_needs_tls_wrapper (tree); -extern tree maybe_get_tls_wrapper_call (tree); -extern void mark_needed (tree); -extern bool decl_needed_p (tree); -extern void note_vague_linkage_fn (tree); -extern void note_variable_template_instantiation (tree); -extern tree build_artificial_parm (tree, tree, tree); -extern bool possibly_inlined_p (tree); -extern int parm_index (tree); -extern tree vtv_start_verification_constructor_init_function (void); -extern tree vtv_finish_verification_constructor_init_function (tree); -extern void cp_check_const_attributes (tree); - -/* in error.cc */ -extern const char *type_as_string (tree, int); -extern const char *type_as_string_translate (tree, int); -extern const char *decl_as_string (tree, int); -extern const char *decl_as_string_translate (tree, int); -extern const char *decl_as_dwarf_string (tree, int); -extern const char *expr_as_string (tree, int); -extern const char *expr_to_string (tree); -extern const char *lang_decl_name (tree, int, bool); -extern const char *lang_decl_dwarf_name (tree, int, bool); -extern const char *language_to_string (enum languages); -extern const char *class_key_or_enum_as_string (tree); -extern void maybe_warn_variadic_templates (void); -extern void maybe_warn_cpp0x (cpp0x_warn_str str, - location_t = input_location); -extern bool pedwarn_cxx98 (location_t, int, const char *, ...) ATTRIBUTE_GCC_DIAG(3,4); -extern location_t location_of (tree); -extern void qualified_name_lookup_error (tree, tree, tree, - location_t); - -/* in except.cc */ -extern void init_exception_processing (void); -extern tree expand_start_catch_block (tree); -extern void expand_end_catch_block (void); -extern tree build_exc_ptr (void); -extern tree build_throw (location_t, tree); -extern int nothrow_libfn_p (const_tree); -extern void check_handlers (tree); -extern tree finish_noexcept_expr (tree, tsubst_flags_t); -extern bool expr_noexcept_p (tree, tsubst_flags_t); -extern void perform_deferred_noexcept_checks (void); -extern bool nothrow_spec_p (const_tree); -extern bool type_noexcept_p (const_tree); -extern bool type_throw_all_p (const_tree); -extern tree build_noexcept_spec (tree, tsubst_flags_t); -extern void choose_personality_routine (enum languages); -extern tree build_must_not_throw_expr (tree,tree); -extern tree eh_type_info (tree); -extern tree begin_eh_spec_block (void); -extern void finish_eh_spec_block (tree, tree); -extern tree build_eh_type_type (tree); -extern tree cp_protect_cleanup_actions (void); -extern void maybe_splice_retval_cleanup (tree); -extern tree maybe_set_retval_sentinel (void); - -extern tree template_parms_to_args (tree); -extern tree template_parms_level_to_args (tree); -extern tree generic_targs_for (tree); -extern tree outer_template_args (tree); - -/* in expr.cc */ -extern tree cplus_expand_constant (tree); -extern tree mark_use (tree expr, bool rvalue_p, bool read_p, - location_t = UNKNOWN_LOCATION, - bool reject_builtin = true); -extern tree mark_rvalue_use (tree, - location_t = UNKNOWN_LOCATION, - bool reject_builtin = true); -extern tree mark_lvalue_use (tree); -extern tree mark_lvalue_use_nonread (tree); -extern tree mark_type_use (tree); -extern tree mark_discarded_use (tree); -extern void mark_exp_read (tree); - -/* friend.cc */ -extern int is_friend (tree, tree); -extern void make_friend_class (tree, tree, bool); -extern void add_friend (tree, tree, bool); -extern tree do_friend (tree, tree, tree, - enum overload_flags, bool); - -extern void set_global_friend (tree); -extern bool is_global_friend (tree); - -/* in init.cc */ -extern tree find_temps_r (tree *, int *, void *); -extern tree expand_member_init (tree); -extern void emit_mem_initializers (tree); -extern tree build_aggr_init (tree, tree, int, - tsubst_flags_t); -extern int is_class_type (tree, int); -extern bool is_copy_initialization (tree); -extern tree build_zero_init (tree, tree, bool); -extern tree build_value_init (tree, tsubst_flags_t); -extern tree build_value_init_noctor (tree, tsubst_flags_t); -extern tree maybe_instantiate_nsdmi_init (tree, tsubst_flags_t); -extern tree get_nsdmi (tree, bool, tsubst_flags_t); -extern tree build_offset_ref (tree, tree, bool, - tsubst_flags_t); -extern tree throw_bad_array_new_length (void); -extern bool type_has_new_extended_alignment (tree); -extern unsigned malloc_alignment (void); -extern tree build_new_constexpr_heap_type (tree, tree, tree); -extern tree build_new (location_t, - vec **, tree, - tree, vec **, - int, tsubst_flags_t); -extern tree get_temp_regvar (tree, tree); -extern tree build_vec_init (tree, tree, tree, bool, int, - tsubst_flags_t, - vec ** = nullptr); -extern tree build_delete (location_t, tree, tree, - special_function_kind, - int, int, tsubst_flags_t); -extern void push_base_cleanups (void); -extern tree build_vec_delete (location_t, tree, tree, - special_function_kind, int, - tsubst_flags_t); -extern tree create_temporary_var (tree); -extern void initialize_vtbl_ptrs (tree); -extern tree scalar_constant_value (tree); -extern tree decl_constant_value (tree, bool); -extern tree decl_really_constant_value (tree, bool = true); -extern int diagnose_uninitialized_cst_or_ref_member (tree, bool, bool); -extern tree build_vtbl_address (tree); -extern bool maybe_reject_flexarray_init (tree, tree); - -/* in lex.cc */ -extern void cxx_dup_lang_specific_decl (tree); -extern tree unqualified_name_lookup_error (tree, - location_t = UNKNOWN_LOCATION); -extern tree unqualified_fn_lookup_error (cp_expr); -extern tree make_conv_op_name (tree); -extern tree build_lang_decl (enum tree_code, tree, tree); -extern tree build_lang_decl_loc (location_t, enum tree_code, tree, tree); -extern bool maybe_add_lang_decl_raw (tree, bool decomp_p); -extern bool maybe_add_lang_type_raw (tree); -extern void retrofit_lang_decl (tree); -extern void fit_decomposition_lang_decl (tree, tree); -extern tree copy_decl (tree CXX_MEM_STAT_INFO); -extern tree copy_type (tree CXX_MEM_STAT_INFO); -extern tree cxx_make_type (enum tree_code CXX_MEM_STAT_INFO); -extern tree make_class_type (enum tree_code CXX_MEM_STAT_INFO); -extern const char *get_identifier_kind_name (tree); -extern void set_identifier_kind (tree, cp_identifier_kind); -extern bool cxx_init (void); -extern void cxx_finish (void); -extern bool in_main_input_context (void); -extern uintptr_t module_token_pre (cpp_reader *, const cpp_token *, uintptr_t); -extern uintptr_t module_token_cdtor (cpp_reader *, uintptr_t); -extern uintptr_t module_token_lang (int type, int keyword, tree value, - location_t, uintptr_t); - -/* in method.cc */ -extern void init_method (void); -extern tree make_thunk (tree, bool, tree, tree); -extern void finish_thunk (tree); -extern void use_thunk (tree, bool); -extern bool trivial_fn_p (tree); -extern tree forward_parm (tree); -extern bool is_trivially_xible (enum tree_code, tree, tree); -extern bool is_nothrow_xible (enum tree_code, tree, tree); -extern bool is_xible (enum tree_code, tree, tree); -extern bool is_convertible (tree, tree); -extern bool is_nothrow_convertible (tree, tree); -extern bool ref_xes_from_temporary (tree, tree, bool); -extern tree get_defaulted_eh_spec (tree, tsubst_flags_t = tf_warning_or_error); -extern bool maybe_explain_implicit_delete (tree); -extern void explain_implicit_non_constexpr (tree); -extern bool deduce_inheriting_ctor (tree); -extern bool decl_remember_implicit_trigger_p (tree); -extern void synthesize_method (tree); -extern void maybe_synthesize_method (tree); -extern tree lazily_declare_fn (special_function_kind, - tree); -extern tree skip_artificial_parms_for (const_tree, tree); -extern int num_artificial_parms_for (const_tree); -extern tree make_alias_for (tree, tree); -extern tree get_copy_ctor (tree, tsubst_flags_t); -extern tree get_copy_assign (tree); -extern tree get_default_ctor (tree); -extern tree get_dtor (tree, tsubst_flags_t); -extern tree build_stub_object (tree); -extern tree strip_inheriting_ctors (tree); -extern tree inherited_ctor_binfo (tree); -extern bool base_ctor_omit_inherited_parms (tree); -extern bool ctor_omit_inherited_parms (tree); -extern tree locate_ctor (tree); -extern tree implicitly_declare_fn (special_function_kind, tree, - bool, tree, tree); -/* In module.cc */ -class module_state; /* Forward declare. */ -inline bool modules_p () { return flag_modules != 0; } - -/* The kind of module or part thereof that we're in. */ -enum module_kind_bits -{ - MK_NAMED = 1 << 0, // TU is a named module - MK_HEADER = 1 << 1, // TU is a header unit - MK_INTERFACE = 1 << 2, // TU is an interface - MK_PARTITION = 1 << 3, // TU is a partition - - MK_PURVIEW = 1 << 4, // In purview of current module - MK_ATTACH = 1 << 5, // Attaching to named module - - MK_EXPORTING = 1 << 6, /* We are in an export region. */ -}; - -/* We do lots of bit-manipulation, so an unsigned is easier. */ -extern unsigned module_kind; - -inline bool module_p () -{ return module_kind & (MK_NAMED | MK_HEADER); } -inline bool named_module_p () -{ return module_kind & MK_NAMED; } -inline bool header_module_p () -{ return module_kind & MK_HEADER; } -inline bool module_interface_p () -{ return module_kind & MK_INTERFACE; } -inline bool module_partition_p () -{ return module_kind & MK_PARTITION; } -inline bool module_has_cmi_p () -{ return module_kind & (MK_INTERFACE | MK_PARTITION); } - -inline bool module_purview_p () -{ return module_kind & MK_PURVIEW; } -inline bool module_attach_p () -{ return module_kind & MK_ATTACH; } - -inline bool named_module_purview_p () -{ return named_module_p () && module_purview_p (); } - -/* We're currently exporting declarations. */ -inline bool module_exporting_p () -{ return module_kind & MK_EXPORTING; } - -extern module_state *get_module (tree name, module_state *parent = NULL, - bool partition = false); -extern bool module_may_redeclare (tree decl); - -extern bool module_global_init_needed (); -extern bool module_determine_import_inits (); -extern void module_add_import_initializers (); - -/* Where the namespace-scope decl was originally declared. */ -extern void set_originating_module (tree, bool friend_p = false); -extern tree get_originating_module_decl (tree) ATTRIBUTE_PURE; -extern int get_originating_module (tree, bool for_mangle = false) ATTRIBUTE_PURE; -extern unsigned get_importing_module (tree, bool = false) ATTRIBUTE_PURE; - -/* Where current instance of the decl got declared/defined/instantiated. */ -extern void set_instantiating_module (tree); -extern void set_defining_module (tree); -extern void maybe_key_decl (tree ctx, tree decl); - -extern void mangle_module (int m, bool include_partition); -extern void mangle_module_fini (); -extern void lazy_load_binding (unsigned mod, tree ns, tree id, - binding_slot *bslot); -extern void lazy_load_pendings (tree decl); -extern module_state *preprocess_module (module_state *, location_t, - bool in_purview, - bool is_import, bool export_p, - cpp_reader *reader); -extern void preprocessed_module (cpp_reader *reader); -extern void import_module (module_state *, location_t, bool export_p, - tree attr, cpp_reader *); -extern void declare_module (module_state *, location_t, bool export_p, - tree attr, cpp_reader *); -extern void init_modules (cpp_reader *); -extern void fini_modules (cpp_reader *, void *cookie, bool); -extern void maybe_check_all_macros (cpp_reader *); -extern void *finish_module_processing (cpp_reader *); -extern char const *module_name (unsigned, bool header_ok); -extern bitmap get_import_bitmap (); -extern bitmap visible_instantiation_path (bitmap *); -extern void module_begin_main_file (cpp_reader *, line_maps *, - const line_map_ordinary *); -extern void module_preprocess_options (cpp_reader *); -extern bool handle_module_option (unsigned opt, const char *arg, int value); - -/* In optimize.cc */ -extern bool maybe_clone_body (tree); - -/* In parser.cc */ -extern tree cp_convert_range_for (tree, tree, tree, tree, unsigned int, bool, - unsigned short); -extern void cp_convert_omp_range_for (tree &, vec *, tree &, - tree &, tree &, tree &, tree &, tree &); -extern void cp_finish_omp_range_for (tree, tree); -extern bool parsing_nsdmi (void); -extern bool parsing_function_declarator (); -extern bool parsing_default_capturing_generic_lambda_in_template (void); -extern void inject_this_parameter (tree, cp_cv_quals); -extern location_t defparse_location (tree); -extern void maybe_show_extern_c_location (void); -extern bool literal_integer_zerop (const_tree); -extern tree attr_chainon (tree, tree); - -/* in pt.cc */ -extern tree canonical_type_parameter (tree); -extern void push_access_scope (tree); -extern void pop_access_scope (tree); -extern bool check_template_shadow (tree); -extern bool check_auto_in_tmpl_args (tree, tree); -extern tree get_innermost_template_args (tree, int); -extern void maybe_begin_member_template_processing (tree); -extern void maybe_end_member_template_processing (void); -extern tree finish_member_template_decl (tree); -extern void begin_template_parm_list (void); -extern bool begin_specialization (void); -extern void reset_specialization (void); -extern void end_specialization (void); -extern void begin_explicit_instantiation (void); -extern void end_explicit_instantiation (void); -extern void check_unqualified_spec_or_inst (tree, location_t); -extern tree check_explicit_specialization (tree, tree, int, int, - tree = NULL_TREE); -extern int num_template_headers_for_class (tree); -extern void check_template_variable (tree); -extern tree make_auto (void); -extern tree make_decltype_auto (void); -extern tree make_constrained_auto (tree, tree); -extern tree make_constrained_decltype_auto (tree, tree); -extern tree make_template_placeholder (tree); -extern bool template_placeholder_p (tree); -extern bool ctad_template_p (tree); -extern bool unparenthesized_id_or_class_member_access_p (tree); -extern tree do_auto_deduction (tree, tree, tree, - tsubst_flags_t - = tf_warning_or_error, - auto_deduction_context - = adc_unspecified, - tree = NULL_TREE, - int = LOOKUP_NORMAL, - tree = NULL_TREE); -extern tree type_uses_auto (tree); -extern tree type_uses_auto_or_concept (tree); -extern void append_type_to_template_for_access_check (tree, tree, tree, - location_t); -extern tree convert_generic_types_to_packs (tree, int, int); -extern tree splice_late_return_type (tree, tree); -extern bool is_auto (const_tree); -extern tree process_template_parm (tree, location_t, tree, - bool, bool); -extern tree end_template_parm_list (tree); -extern void end_template_parm_list (void); -extern void end_template_decl (void); -extern tree maybe_update_decl_type (tree, tree); -extern bool check_default_tmpl_args (tree, tree, bool, bool, int); -extern tree push_template_decl (tree, bool is_friend = false); -extern tree add_inherited_template_parms (tree, tree); -extern void template_parm_level_and_index (tree, int*, int*); -extern bool redeclare_class_template (tree, tree, tree); -extern tree lookup_template_class (tree, tree, tree, tree, - int, tsubst_flags_t); -extern tree lookup_template_function (tree, tree); -extern tree lookup_template_variable (tree, tree); -extern bool uses_template_parms (tree); -extern bool uses_template_parms_level (tree, int); -extern bool uses_outer_template_parms_in_constraints (tree); -extern bool in_template_function (void); -extern bool need_generic_capture (void); -extern tree instantiate_class_template (tree); -extern tree instantiate_template (tree, tree, tsubst_flags_t); -extern tree fn_type_unification (tree, tree, tree, - const tree *, unsigned int, - tree, unification_kind_t, int, - struct conversion **, - bool, bool); -extern void mark_decl_instantiated (tree, int); -extern int more_specialized_fn (tree, tree, int); -extern bool type_targs_deducible_from (tree, tree); -extern void do_decl_instantiation (tree, tree); -extern void do_type_instantiation (tree, tree, tsubst_flags_t); -extern bool always_instantiate_p (tree); -extern bool maybe_instantiate_noexcept (tree, tsubst_flags_t = tf_warning_or_error); -extern tree instantiate_decl (tree, bool, bool); -extern void maybe_instantiate_decl (tree); -extern int comp_template_parms (const_tree, const_tree); -extern bool template_heads_equivalent_p (const_tree, const_tree); -extern bool builtin_pack_fn_p (tree); -extern tree uses_parameter_packs (tree); -extern bool template_parameter_pack_p (const_tree); -extern bool function_parameter_pack_p (const_tree); -extern bool function_parameter_expanded_from_pack_p (tree, tree); -extern tree make_pack_expansion (tree, tsubst_flags_t = tf_warning_or_error); -extern bool check_for_bare_parameter_packs (tree, location_t = UNKNOWN_LOCATION); -extern tree build_template_info (tree, tree); -extern tree get_template_info (const_tree); -extern int template_class_depth (tree); -extern int is_specialization_of (tree, tree); -extern bool is_specialization_of_friend (tree, tree); -extern bool comp_template_args (tree, tree, tree * = NULL, - tree * = NULL, bool = false); -extern int template_args_equal (tree, tree, bool = false); -extern tree maybe_process_partial_specialization (tree); -extern tree most_specialized_instantiation (tree); -extern tree most_specialized_partial_spec (tree, tsubst_flags_t); -extern void print_candidates (tree); -extern void instantiate_pending_templates (int); -extern tree tsubst_default_argument (tree, int, tree, tree, - tsubst_flags_t); -extern tree tsubst (tree, tree, tsubst_flags_t, tree); -extern tree tsubst_copy_and_build (tree, tree, tsubst_flags_t, tree); -extern tree tsubst_expr (tree, tree, tsubst_flags_t, tree); -extern tree tsubst_pack_expansion (tree, tree, tsubst_flags_t, tree); -extern tree tsubst_argument_pack (tree, tree, tsubst_flags_t, tree); -extern tree tsubst_template_args (tree, tree, tsubst_flags_t, tree); -extern tree tsubst_template_arg (tree, tree, tsubst_flags_t, tree); -extern tree tsubst_function_parms (tree, tree, tsubst_flags_t, tree); -extern tree most_general_template (tree); -extern tree get_mostly_instantiated_function_type (tree); -extern bool problematic_instantiation_changed (void); -extern void record_last_problematic_instantiation (void); -extern struct tinst_level *current_instantiation(void); -extern bool instantiating_current_function_p (void); -extern tree maybe_get_template_decl_from_type_decl (tree); -extern int processing_template_parmlist; -extern bool dependent_type_p (tree); -extern bool dependent_scope_p (tree); -extern bool dependentish_scope_p (tree); -extern bool any_dependent_template_arguments_p (const_tree); -extern bool any_erroneous_template_args_p (const_tree); -extern bool dependent_template_p (tree); -extern bool dependent_template_id_p (tree, tree); -extern bool type_dependent_expression_p (tree); -extern bool type_dependent_object_expression_p (tree); -extern bool any_type_dependent_arguments_p (const vec *); -extern bool any_type_dependent_elements_p (const_tree); -extern bool type_dependent_expression_p_push (tree); -extern bool value_dependent_expression_p (tree); -extern bool instantiation_dependent_uneval_expression_p (tree); -extern bool any_value_dependent_elements_p (const_tree); -extern bool dependent_omp_for_p (tree, tree, tree, tree); -extern tree resolve_typename_type (tree, bool); -extern tree template_for_substitution (tree); -extern tree build_non_dependent_expr (tree); -extern void make_args_non_dependent (vec *); -extern bool reregister_specialization (tree, tree, tree); -extern tree instantiate_non_dependent_expr (tree, tsubst_flags_t = tf_error); -extern tree instantiate_non_dependent_expr_internal (tree, tsubst_flags_t); -extern tree instantiate_non_dependent_or_null (tree); -extern bool variable_template_specialization_p (tree); -extern bool alias_type_or_template_p (tree); -enum { nt_opaque = false, nt_transparent = true }; -extern tree alias_template_specialization_p (const_tree, bool); -extern tree dependent_alias_template_spec_p (const_tree, bool); -extern tree get_template_parm_object (tree expr, tree mangle); -extern tree tparm_object_argument (tree); -extern bool explicit_class_specialization_p (tree); -extern bool push_tinst_level (tree); -extern bool push_tinst_level (tree, tree); -extern bool push_tinst_level_loc (tree, location_t); -extern bool push_tinst_level_loc (tree, tree, location_t); -extern void pop_tinst_level (void); -extern struct tinst_level *outermost_tinst_level(void); -extern bool non_templated_friend_p (tree); -extern void init_template_processing (void); -extern void print_template_statistics (void); -bool template_template_parameter_p (const_tree); -bool template_type_parameter_p (const_tree); -extern bool primary_template_specialization_p (const_tree); -extern tree get_primary_template_innermost_parameters (const_tree); -extern tree get_template_innermost_arguments (const_tree); -extern tree get_template_argument_pack_elems (const_tree); -extern tree get_function_template_decl (const_tree); -extern tree resolve_nondeduced_context (tree, tsubst_flags_t); -extern tree resolve_nondeduced_context_or_error (tree, tsubst_flags_t); -extern hashval_t iterative_hash_template_arg (tree arg, hashval_t val); -extern tree coerce_template_parms (tree, tree, tree, tsubst_flags_t, - bool = true); -extern tree canonicalize_type_argument (tree, tsubst_flags_t); -extern void register_local_identity (tree); -extern void register_local_specialization (tree, tree); -extern tree retrieve_local_specialization (tree); -extern void register_parameter_specializations (tree, tree); -extern tree extract_fnparm_pack (tree, tree *); -extern tree template_parm_to_arg (tree); -extern tree dguide_name (tree); -extern bool dguide_name_p (tree); -extern bool deduction_guide_p (const_tree); -extern bool copy_guide_p (const_tree); -extern bool template_guide_p (const_tree); -extern bool builtin_guide_p (const_tree); -extern void store_explicit_specifier (tree, tree); -extern tree lookup_explicit_specifier (tree); -extern void walk_specializations (bool, - void (*)(bool, spec_entry *, - void *), - void *); -extern tree match_mergeable_specialization (bool is_decl, spec_entry *); -extern unsigned get_mergeable_specialization_flags (tree tmpl, tree spec); -extern void add_mergeable_specialization (bool is_decl, bool is_alias, - spec_entry *, - tree outer, unsigned); -extern tree add_to_template_args (tree, tree); -extern tree add_outermost_template_args (tree, tree); -extern tree add_extra_args (tree, tree, tsubst_flags_t, tree); -extern tree build_extra_args (tree, tree, tsubst_flags_t); - -/* in rtti.cc */ -/* A vector of all tinfo decls that haven't been emitted yet. */ -extern GTY(()) vec *unemitted_tinfo_decls; - -extern void init_rtti_processing (void); -extern tree build_typeid (tree, tsubst_flags_t); -extern tree get_tinfo_decl_direct (tree, tree, int); -extern tree get_tinfo_decl (tree); -extern tree get_typeid (tree, tsubst_flags_t); -extern tree build_headof (tree); -extern tree build_dynamic_cast (location_t, tree, tree, - tsubst_flags_t); -extern void emit_support_tinfos (void); -extern bool emit_tinfo_decl (tree); -extern unsigned get_pseudo_tinfo_index (tree); -extern tree get_pseudo_tinfo_type (unsigned); -extern tree build_if_nonnull (tree, tree, tsubst_flags_t); - -/* in search.cc */ -extern tree get_parent_with_private_access (tree decl, tree binfo); -extern bool accessible_base_p (tree, tree, bool); -extern tree lookup_base (tree, tree, base_access, - base_kind *, tsubst_flags_t); -extern tree dcast_base_hint (tree, tree); -extern int accessible_p (tree, tree, bool); -extern int accessible_in_template_p (tree, tree); -extern tree lookup_field (tree, tree, int, bool); -extern tree lookup_fnfields (tree, tree, int, tsubst_flags_t); -extern tree lookup_member (tree, tree, int, bool, - tsubst_flags_t, - access_failure_info *afi = NULL); -extern tree lookup_member_fuzzy (tree, tree, bool); -extern tree locate_field_accessor (tree, tree, bool); -extern int look_for_overrides (tree, tree); -extern void get_pure_virtuals (tree); -extern void maybe_suppress_debug_info (tree); -extern void note_debug_info_needed (tree); -extern tree current_scope (void); -extern int at_function_scope_p (void); -extern bool at_class_scope_p (void); -extern bool at_namespace_scope_p (void); -extern tree context_for_name_lookup (tree); -extern tree type_context_for_name_lookup (tree); -extern tree lookup_conversions (tree); -extern tree binfo_from_vbase (tree); -extern tree binfo_for_vbase (tree, tree); -extern tree look_for_overrides_here (tree, tree); -#define dfs_skip_bases ((tree)1) -extern tree dfs_walk_all (tree, tree (*) (tree, void *), - tree (*) (tree, void *), void *); -extern tree dfs_walk_once (tree, tree (*) (tree, void *), - tree (*) (tree, void *), void *); -extern tree binfo_via_virtual (tree, tree); -extern bool binfo_direct_p (tree); -extern tree build_baselink (tree, tree, tree, tree); -extern tree adjust_result_of_qualified_name_lookup - (tree, tree, tree); -extern tree copied_binfo (tree, tree); -extern tree original_binfo (tree, tree); -extern bool shared_member_p (tree); -extern bool any_dependent_bases_p (tree = current_nonlambda_class_type ()); -extern bool maybe_check_overriding_exception_spec (tree, tree); - -/* in semantics.cc */ -extern void push_deferring_access_checks (deferring_kind); -extern void resume_deferring_access_checks (void); -extern void stop_deferring_access_checks (void); -extern void pop_deferring_access_checks (void); -extern vec *get_deferred_access_checks (void); -extern void reopen_deferring_access_checks (vec *); -extern void pop_to_parent_deferring_access_checks (void); -extern bool perform_access_checks (vec *, - tsubst_flags_t); -extern bool perform_deferred_access_checks (tsubst_flags_t); -extern bool perform_or_defer_access_check (tree, tree, tree, - tsubst_flags_t, - access_failure_info *afi = NULL); - -/* RAII sentinel to ensures that deferred access checks are popped before - a function returns. */ - -class deferring_access_check_sentinel -{ -public: - deferring_access_check_sentinel (enum deferring_kind kind = dk_deferred) - { - push_deferring_access_checks (kind); - } - ~deferring_access_check_sentinel () - { - pop_deferring_access_checks (); - } -}; - -extern int stmts_are_full_exprs_p (void); -extern void init_cp_semantics (void); -extern tree do_poplevel (tree); -extern void break_maybe_infinite_loop (void); -extern void add_decl_expr (tree); -extern tree maybe_cleanup_point_expr_void (tree); -extern tree finish_expr_stmt (tree); -extern tree begin_if_stmt (void); -extern tree finish_if_stmt_cond (tree, tree); -extern tree finish_then_clause (tree); -extern void begin_else_clause (tree); -extern void finish_else_clause (tree); -extern void finish_if_stmt (tree); -extern tree begin_while_stmt (void); -extern void finish_while_stmt_cond (tree, tree, bool, unsigned short); -extern void finish_while_stmt (tree); -extern tree begin_do_stmt (void); -extern void finish_do_body (tree); -extern void finish_do_stmt (tree, tree, bool, unsigned short); -extern tree finish_return_stmt (tree); -extern tree begin_for_scope (tree *); -extern tree begin_for_stmt (tree, tree); -extern void finish_init_stmt (tree); -extern void finish_for_cond (tree, tree, bool, unsigned short); -extern void finish_for_expr (tree, tree); -extern void finish_for_stmt (tree); -extern tree begin_range_for_stmt (tree, tree); -extern void finish_range_for_decl (tree, tree, tree); -extern void finish_range_for_stmt (tree); -extern tree finish_break_stmt (void); -extern tree finish_continue_stmt (void); -extern tree begin_switch_stmt (void); -extern void finish_switch_cond (tree, tree); -extern void finish_switch_stmt (tree); -extern tree finish_goto_stmt (tree); -extern tree begin_try_block (void); -extern void finish_try_block (tree); -extern void finish_handler_sequence (tree); -extern tree begin_function_try_block (tree *); -extern void finish_function_try_block (tree); -extern void finish_function_handler_sequence (tree, tree); -extern void finish_cleanup_try_block (tree); -extern tree begin_handler (void); -extern void finish_handler_parms (tree, tree); -extern void finish_handler (tree); -extern void finish_cleanup (tree, tree); -extern bool is_this_parameter (tree); - -enum { - BCS_NORMAL = 0, - BCS_NO_SCOPE = 1, - BCS_TRY_BLOCK = 2, - BCS_FN_BODY = 4, - BCS_TRANSACTION = 8, - BCS_STMT_EXPR = 16 -}; -extern tree begin_compound_stmt (unsigned int); - -extern void finish_compound_stmt (tree); -extern tree finish_asm_stmt (location_t, int, tree, tree, - tree, tree, tree, bool); -extern tree finish_label_stmt (tree); -extern void finish_label_decl (tree); -extern cp_expr finish_parenthesized_expr (cp_expr); -extern tree force_paren_expr (tree, bool = false); -inline tree force_paren_expr_uneval (tree t) -{ return force_paren_expr (t, true); } -extern tree maybe_undo_parenthesized_ref (tree); -extern tree finish_non_static_data_member (tree, tree, tree, - tsubst_flags_t = tf_warning_or_error); -extern tree begin_stmt_expr (void); -extern tree finish_stmt_expr_expr (tree, tree); -extern tree finish_stmt_expr (tree, bool); -extern tree stmt_expr_value_expr (tree); -bool empty_expr_stmt_p (tree); -extern cp_expr perform_koenig_lookup (cp_expr, vec *, - tsubst_flags_t); -extern tree finish_call_expr (tree, vec **, bool, - bool, tsubst_flags_t); -extern tree lookup_and_finish_template_variable (tree, tree, tsubst_flags_t = tf_warning_or_error); -extern tree finish_template_variable (tree, tsubst_flags_t = tf_warning_or_error); -extern cp_expr finish_increment_expr (cp_expr, enum tree_code); -extern tree finish_this_expr (void); -extern tree finish_pseudo_destructor_expr (tree, tree, tree, location_t); -extern cp_expr finish_unary_op_expr (location_t, enum tree_code, cp_expr, - tsubst_flags_t); -/* Whether this call to finish_compound_literal represents a C++11 functional - cast or a C99 compound literal. */ -enum fcl_t { fcl_functional, fcl_c99 }; -extern tree finish_compound_literal (tree, tree, tsubst_flags_t, fcl_t = fcl_functional); -extern tree finish_fname (tree); -extern void finish_translation_unit (void); -extern tree finish_template_type_parm (tree, tree); -extern tree finish_template_template_parm (tree, tree); -extern tree begin_class_definition (tree); -extern void finish_template_decl (tree); -extern tree finish_template_type (tree, tree, int); -extern tree finish_base_specifier (tree, tree, bool); -extern void finish_member_declaration (tree); -extern bool outer_automatic_var_p (tree); -extern tree process_outer_var_ref (tree, tsubst_flags_t, bool force_use = false); -extern cp_expr finish_id_expression (tree, tree, tree, - cp_id_kind *, - bool, bool, bool *, - bool, bool, bool, bool, - const char **, - location_t); -extern tree finish_typeof (tree); -extern tree finish_underlying_type (tree); -extern tree calculate_bases (tree, tsubst_flags_t); -extern tree finish_bases (tree, bool); -extern tree calculate_direct_bases (tree, tsubst_flags_t); -extern tree finish_offsetof (tree, tree, location_t); -extern void finish_decl_cleanup (tree, tree); -extern void finish_eh_cleanup (tree); -extern void emit_associated_thunks (tree); -extern void finish_mem_initializers (tree); -extern tree check_template_template_default_arg (tree); -extern bool expand_or_defer_fn_1 (tree); -extern void expand_or_defer_fn (tree); -extern bool check_accessibility_of_qualified_id (tree, tree, tree, tsubst_flags_t); -extern tree finish_qualified_id_expr (tree, tree, bool, bool, - bool, bool, tsubst_flags_t); -extern void simplify_aggr_init_expr (tree *); -extern void finalize_nrv (tree *, tree, tree); -extern tree omp_reduction_id (enum tree_code, tree, tree); -extern tree cp_remove_omp_priv_cleanup_stmt (tree *, int *, void *); -extern bool cp_check_omp_declare_reduction (tree); -extern void finish_omp_declare_simd_methods (tree); -extern tree finish_omp_clauses (tree, enum c_omp_region_type); -extern tree push_omp_privatization_clauses (bool); -extern void pop_omp_privatization_clauses (tree); -extern void save_omp_privatization_clauses (vec &); -extern void restore_omp_privatization_clauses (vec &); -extern void finish_omp_threadprivate (tree); -extern tree begin_omp_structured_block (void); -extern tree finish_omp_structured_block (tree); -extern tree finish_oacc_data (tree, tree); -extern tree finish_oacc_host_data (tree, tree); -extern tree finish_omp_construct (enum tree_code, tree, tree); -extern tree begin_omp_parallel (void); -extern tree finish_omp_parallel (tree, tree); -extern tree begin_omp_task (void); -extern tree finish_omp_task (tree, tree); -extern tree finish_omp_for (location_t, enum tree_code, - tree, tree, tree, tree, tree, - tree, tree, vec *, tree); -extern tree finish_omp_for_block (tree, tree); -extern void finish_omp_atomic (location_t, enum tree_code, - enum tree_code, tree, tree, - tree, tree, tree, tree, tree, - enum omp_memory_order, bool); -extern void finish_omp_barrier (void); -extern void finish_omp_depobj (location_t, tree, - enum omp_clause_depend_kind, - tree); -extern void finish_omp_flush (int); -extern void finish_omp_taskwait (void); -extern void finish_omp_taskyield (void); -extern void finish_omp_cancel (tree); -extern void finish_omp_cancellation_point (tree); -extern tree omp_privatize_field (tree, bool); -extern tree begin_transaction_stmt (location_t, tree *, int); -extern void finish_transaction_stmt (tree, tree, int, tree); -extern tree build_transaction_expr (location_t, tree, int, tree); -extern bool cxx_omp_create_clause_info (tree, tree, bool, bool, - bool, bool); -extern tree baselink_for_fns (tree); -extern void finish_static_assert (tree, tree, location_t, - bool, bool); -extern tree finish_decltype_type (tree, bool, tsubst_flags_t); -extern tree fold_builtin_is_corresponding_member (location_t, int, tree *); -extern tree fold_builtin_is_pointer_inverconvertible_with_class (location_t, int, tree *); -extern tree finish_trait_expr (location_t, enum cp_trait_kind, tree, tree); -extern tree finish_trait_type (enum cp_trait_kind, tree, tree); -extern tree build_lambda_expr (void); -extern tree build_lambda_object (tree); -extern tree begin_lambda_type (tree); -extern tree lambda_capture_field_type (tree, bool, bool); -extern tree lambda_proxy_type (tree); -extern tree lambda_function (tree); -extern void apply_deduced_return_type (tree, tree); -extern tree add_capture (tree, tree, tree, bool, bool); -extern tree add_default_capture (tree, tree, tree); -extern void insert_capture_proxy (tree); -extern void insert_pending_capture_proxies (void); -extern bool is_capture_proxy (tree); -extern bool is_normal_capture_proxy (tree); -extern bool is_constant_capture_proxy (tree); -extern void register_capture_members (tree); -extern tree lambda_expr_this_capture (tree, int); -extern void maybe_generic_this_capture (tree, tree); -extern tree maybe_resolve_dummy (tree, bool); -extern tree current_nonlambda_function (void); -extern tree nonlambda_method_basetype (void); -extern tree current_nonlambda_scope (void); -extern tree current_lambda_expr (void); -extern bool generic_lambda_fn_p (tree); -extern tree do_dependent_capture (tree, bool = false); -extern bool lambda_fn_in_template_p (tree); -extern void maybe_add_lambda_conv_op (tree); -extern bool is_lambda_ignored_entity (tree); -extern bool lambda_static_thunk_p (tree); -extern bool call_from_lambda_thunk_p (tree); -extern tree finish_builtin_launder (location_t, tree, - tsubst_flags_t); -extern tree cp_build_vec_convert (tree, location_t, tree, - tsubst_flags_t); -extern tree cp_build_bit_cast (location_t, tree, tree, - tsubst_flags_t); -extern void start_lambda_scope (tree decl); -extern void finish_lambda_scope (void); -extern void record_lambda_scope (tree lambda); -extern void record_lambda_scope_discriminator (tree lambda); -extern void record_lambda_scope_sig_discriminator (tree lambda, tree fn); -extern tree start_lambda_function (tree fn, tree lambda_expr); -extern void finish_lambda_function (tree body); -extern bool regenerated_lambda_fn_p (tree); -extern tree lambda_regenerating_args (tree); -extern tree most_general_lambda (tree); -extern tree finish_omp_target (location_t, tree, tree, bool); -extern void finish_omp_target_clauses (location_t, tree, tree *); - -/* in tree.cc */ -extern int cp_tree_operand_length (const_tree); -extern int cp_tree_code_length (enum tree_code); -extern void cp_free_lang_data (tree t); -extern tree force_target_expr (tree, tree, tsubst_flags_t); -extern tree build_target_expr_with_type (tree, tree, tsubst_flags_t); -extern void lang_check_failed (const char *, int, - const char *) ATTRIBUTE_NORETURN - ATTRIBUTE_COLD; -extern tree stabilize_expr (tree, tree *); -extern void stabilize_call (tree, tree *); -extern bool stabilize_init (tree, tree *); -extern tree add_stmt_to_compound (tree, tree); -extern void init_tree (void); -extern bool pod_type_p (const_tree); -extern bool layout_pod_type_p (const_tree); -extern bool std_layout_type_p (const_tree); -extern bool trivial_type_p (const_tree); -extern bool trivially_copyable_p (const_tree); -extern bool type_has_unique_obj_representations (const_tree); -extern bool scalarish_type_p (const_tree); -extern bool structural_type_p (tree, bool = false); -extern bool type_has_nontrivial_default_init (const_tree); -extern bool type_has_nontrivial_copy_init (const_tree); -extern void maybe_warn_parm_abi (tree, location_t); -extern bool class_tmpl_impl_spec_p (const_tree); -extern int zero_init_p (const_tree); -extern bool zero_init_expr_p (tree); -extern bool check_abi_tag_redeclaration (const_tree, const_tree, - const_tree); -extern bool check_abi_tag_args (tree, tree); -extern tree strip_typedefs (tree, bool * = NULL, - unsigned int = 0); -extern tree strip_typedefs_expr (tree, bool * = NULL, - unsigned int = 0); -extern tree copy_binfo (tree, tree, tree, - tree *, int); -extern int member_p (const_tree); -extern cp_lvalue_kind real_lvalue_p (const_tree); -extern cp_lvalue_kind lvalue_kind (const_tree); -extern bool glvalue_p (const_tree); -extern bool obvalue_p (const_tree); -extern bool xvalue_p (const_tree); -extern bool bitfield_p (const_tree); -extern tree cp_stabilize_reference (tree); -extern bool builtin_valid_in_constant_expr_p (const_tree); -extern tree build_min (enum tree_code, tree, ...); -extern tree build_min_nt_loc (location_t, enum tree_code, - ...); -extern tree build_min_non_dep (enum tree_code, tree, ...); -extern tree build_min_non_dep_op_overload (enum tree_code, tree, tree, ...); -extern tree build_min_non_dep_op_overload (tree, tree, tree, - vec *); -extern tree build_min_nt_call_vec (tree, vec *); -extern tree build_min_non_dep_call_vec (tree, tree, vec *); -extern vec* vec_copy_and_insert (vec*, tree, unsigned); -extern tree build_cplus_new (tree, tree, tsubst_flags_t); -extern tree build_local_temp (tree); -extern bool is_local_temp (tree); -extern tree build_aggr_init_expr (tree, tree); -extern tree get_target_expr (tree, - tsubst_flags_t = tf_warning_or_error); -extern tree build_cplus_array_type (tree, tree, int is_dep = -1); -extern tree build_array_of_n_type (tree, int); -extern bool array_of_runtime_bound_p (tree); -extern bool vla_type_p (tree); -extern tree build_array_copy (tree); -extern tree build_vec_init_expr (tree, tree, tsubst_flags_t); -extern tree expand_vec_init_expr (tree, tree, tsubst_flags_t, - vec** = nullptr); -extern void diagnose_non_constexpr_vec_init (tree); -extern tree hash_tree_cons (tree, tree, tree); -extern tree hash_tree_chain (tree, tree); -extern tree build_qualified_name (tree, tree, tree, bool); -extern tree build_ref_qualified_type (tree, cp_ref_qualifier); -extern tree make_binding_vec (tree, unsigned clusters CXX_MEM_STAT_INFO); -inline tree ovl_first (tree) ATTRIBUTE_PURE; -extern tree ovl_make (tree fn, - tree next = NULL_TREE); -extern tree ovl_insert (tree fn, tree maybe_ovl, - int using_or_hidden = 0); -extern tree ovl_skip_hidden (tree) ATTRIBUTE_PURE; -extern void lookup_mark (tree lookup, bool val); -extern tree lookup_add (tree fns, tree lookup); -extern tree lookup_maybe_add (tree fns, tree lookup, - bool deduping); -extern int is_overloaded_fn (tree) ATTRIBUTE_PURE; -extern bool really_overloaded_fn (tree) ATTRIBUTE_PURE; -extern tree dependent_name (tree); -extern tree call_expr_dependent_name (tree); -extern tree maybe_get_fns (tree) ATTRIBUTE_PURE; -extern tree get_fns (tree) ATTRIBUTE_PURE; -extern tree get_first_fn (tree) ATTRIBUTE_PURE; -extern tree ovl_scope (tree); -extern const char *cxx_printable_name (tree, int); -extern const char *cxx_printable_name_translate (tree, int); -extern tree canonical_eh_spec (tree); -extern tree build_cp_fntype_variant (tree, cp_ref_qualifier, tree, bool); -extern tree build_exception_variant (tree, tree); -extern void fixup_deferred_exception_variants (tree, tree); -extern tree bind_template_template_parm (tree, tree); -extern tree array_type_nelts_total (tree); -extern tree array_type_nelts_top (tree); -extern bool array_of_unknown_bound_p (const_tree); -extern tree break_out_target_exprs (tree, bool = false); -extern tree build_ctor_subob_ref (tree, tree, tree); -extern tree replace_placeholders (tree, tree, bool * = NULL); -extern bool find_placeholders (tree); -extern tree get_type_decl (tree); -extern tree decl_namespace_context (tree); -extern bool decl_anon_ns_mem_p (tree); -extern bool decl_internal_context_p (const_tree); -extern tree lvalue_type (tree); -extern tree error_type (tree); -extern int varargs_function_p (const_tree); -extern bool cp_tree_equal (tree, tree); -extern tree no_linkage_check (tree, bool); -extern void debug_binfo (tree); -extern tree build_dummy_object (tree); -extern tree maybe_dummy_object (tree, tree *); -extern bool is_dummy_object (const_tree); -extern bool is_byte_access_type (tree); -extern bool is_byte_access_type_not_plain_char (tree); -extern const struct attribute_spec cxx_attribute_table[]; -extern tree make_ptrmem_cst (tree, tree); -extern tree cp_build_type_attribute_variant (tree, tree); -extern tree cp_build_reference_type (tree, bool); -extern tree move (tree); -extern tree cp_build_qualified_type (tree, int, - tsubst_flags_t = tf_warning_or_error); -extern bool cv_qualified_p (const_tree); -extern tree cv_unqualified (tree); -extern special_function_kind special_function_p (const_tree); -extern special_function_kind special_memfn_p (const_tree); -extern int count_trees (tree); -extern int char_type_p (tree); -extern void verify_stmt_tree (tree); -extern linkage_kind decl_linkage (tree); -extern duration_kind decl_storage_duration (tree); -extern tree cp_walk_subtrees (tree*, int*, walk_tree_fn, - void*, hash_set *); -#define cp_walk_tree(tp,func,data,pset) \ - walk_tree_1 (tp, func, data, pset, cp_walk_subtrees) -#define cp_walk_tree_without_duplicates(tp,func,data) \ - walk_tree_without_duplicates_1 (tp, func, data, cp_walk_subtrees) -extern tree rvalue (tree); -extern tree convert_bitfield_to_declared_type (tree); -extern tree cp_save_expr (tree); -extern bool cast_valid_in_integral_constant_expression_p (tree); -extern bool cxx_type_hash_eq (const_tree, const_tree); -extern tree cxx_copy_lang_qualifiers (const_tree, const_tree); - -extern void cxx_print_statistics (void); -extern bool maybe_warn_zero_as_null_pointer_constant (tree, location_t); - -/* in ptree.cc */ -extern void cxx_print_xnode (FILE *, tree, int); -extern void cxx_print_decl (FILE *, tree, int); -extern void cxx_print_type (FILE *, tree, int); -extern void cxx_print_identifier (FILE *, tree, int); -extern void cxx_print_error_function (diagnostic_context *, - const char *, - struct diagnostic_info *); - -/* in typeck.cc */ -/* Says how we should behave when comparing two arrays one of which - has unknown bounds. */ -enum compare_bounds_t { bounds_none, bounds_either, bounds_first }; - -extern bool cxx_mark_addressable (tree, bool = false); -extern int string_conv_p (const_tree, const_tree, int); -extern tree cp_truthvalue_conversion (tree, tsubst_flags_t); -extern tree contextual_conv_bool (tree, tsubst_flags_t); -extern tree condition_conversion (tree); -extern tree require_complete_type (tree, - tsubst_flags_t = tf_warning_or_error); -extern tree complete_type (tree); -extern tree complete_type_or_else (tree, tree); -extern tree complete_type_or_maybe_complain (tree, tree, tsubst_flags_t); -extern int cp_compare_floating_point_conversion_ranks (tree, tree); -inline bool type_unknown_p (const_tree); -enum { ce_derived, ce_type, ce_normal, ce_exact }; -extern bool comp_except_specs (const_tree, const_tree, int); -extern bool comptypes (tree, tree, int); -extern bool same_type_ignoring_top_level_qualifiers_p (tree, tree); -extern bool similar_type_p (tree, tree); -extern bool next_common_initial_sequence (tree &, tree &); -extern bool layout_compatible_type_p (tree, tree); -extern bool compparms (const_tree, const_tree); -extern int comp_cv_qualification (const_tree, const_tree); -extern int comp_cv_qualification (int, int); -extern int comp_cv_qual_signature (tree, tree); -extern tree cxx_sizeof_or_alignof_expr (location_t, tree, - enum tree_code, bool, bool); -extern tree cxx_sizeof_or_alignof_type (location_t, tree, - enum tree_code, bool, bool); -extern tree cxx_alignas_expr (tree); -extern tree cxx_sizeof_nowarn (tree); -extern tree is_bitfield_expr_with_lowered_type (const_tree); -extern tree unlowered_expr_type (const_tree); -extern tree decay_conversion (tree, - tsubst_flags_t, - bool = true); -extern tree build_class_member_access_expr (cp_expr, tree, tree, bool, - tsubst_flags_t); -extern tree finish_class_member_access_expr (cp_expr, tree, bool, - tsubst_flags_t); -extern tree lookup_destructor (tree, tree, tree, tsubst_flags_t); -extern tree build_dependent_operator_type (tree, enum tree_code, bool); -extern tree build_x_indirect_ref (location_t, tree, - ref_operator, tree, - tsubst_flags_t); -extern tree cp_build_indirect_ref (location_t, tree, - ref_operator, - tsubst_flags_t); -extern tree cp_build_fold_indirect_ref (tree); -extern tree build_array_ref (location_t, tree, tree); -extern tree cp_build_array_ref (location_t, tree, tree, - tsubst_flags_t); -extern tree get_member_function_from_ptrfunc (tree *, tree, tsubst_flags_t); -extern tree cp_build_function_call_nary (tree, tsubst_flags_t, ...) - ATTRIBUTE_SENTINEL; -extern tree cp_build_function_call_vec (tree, vec **, - tsubst_flags_t, - tree = NULL_TREE); -extern tree build_x_binary_op (const op_location_t &, - enum tree_code, tree, - enum tree_code, tree, - enum tree_code, tree, - tree *, tsubst_flags_t); -inline tree build_x_binary_op (const op_location_t &loc, - enum tree_code code, tree arg1, tree arg2, - tsubst_flags_t complain) -{ - return build_x_binary_op (loc, code, arg1, TREE_CODE (arg1), arg2, - TREE_CODE (arg2), NULL_TREE, NULL, complain); -} -extern tree build_x_array_ref (location_t, tree, tree, - tsubst_flags_t); -extern tree build_x_unary_op (location_t, - enum tree_code, cp_expr, - tree, tsubst_flags_t); -extern tree cp_build_addressof (location_t, tree, - tsubst_flags_t); -extern tree cp_build_addr_expr (tree, tsubst_flags_t); -extern tree cp_build_unary_op (enum tree_code, tree, bool, - tsubst_flags_t); -extern tree genericize_compound_lvalue (tree); -extern tree unary_complex_lvalue (enum tree_code, tree); -extern tree build_x_conditional_expr (location_t, tree, tree, tree, - tsubst_flags_t); -extern tree build_x_compound_expr_from_list (tree, expr_list_kind, - tsubst_flags_t); -extern tree build_x_compound_expr_from_vec (vec *, - const char *, tsubst_flags_t); -extern tree build_x_compound_expr (location_t, tree, tree, - tree, tsubst_flags_t); -extern tree build_compound_expr (location_t, tree, tree); -extern tree cp_build_compound_expr (tree, tree, tsubst_flags_t); -extern tree build_static_cast (location_t, tree, tree, - tsubst_flags_t); -extern tree build_reinterpret_cast (location_t, tree, tree, - tsubst_flags_t); -extern tree build_const_cast (location_t, tree, tree, - tsubst_flags_t); -extern tree build_c_cast (location_t, tree, tree); -extern cp_expr build_c_cast (location_t loc, tree type, - cp_expr expr); -extern tree cp_build_c_cast (location_t, tree, tree, - tsubst_flags_t); -extern cp_expr build_x_modify_expr (location_t, tree, - enum tree_code, tree, - tree, tsubst_flags_t); -extern tree cp_build_modify_expr (location_t, tree, - enum tree_code, tree, - tsubst_flags_t); -extern tree convert_for_initialization (tree, tree, tree, int, - impl_conv_rhs, tree, int, - tsubst_flags_t); -extern int comp_ptr_ttypes (tree, tree); -extern bool comp_ptr_ttypes_const (tree, tree, compare_bounds_t); -extern bool error_type_p (const_tree); -extern bool ptr_reasonably_similar (const_tree, const_tree); -extern tree build_ptrmemfunc (tree, tree, int, bool, - tsubst_flags_t); -extern int cp_type_quals (const_tree); -extern int type_memfn_quals (const_tree); -extern cp_ref_qualifier type_memfn_rqual (const_tree); -extern tree apply_memfn_quals (tree, cp_cv_quals, - cp_ref_qualifier = REF_QUAL_NONE); -extern bool cp_has_mutable_p (const_tree); -extern bool at_least_as_qualified_p (const_tree, const_tree); -extern void cp_apply_type_quals_to_decl (int, tree); -extern tree build_ptrmemfunc1 (tree, tree, tree); -extern void expand_ptrmemfunc_cst (tree, tree *, tree *); -extern tree type_after_usual_arithmetic_conversions (tree, tree); -extern tree common_pointer_type (tree, tree); -extern tree composite_pointer_type (const op_location_t &, - tree, tree, tree, tree, - composite_pointer_operation, - tsubst_flags_t); -extern tree merge_types (tree, tree); -extern tree strip_array_domain (tree); -extern tree check_return_expr (tree, bool *); -extern tree spaceship_type (tree, tsubst_flags_t = tf_warning_or_error); -extern tree genericize_spaceship (location_t, tree, tree, tree); -extern tree cp_build_binary_op (const op_location_t &, - enum tree_code, tree, tree, - tsubst_flags_t); -extern tree build_x_vec_perm_expr (location_t, - tree, tree, tree, - tsubst_flags_t); -extern tree build_x_shufflevector (location_t, - vec *, - tsubst_flags_t); -#define cxx_sizeof(T) cxx_sizeof_or_alignof_type (input_location, T, SIZEOF_EXPR, false, true) -extern tree build_simple_component_ref (tree, tree); -extern tree build_ptrmemfunc_access_expr (tree, tree); -extern tree build_address (tree); -extern tree build_nop (tree, tree); -extern tree non_reference (tree); -extern tree lookup_anon_field (tree, tree); -extern bool invalid_nonstatic_memfn_p (location_t, tree, - tsubst_flags_t); -extern tree convert_member_func_to_ptr (tree, tree, tsubst_flags_t); -extern tree convert_ptrmem (tree, tree, bool, bool, - tsubst_flags_t); -extern int lvalue_or_else (tree, enum lvalue_use, - tsubst_flags_t); -extern void check_template_keyword (tree); -extern bool check_raw_literal_operator (const_tree decl); -extern bool check_literal_operator_args (const_tree, bool *, bool *); -extern void maybe_warn_about_useless_cast (location_t, tree, tree, - tsubst_flags_t); -extern tree cp_perform_integral_promotions (tree, tsubst_flags_t); - -extern tree finish_left_unary_fold_expr (tree, int); -extern tree finish_right_unary_fold_expr (tree, int); -extern tree finish_binary_fold_expr (tree, tree, int); -extern tree treat_lvalue_as_rvalue_p (tree, bool); -extern bool decl_in_std_namespace_p (tree); -extern void maybe_warn_pessimizing_move (tree, tree, bool); - -/* in typeck2.cc */ -extern void require_complete_eh_spec_types (tree, tree); -extern bool cxx_incomplete_type_diagnostic (location_t, const_tree, - const_tree, diagnostic_t); -inline location_t -loc_or_input_loc (location_t loc) -{ - return loc == UNKNOWN_LOCATION ? input_location : loc; -} - -inline location_t -cp_expr_loc_or_loc (const_tree t, location_t or_loc) -{ - location_t loc = cp_expr_location (t); - if (loc == UNKNOWN_LOCATION) - loc = or_loc; - return loc; -} - -inline location_t -cp_expr_loc_or_input_loc (const_tree t) -{ - return cp_expr_loc_or_loc (t, input_location); -} - -inline bool -cxx_incomplete_type_diagnostic (const_tree value, const_tree type, - diagnostic_t diag_kind) -{ - return cxx_incomplete_type_diagnostic (cp_expr_loc_or_input_loc (value), - value, type, diag_kind); -} - -extern void cxx_incomplete_type_error (location_t, const_tree, - const_tree); -inline void -cxx_incomplete_type_error (const_tree value, const_tree type) -{ - cxx_incomplete_type_diagnostic (value, type, DK_ERROR); -} - -extern void cxx_incomplete_type_inform (const_tree); -extern tree error_not_base_type (tree, tree); -extern tree binfo_or_else (tree, tree); -extern void cxx_readonly_error (location_t, tree, - enum lvalue_use); -extern void complete_type_check_abstract (tree); -extern int abstract_virtuals_error (tree, tree, - tsubst_flags_t = tf_warning_or_error); -extern int abstract_virtuals_error (abstract_class_use, tree, - tsubst_flags_t = tf_warning_or_error); - -extern tree store_init_value (tree, tree, vec**, int); -extern tree split_nonconstant_init (tree, tree); -extern bool check_narrowing (tree, tree, tsubst_flags_t, - bool = false); -extern bool ordinary_char_type_p (tree); -extern bool array_string_literal_compatible_p (tree, tree); -extern tree digest_init (tree, tree, tsubst_flags_t); -extern tree digest_init_flags (tree, tree, int, tsubst_flags_t); -extern tree digest_nsdmi_init (tree, tree, tsubst_flags_t); -extern tree build_scoped_ref (tree, tree, tree *); -extern tree build_x_arrow (location_t, tree, - tsubst_flags_t); -extern tree build_m_component_ref (tree, tree, tsubst_flags_t); -extern tree build_functional_cast (location_t, tree, tree, - tsubst_flags_t); -extern tree add_exception_specifier (tree, tree, tsubst_flags_t); -extern tree merge_exception_specifiers (tree, tree); -extern void set_target_expr_eliding (tree); -extern tree cp_build_init_expr (location_t, tree, tree); -inline tree cp_build_init_expr (tree t, tree i) -{ return cp_build_init_expr (input_location, t, i); } - -/* in mangle.cc */ -extern void init_mangle (void); -extern void mangle_decl (tree); -extern const char *mangle_type_string (tree); -extern tree mangle_typeinfo_for_type (tree); -extern tree mangle_typeinfo_string_for_type (tree); -extern tree mangle_vtbl_for_type (tree); -extern tree mangle_vtt_for_type (tree); -extern tree mangle_ctor_vtbl_for_type (tree, tree); -extern tree mangle_thunk (tree, int, tree, tree, tree); -extern tree mangle_guard_variable (tree); -extern tree mangle_tls_init_fn (tree); -extern tree mangle_tls_wrapper_fn (tree); -extern bool decl_tls_wrapper_p (tree); -extern tree mangle_ref_init_variable (tree); -extern tree mangle_template_parm_object (tree); -extern char *get_mangled_vtable_map_var_name (tree); -extern bool mangle_return_type_p (tree); -extern tree mangle_decomp (tree, vec &); -extern void mangle_module_substitution (int); -extern int mangle_module_component (tree id, bool partition); -extern tree mangle_module_global_init (int); - -/* in dump.cc */ -extern bool cp_dump_tree (void *, tree); - -/* In cp/cp-objcp-common.cc. */ - -extern alias_set_type cxx_get_alias_set (tree); -extern bool cxx_warn_unused_global_decl (const_tree); -extern size_t cp_tree_size (enum tree_code); -extern bool cp_var_mod_type_p (tree, tree); -extern void cxx_initialize_diagnostics (diagnostic_context *); -extern int cxx_types_compatible_p (tree, tree); -extern bool cxx_block_may_fallthru (const_tree); - -/* in cp-gimplify.cc */ -extern int cp_gimplify_expr (tree *, gimple_seq *, - gimple_seq *); -extern void cp_genericize (tree); -extern bool cxx_omp_const_qual_no_mutable (tree); -extern enum omp_clause_default_kind cxx_omp_predetermined_sharing_1 (tree); -extern enum omp_clause_default_kind cxx_omp_predetermined_sharing (tree); -extern enum omp_clause_defaultmap_kind cxx_omp_predetermined_mapping (tree); -extern tree cxx_omp_clause_default_ctor (tree, tree, tree); -extern tree cxx_omp_clause_copy_ctor (tree, tree, tree); -extern tree cxx_omp_clause_assign_op (tree, tree, tree); -extern tree cxx_omp_clause_dtor (tree, tree); -extern void cxx_omp_finish_clause (tree, gimple_seq *, bool); -extern bool cxx_omp_privatize_by_reference (const_tree); -extern bool cxx_omp_disregard_value_expr (tree, bool); -extern void cp_fold_function (tree); -extern tree cp_fold_maybe_rvalue (tree, bool); -extern tree cp_fold_rvalue (tree); -extern tree cp_fully_fold (tree); -extern tree cp_fully_fold_init (tree); -extern tree predeclare_vla (tree); -extern void clear_fold_cache (void); -extern tree lookup_hotness_attribute (tree); -extern tree process_stmt_hotness_attribute (tree, location_t); -extern tree build_assume_call (location_t, tree); -extern tree process_stmt_assume_attribute (tree, tree, location_t); -extern bool simple_empty_class_p (tree, tree, tree_code); -extern tree fold_builtin_source_location (const_tree); -extern tree get_source_location_impl_type (); - -/* in name-lookup.cc */ -extern tree strip_using_decl (tree); -extern void diagnose_name_conflict (tree, tree); -extern bool dependent_local_decl_p (tree); - -/* Tell the binding oracle what kind of binding we are looking for. */ - -enum cp_oracle_request -{ - CP_ORACLE_IDENTIFIER -}; - -/* If this is non-NULL, then it is a "binding oracle" which can lazily - create bindings when needed by the C compiler. The oracle is told - the name and type of the binding to create. It can call pushdecl - or the like to ensure the binding is visible; or do nothing, - leaving the binding untouched. c-decl.cc takes note of when the - oracle has been called and will not call it again if it fails to - create a given binding. */ - -typedef void cp_binding_oracle_function (enum cp_oracle_request, tree identifier); - -extern cp_binding_oracle_function *cp_binding_oracle; - -/* Set during diagnostics to record the failed constraint. This is a - TREE_LIST whose VALUE is the constraint and whose PURPOSE are the - instantiation arguments Defined in pt.cc. */ - -extern tree current_failed_constraint; - -/* An RAII class to manage the failed constraint. */ - -struct diagnosing_failed_constraint -{ - diagnosing_failed_constraint (tree, tree, bool); - ~diagnosing_failed_constraint (); - static bool replay_errors_p (); - - bool diagnosing_error; -}; - -/* in constraint.cc */ - -extern cp_expr finish_constraint_or_expr (location_t, cp_expr, cp_expr); -extern cp_expr finish_constraint_and_expr (location_t, cp_expr, cp_expr); -extern cp_expr finish_constraint_primary_expr (cp_expr); -extern tree finish_concept_definition (cp_expr, tree, tree); -extern tree combine_constraint_expressions (tree, tree); -extern tree append_constraint (tree, tree); -extern tree get_constraints (const_tree); -extern void set_constraints (tree, tree); -extern void remove_constraints (tree); -extern tree current_template_constraints (void); -extern tree associate_classtype_constraints (tree); -extern tree build_constraints (tree, tree); -extern tree maybe_substitute_reqs_for (tree, const_tree); -extern tree get_trailing_function_requirements (tree); -extern tree get_shorthand_constraints (tree); - -extern tree build_concept_id (tree); -extern tree build_type_constraint (tree, tree, tsubst_flags_t); -extern tree build_concept_check (tree, tree, tsubst_flags_t); -extern tree build_concept_check (tree, tree, tree, tsubst_flags_t); - -extern tree_pair finish_type_constraints (tree, tree, tsubst_flags_t); -extern tree build_constrained_parameter (tree, tree, tree = NULL_TREE); -extern void placeholder_extract_concept_and_args (tree, tree&, tree&); -extern bool equivalent_placeholder_constraints (tree, tree); -extern hashval_t hash_placeholder_constraint (tree); -extern bool deduce_constrained_parameter (tree, tree&, tree&); -extern tree resolve_constraint_check (tree); -extern tree check_function_concept (tree); -extern tree finish_template_introduction (tree, tree, location_t loc); -extern bool valid_requirements_p (tree); -extern tree finish_concept_name (tree); -extern tree finish_shorthand_constraint (tree, tree); -extern tree finish_requires_expr (location_t, tree, tree); -extern tree finish_simple_requirement (location_t, tree); -extern tree finish_type_requirement (location_t, tree); -extern tree finish_compound_requirement (location_t, tree, tree, bool); -extern tree finish_nested_requirement (location_t, tree); -extern tree tsubst_requires_expr (tree, tree, tsubst_flags_t, tree); -extern tree evaluate_requires_expr (tree); -extern tree tsubst_constraint (tree, tree, tsubst_flags_t, tree); -extern tree tsubst_constraint_info (tree, tree, tsubst_flags_t, tree); -extern tree tsubst_parameter_mapping (tree, tree, tsubst_flags_t, tree); - -struct processing_constraint_expression_sentinel -{ - processing_constraint_expression_sentinel (); - ~processing_constraint_expression_sentinel (); -}; - -extern bool processing_constraint_expression_p (); - -extern tree unpack_concept_check (tree); -extern tree evaluate_concept_check (tree); -extern bool constraints_satisfied_p (tree, tree = NULL_TREE); -extern bool* lookup_subsumption_result (tree, tree); -extern bool save_subsumption_result (tree, tree, bool); -extern tree find_template_parameters (tree, tree); -extern bool equivalent_constraints (tree, tree); -extern bool equivalently_constrained (tree, tree); -extern bool strictly_subsumes (tree, tree); -extern bool weakly_subsumes (tree, tree); -extern int more_constrained (tree, tree); -extern bool at_least_as_constrained (tree, tree); -extern bool constraints_equivalent_p (tree, tree); -extern bool atomic_constraints_identical_p (tree, tree); -extern hashval_t iterative_hash_constraint (tree, hashval_t); -extern hashval_t hash_atomic_constraint (tree); -extern void diagnose_constraints (location_t, tree, tree); - -extern void note_failed_type_completion_for_satisfaction (tree); - -/* A structural hasher for ATOMIC_CONSTRs. */ - -struct atom_hasher : default_hash_traits -{ - static hashval_t hash (tree t) - { - ++comparing_specializations; - hashval_t val = hash_atomic_constraint (t); - --comparing_specializations; - return val; - } - - static bool equal (tree t1, tree t2) - { - ++comparing_specializations; - bool eq = atomic_constraints_identical_p (t1, t2); - --comparing_specializations; - return eq; - } -}; - -/* in logic.cc */ -extern bool subsumes (tree, tree); - -/* In class.cc */ -extern void set_current_access_from_decl (tree); -extern void cp_finish_injected_record_type (tree); - -/* in vtable-class-hierarchy.cc */ -extern void vtv_compute_class_hierarchy_transitive_closure (void); -extern void vtv_generate_init_routine (void); -extern void vtv_save_class_info (tree); -extern void vtv_recover_class_info (void); -extern void vtv_build_vtable_verify_fndecl (void); - -/* In constexpr.cc */ -/* Representation of entries in the constexpr function definition table. */ - -struct GTY((for_user)) constexpr_fundef { - tree decl; - tree body; - tree parms; - tree result; -}; - -/* Whether the current context is manifestly constant-evaluated. - Used by the constexpr machinery to control folding of - __builtin_is_constant_evaluated. */ - -enum class mce_value -{ - /* Unknown, so treat __builtin_is_constant_evaluated as non-constant. */ - mce_unknown = 0, - /* Fold it to true. */ - mce_true = 1, - /* Fold it to false. Primarily used during cp_fold_function and - cp_fully_fold_init. */ - mce_false = -1, -}; -constexpr mce_value mce_unknown = mce_value::mce_unknown; -constexpr mce_value mce_true = mce_value::mce_true; -constexpr mce_value mce_false = mce_value::mce_false; - -extern void fini_constexpr (void); -extern bool literal_type_p (tree); -extern void maybe_save_constexpr_fundef (tree); -extern void register_constexpr_fundef (const constexpr_fundef &); -extern constexpr_fundef *retrieve_constexpr_fundef (tree); -extern bool is_valid_constexpr_fn (tree, bool); -extern bool check_constexpr_ctor_body (tree, tree, bool); -extern tree constexpr_fn_retval (tree); -extern tree ensure_literal_type_for_constexpr_object (tree); -extern bool potential_constant_expression (tree); -extern bool is_constant_expression (tree); -extern bool is_rvalue_constant_expression (tree); -extern bool is_nondependent_constant_expression (tree); -extern bool is_nondependent_static_init_expression (tree); -extern bool is_static_init_expression (tree); -extern bool is_std_allocator (tree); -extern bool potential_rvalue_constant_expression (tree); -extern bool require_potential_constant_expression (tree); -extern bool require_constant_expression (tree); -extern bool require_rvalue_constant_expression (tree); -extern bool require_potential_rvalue_constant_expression (tree); -extern bool require_potential_rvalue_constant_expression_fncheck (tree); -extern tree cxx_constant_value (tree, tree = NULL_TREE, - tsubst_flags_t = tf_error); -inline tree cxx_constant_value (tree t, tsubst_flags_t complain) -{ return cxx_constant_value (t, NULL_TREE, complain); } -extern void cxx_constant_dtor (tree, tree); -extern tree cxx_constant_init (tree, tree = NULL_TREE); -extern tree maybe_constant_value (tree, tree = NULL_TREE, mce_value = mce_unknown); -extern tree maybe_constant_init (tree, tree = NULL_TREE, bool = false); -extern tree fold_non_dependent_expr (tree, - tsubst_flags_t = tf_warning_or_error, - bool = false, tree = NULL_TREE); -extern tree maybe_fold_non_dependent_expr (tree, - tsubst_flags_t = tf_warning_or_error); -extern tree fold_non_dependent_init (tree, - tsubst_flags_t = tf_warning_or_error, - bool = false, tree = NULL_TREE); -extern tree fold_simple (tree); -extern tree fold_to_constant (tree); -extern bool reduced_constant_expression_p (tree); -extern bool is_instantiation_of_constexpr (tree); -extern bool var_in_constexpr_fn (tree); -extern bool var_in_maybe_constexpr_fn (tree); -extern bool maybe_constexpr_fn (tree); -extern void explain_invalid_constexpr_fn (tree); -extern vec cx_error_context (void); -extern tree fold_sizeof_expr (tree); -extern void clear_cv_and_fold_caches (void); -extern tree unshare_constructor (tree CXX_MEM_STAT_INFO); -extern bool decl_implicit_constexpr_p (tree); -struct constexpr_ctx; -extern tree find_failing_clause (const constexpr_ctx *ctx, tree); -extern void diagnose_failing_condition (tree, location_t, bool, - const constexpr_ctx * = nullptr); -extern bool replace_decl (tree *, tree, tree); - -/* An RAII sentinel used to restrict constexpr evaluation so that it - doesn't do anything that causes extra DECL_UID generation. */ - -struct uid_sensitive_constexpr_evaluation_sentinel -{ - temp_override ovr; - uid_sensitive_constexpr_evaluation_sentinel (); -}; - -/* Used to determine whether uid_sensitive_constexpr_evaluation_p was - called and returned true, indicating that we've restricted constexpr - evaluation in order to avoid UID generation. We use this to control - updates to the fold_cache and cv_cache. */ - -struct uid_sensitive_constexpr_evaluation_checker -{ - const unsigned saved_counter; - uid_sensitive_constexpr_evaluation_checker (); - bool evaluation_restricted_p () const; -}; - -void cp_tree_c_finish_parsing (); - -/* In cp-ubsan.cc */ -extern void cp_ubsan_maybe_instrument_member_call (tree); -extern void cp_ubsan_instrument_member_accesses (tree *); -extern tree cp_ubsan_maybe_instrument_downcast (location_t, tree, tree, tree); -extern tree cp_ubsan_maybe_instrument_cast_to_vbase (location_t, tree, tree); -extern void cp_ubsan_maybe_initialize_vtbl_ptrs (tree); - -/* In coroutines.cc */ -extern tree finish_co_return_stmt (location_t, tree); -extern tree finish_co_await_expr (location_t, tree); -extern tree finish_co_yield_expr (location_t, tree); -extern tree coro_validate_builtin_call (tree, - tsubst_flags_t = tf_warning_or_error); -extern bool morph_fn_to_coro (tree, tree *, tree *); -extern tree coro_get_actor_function (tree); -extern tree coro_get_destroy_function (tree); -extern tree coro_get_ramp_function (tree); - -/* contracts.cc */ -extern tree make_postcondition_variable (cp_expr); -extern tree make_postcondition_variable (cp_expr, tree); -extern tree grok_contract (tree, tree, tree, cp_expr, location_t); -extern tree finish_contract_condition (cp_expr); - -/* Return the first contract in ATTRS, or NULL_TREE if there are none. */ - -inline tree -find_contract (tree attrs) -{ - while (attrs && !cxx_contract_attribute_p (attrs)) - attrs = TREE_CHAIN (attrs); - return attrs; -} - -inline void -set_decl_contracts (tree decl, tree contract_attrs) -{ - remove_contract_attributes (decl); - DECL_ATTRIBUTES (decl) = chainon (DECL_ATTRIBUTES (decl), contract_attrs); -} - -/* Returns the computed semantic of the node. */ - -inline contract_semantic -get_contract_semantic (const_tree t) -{ - return (contract_semantic) (TREE_LANG_FLAG_3 (CONTRACT_CHECK (t)) - | (TREE_LANG_FLAG_2 (t) << 1) - | (TREE_LANG_FLAG_0 ((t)) << 2)); -} - -/* Sets the computed semantic of the node. */ - -inline void -set_contract_semantic (tree t, contract_semantic semantic) -{ - TREE_LANG_FLAG_3 (CONTRACT_CHECK (t)) = semantic & 0x01; - TREE_LANG_FLAG_2 (t) = (semantic & 0x02) >> 1; - TREE_LANG_FLAG_0 (t) = (semantic & 0x04) >> 2; -} - -/* Inline bodies. */ - -inline tree -ovl_first (tree node) -{ - while (TREE_CODE (node) == OVERLOAD) - node = OVL_FUNCTION (node); - return node; -} - -inline bool -type_unknown_p (const_tree expr) -{ - return TREE_TYPE (expr) == unknown_type_node; -} - -inline hashval_t -named_decl_hash::hash (const value_type decl) -{ - tree name = (TREE_CODE (decl) == BINDING_VECTOR - ? BINDING_VECTOR_NAME (decl) : OVL_NAME (decl)); - return name ? IDENTIFIER_HASH_VALUE (name) : 0; -} - -inline bool -named_decl_hash::equal (const value_type existing, compare_type candidate) -{ - tree name = (TREE_CODE (existing) == BINDING_VECTOR - ? BINDING_VECTOR_NAME (existing) : OVL_NAME (existing)); - return candidate == name; -} - -inline bool -null_node_p (const_tree expr) -{ - STRIP_ANY_LOCATION_WRAPPER (expr); - return expr == null_node; -} - -/* True iff T is a variable template declaration. */ -inline bool -variable_template_p (tree t) -{ - if (TREE_CODE (t) != TEMPLATE_DECL) - return false; - if (!PRIMARY_TEMPLATE_P (t)) - return false; - if (tree r = DECL_TEMPLATE_RESULT (t)) - return VAR_P (r); - return false; -} - -/* True iff T is a standard concept definition. This will return - true for both the template and underlying declaration. */ - -inline bool -standard_concept_p (tree t) -{ - if (TREE_CODE (t) == TEMPLATE_DECL) - t = DECL_TEMPLATE_RESULT (t); - return TREE_CODE (t) == CONCEPT_DECL; -} - -/* True iff T is a variable concept definition. This will return - true for both the template and the underlying declaration. */ - -inline bool -variable_concept_p (tree t) -{ - if (TREE_CODE (t) == TEMPLATE_DECL) - t = DECL_TEMPLATE_RESULT (t); - return VAR_P (t) && DECL_DECLARED_CONCEPT_P (t); -} - -/* True iff T is a function concept definition or an overload set - containing multiple function concepts. This will return true for - both the template and the underlying declaration. */ - -inline bool -function_concept_p (tree t) -{ - if (TREE_CODE (t) == OVERLOAD) - t = OVL_FIRST (t); - if (TREE_CODE (t) == TEMPLATE_DECL) - t = DECL_TEMPLATE_RESULT (t); - return TREE_CODE (t) == FUNCTION_DECL && DECL_DECLARED_CONCEPT_P (t); -} - -/* True iff T is a standard, variable, or function concept. */ - -inline bool -concept_definition_p (tree t) -{ - if (t == error_mark_node) - return false; - - /* Adjust for function concept overloads. */ - if (TREE_CODE (t) == OVERLOAD) - t = OVL_FIRST (t); - - /* See through templates. */ - if (TREE_CODE (t) == TEMPLATE_DECL) - t = DECL_TEMPLATE_RESULT (t); - - /* The obvious and easy case. */ - if (TREE_CODE (t) == CONCEPT_DECL) - return true; - - /* Definitely not a concept. */ - if (!VAR_OR_FUNCTION_DECL_P (t)) - return false; - if (!DECL_LANG_SPECIFIC (t)) - return false; - - return DECL_DECLARED_CONCEPT_P (t); -} - -/* Same as above, but for const trees. */ - -inline bool -concept_definition_p (const_tree t) -{ - return concept_definition_p (const_cast (t)); -} - -/* True if t is an expression that checks a concept. */ - -inline bool -concept_check_p (const_tree t) -{ - if (TREE_CODE (t) == CALL_EXPR) - t = CALL_EXPR_FN (t); - if (t && TREE_CODE (t) == TEMPLATE_ID_EXPR) - return concept_definition_p (TREE_OPERAND (t, 0)); - return false; -} - -/* Helpers for IMPLICIT_RVALUE_P to look through automatic dereference. */ - -inline bool -implicit_rvalue_p (const_tree t) -{ - if (REFERENCE_REF_P (t)) - t = TREE_OPERAND (t, 0); - return ((TREE_CODE (t) == NON_LVALUE_EXPR - || TREE_CODE (t) == STATIC_CAST_EXPR) - && IMPLICIT_RVALUE_P (t)); -} -inline tree -set_implicit_rvalue_p (tree ot) -{ - tree t = ot; - if (REFERENCE_REF_P (t)) - t = TREE_OPERAND (t, 0); - IMPLICIT_RVALUE_P (t) = 1; - return ot; -} - -/* True if t is a "constrained auto" type-specifier. */ - -inline bool -is_constrained_auto (const_tree t) -{ - return is_auto (t) && PLACEHOLDER_TYPE_CONSTRAINTS_INFO (t); -} - -/* True if CODE, a tree code, denotes a tree whose operand is not evaluated - as per [expr.context], i.e., an operand to sizeof, typeof, decltype, or - alignof. */ - -inline bool -unevaluated_p (tree_code code) -{ - return (code == DECLTYPE_TYPE - || code == ALIGNOF_EXPR - || code == SIZEOF_EXPR - || code == NOEXCEPT_EXPR - || code == REQUIRES_EXPR); -} - -/* RAII class to push/pop the access scope for T. */ - -struct push_access_scope_guard -{ - tree decl; - push_access_scope_guard (tree t) - : decl (t) - { - if (VAR_OR_FUNCTION_DECL_P (decl) - || TREE_CODE (decl) == TYPE_DECL) - push_access_scope (decl); - else - decl = NULL_TREE; - } - ~push_access_scope_guard () - { - if (decl) - pop_access_scope (decl); - } -}; - -/* True if TYPE is an extended floating-point type. */ - -inline bool -extended_float_type_p (tree type) -{ - type = TYPE_MAIN_VARIANT (type); - for (int i = 0; i < NUM_FLOATN_NX_TYPES; ++i) - if (type == FLOATN_TYPE_NODE (i)) - return true; - if (type == bfloat16_type_node) - return true; - return false; -} - -#if CHECKING_P -namespace selftest { - extern void run_cp_tests (void); - - /* Declarations for specific families of tests within cp, - by source file, in alphabetical order. */ - extern void cp_pt_cc_tests (); - extern void cp_tree_cc_tests (void); -} // namespace selftest -#endif /* #if CHECKING_P */ - -/* -- end of C++ */ - -#endif /* ! GCC_CP_TREE_H */ diff --git a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/cp/cxx-pretty-print.h b/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/cp/cxx-pretty-print.h deleted file mode 100644 index 2e4655e1..00000000 --- a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/cp/cxx-pretty-print.h +++ /dev/null @@ -1,117 +0,0 @@ -/* Interface for the GNU C++ pretty-printer. - Copyright (C) 2003-2023 Free Software Foundation, Inc. - Contributed by Gabriel Dos Reis - -This file is part of GCC. - -GCC is free software; you can redistribute it and/or modify it under -the terms of the GNU General Public License as published by the Free -Software Foundation; either version 3, or (at your option) any later -version. - -GCC is distributed in the hope that it will be useful, but WITHOUT ANY -WARRANTY; without even the implied warranty of MERCHANTABILITY or -FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -for more details. - -You should have received a copy of the GNU General Public License -along with GCC; see the file COPYING3. If not see -. */ - -#ifndef GCC_CXX_PRETTY_PRINT_H -#define GCC_CXX_PRETTY_PRINT_H - -#include "c-family/c-pretty-print.h" - -enum cxx_pretty_printer_flags -{ - /* Ask for a qualified-id. */ - pp_cxx_flag_default_argument = 1 << pp_c_flag_last_bit -}; - -class cxx_pretty_printer : public c_pretty_printer -{ -public: - cxx_pretty_printer (); - - pretty_printer *clone () const override; - - void constant (tree) final override; - void id_expression (tree) final override; - void primary_expression (tree) final override; - void postfix_expression (tree) final override; - void unary_expression (tree) final override; - void multiplicative_expression (tree) final override; - void conditional_expression (tree) final override; - void assignment_expression (tree) final override; - void expression (tree) final override; - void type_id (tree) final override; - void statement (tree) final override; - void declaration (tree) final override; - void declaration_specifiers (tree) final override; - void simple_type_specifier (tree) final override; - void function_specifier (tree) final override; - void declarator (tree) final override; - void direct_declarator (tree) final override; - void abstract_declarator (tree) final override; - void direct_abstract_declarator (tree) final override; - - /* This is the enclosing scope of the entity being pretty-printed. */ - tree enclosing_scope; -}; - -#define pp_cxx_cv_qualifier_seq(PP, T) \ - pp_c_type_qualifier_list (PP, T) -#define pp_cxx_cv_qualifiers(PP, CV, FT) \ - pp_c_cv_qualifiers (PP, CV, FT) - -#define pp_cxx_whitespace(PP) pp_c_whitespace (PP) -#define pp_cxx_left_paren(PP) pp_c_left_paren (PP) -#define pp_cxx_right_paren(PP) pp_c_right_paren (PP) -#define pp_cxx_left_brace(PP) pp_c_left_brace (PP) -#define pp_cxx_right_brace(PP) pp_c_right_brace (PP) -#define pp_cxx_left_bracket(PP) pp_c_left_bracket (PP) -#define pp_cxx_right_bracket(PP) pp_c_right_bracket (PP) -#define pp_cxx_dot(PP) pp_c_dot (PP) -#define pp_cxx_ampersand(PP) pp_c_ampersand (PP) -#define pp_cxx_star(PP) pp_c_star (PP) -#define pp_cxx_arrow(PP) pp_c_arrow (PP) -#define pp_cxx_semicolon(PP) pp_c_semicolon (PP) -#define pp_cxx_complement(PP) pp_c_complement (PP) - -#define pp_cxx_ws_string(PP, I) pp_c_ws_string (PP, I) -#define pp_cxx_identifier(PP, I) pp_c_identifier (PP, I) -#define pp_cxx_tree_identifier(PP, T) \ - pp_c_tree_identifier (PP, T) - -void pp_cxx_begin_template_argument_list (cxx_pretty_printer *); -void pp_cxx_end_template_argument_list (cxx_pretty_printer *); -void pp_cxx_colon_colon (cxx_pretty_printer *); -void pp_cxx_separate_with (cxx_pretty_printer *, int); - -void pp_cxx_canonical_template_parameter (cxx_pretty_printer *, tree); -void pp_cxx_trait (cxx_pretty_printer *, tree); -void pp_cxx_va_arg_expression (cxx_pretty_printer *, tree); -void pp_cxx_offsetof_expression (cxx_pretty_printer *, tree); -void pp_cxx_addressof_expression (cxx_pretty_printer *, tree); -void pp_cxx_userdef_literal (cxx_pretty_printer *, tree); -void pp_cxx_requires_clause (cxx_pretty_printer *, tree); -void pp_cxx_requires_expr (cxx_pretty_printer *, tree); -void pp_cxx_simple_requirement (cxx_pretty_printer *, tree); -void pp_cxx_type_requirement (cxx_pretty_printer *, tree); -void pp_cxx_compound_requirement (cxx_pretty_printer *, tree); -void pp_cxx_nested_requirement (cxx_pretty_printer *, tree); -void pp_cxx_predicate_constraint (cxx_pretty_printer *, tree); -void pp_cxx_expression_constraint (cxx_pretty_printer *, tree); -void pp_cxx_type_constraint (cxx_pretty_printer *, tree); -void pp_cxx_implicit_conversion_constraint (cxx_pretty_printer *, tree); -void pp_cxx_argument_deduction_constraint (cxx_pretty_printer *, tree); -void pp_cxx_exception_constraint (cxx_pretty_printer *, tree); -void pp_cxx_parameterized_constraint (cxx_pretty_printer *, tree); -void pp_cxx_conjunction (cxx_pretty_printer *, tree); -void pp_cxx_disjunction (cxx_pretty_printer *, tree); -void pp_cxx_constraint (cxx_pretty_printer *, tree); -void pp_cxx_constrained_type_spec (cxx_pretty_printer *, tree); -void pp_cxx_parameter_mapping (cxx_pretty_printer *, tree); - -#endif /* GCC_CXX_PRETTY_PRINT_H */ diff --git a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/cp/name-lookup.h b/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/cp/name-lookup.h deleted file mode 100644 index c234cd44..00000000 --- a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/cp/name-lookup.h +++ /dev/null @@ -1,500 +0,0 @@ -/* Declarations for -*- C++ -*- name lookup routines. - Copyright (C) 2003-2023 Free Software Foundation, Inc. - Contributed by Gabriel Dos Reis - -This file is part of GCC. - -GCC is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 3, or (at your option) -any later version. - -GCC is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GCC; see the file COPYING3. If not see -. */ - -#ifndef GCC_CP_NAME_LOOKUP_H -#define GCC_CP_NAME_LOOKUP_H - -#include "c-family/c-common.h" - - -/* The datatype used to implement C++ scope. */ -struct cp_binding_level; - -/* Nonzero if this binding is for a local scope, as opposed to a class - or namespace scope. */ -#define LOCAL_BINDING_P(NODE) ((NODE)->is_local) - -/* True if NODE->value is from a base class of the class which is - currently being defined. */ -#define INHERITED_VALUE_BINDING_P(NODE) ((NODE)->value_is_inherited) - -/* The IMPLICIT_TYPEDEF is hidden from ordinary name lookup (it was - injected via a local class's friend decl). The typdef may be in the - VALUE or the TYPE slot. We do not get the situation where the - value and type slots are both filled and both hidden. */ -#define HIDDEN_TYPE_BINDING_P(NODE) ((NODE)->type_is_hidden) - -/* Datatype that represents binding established by a declaration between - a name and a C++ entity. */ -struct GTY(()) cxx_binding { - /* Link to chain together various bindings for this name. */ - cxx_binding *previous; - /* The non-type entity this name is bound to. */ - tree value; - /* The type entity this name is bound to. */ - tree type; - /* The scope at which this binding was made. */ - cp_binding_level *scope; - - bool value_is_inherited : 1; - bool is_local : 1; - bool type_is_hidden : 1; -}; - -/* Datatype used to temporarily save C++ bindings (for implicit - instantiations purposes and like). Implemented in decl.cc. */ -struct GTY(()) cxx_saved_binding { - /* The name of the current binding. */ - tree identifier; - /* The binding we're saving. */ - cxx_binding *binding; - tree real_type_value; -}; - -/* To support lazy module loading, we squirrel away a section number - (and a couple of flags) in the binding slot of unloaded bindings. - We rely on pointers being aligned and setting the bottom bit to - mark a lazy value. GTY doesn't like an array of union, so we have - a containing struct. */ - -struct GTY(()) binding_slot { - union GTY((desc ("%1.is_lazy ()"))) binding_slot_lazy { - tree GTY((tag ("false"))) binding; - } u; - - operator tree & () - { - gcc_checking_assert (!is_lazy ()); - return u.binding; - } - binding_slot &operator= (tree t) - { - u.binding = t; - return *this; - } - bool is_lazy () const - { - return bool (uintptr_t (u.binding) & 1); - } - void set_lazy (unsigned snum) - { - gcc_checking_assert (!u.binding); - u.binding = tree (uintptr_t ((snum << 1) | 1)); - } - void or_lazy (unsigned snum) - { - gcc_checking_assert (is_lazy ()); - u.binding = tree (uintptr_t (u.binding) | (snum << 1)); - } - unsigned get_lazy () const - { - gcc_checking_assert (is_lazy ()); - return unsigned (uintptr_t (u.binding) >> 1); - } -}; - -/* Bindings for modules are held in a sparse array. There is always a - current TU slot, others are allocated as needed. By construction - of the importing mechanism we only ever need to append to the - array. Rather than have straight index/slot tuples, we bunch them - up for greater packing. - - The cluster representation packs well on a 64-bit system. */ - -#define BINDING_VECTOR_SLOTS_PER_CLUSTER 2 -struct binding_index { - unsigned short base; - unsigned short span; -}; - -struct GTY(()) binding_cluster -{ - binding_index GTY((skip)) indices[BINDING_VECTOR_SLOTS_PER_CLUSTER]; - binding_slot slots[BINDING_VECTOR_SLOTS_PER_CLUSTER]; -}; - -/* These two fields overlay lang flags. So don't use those. */ -#define BINDING_VECTOR_ALLOC_CLUSTERS(NODE) \ - (BINDING_VECTOR_CHECK (NODE)->base.u.dependence_info.clique) -#define BINDING_VECTOR_NUM_CLUSTERS(NODE) \ - (BINDING_VECTOR_CHECK (NODE)->base.u.dependence_info.base) -#define BINDING_VECTOR_CLUSTER_BASE(NODE) \ - (((tree_binding_vec *)BINDING_VECTOR_CHECK (NODE))->vec) -#define BINDING_VECTOR_CLUSTER_LAST(NODE) \ - (&BINDING_VECTOR_CLUSTER (NODE, BINDING_VECTOR_NUM_CLUSTERS (NODE) - 1)) -#define BINDING_VECTOR_CLUSTER(NODE,IX) \ - (((tree_binding_vec *)BINDING_VECTOR_CHECK (NODE))->vec[IX]) - -struct GTY(()) tree_binding_vec { - struct tree_base base; - tree name; - binding_cluster GTY((length ("%h.base.u.dependence_info.base"))) vec[1]; -}; - -/* The name of a module vector. */ -#define BINDING_VECTOR_NAME(NODE) \ - (((tree_binding_vec *)BINDING_VECTOR_CHECK (NODE))->name) - -/* tree_binding_vec does uses base.u.dependence_info.base field for - length. It does not have lang_flag etc available! */ - -/* These two flags note if a module-vector contains deduplicated - bindings (i.e. multiple declarations in different imports). */ -/* This binding contains duplicate references to a global module - entity. */ -#define BINDING_VECTOR_GLOBAL_DUPS_P(NODE) \ - (BINDING_VECTOR_CHECK (NODE)->base.static_flag) -/* This binding contains duplicate references to a partioned module - entity. */ -#define BINDING_VECTOR_PARTITION_DUPS_P(NODE) \ - (BINDING_VECTOR_CHECK (NODE)->base.volatile_flag) - -/* These two flags indicate the provenence of the bindings on this - particular vector slot. We can of course determine this from slot - number, but that's a relatively expensive lookup. This avoids - that when iterating. */ -/* This slot is part of the global module (a header unit). */ -#define MODULE_BINDING_GLOBAL_P(NODE) \ - (OVERLOAD_CHECK (NODE)->base.static_flag) -/* This slot is part of the current module (a partition or primary). */ -#define MODULE_BINDING_PARTITION_P(NODE) \ - (OVERLOAD_CHECK (NODE)->base.volatile_flag) - -extern void set_identifier_type_value (tree, tree); -extern void push_binding (tree, tree, cp_binding_level*); -extern void pop_local_binding (tree, tree); -extern void pop_bindings_and_leave_scope (void); -extern tree constructor_name (tree); -extern bool constructor_name_p (tree, tree); - -/* The kinds of scopes we recognize. */ -enum scope_kind { - sk_block = 0, /* An ordinary block scope. This enumerator must - have the value zero because "cp_binding_level" - is initialized by using "memset" to set the - contents to zero, and the default scope kind - is "sk_block". */ - sk_cleanup, /* A scope for (pseudo-)scope for cleanup. It is - pseudo in that it is transparent to name lookup - activities. */ - sk_try, /* A try-block. */ - sk_catch, /* A catch-block. */ - sk_for, /* The scope of the variable declared in a - init-statement. */ - sk_cond, /* The scope of the variable declared in the condition - of an if or switch statement. */ - sk_stmt_expr, /* GNU statement expression block. */ - sk_function_parms, /* The scope containing function parameters. */ - sk_class, /* The scope containing the members of a class. */ - sk_scoped_enum, /* The scope containing the enumerators of a C++11 - scoped enumeration. */ - sk_namespace, /* The scope containing the members of a - namespace, including the global scope. */ - sk_template_parms, /* A scope for template parameters. */ - sk_template_spec, /* Like sk_template_parms, but for an explicit - specialization. Since, by definition, an - explicit specialization is introduced by - "template <>", this scope is always empty. */ - sk_transaction, /* A synchronized or atomic statement. */ - sk_omp /* An OpenMP structured block. */ -}; - -struct GTY(()) cp_class_binding { - cxx_binding *base; - /* The bound name. */ - tree identifier; -}; - -/* For each binding contour we allocate a binding_level structure - which records the names defined in that contour. - Contours include: - 0) the global one - 1) one for each function definition, - where internal declarations of the parameters appear. - 2) one for each compound statement, - to record its declarations. - - The current meaning of a name can be found by searching the levels - from the current one out to the global one. - - Off to the side, may be the class_binding_level. This exists only - to catch class-local declarations. It is otherwise nonexistent. - - Also there may be binding levels that catch cleanups that must be - run when exceptions occur. Thus, to see whether a name is bound in - the current scope, it is not enough to look in the - CURRENT_BINDING_LEVEL. You should use lookup_name_current_level - instead. */ - -struct GTY(()) cp_binding_level { - /* A chain of _DECL nodes for all variables, constants, functions, - and typedef types. These are in the reverse of the order - supplied. There may be OVERLOADs on this list, too, but they - are wrapped in TREE_LISTs; the TREE_VALUE is the OVERLOAD. */ - tree names; - - /* Using directives. */ - vec *using_directives; - - /* For the binding level corresponding to a class, the entities - declared in the class or its base classes. */ - vec *class_shadowed; - - /* Similar to class_shadowed, but for IDENTIFIER_TYPE_VALUE, and - is used for all binding levels. The TREE_PURPOSE is the name of - the entity, the TREE_TYPE is the associated type. In addition - the TREE_VALUE is the IDENTIFIER_TYPE_VALUE before we entered - the class. */ - tree type_shadowed; - - /* For each level (except not the global one), - a chain of BLOCK nodes for all the levels - that were entered and exited one level down. */ - tree blocks; - - /* The entity (namespace, class, function) the scope of which this - binding contour corresponds to. Otherwise NULL. */ - tree this_entity; - - /* The binding level which this one is contained in (inherits from). */ - cp_binding_level *level_chain; - - /* STATEMENT_LIST for statements in this binding contour. - Only used at present for SK_CLEANUP temporary bindings. */ - tree statement_list; - - /* Binding depth at which this level began. */ - int binding_depth; - - /* The kind of scope that this object represents. However, a - SK_TEMPLATE_SPEC scope is represented with KIND set to - SK_TEMPLATE_PARMS and EXPLICIT_SPEC_P set to true. */ - ENUM_BITFIELD (scope_kind) kind : 4; - - /* True if this scope is an SK_TEMPLATE_SPEC scope. This field is - only valid if KIND == SK_TEMPLATE_PARMS. */ - BOOL_BITFIELD explicit_spec_p : 1; - - /* true means make a BLOCK for this level regardless of all else. */ - unsigned keep : 1; - - /* Nonzero if this level can safely have additional - cleanup-needing variables added to it. */ - unsigned more_cleanups_ok : 1; - unsigned have_cleanups : 1; - - /* Transient state set if this scope is of sk_class kind - and is in the process of defining 'this_entity'. Reset - on leaving the class definition to allow for the scope - to be subsequently re-used as a non-defining scope for - 'this_entity'. */ - unsigned defining_class_p : 1; - - /* True for SK_FUNCTION_PARMS of a requires-expression. */ - unsigned requires_expression: 1; - - /* 22 bits left to fill a 32-bit word. */ -}; - -/* The binding level currently in effect. */ - -#define current_binding_level \ - (*(cfun && cp_function_chain && cp_function_chain->bindings \ - ? &cp_function_chain->bindings \ - : &scope_chain->bindings)) - -/* The binding level of the current class, if any. */ - -#define class_binding_level scope_chain->class_bindings - -/* True if SCOPE designates the global scope binding contour. */ -#define global_scope_p(SCOPE) \ - ((SCOPE) == NAMESPACE_LEVEL (global_namespace)) - -extern cp_binding_level *leave_scope (void); -extern bool kept_level_p (void); -extern bool global_bindings_p (void); -extern bool toplevel_bindings_p (void); -extern bool namespace_bindings_p (void); -extern bool local_bindings_p (void); -extern bool template_parm_scope_p (void); -extern scope_kind innermost_scope_kind (void); -extern cp_binding_level *begin_scope (scope_kind, tree); -extern void print_binding_stack (void); -extern void pop_everything (void); -extern void keep_next_level (bool); -extern bool is_ancestor (tree ancestor, tree descendant); -extern bool is_nested_namespace (tree parent, tree descendant, - bool inline_only = false); -extern tree push_scope (tree); -extern void pop_scope (tree); -extern tree push_inner_scope (tree); -extern void pop_inner_scope (tree, tree); -extern void push_binding_level (cp_binding_level *); - -extern bool handle_namespace_attrs (tree, tree); -extern void pushlevel_class (void); -extern void poplevel_class (void); - -/* What kind of scopes name lookup looks in. An enum class so we - don't accidentally mix integers. */ -enum class LOOK_where -{ - BLOCK = 1 << 0, /* Consider block scopes. */ - CLASS = 1 << 1, /* Consider class scopes. */ - NAMESPACE = 1 << 2, /* Consider namespace scopes. */ - - ALL = BLOCK | CLASS | NAMESPACE, - BLOCK_NAMESPACE = BLOCK | NAMESPACE, - CLASS_NAMESPACE = CLASS | NAMESPACE, -}; -constexpr LOOK_where operator| (LOOK_where a, LOOK_where b) -{ - return LOOK_where (unsigned (a) | unsigned (b)); -} -constexpr LOOK_where operator& (LOOK_where a, LOOK_where b) -{ - return LOOK_where (unsigned (a) & unsigned (b)); -} - -enum class LOOK_want -{ - NORMAL = 0, /* Normal lookup -- non-types can hide implicit types. */ - TYPE = 1 << 1, /* We only want TYPE_DECLS. */ - NAMESPACE = 1 << 2, /* We only want NAMESPACE_DECLS. */ - - HIDDEN_FRIEND = 1 << 3, /* See hidden friends. */ - HIDDEN_LAMBDA = 1 << 4, /* See lambda-ignored entities. */ - - TYPE_NAMESPACE = TYPE | NAMESPACE, /* Either NAMESPACE or TYPE. */ -}; -constexpr LOOK_want operator| (LOOK_want a, LOOK_want b) -{ - return LOOK_want (unsigned (a) | unsigned (b)); -} -constexpr LOOK_want operator& (LOOK_want a, LOOK_want b) -{ - return LOOK_want (unsigned (a) & unsigned (b)); -} - -extern tree lookup_name (tree, LOOK_where, LOOK_want = LOOK_want::NORMAL); -/* Also declared in c-family/c-common.h. */ -extern tree lookup_name (tree name); -inline tree lookup_name (tree name, LOOK_want want) -{ - return lookup_name (name, LOOK_where::ALL, want); -} - -enum class TAG_how -{ - CURRENT_ONLY = 0, // Look and insert only in current scope - - GLOBAL = 1, // Unqualified lookup, innermost-non-class insertion - - INNERMOST_NON_CLASS = 2, // Look and insert only into - // innermost-non-class - - HIDDEN_FRIEND = 3, // As INNERMOST_NON_CLASS, but hide it -}; - -extern tree lookup_elaborated_type (tree, TAG_how); -extern tree get_namespace_binding (tree ns, tree id); -extern void set_global_binding (tree decl); -inline tree get_global_binding (tree id) -{ - return get_namespace_binding (NULL_TREE, id); -} -extern tree lookup_qualified_name (tree scope, tree name, - LOOK_want = LOOK_want::NORMAL, - bool = true); -extern tree lookup_qualified_name (tree scope, const char *name, - LOOK_want = LOOK_want::NORMAL, - bool = true); -extern bool pushdecl_class_level (tree); -extern tree pushdecl_namespace_level (tree, bool hiding = false); -extern bool push_class_level_binding (tree, tree); -extern tree get_local_decls (); -extern int function_parm_depth (void); -extern tree cp_namespace_decls (tree); -extern void set_decl_namespace (tree, tree, bool); -extern void push_decl_namespace (tree); -extern void pop_decl_namespace (void); -extern void do_namespace_alias (tree, tree); -extern tree do_class_using_decl (tree, tree); -extern tree lookup_arg_dependent (tree, tree, vec *); -extern tree search_anon_aggr (tree, tree, bool = false); -extern tree get_class_binding_direct (tree, tree, bool want_type = false); -extern tree get_class_binding (tree, tree, bool want_type = false); -extern tree *find_member_slot (tree klass, tree name); -extern tree *add_member_slot (tree klass, tree name); -extern void resort_type_member_vec (void *, void *, - gt_pointer_operator, void *); -extern vec *set_class_bindings (tree, int extra = 0); -extern void insert_late_enum_def_bindings (tree, tree); -extern tree innermost_non_namespace_value (tree); -extern cxx_binding *outer_binding (tree, cxx_binding *, bool); -extern void cp_emit_debug_info_for_using (tree, tree); - -extern void finish_nonmember_using_decl (tree scope, tree name); -extern void finish_using_directive (tree target, tree attribs); -void push_local_extern_decl_alias (tree decl); -extern tree pushdecl (tree, bool hiding = false); -extern tree pushdecl_outermost_localscope (tree); -extern tree pushdecl_top_level (tree); -extern tree pushdecl_top_level_and_finish (tree, tree); -extern tree pushtag (tree, tree, TAG_how = TAG_how::CURRENT_ONLY); -extern int push_namespace (tree, bool make_inline = false); -extern void pop_namespace (void); -extern void push_nested_namespace (tree); -extern void pop_nested_namespace (tree); -extern void push_to_top_level (void); -extern void pop_from_top_level (void); -extern void push_using_decl_bindings (tree, tree); - -/* Lower level interface for modules. */ -extern tree *mergeable_namespace_slots (tree ns, tree name, bool is_attached, - tree *mvec); -extern void add_mergeable_namespace_entity (tree *slot, tree decl); -extern tree lookup_class_binding (tree ctx, tree name); -extern bool import_module_binding (tree ctx, tree name, unsigned mod, - unsigned snum); -extern bool set_module_binding (tree ctx, tree name, unsigned mod, - int mod_glob_flag, - tree value, tree type, tree visible); -extern void add_module_namespace_decl (tree ns, tree decl); - -enum WMB_Flags -{ - WMB_None = 0, - WMB_Dups = 1 << 0, - WMB_Export = 1 << 1, - WMB_Using = 1 << 2, - WMB_Hidden = 1 << 3, -}; - -extern unsigned walk_module_binding (tree binding, bitmap partitions, - bool (*)(tree decl, WMB_Flags, void *data), - void *data); -extern tree add_imported_namespace (tree ctx, tree name, location_t, - unsigned module, - bool inline_p, bool visible_p); -extern const char *get_cxx_dialect_name (enum cxx_dialect dialect); - -#endif /* GCC_CP_NAME_LOOKUP_H */ diff --git a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/cp/operators.def b/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/cp/operators.def deleted file mode 100644 index e9481752..00000000 --- a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/cp/operators.def +++ /dev/null @@ -1,163 +0,0 @@ -/* -*-C-*- - - This file contains definitions of the various C++ operators, - including both overloadable operators (like `+') and - non-overloadable operators (like the `?:' ternary operator). - Written by Mark Mitchell - - Copyright (C) 2000-2023 Free Software Foundation, Inc. - -This file is part of GCC. - -GCC is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 3, or (at your option) -any later version. - -GCC is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GCC; see the file COPYING3. If not see -. */ - -/* The DEF_OPERATOR macro takes the following arguments: - - NAME - - The name of the operator, as a C string, but without the - preceding `operator'. This is the name that would be given in - the source program. For `operator +', for example, this would be - `+'. - - CODE - - The tree_code for this operator. For `operator +', for example, - this would be PLUS_EXPR. Because there are no tree codes for - assignment operators, the same tree-codes are reused; i.e., - `operator +' will also have PLUS_EXPR as its CODE. - - MANGLING - - The mangling prefix for the operator, as a C string, and as - mangled under the new ABI. For `operator +', for example, this - would be "pl". - - FLAGS - - ovl_op_flags bits. Postincrement and postdecrement operators are - marked as binary. - - Before including this file, you should define DEF_OPERATOR - to take these arguments. - - There is code (such as in grok_op_properties) that depends on the - order the operators are presented in this file. Unary_ops must - preceed a matching binary op (i.e. '+'). Assignment operators must - be last, after OPERATOR_TRANSITION. */ - -/* Use DEF_ASSN_OPERATOR to define an assignment operator. Its - arguments are as for DEF_OPERATOR, but there is no need to provide - FLAGS (OVL_OP_FLAG_BINARY). */ - -#ifndef DEF_ASSN_OPERATOR -#define DEF_ASSN_OPERATOR(NAME, CODE, MANGLING) \ - DEF_OPERATOR(NAME, CODE, MANGLING, OVL_OP_FLAG_BINARY) -#endif - -/* Memory allocation operators. ARITY has special meaning. */ -DEF_OPERATOR ("new", NEW_EXPR, "nw", OVL_OP_FLAG_ALLOC) -DEF_OPERATOR ("new []", VEC_NEW_EXPR, "na", - OVL_OP_FLAG_ALLOC | OVL_OP_FLAG_VEC) -DEF_OPERATOR ("delete", DELETE_EXPR, "dl", - OVL_OP_FLAG_ALLOC | OVL_OP_FLAG_DELETE) -DEF_OPERATOR ("delete []", VEC_DELETE_EXPR, "da", - OVL_OP_FLAG_ALLOC | OVL_OP_FLAG_DELETE | OVL_OP_FLAG_VEC) - -/* Unary operators. */ -DEF_OPERATOR ("+", UNARY_PLUS_EXPR, "ps", OVL_OP_FLAG_UNARY) -DEF_OPERATOR ("-", NEGATE_EXPR, "ng", OVL_OP_FLAG_UNARY) -DEF_OPERATOR ("&", ADDR_EXPR, "ad", OVL_OP_FLAG_UNARY) -DEF_OPERATOR ("*", INDIRECT_REF, "de", OVL_OP_FLAG_UNARY) -DEF_OPERATOR ("~", BIT_NOT_EXPR, "co", OVL_OP_FLAG_UNARY) -DEF_OPERATOR ("!", TRUTH_NOT_EXPR, "nt", OVL_OP_FLAG_UNARY) -DEF_OPERATOR ("++", PREINCREMENT_EXPR, "pp", OVL_OP_FLAG_UNARY) -DEF_OPERATOR ("--", PREDECREMENT_EXPR, "mm", OVL_OP_FLAG_UNARY) -DEF_OPERATOR ("->", COMPONENT_REF, "pt", OVL_OP_FLAG_UNARY) -DEF_OPERATOR ("sizeof", SIZEOF_EXPR, "sz", OVL_OP_FLAG_UNARY) -DEF_OPERATOR ("co_await", CO_AWAIT_EXPR, "aw", OVL_OP_FLAG_UNARY) - -/* These are extensions. */ -DEF_OPERATOR ("alignof", ALIGNOF_EXPR, "az", OVL_OP_FLAG_UNARY) -DEF_OPERATOR ("__imag__", IMAGPART_EXPR, "v18__imag__", OVL_OP_FLAG_UNARY) -DEF_OPERATOR ("__real__", REALPART_EXPR, "v18__real__", OVL_OP_FLAG_UNARY) - -/* Binary operators. */ -DEF_OPERATOR ("+", PLUS_EXPR, "pl", OVL_OP_FLAG_BINARY) -DEF_OPERATOR ("-", MINUS_EXPR, "mi", OVL_OP_FLAG_BINARY) -DEF_OPERATOR ("*", MULT_EXPR, "ml", OVL_OP_FLAG_BINARY) -DEF_OPERATOR ("/", TRUNC_DIV_EXPR, "dv", OVL_OP_FLAG_BINARY) -DEF_OPERATOR ("%", TRUNC_MOD_EXPR, "rm", OVL_OP_FLAG_BINARY) -DEF_OPERATOR ("&", BIT_AND_EXPR, "an", OVL_OP_FLAG_BINARY) -DEF_OPERATOR ("|", BIT_IOR_EXPR, "or", OVL_OP_FLAG_BINARY) -DEF_OPERATOR ("^", BIT_XOR_EXPR, "eo", OVL_OP_FLAG_BINARY) -DEF_OPERATOR ("<<", LSHIFT_EXPR, "ls", OVL_OP_FLAG_BINARY) -DEF_OPERATOR (">>", RSHIFT_EXPR, "rs", OVL_OP_FLAG_BINARY) - -/* defaultable_fn_check relies on the ordering of the comparison operators. */ -DEF_OPERATOR ("==", EQ_EXPR, "eq", OVL_OP_FLAG_BINARY) -DEF_OPERATOR ("!=", NE_EXPR, "ne", OVL_OP_FLAG_BINARY) -DEF_OPERATOR ("<", LT_EXPR, "lt", OVL_OP_FLAG_BINARY) -DEF_OPERATOR (">", GT_EXPR, "gt", OVL_OP_FLAG_BINARY) -DEF_OPERATOR ("<=", LE_EXPR, "le", OVL_OP_FLAG_BINARY) -DEF_OPERATOR (">=", GE_EXPR, "ge", OVL_OP_FLAG_BINARY) -DEF_OPERATOR ("<=>", SPACESHIP_EXPR, "ss", OVL_OP_FLAG_BINARY) - -DEF_OPERATOR ("&&", TRUTH_ANDIF_EXPR, "aa", OVL_OP_FLAG_BINARY) -DEF_OPERATOR ("||", TRUTH_ORIF_EXPR, "oo", OVL_OP_FLAG_BINARY) -DEF_OPERATOR (",", COMPOUND_EXPR, "cm", OVL_OP_FLAG_BINARY) -DEF_OPERATOR ("->*", MEMBER_REF, "pm", OVL_OP_FLAG_BINARY) -DEF_OPERATOR (".*", DOTSTAR_EXPR, "ds", OVL_OP_FLAG_BINARY) -DEF_OPERATOR ("[]", ARRAY_REF, "ix", OVL_OP_FLAG_BINARY) -DEF_OPERATOR ("++", POSTINCREMENT_EXPR, "pp", OVL_OP_FLAG_BINARY) -DEF_OPERATOR ("--", POSTDECREMENT_EXPR, "mm", OVL_OP_FLAG_BINARY) - -/* Miscellaneous. */ -DEF_OPERATOR ("?:", COND_EXPR, "qu", OVL_OP_FLAG_NONE) -DEF_OPERATOR ("()", CALL_EXPR, "cl", OVL_OP_FLAG_NONE) - -/* Operators needed for mangling. */ -DEF_OPERATOR (NULL, CAST_EXPR, "cv", OVL_OP_FLAG_UNARY) -DEF_OPERATOR (NULL, DYNAMIC_CAST_EXPR, "dc", OVL_OP_FLAG_UNARY) -DEF_OPERATOR (NULL, REINTERPRET_CAST_EXPR, "rc", OVL_OP_FLAG_UNARY) -DEF_OPERATOR (NULL, CONST_CAST_EXPR, "cc", OVL_OP_FLAG_UNARY) -DEF_OPERATOR (NULL, STATIC_CAST_EXPR, "sc", OVL_OP_FLAG_UNARY) -DEF_OPERATOR (NULL, SCOPE_REF, "sr", OVL_OP_FLAG_NONE) -DEF_OPERATOR (NULL, EXPR_PACK_EXPANSION, "sp", OVL_OP_FLAG_NONE) -DEF_OPERATOR (NULL, UNARY_LEFT_FOLD_EXPR, "fl", OVL_OP_FLAG_NONE) -DEF_OPERATOR (NULL, UNARY_RIGHT_FOLD_EXPR, "fr", OVL_OP_FLAG_NONE) -DEF_OPERATOR (NULL, BINARY_LEFT_FOLD_EXPR, "fL", OVL_OP_FLAG_NONE) -DEF_OPERATOR (NULL, BINARY_RIGHT_FOLD_EXPR, "fR", OVL_OP_FLAG_NONE) - -#ifdef OPERATOR_TRANSITION -OPERATOR_TRANSITION -#undef OPERATOR_TRANSITION -#endif - -/* Assignment operators. */ -DEF_ASSN_OPERATOR ("=", NOP_EXPR, "aS") -DEF_ASSN_OPERATOR ("+=", PLUS_EXPR, "pL") -DEF_ASSN_OPERATOR ("-=", MINUS_EXPR, "mI") -DEF_ASSN_OPERATOR ("*=", MULT_EXPR, "mL") -DEF_ASSN_OPERATOR ("/=", TRUNC_DIV_EXPR, "dV") -DEF_ASSN_OPERATOR ("%=", TRUNC_MOD_EXPR, "rM") -DEF_ASSN_OPERATOR ("&=", BIT_AND_EXPR, "aN") -DEF_ASSN_OPERATOR ("|=", BIT_IOR_EXPR, "oR") -DEF_ASSN_OPERATOR ("^=", BIT_XOR_EXPR, "eO") -DEF_ASSN_OPERATOR ("<<=", LSHIFT_EXPR, "lS") -DEF_ASSN_OPERATOR (">>=", RSHIFT_EXPR, "rS") - -#undef DEF_ASSN_OPERATOR -#undef DEF_OPERATOR diff --git a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/cp/type-utils.h b/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/cp/type-utils.h deleted file mode 100644 index 5f67ba21..00000000 --- a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/cp/type-utils.h +++ /dev/null @@ -1,54 +0,0 @@ -/* Utilities for querying and manipulating type trees. - Copyright (C) 2013-2023 Free Software Foundation, Inc. - -This file is part of GCC. - -GCC is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 3, or (at your option) -any later version. - -GCC is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GCC; see the file COPYING3. If not see -. */ - -#ifndef GCC_CP_TYPE_UTILS_H -#define GCC_CP_TYPE_UTILS_H - -/* Returns the first tree within T that is directly matched by PRED. T may be a - type or PARM_DECL and is incrementally decomposed toward its type-specifier - until a match is found. NULL is returned if PRED does not match any - part of T. - - This is primarily intended for detecting whether T uses `auto' or a concept - identifier. Since either of these can only appear as a type-specifier for - the declaration in question, only top-level qualifications are traversed; - find_type_usage does not look through the whole type. */ - -inline tree -find_type_usage (tree t, bool (*pred) (const_tree)) -{ - if (pred (t)) - return t; - - enum tree_code code = TREE_CODE (t); - - if (code == POINTER_TYPE || code == REFERENCE_TYPE - || code == PARM_DECL || code == OFFSET_TYPE - || code == FUNCTION_TYPE || code == METHOD_TYPE - || code == ARRAY_TYPE) - return find_type_usage (TREE_TYPE (t), pred); - - if (TYPE_PTRMEMFUNC_P (t)) - return find_type_usage - (TREE_TYPE (TYPE_PTRMEMFUNC_FN_TYPE (t)), pred); - - return NULL_TREE; -} - -#endif // GCC_CP_TYPE_UTILS_H diff --git a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/cppbuiltin.h b/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/cppbuiltin.h deleted file mode 100644 index 84daf5a9..00000000 --- a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/cppbuiltin.h +++ /dev/null @@ -1,33 +0,0 @@ -/* Define builtin-in macros for all front ends that perform preprocessing - Copyright (C) 2010-2023 Free Software Foundation, Inc. - -This file is part of GCC. - -GCC is free software; you can redistribute it and/or modify it under -the terms of the GNU General Public License as published by the Free -Software Foundation; either version 3, or (at your option) any later -version. - -GCC is distributed in the hope that it will be useful, but WITHOUT ANY -WARRANTY; without even the implied warranty of MERCHANTABILITY or -FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -for more details. - -You should have received a copy of the GNU General Public License -along with GCC; see the file COPYING3. If not see -. */ - -#ifndef GCC_CPPBUILTIN_H -#define GCC_CPPBUILTIN_H - -/* Parse a BASEVER version string of the format "major.minor.patchlevel" - or "major.minor" to extract its components. */ -extern void parse_basever (int *, int *, int *); - -/* Define macros builtins common to all language performing CPP - preprocessing. */ -extern void define_language_independent_builtin_macros (cpp_reader *); - - -#endif /* ! GCC_CPPBUILTIN_H */ - diff --git a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/cppdefault.h b/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/cppdefault.h deleted file mode 100644 index e26b424e..00000000 --- a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/cppdefault.h +++ /dev/null @@ -1,76 +0,0 @@ -/* CPP Library. - Copyright (C) 1986-2023 Free Software Foundation, Inc. - Contributed by Per Bothner, 1994-95. - Based on CCCP program by Paul Rubin, June 1986 - Adapted to ANSI C, Richard Stallman, Jan 1987 - - This program is free software; you can redistribute it and/or modify it - under the terms of the GNU General Public License as published by the - Free Software Foundation; either version 3, or (at your option) any - later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; see the file COPYING3. If not see - . */ - -#ifndef GCC_CPPDEFAULT_H -#define GCC_CPPDEFAULT_H - -/* This is the default list of directories to search for include files. - It may be overridden by the various -I and -ixxx options. - - #include "file" looks in the same directory as the current file, - then this list. - #include just looks in this list. - - All these directories are treated as `system' include directories - (they are not subject to pedantic warnings in some cases). */ - -struct default_include -{ - const char *const fname; /* The name of the directory. */ - const char *const component; /* The component containing the directory - (see update_path in prefix.cc) */ - const char cplusplus; /* When this is non-zero, we should only - consider this if we're compiling C++. - When the -stdlib option is configured, this - may take values greater than 1 to indicate - which C++ standard library should be - used. */ - const char cxx_aware; /* Includes in this directory don't need to - be wrapped in extern "C" when compiling - C++. */ - const char add_sysroot; /* FNAME should be prefixed by - cpp_SYSROOT. */ - const char multilib; /* FNAME should have appended - - the multilib path specified with -imultilib - when set to 1, - - the multiarch path specified with - -imultiarch, when set to 2. */ -}; - -extern const struct default_include cpp_include_defaults[]; -extern const char cpp_GCC_INCLUDE_DIR[]; -extern const size_t cpp_GCC_INCLUDE_DIR_len; - -/* The configure-time prefix, i.e., the value supplied as the argument - to --prefix=. */ -extern const char cpp_PREFIX[]; -/* The length of the configure-time prefix. */ -extern const size_t cpp_PREFIX_len; -/* The configure-time execution prefix. This is typically the lib/gcc - subdirectory of cpp_PREFIX. */ -extern const char cpp_EXEC_PREFIX[]; -/* The run-time execution prefix. This is typically the lib/gcc - subdirectory of the actual installation. */ -extern const char *gcc_exec_prefix; - -/* Return true if the toolchain is relocated. */ -bool cpp_relocated (void); - -#endif /* ! GCC_CPPDEFAULT_H */ diff --git a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/cpplib.h b/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/cpplib.h deleted file mode 100644 index a6f0abd8..00000000 --- a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/cpplib.h +++ /dev/null @@ -1,1605 +0,0 @@ -/* Definitions for CPP library. - Copyright (C) 1995-2023 Free Software Foundation, Inc. - Written by Per Bothner, 1994-95. - -This program is free software; you can redistribute it and/or modify it -under the terms of the GNU General Public License as published by the -Free Software Foundation; either version 3, or (at your option) any -later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program; see the file COPYING3. If not see -. - - In other words, you are welcome to use, share and improve this program. - You are forbidden to forbid anyone else to use, share and improve - what you give them. Help stamp out software-hoarding! */ -#ifndef LIBCPP_CPPLIB_H -#define LIBCPP_CPPLIB_H - -#include -#include "symtab.h" -#include "line-map.h" - -typedef struct cpp_reader cpp_reader; -typedef struct cpp_buffer cpp_buffer; -typedef struct cpp_options cpp_options; -typedef struct cpp_token cpp_token; -typedef struct cpp_string cpp_string; -typedef struct cpp_hashnode cpp_hashnode; -typedef struct cpp_macro cpp_macro; -typedef struct cpp_callbacks cpp_callbacks; -typedef struct cpp_dir cpp_dir; - -struct _cpp_file; - -/* The first three groups, apart from '=', can appear in preprocessor - expressions (+= and -= are used to indicate unary + and - resp.). - This allows a lookup table to be implemented in _cpp_parse_expr. - - The first group, to CPP_LAST_EQ, can be immediately followed by an - '='. The lexer needs operators ending in '=', like ">>=", to be in - the same order as their counterparts without the '=', like ">>". - - See the cpp_operator table optab in expr.cc if you change the order or - add or remove anything in the first group. */ - -#define TTYPE_TABLE \ - OP(EQ, "=") \ - OP(NOT, "!") \ - OP(GREATER, ">") /* compare */ \ - OP(LESS, "<") \ - OP(PLUS, "+") /* math */ \ - OP(MINUS, "-") \ - OP(MULT, "*") \ - OP(DIV, "/") \ - OP(MOD, "%") \ - OP(AND, "&") /* bit ops */ \ - OP(OR, "|") \ - OP(XOR, "^") \ - OP(RSHIFT, ">>") \ - OP(LSHIFT, "<<") \ - \ - OP(COMPL, "~") \ - OP(AND_AND, "&&") /* logical */ \ - OP(OR_OR, "||") \ - OP(QUERY, "?") \ - OP(COLON, ":") \ - OP(COMMA, ",") /* grouping */ \ - OP(OPEN_PAREN, "(") \ - OP(CLOSE_PAREN, ")") \ - TK(EOF, NONE) \ - OP(EQ_EQ, "==") /* compare */ \ - OP(NOT_EQ, "!=") \ - OP(GREATER_EQ, ">=") \ - OP(LESS_EQ, "<=") \ - OP(SPACESHIP, "<=>") \ - \ - /* These two are unary + / - in preprocessor expressions. */ \ - OP(PLUS_EQ, "+=") /* math */ \ - OP(MINUS_EQ, "-=") \ - \ - OP(MULT_EQ, "*=") \ - OP(DIV_EQ, "/=") \ - OP(MOD_EQ, "%=") \ - OP(AND_EQ, "&=") /* bit ops */ \ - OP(OR_EQ, "|=") \ - OP(XOR_EQ, "^=") \ - OP(RSHIFT_EQ, ">>=") \ - OP(LSHIFT_EQ, "<<=") \ - /* Digraphs together, beginning with CPP_FIRST_DIGRAPH. */ \ - OP(HASH, "#") /* digraphs */ \ - OP(PASTE, "##") \ - OP(OPEN_SQUARE, "[") \ - OP(CLOSE_SQUARE, "]") \ - OP(OPEN_BRACE, "{") \ - OP(CLOSE_BRACE, "}") \ - /* The remainder of the punctuation. Order is not significant. */ \ - OP(SEMICOLON, ";") /* structure */ \ - OP(ELLIPSIS, "...") \ - OP(PLUS_PLUS, "++") /* increment */ \ - OP(MINUS_MINUS, "--") \ - OP(DEREF, "->") /* accessors */ \ - OP(DOT, ".") \ - OP(SCOPE, "::") \ - OP(DEREF_STAR, "->*") \ - OP(DOT_STAR, ".*") \ - OP(ATSIGN, "@") /* used in Objective-C */ \ - \ - TK(NAME, IDENT) /* word */ \ - TK(AT_NAME, IDENT) /* @word - Objective-C */ \ - TK(NUMBER, LITERAL) /* 34_be+ta */ \ - \ - TK(CHAR, LITERAL) /* 'char' */ \ - TK(WCHAR, LITERAL) /* L'char' */ \ - TK(CHAR16, LITERAL) /* u'char' */ \ - TK(CHAR32, LITERAL) /* U'char' */ \ - TK(UTF8CHAR, LITERAL) /* u8'char' */ \ - TK(OTHER, LITERAL) /* stray punctuation */ \ - \ - TK(STRING, LITERAL) /* "string" */ \ - TK(WSTRING, LITERAL) /* L"string" */ \ - TK(STRING16, LITERAL) /* u"string" */ \ - TK(STRING32, LITERAL) /* U"string" */ \ - TK(UTF8STRING, LITERAL) /* u8"string" */ \ - TK(OBJC_STRING, LITERAL) /* @"string" - Objective-C */ \ - TK(HEADER_NAME, LITERAL) /* in #include */ \ - \ - TK(CHAR_USERDEF, LITERAL) /* 'char'_suffix - C++-0x */ \ - TK(WCHAR_USERDEF, LITERAL) /* L'char'_suffix - C++-0x */ \ - TK(CHAR16_USERDEF, LITERAL) /* u'char'_suffix - C++-0x */ \ - TK(CHAR32_USERDEF, LITERAL) /* U'char'_suffix - C++-0x */ \ - TK(UTF8CHAR_USERDEF, LITERAL) /* u8'char'_suffix - C++-0x */ \ - TK(STRING_USERDEF, LITERAL) /* "string"_suffix - C++-0x */ \ - TK(WSTRING_USERDEF, LITERAL) /* L"string"_suffix - C++-0x */ \ - TK(STRING16_USERDEF, LITERAL) /* u"string"_suffix - C++-0x */ \ - TK(STRING32_USERDEF, LITERAL) /* U"string"_suffix - C++-0x */ \ - TK(UTF8STRING_USERDEF,LITERAL) /* u8"string"_suffix - C++-0x */ \ - \ - TK(COMMENT, LITERAL) /* Only if output comments. */ \ - /* SPELL_LITERAL happens to DTRT. */ \ - TK(MACRO_ARG, NONE) /* Macro argument. */ \ - TK(PRAGMA, NONE) /* Only for deferred pragmas. */ \ - TK(PRAGMA_EOL, NONE) /* End-of-line for deferred pragmas. */ \ - TK(PADDING, NONE) /* Whitespace for -E. */ - -#define OP(e, s) CPP_ ## e, -#define TK(e, s) CPP_ ## e, -enum cpp_ttype -{ - TTYPE_TABLE - N_TTYPES, - - /* A token type for keywords, as opposed to ordinary identifiers. */ - CPP_KEYWORD, - - /* Positions in the table. */ - CPP_LAST_EQ = CPP_LSHIFT, - CPP_FIRST_DIGRAPH = CPP_HASH, - CPP_LAST_PUNCTUATOR= CPP_ATSIGN, - CPP_LAST_CPP_OP = CPP_LESS_EQ -}; -#undef OP -#undef TK - -/* C language kind, used when calling cpp_create_reader. */ -enum c_lang {CLK_GNUC89 = 0, CLK_GNUC99, CLK_GNUC11, CLK_GNUC17, CLK_GNUC2X, - CLK_STDC89, CLK_STDC94, CLK_STDC99, CLK_STDC11, CLK_STDC17, - CLK_STDC2X, - CLK_GNUCXX, CLK_CXX98, CLK_GNUCXX11, CLK_CXX11, - CLK_GNUCXX14, CLK_CXX14, CLK_GNUCXX17, CLK_CXX17, - CLK_GNUCXX20, CLK_CXX20, CLK_GNUCXX23, CLK_CXX23, - CLK_ASM}; - -/* Payload of a NUMBER, STRING, CHAR or COMMENT token. */ -struct GTY(()) cpp_string { - unsigned int len; - - /* TEXT is always null terminated (terminator not included in len); but this - GTY markup arranges that PCH streaming works properly even if there is a - null byte in the middle of the string. */ - const unsigned char * GTY((string_length ("1 + %h.len"))) text; -}; - -/* Flags for the cpp_token structure. */ -#define PREV_WHITE (1 << 0) /* If whitespace before this token. */ -#define DIGRAPH (1 << 1) /* If it was a digraph. */ -#define STRINGIFY_ARG (1 << 2) /* If macro argument to be stringified. */ -#define PASTE_LEFT (1 << 3) /* If on LHS of a ## operator. */ -#define NAMED_OP (1 << 4) /* C++ named operators. */ -#define PREV_FALLTHROUGH (1 << 5) /* On a token preceeded by FALLTHROUGH - comment. */ -#define DECIMAL_INT (1 << 6) /* Decimal integer, set in c-lex.cc. */ -#define PURE_ZERO (1 << 7) /* Single 0 digit, used by the C++ frontend, - set in c-lex.cc. */ -#define SP_DIGRAPH (1 << 8) /* # or ## token was a digraph. */ -#define SP_PREV_WHITE (1 << 9) /* If whitespace before a ## - operator, or before this token - after a # operator. */ -#define NO_EXPAND (1 << 10) /* Do not macro-expand this token. */ -#define PRAGMA_OP (1 << 11) /* _Pragma token. */ -#define BOL (1 << 12) /* Token at beginning of line. */ - -/* Specify which field, if any, of the cpp_token union is used. */ - -enum cpp_token_fld_kind { - CPP_TOKEN_FLD_NODE, - CPP_TOKEN_FLD_SOURCE, - CPP_TOKEN_FLD_STR, - CPP_TOKEN_FLD_ARG_NO, - CPP_TOKEN_FLD_TOKEN_NO, - CPP_TOKEN_FLD_PRAGMA, - CPP_TOKEN_FLD_NONE -}; - -/* A macro argument in the cpp_token union. */ -struct GTY(()) cpp_macro_arg { - /* Argument number. */ - unsigned int arg_no; - /* The original spelling of the macro argument token. */ - cpp_hashnode * - GTY ((nested_ptr (union tree_node, - "%h ? CPP_HASHNODE (GCC_IDENT_TO_HT_IDENT (%h)) : NULL", - "%h ? HT_IDENT_TO_GCC_IDENT (HT_NODE (%h)) : NULL"))) - spelling; -}; - -/* An identifier in the cpp_token union. */ -struct GTY(()) cpp_identifier { - /* The canonical (UTF-8) spelling of the identifier. */ - cpp_hashnode * - GTY ((nested_ptr (union tree_node, - "%h ? CPP_HASHNODE (GCC_IDENT_TO_HT_IDENT (%h)) : NULL", - "%h ? HT_IDENT_TO_GCC_IDENT (HT_NODE (%h)) : NULL"))) - node; - /* The original spelling of the identifier. */ - cpp_hashnode * - GTY ((nested_ptr (union tree_node, - "%h ? CPP_HASHNODE (GCC_IDENT_TO_HT_IDENT (%h)) : NULL", - "%h ? HT_IDENT_TO_GCC_IDENT (HT_NODE (%h)) : NULL"))) - spelling; -}; - -/* A preprocessing token. This has been carefully packed and should - occupy 16 bytes on 32-bit hosts and 24 bytes on 64-bit hosts. */ -struct GTY(()) cpp_token { - - /* Location of first char of token, together with range of full token. */ - location_t src_loc; - - ENUM_BITFIELD(cpp_ttype) type : CHAR_BIT; /* token type */ - unsigned short flags; /* flags - see above */ - - union cpp_token_u - { - /* An identifier. */ - struct cpp_identifier GTY ((tag ("CPP_TOKEN_FLD_NODE"))) node; - - /* Inherit padding from this token. */ - cpp_token * GTY ((tag ("CPP_TOKEN_FLD_SOURCE"))) source; - - /* A string, or number. */ - struct cpp_string GTY ((tag ("CPP_TOKEN_FLD_STR"))) str; - - /* Argument no. (and original spelling) for a CPP_MACRO_ARG. */ - struct cpp_macro_arg GTY ((tag ("CPP_TOKEN_FLD_ARG_NO"))) macro_arg; - - /* Original token no. for a CPP_PASTE (from a sequence of - consecutive paste tokens in a macro expansion). */ - unsigned int GTY ((tag ("CPP_TOKEN_FLD_TOKEN_NO"))) token_no; - - /* Caller-supplied identifier for a CPP_PRAGMA. */ - unsigned int GTY ((tag ("CPP_TOKEN_FLD_PRAGMA"))) pragma; - } GTY ((desc ("cpp_token_val_index (&%1)"))) val; -}; - -/* Say which field is in use. */ -extern enum cpp_token_fld_kind cpp_token_val_index (const cpp_token *tok); - -/* A type wide enough to hold any multibyte source character. - cpplib's character constant interpreter requires an unsigned type. - Also, a typedef for the signed equivalent. - The width of this type is capped at 32 bits; there do exist targets - where wchar_t is 64 bits, but only in a non-default mode, and there - would be no meaningful interpretation for a wchar_t value greater - than 2^32 anyway -- the widest wide-character encoding around is - ISO 10646, which stops at 2^31. */ -#if CHAR_BIT * SIZEOF_INT >= 32 -# define CPPCHAR_SIGNED_T int -#elif CHAR_BIT * SIZEOF_LONG >= 32 -# define CPPCHAR_SIGNED_T long -#else -# error "Cannot find a least-32-bit signed integer type" -#endif -typedef unsigned CPPCHAR_SIGNED_T cppchar_t; -typedef CPPCHAR_SIGNED_T cppchar_signed_t; - -/* Style of header dependencies to generate. */ -enum cpp_deps_style { DEPS_NONE = 0, DEPS_USER, DEPS_SYSTEM }; - -/* The possible normalization levels, from most restrictive to least. */ -enum cpp_normalize_level { - /* In NFKC. */ - normalized_KC = 0, - /* In NFC. */ - normalized_C, - /* In NFC, except for subsequences where being in NFC would make - the identifier invalid. */ - normalized_identifier_C, - /* Not normalized at all. */ - normalized_none -}; - -enum cpp_main_search -{ - CMS_none, /* A regular source file. */ - CMS_header, /* Is a directly-specified header file (eg PCH or - header-unit). */ - CMS_user, /* Search the user INCLUDE path. */ - CMS_system, /* Search the system INCLUDE path. */ -}; - -/* The possible bidirectional control characters checking levels. */ -enum cpp_bidirectional_level { - /* No checking. */ - bidirectional_none = 0, - /* Only detect unpaired uses of bidirectional control characters. */ - bidirectional_unpaired = 1, - /* Detect any use of bidirectional control characters. */ - bidirectional_any = 2, - /* Also warn about UCNs. */ - bidirectional_ucn = 4 -}; - -/* This structure is nested inside struct cpp_reader, and - carries all the options visible to the command line. */ -struct cpp_options -{ - /* The language we're preprocessing. */ - enum c_lang lang; - - /* Nonzero means use extra default include directories for C++. */ - unsigned char cplusplus; - - /* Nonzero means handle cplusplus style comments. */ - unsigned char cplusplus_comments; - - /* Nonzero means define __OBJC__, treat @ as a special token, use - the OBJC[PLUS]_INCLUDE_PATH environment variable, and allow - "#import". */ - unsigned char objc; - - /* Nonzero means don't copy comments into the output file. */ - unsigned char discard_comments; - - /* Nonzero means don't copy comments into the output file during - macro expansion. */ - unsigned char discard_comments_in_macro_exp; - - /* Nonzero means process the ISO trigraph sequences. */ - unsigned char trigraphs; - - /* Nonzero means process the ISO digraph sequences. */ - unsigned char digraphs; - - /* Nonzero means to allow hexadecimal floats and LL suffixes. */ - unsigned char extended_numbers; - - /* Nonzero means process u/U prefix literals (UTF-16/32). */ - unsigned char uliterals; - - /* Nonzero means process u8 prefixed character literals (UTF-8). */ - unsigned char utf8_char_literals; - - /* Nonzero means process r/R raw strings. If this is set, uliterals - must be set as well. */ - unsigned char rliterals; - - /* Nonzero means print names of header files (-H). */ - unsigned char print_include_names; - - /* Nonzero means complain about deprecated features. */ - unsigned char cpp_warn_deprecated; - - /* Nonzero means warn if slash-star appears in a comment. */ - unsigned char warn_comments; - - /* Nonzero means to warn about __DATA__, __TIME__ and __TIMESTAMP__ usage. */ - unsigned char warn_date_time; - - /* Nonzero means warn if a user-supplied include directory does not - exist. */ - unsigned char warn_missing_include_dirs; - - /* Nonzero means warn if there are any trigraphs. */ - unsigned char warn_trigraphs; - - /* Nonzero means warn about multicharacter charconsts. */ - unsigned char warn_multichar; - - /* Nonzero means warn about various incompatibilities with - traditional C. */ - unsigned char cpp_warn_traditional; - - /* Nonzero means warn about long long numeric constants. */ - unsigned char cpp_warn_long_long; - - /* Nonzero means warn about text after an #endif (or #else). */ - unsigned char warn_endif_labels; - - /* Nonzero means warn about implicit sign changes owing to integer - promotions. */ - unsigned char warn_num_sign_change; - - /* Zero means don't warn about __VA_ARGS__ usage in c89 pedantic mode. - Presumably the usage is protected by the appropriate #ifdef. */ - unsigned char warn_variadic_macros; - - /* Nonzero means warn about builtin macros that are redefined or - explicitly undefined. */ - unsigned char warn_builtin_macro_redefined; - - /* Different -Wimplicit-fallthrough= levels. */ - unsigned char cpp_warn_implicit_fallthrough; - - /* Nonzero means we should look for header.gcc files that remap file - names. */ - unsigned char remap; - - /* Zero means dollar signs are punctuation. */ - unsigned char dollars_in_ident; - - /* Nonzero means UCNs are accepted in identifiers. */ - unsigned char extended_identifiers; - - /* True if we should warn about dollars in identifiers or numbers - for this translation unit. */ - unsigned char warn_dollars; - - /* Nonzero means warn if undefined identifiers are evaluated in an #if. */ - unsigned char warn_undef; - - /* Nonzero means warn if "defined" is encountered in a place other than - an #if. */ - unsigned char warn_expansion_to_defined; - - /* Nonzero means warn of unused macros from the main file. */ - unsigned char warn_unused_macros; - - /* Nonzero for the 1999 C Standard, including corrigenda and amendments. */ - unsigned char c99; - - /* Nonzero if we are conforming to a specific C or C++ standard. */ - unsigned char std; - - /* Nonzero means give all the error messages the ANSI standard requires. */ - unsigned char cpp_pedantic; - - /* Nonzero means we're looking at already preprocessed code, so don't - bother trying to do macro expansion and whatnot. */ - unsigned char preprocessed; - - /* Nonzero means we are going to emit debugging logs during - preprocessing. */ - unsigned char debug; - - /* Nonzero means we are tracking locations of tokens involved in - macro expansion. 1 Means we track the location in degraded mode - where we do not track locations of tokens resulting from the - expansion of arguments of function-like macro. 2 Means we do - track all macro expansions. This last option is the one that - consumes the highest amount of memory. */ - unsigned char track_macro_expansion; - - /* Nonzero means handle C++ alternate operator names. */ - unsigned char operator_names; - - /* Nonzero means warn about use of C++ alternate operator names. */ - unsigned char warn_cxx_operator_names; - - /* True for traditional preprocessing. */ - unsigned char traditional; - - /* Nonzero for C++ 2011 Standard user-defined literals. */ - unsigned char user_literals; - - /* Nonzero means warn when a string or character literal is followed by a - ud-suffix which does not beging with an underscore. */ - unsigned char warn_literal_suffix; - - /* Nonzero means interpret imaginary, fixed-point, or other gnu extension - literal number suffixes as user-defined literal number suffixes. */ - unsigned char ext_numeric_literals; - - /* Nonzero means extended identifiers allow the characters specified - in C11. */ - unsigned char c11_identifiers; - - /* Nonzero means extended identifiers allow the characters specified - by Unicode XID_Start and XID_Continue properties. */ - unsigned char xid_identifiers; - - /* Nonzero for C++ 2014 Standard binary constants. */ - unsigned char binary_constants; - - /* Nonzero for C++ 2014 Standard digit separators. */ - unsigned char digit_separators; - - /* Nonzero for C2X decimal floating-point constants. */ - unsigned char dfp_constants; - - /* Nonzero for C++20 __VA_OPT__ feature. */ - unsigned char va_opt; - - /* Nonzero for the '::' token. */ - unsigned char scope; - - /* Nonzero for the '#elifdef' and '#elifndef' directives. */ - unsigned char elifdef; - - /* Nonzero for the '#warning' directive. */ - unsigned char warning_directive; - - /* Nonzero means tokenize C++20 module directives. */ - unsigned char module_directives; - - /* Nonzero for C++23 size_t literals. */ - unsigned char size_t_literals; - - /* Nonzero for C++23 delimited escape sequences. */ - unsigned char delimited_escape_seqs; - - /* Nonzero for 'true' and 'false' in #if expressions. */ - unsigned char true_false; - - /* Holds the name of the target (execution) character set. */ - const char *narrow_charset; - - /* Holds the name of the target wide character set. */ - const char *wide_charset; - - /* Holds the name of the input character set. */ - const char *input_charset; - - /* The minimum permitted level of normalization before a warning - is generated. See enum cpp_normalize_level. */ - int warn_normalize; - - /* True to warn about precompiled header files we couldn't use. */ - bool warn_invalid_pch; - - /* True if dependencies should be restored from a precompiled header. */ - bool restore_pch_deps; - - /* True if warn about differences between C90 and C99. */ - signed char cpp_warn_c90_c99_compat; - - /* True if warn about differences between C11 and C2X. */ - signed char cpp_warn_c11_c2x_compat; - - /* True if warn about differences between C++98 and C++11. */ - bool cpp_warn_cxx11_compat; - - /* True if warn about differences between C++17 and C++20. */ - bool cpp_warn_cxx20_compat; - - /* Nonzero if bidirectional control characters checking is on. See enum - cpp_bidirectional_level. */ - unsigned char cpp_warn_bidirectional; - - /* True if libcpp should warn about invalid UTF-8 characters in comments. - 2 if it should be a pedwarn. */ - unsigned char cpp_warn_invalid_utf8; - - /* True if libcpp should warn about invalid forms of delimited or named - escape sequences. */ - bool cpp_warn_unicode; - - /* True if -finput-charset= option has been used explicitly. */ - bool cpp_input_charset_explicit; - - /* Dependency generation. */ - struct - { - /* Style of header dependencies to generate. */ - enum cpp_deps_style style; - - /* Assume missing files are generated files. */ - bool missing_files; - - /* Generate phony targets for each dependency apart from the first - one. */ - bool phony_targets; - - /* Generate dependency info for modules. */ - bool modules; - - /* If true, no dependency is generated on the main file. */ - bool ignore_main_file; - - /* If true, intend to use the preprocessor output (e.g., for compilation) - in addition to the dependency info. */ - bool need_preprocessor_output; - } deps; - - /* Target-specific features set by the front end or client. */ - - /* Precision for target CPP arithmetic, target characters, target - ints and target wide characters, respectively. */ - size_t precision, char_precision, int_precision, wchar_precision; - - /* True means chars (wide chars, UTF-8 chars) are unsigned. */ - bool unsigned_char, unsigned_wchar, unsigned_utf8char; - - /* True if the most significant byte in a word has the lowest - address in memory. */ - bool bytes_big_endian; - - /* Nonzero means __STDC__ should have the value 0 in system headers. */ - unsigned char stdc_0_in_system_headers; - - /* True disables tokenization outside of preprocessing directives. */ - bool directives_only; - - /* True enables canonicalization of system header file paths. */ - bool canonical_system_headers; - - /* The maximum depth of the nested #include. */ - unsigned int max_include_depth; - - cpp_main_search main_search : 8; -}; - -/* Diagnostic levels. To get a diagnostic without associating a - position in the translation unit with it, use cpp_error_with_line - with a line number of zero. */ - -enum cpp_diagnostic_level { - /* Warning, an error with -Werror. */ - CPP_DL_WARNING = 0, - /* Same as CPP_DL_WARNING, except it is not suppressed in system headers. */ - CPP_DL_WARNING_SYSHDR, - /* Warning, an error with -pedantic-errors or -Werror. */ - CPP_DL_PEDWARN, - /* An error. */ - CPP_DL_ERROR, - /* An internal consistency check failed. Prints "internal error: ", - otherwise the same as CPP_DL_ERROR. */ - CPP_DL_ICE, - /* An informative note following a warning. */ - CPP_DL_NOTE, - /* A fatal error. */ - CPP_DL_FATAL -}; - -/* Warning reason codes. Use a reason code of CPP_W_NONE for unclassified - warnings and diagnostics that are not warnings. */ - -enum cpp_warning_reason { - CPP_W_NONE = 0, - CPP_W_DEPRECATED, - CPP_W_COMMENTS, - CPP_W_MISSING_INCLUDE_DIRS, - CPP_W_TRIGRAPHS, - CPP_W_MULTICHAR, - CPP_W_TRADITIONAL, - CPP_W_LONG_LONG, - CPP_W_ENDIF_LABELS, - CPP_W_NUM_SIGN_CHANGE, - CPP_W_VARIADIC_MACROS, - CPP_W_BUILTIN_MACRO_REDEFINED, - CPP_W_DOLLARS, - CPP_W_UNDEF, - CPP_W_UNUSED_MACROS, - CPP_W_CXX_OPERATOR_NAMES, - CPP_W_NORMALIZE, - CPP_W_INVALID_PCH, - CPP_W_WARNING_DIRECTIVE, - CPP_W_LITERAL_SUFFIX, - CPP_W_SIZE_T_LITERALS, - CPP_W_DATE_TIME, - CPP_W_PEDANTIC, - CPP_W_C90_C99_COMPAT, - CPP_W_C11_C2X_COMPAT, - CPP_W_CXX11_COMPAT, - CPP_W_CXX20_COMPAT, - CPP_W_EXPANSION_TO_DEFINED, - CPP_W_BIDIRECTIONAL, - CPP_W_INVALID_UTF8, - CPP_W_UNICODE -}; - -/* Callback for header lookup for HEADER, which is the name of a - source file. It is used as a method of last resort to find headers - that are not otherwise found during the normal include processing. - The return value is the malloced name of a header to try and open, - if any, or NULL otherwise. This callback is called only if the - header is otherwise unfound. */ -typedef const char *(*missing_header_cb)(cpp_reader *, const char *header, cpp_dir **); - -/* Call backs to cpplib client. */ -struct cpp_callbacks -{ - /* Called when a new line of preprocessed output is started. */ - void (*line_change) (cpp_reader *, const cpp_token *, int); - - /* Called when switching to/from a new file. - The line_map is for the new file. It is NULL if there is no new file. - (In C this happens when done with + and also - when done with a main file.) This can be used for resource cleanup. */ - void (*file_change) (cpp_reader *, const line_map_ordinary *); - - void (*dir_change) (cpp_reader *, const char *); - void (*include) (cpp_reader *, location_t, const unsigned char *, - const char *, int, const cpp_token **); - void (*define) (cpp_reader *, location_t, cpp_hashnode *); - void (*undef) (cpp_reader *, location_t, cpp_hashnode *); - void (*ident) (cpp_reader *, location_t, const cpp_string *); - void (*def_pragma) (cpp_reader *, location_t); - int (*valid_pch) (cpp_reader *, const char *, int); - void (*read_pch) (cpp_reader *, const char *, int, const char *); - missing_header_cb missing_header; - - /* Context-sensitive macro support. Returns macro (if any) that should - be expanded. */ - cpp_hashnode * (*macro_to_expand) (cpp_reader *, const cpp_token *); - - /* Called to emit a diagnostic. This callback receives the - translated message. */ - bool (*diagnostic) (cpp_reader *, - enum cpp_diagnostic_level, - enum cpp_warning_reason, - rich_location *, - const char *, va_list *) - ATTRIBUTE_FPTR_PRINTF(5,0); - - /* Callbacks for when a macro is expanded, or tested (whether - defined or not at the time) in #ifdef, #ifndef or "defined". */ - void (*used_define) (cpp_reader *, location_t, cpp_hashnode *); - void (*used_undef) (cpp_reader *, location_t, cpp_hashnode *); - /* Called before #define and #undef or other macro definition - changes are processed. */ - void (*before_define) (cpp_reader *); - /* Called whenever a macro is expanded or tested. - Second argument is the location of the start of the current expansion. */ - void (*used) (cpp_reader *, location_t, cpp_hashnode *); - - /* Callback to identify whether an attribute exists. */ - int (*has_attribute) (cpp_reader *, bool); - - /* Callback to determine whether a built-in function is recognized. */ - int (*has_builtin) (cpp_reader *); - - /* Callback that can change a user lazy into normal macro. */ - void (*user_lazy_macro) (cpp_reader *, cpp_macro *, unsigned); - - /* Callback to handle deferred cpp_macros. */ - cpp_macro *(*user_deferred_macro) (cpp_reader *, location_t, cpp_hashnode *); - - /* Callback to parse SOURCE_DATE_EPOCH from environment. */ - time_t (*get_source_date_epoch) (cpp_reader *); - - /* Callback for providing suggestions for misspelled directives. */ - const char *(*get_suggestion) (cpp_reader *, const char *, const char *const *); - - /* Callback for when a comment is encountered, giving the location - of the opening slash, a pointer to the content (which is not - necessarily 0-terminated), and the length of the content. - The content contains the opening slash-star (or slash-slash), - and for C-style comments contains the closing star-slash. For - C++-style comments it does not include the terminating newline. */ - void (*comment) (cpp_reader *, location_t, const unsigned char *, - size_t); - - /* Callback for filename remapping in __FILE__ and __BASE_FILE__ macro - expansions. */ - const char *(*remap_filename) (const char*); - - /* Maybe translate a #include into something else. Return a - cpp_buffer containing the translation if translating. */ - char *(*translate_include) (cpp_reader *, line_maps *, location_t, - const char *path); -}; - -#ifdef VMS -#define INO_T_CPP ino_t ino[3] -#elif defined (_AIX) && SIZEOF_INO_T == 4 -#define INO_T_CPP ino64_t ino -#else -#define INO_T_CPP ino_t ino -#endif - -#if defined (_AIX) && SIZEOF_DEV_T == 4 -#define DEV_T_CPP dev64_t dev -#else -#define DEV_T_CPP dev_t dev -#endif - -/* Chain of directories to look for include files in. */ -struct cpp_dir -{ - /* NULL-terminated singly-linked list. */ - struct cpp_dir *next; - - /* NAME of the directory, NUL-terminated. */ - char *name; - unsigned int len; - - /* One if a system header, two if a system header that has extern - "C" guards for C++. */ - unsigned char sysp; - - /* Is this a user-supplied directory? */ - bool user_supplied_p; - - /* The canonicalized NAME as determined by lrealpath. This field - is only used by hosts that lack reliable inode numbers. */ - char *canonical_name; - - /* Mapping of file names for this directory for MS-DOS and related - platforms. A NULL-terminated array of (from, to) pairs. */ - const char **name_map; - - /* Routine to construct pathname, given the search path name and the - HEADER we are trying to find, return a constructed pathname to - try and open. If this is NULL, the constructed pathname is as - constructed by append_file_to_dir. */ - char *(*construct) (const char *header, cpp_dir *dir); - - /* The C front end uses these to recognize duplicated - directories in the search path. */ - INO_T_CPP; - DEV_T_CPP; -}; - -/* The kind of the cpp_macro. */ -enum cpp_macro_kind { - cmk_macro, /* An ISO macro (token expansion). */ - cmk_assert, /* An assertion. */ - cmk_traditional /* A traditional macro (text expansion). */ -}; - -/* Each macro definition is recorded in a cpp_macro structure. - Variadic macros cannot occur with traditional cpp. */ -struct GTY(()) cpp_macro { - union cpp_parm_u - { - /* Parameters, if any. If parameter names use extended identifiers, - the original spelling of those identifiers, not the canonical - UTF-8 spelling, goes here. */ - cpp_hashnode ** GTY ((tag ("false"), - nested_ptr (union tree_node, - "%h ? CPP_HASHNODE (GCC_IDENT_TO_HT_IDENT (%h)) : NULL", - "%h ? HT_IDENT_TO_GCC_IDENT (HT_NODE (%h)) : NULL"), - length ("%1.paramc"))) params; - - /* If this is an assertion, the next one in the chain. */ - cpp_macro *GTY ((tag ("true"))) next; - } GTY ((desc ("%1.kind == cmk_assert"))) parm; - - /* Definition line number. */ - location_t line; - - /* Number of tokens in body, or bytes for traditional macros. */ - /* Do we really need 2^32-1 range here? */ - unsigned int count; - - /* Number of parameters. */ - unsigned short paramc; - - /* Non-zero if this is a user-lazy macro, value provided by user. */ - unsigned char lazy; - - /* The kind of this macro (ISO, trad or assert) */ - unsigned kind : 2; - - /* If a function-like macro. */ - unsigned int fun_like : 1; - - /* If a variadic macro. */ - unsigned int variadic : 1; - - /* If macro defined in system header. */ - unsigned int syshdr : 1; - - /* Nonzero if it has been expanded or had its existence tested. */ - unsigned int used : 1; - - /* Indicate whether the tokens include extra CPP_PASTE tokens at the - end to track invalid redefinitions with consecutive CPP_PASTE - tokens. */ - unsigned int extra_tokens : 1; - - /* Imported C++20 macro (from a header unit). */ - unsigned int imported_p : 1; - - /* 0 bits spare (32-bit). 32 on 64-bit target. */ - - union cpp_exp_u - { - /* Trailing array of replacement tokens (ISO), or assertion body value. */ - cpp_token GTY ((tag ("false"), length ("%1.count"))) tokens[1]; - - /* Pointer to replacement text (traditional). See comment at top - of cpptrad.c for how traditional function-like macros are - encoded. */ - const unsigned char *GTY ((tag ("true"))) text; - } GTY ((desc ("%1.kind == cmk_traditional"))) exp; -}; - -/* Poisoned identifiers are flagged NODE_POISONED. NODE_OPERATOR (C++ - only) indicates an identifier that behaves like an operator such as - "xor". NODE_DIAGNOSTIC is for speed in lex_token: it indicates a - diagnostic may be required for this node. Currently this only - applies to __VA_ARGS__, poisoned identifiers, and -Wc++-compat - warnings about NODE_OPERATOR. */ - -/* Hash node flags. */ -#define NODE_OPERATOR (1 << 0) /* C++ named operator. */ -#define NODE_POISONED (1 << 1) /* Poisoned identifier. */ -#define NODE_DIAGNOSTIC (1 << 2) /* Possible diagnostic when lexed. */ -#define NODE_WARN (1 << 3) /* Warn if redefined or undefined. */ -#define NODE_DISABLED (1 << 4) /* A disabled macro. */ -#define NODE_USED (1 << 5) /* Dumped with -dU. */ -#define NODE_CONDITIONAL (1 << 6) /* Conditional macro */ -#define NODE_WARN_OPERATOR (1 << 7) /* Warn about C++ named operator. */ -#define NODE_MODULE (1 << 8) /* C++-20 module-related name. */ - -/* Different flavors of hash node. */ -enum node_type -{ - NT_VOID = 0, /* Maybe an assert? */ - NT_MACRO_ARG, /* A macro arg. */ - NT_USER_MACRO, /* A user macro. */ - NT_BUILTIN_MACRO, /* A builtin macro. */ - NT_MACRO_MASK = NT_USER_MACRO /* Mask for either macro kind. */ -}; - -/* Different flavors of builtin macro. _Pragma is an operator, but we - handle it with the builtin code for efficiency reasons. */ -enum cpp_builtin_type -{ - BT_SPECLINE = 0, /* `__LINE__' */ - BT_DATE, /* `__DATE__' */ - BT_FILE, /* `__FILE__' */ - BT_FILE_NAME, /* `__FILE_NAME__' */ - BT_BASE_FILE, /* `__BASE_FILE__' */ - BT_INCLUDE_LEVEL, /* `__INCLUDE_LEVEL__' */ - BT_TIME, /* `__TIME__' */ - BT_STDC, /* `__STDC__' */ - BT_PRAGMA, /* `_Pragma' operator */ - BT_TIMESTAMP, /* `__TIMESTAMP__' */ - BT_COUNTER, /* `__COUNTER__' */ - BT_HAS_ATTRIBUTE, /* `__has_attribute(x)' */ - BT_HAS_STD_ATTRIBUTE, /* `__has_c_attribute(x)' */ - BT_HAS_BUILTIN, /* `__has_builtin(x)' */ - BT_HAS_INCLUDE, /* `__has_include(x)' */ - BT_HAS_INCLUDE_NEXT /* `__has_include_next(x)' */ -}; - -#define CPP_HASHNODE(HNODE) ((cpp_hashnode *) (HNODE)) -#define HT_NODE(NODE) (&(NODE)->ident) -#define NODE_LEN(NODE) HT_LEN (HT_NODE (NODE)) -#define NODE_NAME(NODE) HT_STR (HT_NODE (NODE)) - -/* The common part of an identifier node shared amongst all 3 C front - ends. Also used to store CPP identifiers, which are a superset of - identifiers in the grammatical sense. */ - -union GTY(()) _cpp_hashnode_value { - /* Assert (maybe NULL) */ - cpp_macro * GTY((tag ("NT_VOID"))) answers; - /* Macro (maybe NULL) */ - cpp_macro * GTY((tag ("NT_USER_MACRO"))) macro; - /* Code for a builtin macro. */ - enum cpp_builtin_type GTY ((tag ("NT_BUILTIN_MACRO"))) builtin; - /* Macro argument index. */ - unsigned short GTY ((tag ("NT_MACRO_ARG"))) arg_index; -}; - -struct GTY(()) cpp_hashnode { - struct ht_identifier ident; - unsigned int is_directive : 1; - unsigned int directive_index : 7; /* If is_directive, - then index into directive table. - Otherwise, a NODE_OPERATOR. */ - unsigned int rid_code : 8; /* Rid code - for front ends. */ - unsigned int flags : 9; /* CPP flags. */ - ENUM_BITFIELD(node_type) type : 2; /* CPP node type. */ - - /* 5 bits spare. */ - - /* The deferred cookie is applicable to NT_USER_MACRO or NT_VOID. - The latter for when a macro had a prevailing undef. - On a 64-bit system there would be 32-bits of padding to the value - field. So placing the deferred index here is not costly. */ - unsigned deferred; /* Deferred cookie */ - - union _cpp_hashnode_value GTY ((desc ("%1.type"))) value; -}; - -/* A class for iterating through the source locations within a - string token (before escapes are interpreted, and before - concatenation). */ - -class cpp_string_location_reader { - public: - cpp_string_location_reader (location_t src_loc, - line_maps *line_table); - - source_range get_next (); - - private: - location_t m_loc; - int m_offset_per_column; -}; - -/* A class for storing the source ranges of all of the characters within - a string literal, after escapes are interpreted, and after - concatenation. - - This is not GTY-marked, as instances are intended to be temporary. */ - -class cpp_substring_ranges -{ - public: - cpp_substring_ranges (); - ~cpp_substring_ranges (); - - int get_num_ranges () const { return m_num_ranges; } - source_range get_range (int idx) const - { - linemap_assert (idx < m_num_ranges); - return m_ranges[idx]; - } - - void add_range (source_range range); - void add_n_ranges (int num, cpp_string_location_reader &loc_reader); - - private: - source_range *m_ranges; - int m_num_ranges; - int m_alloc_ranges; -}; - -/* Call this first to get a handle to pass to other functions. - - If you want cpplib to manage its own hashtable, pass in a NULL - pointer. Otherwise you should pass in an initialized hash table - that cpplib will share; this technique is used by the C front - ends. */ -extern cpp_reader *cpp_create_reader (enum c_lang, struct ht *, - class line_maps *); - -/* Reset the cpp_reader's line_map. This is only used after reading a - PCH file. */ -extern void cpp_set_line_map (cpp_reader *, class line_maps *); - -/* Call this to change the selected language standard (e.g. because of - command line options). */ -extern void cpp_set_lang (cpp_reader *, enum c_lang); - -/* Set the include paths. */ -extern void cpp_set_include_chains (cpp_reader *, cpp_dir *, cpp_dir *, int); - -/* Call these to get pointers to the options, callback, and deps - structures for a given reader. These pointers are good until you - call cpp_finish on that reader. You can either edit the callbacks - through the pointer returned from cpp_get_callbacks, or set them - with cpp_set_callbacks. */ -extern cpp_options *cpp_get_options (cpp_reader *) ATTRIBUTE_PURE; -extern cpp_callbacks *cpp_get_callbacks (cpp_reader *) ATTRIBUTE_PURE; -extern void cpp_set_callbacks (cpp_reader *, cpp_callbacks *); -extern class mkdeps *cpp_get_deps (cpp_reader *) ATTRIBUTE_PURE; - -extern const char *cpp_probe_header_unit (cpp_reader *, const char *file, - bool angle_p, location_t); - -/* Call these to get name data about the various compile-time - charsets. */ -extern const char *cpp_get_narrow_charset_name (cpp_reader *) ATTRIBUTE_PURE; -extern const char *cpp_get_wide_charset_name (cpp_reader *) ATTRIBUTE_PURE; - -/* This function reads the file, but does not start preprocessing. It - returns the name of the original file; this is the same as the - input file, except for preprocessed input. This will generate at - least one file change callback, and possibly a line change callback - too. If there was an error opening the file, it returns NULL. */ -extern const char *cpp_read_main_file (cpp_reader *, const char *, - bool injecting = false); -extern location_t cpp_main_loc (const cpp_reader *); - -/* Adjust for the main file to be an include. */ -extern void cpp_retrofit_as_include (cpp_reader *); - -/* Set up built-ins with special behavior. Use cpp_init_builtins() - instead unless your know what you are doing. */ -extern void cpp_init_special_builtins (cpp_reader *); - -/* Set up built-ins like __FILE__. */ -extern void cpp_init_builtins (cpp_reader *, int); - -/* This is called after options have been parsed, and partially - processed. */ -extern void cpp_post_options (cpp_reader *); - -/* Set up translation to the target character set. */ -extern void cpp_init_iconv (cpp_reader *); - -/* Call this to finish preprocessing. If you requested dependency - generation, pass an open stream to write the information to, - otherwise NULL. It is your responsibility to close the stream. */ -extern void cpp_finish (cpp_reader *, FILE *deps_stream); - -/* Call this to release the handle at the end of preprocessing. Any - use of the handle after this function returns is invalid. */ -extern void cpp_destroy (cpp_reader *); - -extern unsigned int cpp_token_len (const cpp_token *); -extern unsigned char *cpp_token_as_text (cpp_reader *, const cpp_token *); -extern unsigned char *cpp_spell_token (cpp_reader *, const cpp_token *, - unsigned char *, bool); -extern void cpp_register_pragma (cpp_reader *, const char *, const char *, - void (*) (cpp_reader *), bool); -extern void cpp_register_deferred_pragma (cpp_reader *, const char *, - const char *, unsigned, bool, bool); -extern int cpp_avoid_paste (cpp_reader *, const cpp_token *, - const cpp_token *); -extern const cpp_token *cpp_get_token (cpp_reader *); -extern const cpp_token *cpp_get_token_with_location (cpp_reader *, - location_t *); -inline bool cpp_user_macro_p (const cpp_hashnode *node) -{ - return node->type == NT_USER_MACRO; -} -inline bool cpp_builtin_macro_p (const cpp_hashnode *node) -{ - return node->type == NT_BUILTIN_MACRO; -} -inline bool cpp_macro_p (const cpp_hashnode *node) -{ - return node->type & NT_MACRO_MASK; -} -inline cpp_macro *cpp_set_deferred_macro (cpp_hashnode *node, - cpp_macro *forced = NULL) -{ - cpp_macro *old = node->value.macro; - - node->value.macro = forced; - node->type = NT_USER_MACRO; - node->flags &= ~NODE_USED; - - return old; -} -cpp_macro *cpp_get_deferred_macro (cpp_reader *, cpp_hashnode *, location_t); - -/* Returns true if NODE is a function-like user macro. */ -inline bool cpp_fun_like_macro_p (cpp_hashnode *node) -{ - return cpp_user_macro_p (node) && node->value.macro->fun_like; -} - -extern const unsigned char *cpp_macro_definition (cpp_reader *, cpp_hashnode *); -extern const unsigned char *cpp_macro_definition (cpp_reader *, cpp_hashnode *, - const cpp_macro *); -inline location_t cpp_macro_definition_location (cpp_hashnode *node) -{ - const cpp_macro *macro = node->value.macro; - return macro ? macro->line : 0; -} -/* Return an idempotent time stamp (possibly from SOURCE_DATE_EPOCH). */ -enum class CPP_time_kind -{ - FIXED = -1, /* Fixed time via source epoch. */ - DYNAMIC = -2, /* Dynamic via time(2). */ - UNKNOWN = -3 /* Wibbly wobbly, timey wimey. */ -}; -extern CPP_time_kind cpp_get_date (cpp_reader *, time_t *); - -extern void _cpp_backup_tokens (cpp_reader *, unsigned int); -extern const cpp_token *cpp_peek_token (cpp_reader *, int); - -/* Evaluate a CPP_*CHAR* token. */ -extern cppchar_t cpp_interpret_charconst (cpp_reader *, const cpp_token *, - unsigned int *, int *); -/* Evaluate a vector of CPP_*STRING* tokens. */ -extern bool cpp_interpret_string (cpp_reader *, - const cpp_string *, size_t, - cpp_string *, enum cpp_ttype); -extern const char *cpp_interpret_string_ranges (cpp_reader *pfile, - const cpp_string *from, - cpp_string_location_reader *, - size_t count, - cpp_substring_ranges *out, - enum cpp_ttype type); -extern bool cpp_interpret_string_notranslate (cpp_reader *, - const cpp_string *, size_t, - cpp_string *, enum cpp_ttype); - -/* Convert a host character constant to the execution character set. */ -extern cppchar_t cpp_host_to_exec_charset (cpp_reader *, cppchar_t); - -/* Used to register macros and assertions, perhaps from the command line. - The text is the same as the command line argument. */ -extern void cpp_define (cpp_reader *, const char *); -extern void cpp_define_unused (cpp_reader *, const char *); -extern void cpp_define_formatted (cpp_reader *pfile, - const char *fmt, ...) ATTRIBUTE_PRINTF_2; -extern void cpp_define_formatted_unused (cpp_reader *pfile, - const char *fmt, - ...) ATTRIBUTE_PRINTF_2; -extern void cpp_assert (cpp_reader *, const char *); -extern void cpp_undef (cpp_reader *, const char *); -extern void cpp_unassert (cpp_reader *, const char *); - -/* Mark a node as a lazily defined macro. */ -extern void cpp_define_lazily (cpp_reader *, cpp_hashnode *node, unsigned N); - -/* Undefine all macros and assertions. */ -extern void cpp_undef_all (cpp_reader *); - -extern cpp_buffer *cpp_push_buffer (cpp_reader *, const unsigned char *, - size_t, int); -extern int cpp_defined (cpp_reader *, const unsigned char *, int); - -/* A preprocessing number. Code assumes that any unused high bits of - the double integer are set to zero. */ - -/* This type has to be equal to unsigned HOST_WIDE_INT, see - gcc/c-family/c-lex.cc. */ -typedef uint64_t cpp_num_part; -typedef struct cpp_num cpp_num; -struct cpp_num -{ - cpp_num_part high; - cpp_num_part low; - bool unsignedp; /* True if value should be treated as unsigned. */ - bool overflow; /* True if the most recent calculation overflowed. */ -}; - -/* cpplib provides two interfaces for interpretation of preprocessing - numbers. - - cpp_classify_number categorizes numeric constants according to - their field (integer, floating point, or invalid), radix (decimal, - octal, hexadecimal), and type suffixes. */ - -#define CPP_N_CATEGORY 0x000F -#define CPP_N_INVALID 0x0000 -#define CPP_N_INTEGER 0x0001 -#define CPP_N_FLOATING 0x0002 - -#define CPP_N_WIDTH 0x00F0 -#define CPP_N_SMALL 0x0010 /* int, float, short _Fract/Accum */ -#define CPP_N_MEDIUM 0x0020 /* long, double, long _Fract/_Accum. */ -#define CPP_N_LARGE 0x0040 /* long long, long double, - long long _Fract/Accum. */ - -#define CPP_N_WIDTH_MD 0xF0000 /* machine defined. */ -#define CPP_N_MD_W 0x10000 -#define CPP_N_MD_Q 0x20000 - -#define CPP_N_RADIX 0x0F00 -#define CPP_N_DECIMAL 0x0100 -#define CPP_N_HEX 0x0200 -#define CPP_N_OCTAL 0x0400 -#define CPP_N_BINARY 0x0800 - -#define CPP_N_UNSIGNED 0x1000 /* Properties. */ -#define CPP_N_IMAGINARY 0x2000 -#define CPP_N_DFLOAT 0x4000 -#define CPP_N_DEFAULT 0x8000 - -#define CPP_N_FRACT 0x100000 /* Fract types. */ -#define CPP_N_ACCUM 0x200000 /* Accum types. */ -#define CPP_N_FLOATN 0x400000 /* _FloatN types. */ -#define CPP_N_FLOATNX 0x800000 /* _FloatNx types. */ - -#define CPP_N_USERDEF 0x1000000 /* C++11 user-defined literal. */ - -#define CPP_N_SIZE_T 0x2000000 /* C++23 size_t literal. */ -#define CPP_N_BFLOAT16 0x4000000 /* std::bfloat16_t type. */ - -#define CPP_N_WIDTH_FLOATN_NX 0xF0000000 /* _FloatN / _FloatNx value - of N, divided by 16. */ -#define CPP_FLOATN_SHIFT 24 -#define CPP_FLOATN_MAX 0xF0 - -/* Classify a CPP_NUMBER token. The return value is a combination of - the flags from the above sets. */ -extern unsigned cpp_classify_number (cpp_reader *, const cpp_token *, - const char **, location_t); - -/* Return the classification flags for a float suffix. */ -extern unsigned int cpp_interpret_float_suffix (cpp_reader *, const char *, - size_t); - -/* Return the classification flags for an int suffix. */ -extern unsigned int cpp_interpret_int_suffix (cpp_reader *, const char *, - size_t); - -/* Evaluate a token classified as category CPP_N_INTEGER. */ -extern cpp_num cpp_interpret_integer (cpp_reader *, const cpp_token *, - unsigned int); - -/* Sign extend a number, with PRECISION significant bits and all - others assumed clear, to fill out a cpp_num structure. */ -cpp_num cpp_num_sign_extend (cpp_num, size_t); - -/* Output a diagnostic of some kind. */ -extern bool cpp_error (cpp_reader *, enum cpp_diagnostic_level, - const char *msgid, ...) - ATTRIBUTE_PRINTF_3; -extern bool cpp_warning (cpp_reader *, enum cpp_warning_reason, - const char *msgid, ...) - ATTRIBUTE_PRINTF_3; -extern bool cpp_pedwarning (cpp_reader *, enum cpp_warning_reason, - const char *msgid, ...) - ATTRIBUTE_PRINTF_3; -extern bool cpp_warning_syshdr (cpp_reader *, enum cpp_warning_reason reason, - const char *msgid, ...) - ATTRIBUTE_PRINTF_3; - -/* As their counterparts above, but use RICHLOC. */ -extern bool cpp_warning_at (cpp_reader *, enum cpp_warning_reason, - rich_location *richloc, const char *msgid, ...) - ATTRIBUTE_PRINTF_4; -extern bool cpp_pedwarning_at (cpp_reader *, enum cpp_warning_reason, - rich_location *richloc, const char *msgid, ...) - ATTRIBUTE_PRINTF_4; - -/* Output a diagnostic with "MSGID: " preceding the - error string of errno. No location is printed. */ -extern bool cpp_errno (cpp_reader *, enum cpp_diagnostic_level, - const char *msgid); -/* Similarly, but with "FILENAME: " instead of "MSGID: ", where - the filename is not localized. */ -extern bool cpp_errno_filename (cpp_reader *, enum cpp_diagnostic_level, - const char *filename, location_t loc); - -/* Same as cpp_error, except additionally specifies a position as a - (translation unit) physical line and physical column. If the line is - zero, then no location is printed. */ -extern bool cpp_error_with_line (cpp_reader *, enum cpp_diagnostic_level, - location_t, unsigned, - const char *msgid, ...) - ATTRIBUTE_PRINTF_5; -extern bool cpp_warning_with_line (cpp_reader *, enum cpp_warning_reason, - location_t, unsigned, - const char *msgid, ...) - ATTRIBUTE_PRINTF_5; -extern bool cpp_pedwarning_with_line (cpp_reader *, enum cpp_warning_reason, - location_t, unsigned, - const char *msgid, ...) - ATTRIBUTE_PRINTF_5; -extern bool cpp_warning_with_line_syshdr (cpp_reader *, enum cpp_warning_reason, - location_t, unsigned, - const char *msgid, ...) - ATTRIBUTE_PRINTF_5; - -extern bool cpp_error_at (cpp_reader * pfile, enum cpp_diagnostic_level, - location_t src_loc, const char *msgid, ...) - ATTRIBUTE_PRINTF_4; - -extern bool cpp_error_at (cpp_reader * pfile, enum cpp_diagnostic_level, - rich_location *richloc, const char *msgid, ...) - ATTRIBUTE_PRINTF_4; - -/* In lex.cc */ -extern int cpp_ideq (const cpp_token *, const char *); -extern void cpp_output_line (cpp_reader *, FILE *); -extern unsigned char *cpp_output_line_to_string (cpp_reader *, - const unsigned char *); -extern const unsigned char *cpp_alloc_token_string - (cpp_reader *, const unsigned char *, unsigned); -extern void cpp_output_token (const cpp_token *, FILE *); -extern const char *cpp_type2name (enum cpp_ttype, unsigned char flags); -/* Returns the value of an escape sequence, truncated to the correct - target precision. PSTR points to the input pointer, which is just - after the backslash. LIMIT is how much text we have. WIDE is true - if the escape sequence is part of a wide character constant or - string literal. Handles all relevant diagnostics. */ -extern cppchar_t cpp_parse_escape (cpp_reader *, const unsigned char ** pstr, - const unsigned char *limit, int wide); - -/* Structure used to hold a comment block at a given location in the - source code. */ - -typedef struct -{ - /* Text of the comment including the terminators. */ - char *comment; - - /* source location for the given comment. */ - location_t sloc; -} cpp_comment; - -/* Structure holding all comments for a given cpp_reader. */ - -typedef struct -{ - /* table of comment entries. */ - cpp_comment *entries; - - /* number of actual entries entered in the table. */ - int count; - - /* number of entries allocated currently. */ - int allocated; -} cpp_comment_table; - -/* Returns the table of comments encountered by the preprocessor. This - table is only populated when pfile->state.save_comments is true. */ -extern cpp_comment_table *cpp_get_comments (cpp_reader *); - -/* In hash.c */ - -/* Lookup an identifier in the hashtable. Puts the identifier in the - table if it is not already there. */ -extern cpp_hashnode *cpp_lookup (cpp_reader *, const unsigned char *, - unsigned int); - -typedef int (*cpp_cb) (cpp_reader *, cpp_hashnode *, void *); -extern void cpp_forall_identifiers (cpp_reader *, cpp_cb, void *); - -/* In macro.cc */ -extern void cpp_scan_nooutput (cpp_reader *); -extern int cpp_sys_macro_p (cpp_reader *); -extern unsigned char *cpp_quote_string (unsigned char *, const unsigned char *, - unsigned int); -extern bool cpp_compare_macros (const cpp_macro *macro1, - const cpp_macro *macro2); - -/* In files.cc */ -extern bool cpp_included (cpp_reader *, const char *); -extern bool cpp_included_before (cpp_reader *, const char *, location_t); -extern void cpp_make_system_header (cpp_reader *, int, int); -extern bool cpp_push_include (cpp_reader *, const char *); -extern bool cpp_push_default_include (cpp_reader *, const char *); -extern void cpp_change_file (cpp_reader *, enum lc_reason, const char *); -extern const char *cpp_get_path (struct _cpp_file *); -extern cpp_dir *cpp_get_dir (struct _cpp_file *); -extern cpp_buffer *cpp_get_buffer (cpp_reader *); -extern struct _cpp_file *cpp_get_file (cpp_buffer *); -extern cpp_buffer *cpp_get_prev (cpp_buffer *); -extern void cpp_clear_file_cache (cpp_reader *); - -/* cpp_get_converted_source returns the contents of the given file, as it exists - after cpplib has read it and converted it from the input charset to the - source charset. Return struct will be zero-filled if the data could not be - read for any reason. The data starts at the DATA pointer, but the TO_FREE - pointer is what should be passed to free(), as there may be an offset. */ -struct cpp_converted_source -{ - char *to_free; - char *data; - size_t len; -}; -cpp_converted_source cpp_get_converted_source (const char *fname, - const char *input_charset); - -/* In pch.cc */ -struct save_macro_data; -extern int cpp_save_state (cpp_reader *, FILE *); -extern int cpp_write_pch_deps (cpp_reader *, FILE *); -extern int cpp_write_pch_state (cpp_reader *, FILE *); -extern int cpp_valid_state (cpp_reader *, const char *, int); -extern void cpp_prepare_state (cpp_reader *, struct save_macro_data **); -extern int cpp_read_state (cpp_reader *, const char *, FILE *, - struct save_macro_data *); - -/* In lex.cc */ -extern void cpp_force_token_locations (cpp_reader *, location_t); -extern void cpp_stop_forcing_token_locations (cpp_reader *); -enum CPP_DO_task -{ - CPP_DO_print, - CPP_DO_location, - CPP_DO_token -}; - -extern void cpp_directive_only_process (cpp_reader *pfile, - void *data, - void (*cb) (cpp_reader *, - CPP_DO_task, - void *data, ...)); - -/* In expr.cc */ -extern enum cpp_ttype cpp_userdef_string_remove_type - (enum cpp_ttype type); -extern enum cpp_ttype cpp_userdef_string_add_type - (enum cpp_ttype type); -extern enum cpp_ttype cpp_userdef_char_remove_type - (enum cpp_ttype type); -extern enum cpp_ttype cpp_userdef_char_add_type - (enum cpp_ttype type); -extern bool cpp_userdef_string_p - (enum cpp_ttype type); -extern bool cpp_userdef_char_p - (enum cpp_ttype type); -extern const char * cpp_get_userdef_suffix - (const cpp_token *); - -/* In charset.cc */ - -/* The result of attempting to decode a run of UTF-8 bytes. */ - -struct cpp_decoded_char -{ - const char *m_start_byte; - const char *m_next_byte; - - bool m_valid_ch; - cppchar_t m_ch; -}; - -/* Information for mapping between code points and display columns. - - This is a tabstop value, along with a callback for getting the - widths of characters. Normally this callback is cpp_wcwidth, but we - support other schemes for escaping non-ASCII unicode as a series of - ASCII chars when printing the user's source code in diagnostic-show-locus.cc - - For example, consider: - - the Unicode character U+03C0 "GREEK SMALL LETTER PI" (UTF-8: 0xCF 0x80) - - the Unicode character U+1F642 "SLIGHTLY SMILING FACE" - (UTF-8: 0xF0 0x9F 0x99 0x82) - - the byte 0xBF (a stray trailing byte of a UTF-8 character) - Normally U+03C0 would occupy one display column, U+1F642 - would occupy two display columns, and the stray byte would be - printed verbatim as one display column. - - However when escaping them as unicode code points as "" - and "" they occupy 8 and 9 display columns respectively, - and when escaping them as bytes as "<80>" and "<9F><99><82>" - they occupy 8 and 16 display columns respectively. In both cases - the stray byte is escaped to as 4 display columns. */ - -struct cpp_char_column_policy -{ - cpp_char_column_policy (int tabstop, - int (*width_cb) (cppchar_t c)) - : m_tabstop (tabstop), - m_undecoded_byte_width (1), - m_width_cb (width_cb) - {} - - int m_tabstop; - /* Width in display columns of a stray byte that isn't decodable - as UTF-8. */ - int m_undecoded_byte_width; - int (*m_width_cb) (cppchar_t c); -}; - -/* A class to manage the state while converting a UTF-8 sequence to cppchar_t - and computing the display width one character at a time. */ -class cpp_display_width_computation { - public: - cpp_display_width_computation (const char *data, int data_length, - const cpp_char_column_policy &policy); - const char *next_byte () const { return m_next; } - int bytes_processed () const { return m_next - m_begin; } - int bytes_left () const { return m_bytes_left; } - bool done () const { return !bytes_left (); } - int display_cols_processed () const { return m_display_cols; } - - int process_next_codepoint (cpp_decoded_char *out); - int advance_display_cols (int n); - - private: - const char *const m_begin; - const char *m_next; - size_t m_bytes_left; - const cpp_char_column_policy &m_policy; - int m_display_cols; -}; - -/* Convenience functions that are simple use cases for class - cpp_display_width_computation. Tab characters will be expanded to spaces - as determined by POLICY.m_tabstop, and non-printable-ASCII characters - will be escaped as per POLICY. */ - -int cpp_byte_column_to_display_column (const char *data, int data_length, - int column, - const cpp_char_column_policy &policy); -inline int cpp_display_width (const char *data, int data_length, - const cpp_char_column_policy &policy) -{ - return cpp_byte_column_to_display_column (data, data_length, data_length, - policy); -} -int cpp_display_column_to_byte_column (const char *data, int data_length, - int display_col, - const cpp_char_column_policy &policy); -int cpp_wcwidth (cppchar_t c); - -bool cpp_input_conversion_is_trivial (const char *input_charset); -int cpp_check_utf8_bom (const char *data, size_t data_length); -bool cpp_valid_utf8_p (const char *data, size_t num_bytes); - -#endif /* ! LIBCPP_CPPLIB_H */ diff --git a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/cselib.h b/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/cselib.h deleted file mode 100644 index e2fa8e8c..00000000 --- a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/cselib.h +++ /dev/null @@ -1,143 +0,0 @@ -/* Common subexpression elimination for GNU compiler. - Copyright (C) 1987-2023 Free Software Foundation, Inc. - -This file is part of GCC. - -GCC is free software; you can redistribute it and/or modify it under -the terms of the GNU General Public License as published by the Free -Software Foundation; either version 3, or (at your option) any later -version. - -GCC is distributed in the hope that it will be useful, but WITHOUT ANY -WARRANTY; without even the implied warranty of MERCHANTABILITY or -FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -for more details. - -You should have received a copy of the GNU General Public License -along with GCC; see the file COPYING3. If not see -. */ - -#ifndef GCC_CSELIB_H -#define GCC_CSELIB_H - -/* Describe a value. */ -struct cselib_val -{ - /* The hash value. */ - unsigned int hash; - - /* A unique id assigned to values. */ - int uid; - - /* A VALUE rtx that points back to this structure. */ - rtx val_rtx; - - /* All rtl expressions that hold this value at the current time during a - scan. */ - struct elt_loc_list *locs; - - /* If this value is used as an address, points to a list of values that - use it as an address in a MEM. */ - struct elt_list *addr_list; - - struct cselib_val *next_containing_mem; -}; - -/* A list of rtl expressions that hold the same value. */ -struct elt_loc_list { - /* Next element in the list. */ - struct elt_loc_list *next; - /* An rtl expression that holds the value. */ - rtx loc; - /* The insn that made the equivalence. */ - rtx_insn *setting_insn; -}; - -/* Describe a single set that is part of an insn. */ -struct cselib_set -{ - rtx src; - rtx dest; - cselib_val *src_elt; - cselib_val *dest_addr_elt; -}; - -enum cselib_record_what -{ - CSELIB_RECORD_MEMORY = 1, - CSELIB_PRESERVE_CONSTANTS = 2 -}; - -extern void (*cselib_discard_hook) (cselib_val *); -extern void (*cselib_record_sets_hook) (rtx_insn *insn, struct cselib_set *sets, - int n_sets); - -extern cselib_val *cselib_lookup (rtx, machine_mode, - int, machine_mode); -extern cselib_val *cselib_lookup_from_insn (rtx, machine_mode, - int, machine_mode, rtx_insn *); -extern void cselib_init (int); -extern void cselib_clear_table (void); -extern void cselib_finish (void); -extern void cselib_process_insn (rtx_insn *); -extern bool fp_setter_insn (rtx_insn *); -extern machine_mode cselib_reg_set_mode (const_rtx); -extern int rtx_equal_for_cselib_1 (rtx, rtx, machine_mode, int); -extern bool cselib_redundant_set_p (rtx); -extern int references_value_p (const_rtx, int); -extern rtx cselib_expand_value_rtx (rtx, bitmap, int); -typedef rtx (*cselib_expand_callback)(rtx, bitmap, int, void *); -extern rtx cselib_expand_value_rtx_cb (rtx, bitmap, int, - cselib_expand_callback, void *); -extern bool cselib_dummy_expand_value_rtx_cb (rtx, bitmap, int, - cselib_expand_callback, void *); -extern rtx cselib_subst_to_values (rtx, machine_mode); -extern rtx cselib_subst_to_values_from_insn (rtx, machine_mode, rtx_insn *); -extern void cselib_invalidate_rtx (rtx); - -extern void cselib_reset_table (unsigned int); -extern unsigned int cselib_get_next_uid (void); -extern void cselib_preserve_value (cselib_val *); -extern bool cselib_preserved_value_p (cselib_val *); -extern void cselib_preserve_only_values (void); -extern void cselib_preserve_cfa_base_value (cselib_val *, unsigned int); -extern void cselib_add_permanent_equiv (cselib_val *, rtx, rtx_insn *); -extern bool cselib_have_permanent_equivalences (void); -extern void cselib_set_value_sp_based (cselib_val *); -extern bool cselib_sp_based_value_p (cselib_val *); -extern void cselib_record_sp_cfa_base_equiv (HOST_WIDE_INT, rtx_insn *); -extern bool cselib_sp_derived_value_p (cselib_val *); - -extern void dump_cselib_table (FILE *); - -/* Return the canonical value for VAL, following the equivalence chain - towards the earliest (== lowest uid) equivalent value. */ - -inline cselib_val * -canonical_cselib_val (cselib_val *val) -{ - cselib_val *canon; - - if (!val->locs || val->locs->next - || !val->locs->loc || GET_CODE (val->locs->loc) != VALUE - || val->uid < CSELIB_VAL_PTR (val->locs->loc)->uid) - return val; - - canon = CSELIB_VAL_PTR (val->locs->loc); - gcc_checking_assert (canonical_cselib_val (canon) == canon); - return canon; -} - -/* Return nonzero if we can prove that X and Y contain the same value, taking - our gathered information into account. */ - -inline int -rtx_equal_for_cselib_p (rtx x, rtx y) -{ - if (x == y) - return 1; - - return rtx_equal_for_cselib_1 (x, y, VOIDmode, 0); -} - -#endif /* GCC_CSELIB_H */ diff --git a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/ctfc.h b/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/ctfc.h deleted file mode 100644 index bf1841a7..00000000 --- a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/ctfc.h +++ /dev/null @@ -1,450 +0,0 @@ -/* ctfc.h - Declarations and definitions related to the CTF container. - Copyright (C) 2019-2023 Free Software Foundation, Inc. - -This file is part of GCC. - -GCC is free software; you can redistribute it and/or modify it under -the terms of the GNU General Public License as published by the Free -Software Foundation; either version 3, or (at your option) any later -version. - -GCC is distributed in the hope that it will be useful, but WITHOUT ANY -WARRANTY; without even the implied warranty of MERCHANTABILITY or -FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -for more details. - -You should have received a copy of the GNU General Public License -along with GCC; see the file COPYING3. If not see -. */ - -/* This file defines the data structures and functions used by the compiler - to generate the CTF debug info. The definitions below are compiler internal - representations and closely reflect the CTF format requirements in . - - The contents of the CTF container are used eventually for emission of both - CTF (ctfout.cc) and BTF debug info (btfout.cc), as the two type debug formats - are close cousins. */ - -#ifndef GCC_CTFC_H -#define GCC_CTFC_H 1 - -#include "config.h" -#include "system.h" -#include "tree.h" -#include "fold-const.h" -#include "dwarf2ctf.h" -#include "ctf.h" -#include "btf.h" - -/* Invalid CTF type ID definition. */ - -#define CTF_NULL_TYPEID 0 - -/* Value to start generating the CTF type ID from. */ - -#define CTF_INIT_TYPEID 1 - -/* CTF type ID. */ - -typedef uint64_t ctf_id_t; - -/* CTF string table element (list node). */ - -typedef struct GTY ((chain_next ("%h.cts_next"))) ctf_string -{ - const char * cts_str; /* CTF string. */ - struct ctf_string * cts_next; /* A list node. */ -} ctf_string_t; - -/* Internal representation of CTF string table. */ - -typedef struct GTY (()) ctf_strtable -{ - ctf_string_t * ctstab_head; /* Head str ptr. */ - ctf_string_t * ctstab_tail; /* Tail. new str appended to tail. */ - int ctstab_num; /* Number of strings in the table. */ - size_t ctstab_len; /* Size of string table in bytes. */ - const char * ctstab_estr; /* Empty string "". */ -} ctf_strtable_t; - -/* Encoding information for integers, floating-point values etc. The flags - field will contain values appropriate for the type defined in . */ - -typedef struct GTY (()) ctf_encoding -{ - unsigned int cte_format; /* Data format (CTF_INT_* or CTF_FP_* flags). */ - unsigned int cte_offset; /* Offset of value in bits. */ - unsigned int cte_bits; /* Size of storage in bits. */ -} ctf_encoding_t; - -/* Array information for CTF generation. */ - -typedef struct GTY (()) ctf_arinfo -{ - ctf_id_t ctr_contents; /* Type of array contents. */ - ctf_id_t ctr_index; /* Type of array index. */ - unsigned int ctr_nelems; /* Number of elements. */ -} ctf_arinfo_t; - -/* Function information for CTF generation. */ - -typedef struct GTY (()) ctf_funcinfo -{ - ctf_id_t ctc_return; /* Function return type. */ - unsigned int ctc_argc; /* Number of typed arguments to function. */ - unsigned int ctc_flags; /* Function attributes (see below). */ -} ctf_funcinfo_t; - -typedef struct GTY (()) ctf_sliceinfo -{ - unsigned int cts_type; /* Reference CTF type. */ - unsigned short cts_offset; /* Offset in bits of the first bit. */ - unsigned short cts_bits; /* Size in bits. */ -} ctf_sliceinfo_t; - -/* CTF type representation internal to the compiler. It closely reflects the - ctf_type_t type node in except the GTY (()) tags. */ - -typedef struct GTY (()) ctf_itype -{ - uint32_t ctti_name; /* Reference to name in string table. */ - uint32_t ctti_info; /* Encoded kind, variant length (see below). */ - union GTY ((desc ("0"))) - { - uint32_t GTY ((tag ("0"))) _size;/* Size of entire type in bytes. */ - uint32_t GTY ((tag ("1"))) _type;/* Reference to another type. */ - } _u; - uint32_t ctti_lsizehi; /* High 32 bits of type size in bytes. */ - uint32_t ctti_lsizelo; /* Low 32 bits of type size in bytes. */ -} ctf_itype_t; - -#define ctti_size _u._size -#define ctti_type _u._type - -/* Function arguments end with varargs. */ - -#define CTF_FUNC_VARARG 0x1 - -/* Struct/union/enum member definition for CTF generation. */ - -typedef struct GTY ((chain_next ("%h.dmd_next"))) ctf_dmdef -{ - const char * dmd_name; /* Name of this member. */ - ctf_id_t dmd_type; /* Type of this member (for sou). */ - uint32_t dmd_name_offset; /* Offset of the name in str table. */ - uint64_t dmd_offset; /* Offset of this member in bits (for sou). */ - HOST_WIDE_INT dmd_value; /* Value of this member (for enum). */ - struct ctf_dmdef * dmd_next; /* A list node. */ -} ctf_dmdef_t; - -#define ctf_dmd_list_next(elem) ((ctf_dmdef_t *)((elem)->dmd_next)) - -/* Function Argument. */ - -typedef struct GTY (()) ctf_func_arg -{ - ctf_id_t farg_type; /* Type identifier of the argument. */ - const char * farg_name; /* Name of the argument. */ - uint32_t farg_name_offset; /* Offset of the name in str table. */ - struct ctf_func_arg * farg_next;/* A list node. */ -} ctf_func_arg_t; - -#define ctf_farg_list_next(elem) ((ctf_func_arg_t *)((elem)->farg_next)) - -/* Type definition for CTF generation. */ - -struct GTY ((for_user)) ctf_dtdef -{ - dw_die_ref dtd_key; /* Type key for hashing. */ - const char * dtd_name; /* Name associated with definition (if any). */ - ctf_id_t dtd_type; /* Type identifier for this definition. */ - ctf_itype_t dtd_data; /* Type node. */ - bool from_global_func; /* Whether this type was added from a global - function. */ - uint32_t linkage; /* Used in function types. 0=local, 1=global. */ - bool dtd_enum_unsigned; /* Enum signedness. */ - union GTY ((desc ("ctf_dtu_d_union_selector (&%1)"))) - { - /* struct, union, or enum. */ - ctf_dmdef_t * GTY ((tag ("CTF_DTU_D_MEMBERS"))) dtu_members; - /* array. */ - ctf_arinfo_t GTY ((tag ("CTF_DTU_D_ARRAY"))) dtu_arr; - /* integer or float. */ - ctf_encoding_t GTY ((tag ("CTF_DTU_D_ENCODING"))) dtu_enc; - /* function. */ - ctf_func_arg_t * GTY ((tag ("CTF_DTU_D_ARGUMENTS"))) dtu_argv; - /* slice. */ - ctf_sliceinfo_t GTY ((tag ("CTF_DTU_D_SLICE"))) dtu_slice; - } dtd_u; -}; - -typedef struct ctf_dtdef ctf_dtdef_t; - -/* Variable definition for CTF generation. */ - -struct GTY ((for_user)) ctf_dvdef -{ - dw_die_ref dvd_key; /* DWARF DIE corresponding to the variable. */ - const char * dvd_name; /* Name associated with variable. */ - uint32_t dvd_name_offset; /* Offset of the name in str table. */ - unsigned int dvd_visibility; /* External visibility. 0=static,1=global. */ - ctf_id_t dvd_type; /* Type of variable. */ -}; - -typedef struct ctf_dvdef ctf_dvdef_t; - -typedef ctf_dvdef_t * ctf_dvdef_ref; -typedef ctf_dtdef_t * ctf_dtdef_ref; - -/* Location information for CTF Types and CTF Variables. */ - -typedef struct GTY (()) ctf_srcloc -{ - const char * ctsloc_file; - unsigned int ctsloc_line; - unsigned int ctsloc_col; -} ctf_srcloc_t; - -typedef ctf_srcloc_t * ctf_srcloc_ref; - -/* Helper enum and api for the GTY machinery to work on union dtu_d. */ - -enum ctf_dtu_d_union_enum { - CTF_DTU_D_MEMBERS, - CTF_DTU_D_ARRAY, - CTF_DTU_D_ENCODING, - CTF_DTU_D_ARGUMENTS, - CTF_DTU_D_SLICE -}; - -enum ctf_dtu_d_union_enum -ctf_dtu_d_union_selector (ctf_dtdef_ref); - -struct ctfc_dtd_hasher : ggc_ptr_hash -{ - typedef ctf_dtdef_ref compare_type; - - static hashval_t hash (ctf_dtdef_ref); - static bool equal (ctf_dtdef_ref, ctf_dtdef_ref); -}; - -inline hashval_t -ctfc_dtd_hasher::hash (ctf_dtdef_ref dtd) -{ - return htab_hash_pointer (dtd->dtd_key); -} - -inline bool -ctfc_dtd_hasher::equal (ctf_dtdef_ref dtd, ctf_dtdef_ref dtd2) -{ - return (dtd->dtd_key == dtd2->dtd_key); -} - -struct ctfc_dvd_hasher : ggc_ptr_hash -{ - typedef ctf_dvdef_ref compare_type; - - static hashval_t hash (ctf_dvdef_ref); - static bool equal (ctf_dvdef_ref, ctf_dvdef_ref); -}; - -inline hashval_t -ctfc_dvd_hasher::hash (ctf_dvdef_ref dvd) -{ - return htab_hash_pointer (dvd->dvd_key); -} - -inline bool -ctfc_dvd_hasher::equal (ctf_dvdef_ref dvd, ctf_dvdef_ref dvd2) -{ - return (dvd->dvd_key == dvd2->dvd_key); -} - -/* CTF container structure. - It is the context passed around when generating ctf debug info. There is - one container per translation unit. */ - -typedef struct GTY (()) ctf_container -{ - /* CTF Preamble. */ - unsigned short ctfc_magic; - unsigned char ctfc_version; - unsigned char ctfc_flags; - uint32_t ctfc_cuname_offset; - - /* CTF types. */ - hash_table * GTY (()) ctfc_types; - /* CTF variables. */ - hash_table * GTY (()) ctfc_vars; - /* CTF variables to be ignored. */ - hash_table * GTY (()) ctfc_ignore_vars; - - /* CTF string table. */ - ctf_strtable_t ctfc_strtable; - /* Auxilliary string table. At this time, used for keeping func arg names - for BTF. */ - ctf_strtable_t ctfc_aux_strtable; - - uint64_t ctfc_num_types; - uint64_t ctfc_num_stypes; - uint64_t ctfc_num_global_funcs; - uint64_t ctfc_num_global_objts; - - /* Number of vlen bytes - the variable length portion after ctf_type_t and - ctf_stype_t in the CTF section. This is used to calculate the offsets in - the CTF header. */ - uint64_t ctfc_num_vlen_bytes; - - /* Next CTF type id to assign. */ - ctf_id_t ctfc_nextid; - - /* Specify an explicit length of 0 so that the GC marking routines steer - clear of marking the CTF vars and CTF types twice. These lists below do - not own the pointed to objects, they simply hold references to them. */ - - /* List of pre-processed CTF Variables. CTF requires that the variables - appear in the sorted order of their names. */ - ctf_dvdef_t ** GTY ((length ("0"))) ctfc_vars_list; - /* Count of pre-processed CTF Variables in the list. */ - uint64_t ctfc_vars_list_count; - /* List of pre-processed CTF types. CTF requires that a shared type must - appear before the type that uses it. For the compiler, this means types - are emitted in sorted order of their type IDs. */ - ctf_dtdef_t ** GTY ((length ("0"))) ctfc_types_list; - /* List of CTF function types for global functions. The order of global - function entries in the CTF funcinfo section is undefined by the - compiler. */ - ctf_dtdef_t ** GTY ((length ("0"))) ctfc_gfuncs_list; - /* List of CTF variables at global scope. The order of global object entries - in the CTF objinfo section is undefined by the compiler. */ - ctf_dvdef_t ** GTY ((length ("0"))) ctfc_gobjts_list; - - /* Following members are for debugging only. They do not add functional - value to the task of CTF creation. These can be cleaned up once CTF - generation stabilizes. */ - - /* Keep a count of the number of bytes dumped in asm for debugging - purposes. */ - uint64_t ctfc_numbytes_asm; - /* Total length of all strings in CTF. */ - size_t ctfc_strlen; - /* Total length of all strings in aux string table. */ - size_t ctfc_aux_strlen; - -} ctf_container_t; - -/* Markers for which string table from the CTF container to use. */ - -#define CTF_STRTAB 0 /* CTF string table. */ -#define CTF_AUX_STRTAB 1 /* CTF auxilliary string table. */ - -typedef ctf_container_t * ctf_container_ref; - -extern GTY (()) ctf_container_ref tu_ctfc; - -extern void ctfc_delete_container (ctf_container_ref); - -/* If the next ctf type id is still set to the init value, no ctf records to - report. */ -extern bool ctfc_is_empty_container (ctf_container_ref); - -/* Get the total number of CTF types in the container. */ - -extern unsigned int ctfc_get_num_ctf_types (ctf_container_ref); - -/* Get the total number of CTF variables in the container. */ - -extern unsigned int ctfc_get_num_ctf_vars (ctf_container_ref); - -/* Get reference to the CTF string table or the CTF auxilliary - string table. */ - -extern ctf_strtable_t * ctfc_get_strtab (ctf_container_ref, int); - -/* Get the length of the specified string table in the CTF container. */ - -extern size_t ctfc_get_strtab_len (ctf_container_ref, int); - -/* Get the number of bytes to represent the variable length portion of all CTF - types in the CTF container. */ - -extern size_t ctfc_get_num_vlen_bytes (ctf_container_ref); - -/* The compiler demarcates whether types are visible at top-level scope or not. - The only example so far of a type not visible at top-level scope is slices. - CTF_ADD_NONROOT is used to indicate the latter. */ -#define CTF_ADD_NONROOT 0 /* CTF type only visible in nested scope. */ -#define CTF_ADD_ROOT 1 /* CTF type visible at top-level scope. */ - -/* These APIs allow to initialize and finalize the CTF machinery and - to add types to the CTF container associated to the current - translation unit. Used in dwarf2ctf.cc. */ - -extern void ctf_init (void); -extern void ctf_output (const char * filename); -extern void ctf_finalize (void); - -extern void btf_output (const char * filename); -extern void btf_init_postprocess (void); -extern void btf_finalize (void); - -extern ctf_container_ref ctf_get_tu_ctfc (void); - -extern bool ctf_type_exists (ctf_container_ref, dw_die_ref, ctf_id_t *); - -extern void ctf_add_cuname (ctf_container_ref, const char *); - -extern ctf_dtdef_ref ctf_dtd_lookup (const ctf_container_ref ctfc, - dw_die_ref die); -extern ctf_dvdef_ref ctf_dvd_lookup (const ctf_container_ref ctfc, - dw_die_ref die); -extern bool ctf_dvd_ignore_lookup (const ctf_container_ref ctfc, - dw_die_ref die); - -extern const char * ctf_add_string (ctf_container_ref, const char *, - uint32_t *, int); - -extern ctf_id_t ctf_add_reftype (ctf_container_ref, uint32_t, ctf_id_t, - uint32_t, dw_die_ref); -extern ctf_id_t ctf_add_enum (ctf_container_ref, uint32_t, const char *, - HOST_WIDE_INT, bool, dw_die_ref); -extern ctf_id_t ctf_add_slice (ctf_container_ref, uint32_t, ctf_id_t, - uint32_t, uint32_t, dw_die_ref); -extern ctf_id_t ctf_add_float (ctf_container_ref, uint32_t, const char *, - const ctf_encoding_t *, dw_die_ref); -extern ctf_id_t ctf_add_integer (ctf_container_ref, uint32_t, const char *, - const ctf_encoding_t *, dw_die_ref); -extern ctf_id_t ctf_add_unknown (ctf_container_ref, uint32_t, const char *, - const ctf_encoding_t *, dw_die_ref); -extern ctf_id_t ctf_add_pointer (ctf_container_ref, uint32_t, ctf_id_t, - dw_die_ref); -extern ctf_id_t ctf_add_array (ctf_container_ref, uint32_t, - const ctf_arinfo_t *, dw_die_ref); -extern ctf_id_t ctf_add_forward (ctf_container_ref, uint32_t, const char *, - uint32_t, dw_die_ref); -extern ctf_id_t ctf_add_typedef (ctf_container_ref, uint32_t, const char *, - ctf_id_t, dw_die_ref); -extern ctf_id_t ctf_add_function (ctf_container_ref, uint32_t, const char *, - const ctf_funcinfo_t *, dw_die_ref, bool, int); -extern ctf_id_t ctf_add_sou (ctf_container_ref, uint32_t, const char *, - uint32_t, size_t, dw_die_ref); - -extern int ctf_add_enumerator (ctf_container_ref, ctf_id_t, const char *, - HOST_WIDE_INT, dw_die_ref); -extern int ctf_add_member_offset (ctf_container_ref, dw_die_ref, const char *, - ctf_id_t, uint64_t); -extern int ctf_add_function_arg (ctf_container_ref, dw_die_ref, - const char *, ctf_id_t); -extern int ctf_add_variable (ctf_container_ref, const char *, ctf_id_t, - dw_die_ref, unsigned int, dw_die_ref); - -extern ctf_id_t ctf_lookup_tree_type (ctf_container_ref, const tree); -extern ctf_id_t get_btf_id (ctf_id_t); - -/* CTF section does not emit location information; at this time, location - information is needed for BTF CO-RE use-cases. */ - -extern int ctfc_get_dtd_srcloc (ctf_dtdef_ref, ctf_srcloc_ref); -extern int ctfc_get_dvd_srcloc (ctf_dvdef_ref, ctf_srcloc_ref); - -#endif /* GCC_CTFC_H */ diff --git a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/d/d-tree.def b/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/d/d-tree.def deleted file mode 100644 index 32e58df2..00000000 --- a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/d/d-tree.def +++ /dev/null @@ -1,29 +0,0 @@ -/* d-tree.def -- Definitions and documentation for additional tree codes used - in the D compiler (see tree.def for standard codes). - Copyright (C) 2006-2023 Free Software Foundation, Inc. - -GCC is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 3, or (at your option) -any later version. - -GCC is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GCC; see the file COPYING3. If not see -. */ - -/* Logical shift done on an unsigned type. If the first operand is - signed, it will be converted to the unsigned equivalent. The second - operand is the number of bits to shift by; it need not be the same - type as the first operand and result. */ -DEFTREECODE (UNSIGNED_RSHIFT_EXPR, "unsigned_rshift_expr", tcc_binary, 2) - -/* Floating point modulus that expands to a call to fmod. */ -DEFTREECODE (FLOAT_MOD_EXPR, "float_mod_expr", tcc_binary, 2) - -/* Used to represent information associated with a function closure. */ -DEFTREECODE (FUNCFRAME_INFO, "funcframe_info", tcc_exceptional, 0) diff --git a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/data-streamer.h b/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/data-streamer.h deleted file mode 100644 index d8c7e21d..00000000 --- a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/data-streamer.h +++ /dev/null @@ -1,349 +0,0 @@ -/* Generic streaming support for various data types. - - Copyright (C) 2011-2023 Free Software Foundation, Inc. - Contributed by Diego Novillo - -This file is part of GCC. - -GCC is free software; you can redistribute it and/or modify it under -the terms of the GNU General Public License as published by the Free -Software Foundation; either version 3, or (at your option) any later -version. - -GCC is distributed in the hope that it will be useful, but WITHOUT ANY -WARRANTY; without even the implied warranty of MERCHANTABILITY or -FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -for more details. - -You should have received a copy of the GNU General Public License -along with GCC; see the file COPYING3. If not see -. */ - -#ifndef GCC_DATA_STREAMER_H -#define GCC_DATA_STREAMER_H - -#include "lto-streamer.h" - -/* Data structures used to pack values and bitflags into a vector of - words. Used to stream values of a fixed number of bits in a space - efficient way. */ -static unsigned const BITS_PER_BITPACK_WORD = HOST_BITS_PER_WIDE_INT; - -typedef unsigned HOST_WIDE_INT bitpack_word_t; - -struct bitpack_d -{ - /* The position of the first unused or unconsumed bit in the word. */ - unsigned pos; - - /* The current word we are (un)packing. */ - bitpack_word_t word; - - /* The lto_output_stream or the lto_input_block we are streaming to/from. */ - void *stream; -}; - -/* In data-streamer.cc */ -void bp_pack_var_len_unsigned (struct bitpack_d *, unsigned HOST_WIDE_INT); -void bp_pack_var_len_int (struct bitpack_d *, HOST_WIDE_INT); -unsigned HOST_WIDE_INT bp_unpack_var_len_unsigned (struct bitpack_d *); -HOST_WIDE_INT bp_unpack_var_len_int (struct bitpack_d *); - -/* In data-streamer-out.cc */ -void streamer_write_zero (struct output_block *); -void streamer_write_uhwi (struct output_block *, unsigned HOST_WIDE_INT); -void streamer_write_hwi (struct output_block *, HOST_WIDE_INT); -void streamer_write_poly_uint64 (struct output_block *, poly_uint64); -void streamer_write_poly_int64 (struct output_block *, poly_int64); -void streamer_write_gcov_count (struct output_block *, gcov_type); -void streamer_write_string (struct output_block *, struct lto_output_stream *, - const char *, bool); -void streamer_write_string_with_length (struct output_block *, - struct lto_output_stream *, - const char *, unsigned int, bool); -void bp_pack_string_with_length (struct output_block *, struct bitpack_d *, - const char *, unsigned int, bool); -void bp_pack_string (struct output_block *, struct bitpack_d *, - const char *, bool); -void streamer_write_uhwi_stream (struct lto_output_stream *, - unsigned HOST_WIDE_INT); -void streamer_write_hwi_stream (struct lto_output_stream *, HOST_WIDE_INT); -void streamer_write_gcov_count_stream (struct lto_output_stream *, gcov_type); -void streamer_write_data_stream (struct lto_output_stream *, const void *, - size_t); -void streamer_write_wide_int (struct output_block *, const wide_int &); -void streamer_write_widest_int (struct output_block *, const widest_int &); - -/* In data-streamer-in.cc */ -const char *streamer_read_string (class data_in *, class lto_input_block *); -const char *streamer_read_indexed_string (class data_in *, - class lto_input_block *, - unsigned int *); -const char *bp_unpack_indexed_string (class data_in *, struct bitpack_d *, - unsigned int *); -const char *bp_unpack_string (class data_in *, struct bitpack_d *); -unsigned HOST_WIDE_INT streamer_read_uhwi (class lto_input_block *); -HOST_WIDE_INT streamer_read_hwi (class lto_input_block *); -poly_uint64 streamer_read_poly_uint64 (class lto_input_block *); -poly_int64 streamer_read_poly_int64 (class lto_input_block *); -gcov_type streamer_read_gcov_count (class lto_input_block *); -wide_int streamer_read_wide_int (class lto_input_block *); -widest_int streamer_read_widest_int (class lto_input_block *); - -/* Returns a new bit-packing context for bit-packing into S. */ -inline struct bitpack_d -bitpack_create (struct lto_output_stream *s) -{ - struct bitpack_d bp; - bp.pos = 0; - bp.word = 0; - bp.stream = (void *)s; - return bp; -} - -/* Pack the NBITS bit sized value VAL into the bit-packing context BP. */ -inline void -bp_pack_value (struct bitpack_d *bp, bitpack_word_t val, unsigned nbits) -{ - bitpack_word_t word = bp->word; - int pos = bp->pos; - - /* Verify that VAL fits in the NBITS. */ - gcc_checking_assert (nbits == BITS_PER_BITPACK_WORD - || !(val & ~(((bitpack_word_t)1< BITS_PER_BITPACK_WORD) - { - streamer_write_uhwi_stream ((struct lto_output_stream *) bp->stream, - word); - word = val; - pos = nbits; - } - else - { - word |= val << pos; - pos += nbits; - } - bp->word = word; - bp->pos = pos; -} - -/* Pack VAL into the bit-packing context BP, using NBITS for each - coefficient. */ -inline void -bp_pack_poly_value (struct bitpack_d *bp, - const poly_int &val, - unsigned nbits) -{ - for (int i = 0; i < NUM_POLY_INT_COEFFS; ++i) - bp_pack_value (bp, val.coeffs[i], nbits); -} - -/* Finishes bit-packing of BP. */ -inline void -streamer_write_bitpack (struct bitpack_d *bp) -{ - streamer_write_uhwi_stream ((struct lto_output_stream *) bp->stream, - bp->word); - bp->word = 0; - bp->pos = 0; -} - -/* Returns a new bit-packing context for bit-unpacking from IB. */ -inline struct bitpack_d -streamer_read_bitpack (class lto_input_block *ib) -{ - struct bitpack_d bp; - bp.word = streamer_read_uhwi (ib); - bp.pos = 0; - bp.stream = (void *)ib; - return bp; -} - -/* Unpacks NBITS bits from the bit-packing context BP and returns them. */ -inline bitpack_word_t -bp_unpack_value (struct bitpack_d *bp, unsigned nbits) -{ - bitpack_word_t mask, val; - int pos = bp->pos; - - mask = (nbits == BITS_PER_BITPACK_WORD - ? (bitpack_word_t) -1 - : ((bitpack_word_t) 1 << nbits) - 1); - - /* If there are not continuous nbits in the current bitpack word - switch to the next one. */ - if (pos + nbits > BITS_PER_BITPACK_WORD) - { - bp->word = val - = streamer_read_uhwi ((class lto_input_block *)bp->stream); - bp->pos = nbits; - return val & mask; - } - val = bp->word; - val >>= pos; - bp->pos = pos + nbits; - - return val & mask; -} - -/* Unpacks a polynomial value from the bit-packing context BP in which each - coefficient has NBITS bits. */ -inline poly_int -bp_unpack_poly_value (struct bitpack_d *bp, unsigned nbits) -{ - poly_int_pod x; - for (int i = 0; i < NUM_POLY_INT_COEFFS; ++i) - x.coeffs[i] = bp_unpack_value (bp, nbits); - return x; -} - - -/* Write a character to the output block. */ - -inline void -streamer_write_char_stream (struct lto_output_stream *obs, char c) -{ - /* No space left. */ - if (obs->left_in_block == 0) - lto_append_block (obs); - - /* Write the actual character. */ - char *current_pointer = obs->current_pointer; - *(current_pointer++) = c; - obs->current_pointer = current_pointer; - obs->total_size++; - obs->left_in_block--; -} - - -/* Read byte from the input block. */ - -inline unsigned char -streamer_read_uchar (class lto_input_block *ib) -{ - if (ib->p >= ib->len) - lto_section_overrun (ib); - return (ib->data[ib->p++]); -} - -/* Output VAL into OBS and verify it is in range MIN...MAX that is supposed - to be compile time constant. - Be host independent, limit range to 31bits. */ - -inline void -streamer_write_hwi_in_range (struct lto_output_stream *obs, - HOST_WIDE_INT min, - HOST_WIDE_INT max, - HOST_WIDE_INT val) -{ - HOST_WIDE_INT range = max - min; - - gcc_checking_assert (val >= min && val <= max && range > 0 - && range < 0x7fffffff); - - val -= min; - streamer_write_uhwi_stream (obs, (unsigned HOST_WIDE_INT) val); -} - -/* Input VAL into OBS and verify it is in range MIN...MAX that is supposed - to be compile time constant. PURPOSE is used for error reporting. */ - -inline HOST_WIDE_INT -streamer_read_hwi_in_range (class lto_input_block *ib, - const char *purpose, - HOST_WIDE_INT min, - HOST_WIDE_INT max) -{ - HOST_WIDE_INT range = max - min; - unsigned HOST_WIDE_INT uval = streamer_read_uhwi (ib); - - gcc_checking_assert (range > 0 && range < 0x7fffffff); - - HOST_WIDE_INT val = (HOST_WIDE_INT) (uval + (unsigned HOST_WIDE_INT) min); - if (val < min || val > max) - lto_value_range_error (purpose, val, min, max); - return val; -} - -/* Output VAL into BP and verify it is in range MIN...MAX that is supposed - to be compile time constant. - Be host independent, limit range to 31bits. */ - -inline void -bp_pack_int_in_range (struct bitpack_d *bp, - HOST_WIDE_INT min, - HOST_WIDE_INT max, - HOST_WIDE_INT val) -{ - HOST_WIDE_INT range = max - min; - int nbits = floor_log2 (range) + 1; - - gcc_checking_assert (val >= min && val <= max && range > 0 - && range < 0x7fffffff); - - val -= min; - bp_pack_value (bp, val, nbits); -} - -/* Input VAL into BP and verify it is in range MIN...MAX that is supposed - to be compile time constant. PURPOSE is used for error reporting. */ - -inline HOST_WIDE_INT -bp_unpack_int_in_range (struct bitpack_d *bp, - const char *purpose, - HOST_WIDE_INT min, - HOST_WIDE_INT max) -{ - HOST_WIDE_INT range = max - min; - int nbits = floor_log2 (range) + 1; - HOST_WIDE_INT val = bp_unpack_value (bp, nbits); - - gcc_checking_assert (range > 0 && range < 0x7fffffff); - - if (val < min || val > max) - lto_value_range_error (purpose, val, min, max); - return val; -} - -/* Output VAL of type "enum enum_name" into OBS. - Assume range 0...ENUM_LAST - 1. */ -#define streamer_write_enum(obs,enum_name,enum_last,val) \ - streamer_write_hwi_in_range ((obs), 0, (int)(enum_last) - 1, (int)(val)) - -/* Input enum of type "enum enum_name" from IB. - Assume range 0...ENUM_LAST - 1. */ -#define streamer_read_enum(ib,enum_name,enum_last) \ - (enum enum_name)streamer_read_hwi_in_range ((ib), #enum_name, 0, \ - (int)(enum_last) - 1) - -/* Output VAL of type "enum enum_name" into BP. - Assume range 0...ENUM_LAST - 1. */ -#define bp_pack_enum(bp,enum_name,enum_last,val) \ - bp_pack_int_in_range ((bp), 0, (int)(enum_last) - 1, (int)(val)) - -/* Input enum of type "enum enum_name" from BP. - Assume range 0...ENUM_LAST - 1. */ -#define bp_unpack_enum(bp,enum_name,enum_last) \ - (enum enum_name)bp_unpack_int_in_range ((bp), #enum_name, 0, \ - (int)(enum_last) - 1) - -/* Output the start of a record with TAG to output block OB. */ - -inline void -streamer_write_record_start (struct output_block *ob, enum LTO_tags tag) -{ - streamer_write_enum (ob->main_stream, LTO_tags, LTO_NUM_TAGS, tag); -} - -/* Return the next tag in the input block IB. */ - -inline enum LTO_tags -streamer_read_record_start (class lto_input_block *ib) -{ - return streamer_read_enum (ib, LTO_tags, LTO_NUM_TAGS); -} - -#endif /* GCC_DATA_STREAMER_H */ diff --git a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/dbgcnt.def b/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/dbgcnt.def deleted file mode 100644 index 9e2f1d85..00000000 --- a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/dbgcnt.def +++ /dev/null @@ -1,217 +0,0 @@ -/* This file contains the list of the debug counter for GCC. - Copyright (C) 2006-2023 Free Software Foundation, Inc. - -This file is part of GCC. - -GCC is free software; you can redistribute it and/or modify it under -the terms of the GNU General Public License as published by the Free -Software Foundation; either version 3, or (at your option) any later -version. - -GCC is distributed in the hope that it will be useful, but WITHOUT ANY -WARRANTY; without even the implied warranty of MERCHANTABILITY or -FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -for more details. - -You should have received a copy of the GNU General Public License -along with GCC; see the file COPYING3. If not see -. */ - - -/* A debug counter provides you a way to count an event - and return false after the counter has exceeded the threshold - specified by the option. - - What is it used for ? - - This is primarily used to speed up the search for the bad transformation - an optimization pass does. By doing a binary search on N, - you can quickly narrow down to one transformation - which is bad, or which triggers the bad behavior downstream - (usually in the form of the badly generated code). - - How does it work ? - - Every time dbg_cnt(named-counter) is called, - the counter is incremented for the named-counter. - And the incremented value is compared against the threshold (limit) - specified by the option. - dbg_cnt () returns true if it is at or below threshold, and false if above. - - How to add a new one ? - - To add a new counter, simply add an entry below with some descriptive name, - and add call(s) to dbg_cnt(your-counter-name) in appropriate places. - Usually, you want to control at the finest granularity - any particular transformation can happen. - e.g. for each instruction in a dead code elimination, - or for each copy instruction in register coalescing, - or constant-propagation for each insn, - or a block straightening, etc. - See dce.cc for an example. With the dbg_cnt () call in dce.cc, - now a developer can use -fdbg-cnt=dce:N - to stop doing the dead code elimination after N times. - - How to use it ? - - By default, all limits are UINT_MAX. - Since debug count is unsigned int, <= UINT_MAX returns true always. - i.e. dbg_cnt() returns true always regardless of the counter value - (although it still counts the event). - Use -fdbg-cnt=counter1:N,counter2:M,... - which sets the limit for counter1 to N, and the limit for counter2 to M, etc. - e.g. setting a limit to zero will make dbg_cnt () return false *always*. - - The following shell file can then be used to binary search for - exact transformation that causes the bug. A second shell script - should be written, say "tryTest", which exits with 1 if the - compiled program fails and exits with 0 if the program succeeds. - This shell script should take 1 parameter, the value to be passed - to set the counter of the compilation command in tryTest. Then, - assuming that the following script is called binarySearch, - the command: - - binarySearch tryTest - - will automatically find the highest value of the counter for which - the program fails. If tryTest never fails, binarySearch will - produce unpredictable results as it will try to find an upper bound - that does not exist. - - When dbgcnt does hits the limit, it writes a comment in the current - dump_file of the form: - - ***dbgcnt: limit reached for %s.*** - - Assuming that the dump file is logging the analysis/transformations - it is making, this pinpoints the exact position in the log file - where the problem transformation is being logged. - -===================================== -#!/bin/bash - -while getopts "l:u:i:" opt -do - case $opt in - l) lb="$OPTARG";; - u) ub="$OPTARG";; - i) init="$OPTARG";; - ?) usage; exit 3;; - esac -done - -shift $(($OPTIND - 1)) -echo $@ -cmd=${1+"${@}"} - -lb=${lb:=0} -init=${init:=100} - -$cmd $lb -lb_val=$? -if [ -z "$ub" ]; then - # find the upper bound - ub=$(($init + $lb)) - true - while [ $? -eq $lb_val ]; do - ub=$(($ub * 10)) - #ub=`expr $ub \* 10` - $cmd $ub - done -fi - -echo command: $cmd - -true -while [ `expr $ub - $lb` -gt 1 ]; do - try=$(($lb + ( $ub - $lb ) / 2)) - $cmd $try - if [ $? -eq $lb_val ]; then - lb=$try - else - ub=$try - fi -done - -echo lbound: $lb -echo ubound: $ub - -===================================== - -*/ - -/* Debug counter definitions. - Please keep the list sorted in alphabetic order. */ -DEBUG_COUNTER (asan_use_after_scope) -DEBUG_COUNTER (auto_inc_dec) -DEBUG_COUNTER (back_thread1) -DEBUG_COUNTER (back_thread2) -DEBUG_COUNTER (back_threadfull1) -DEBUG_COUNTER (back_threadfull2) -DEBUG_COUNTER (ccp) -DEBUG_COUNTER (cfg_cleanup) -DEBUG_COUNTER (cprop) -DEBUG_COUNTER (cse2_move2add) -DEBUG_COUNTER (dce) -DEBUG_COUNTER (dce_fast) -DEBUG_COUNTER (dce_ud) -DEBUG_COUNTER (delete_trivial_dead) -DEBUG_COUNTER (devirt) -DEBUG_COUNTER (df_byte_scan) -DEBUG_COUNTER (dom_unreachable_edges) -DEBUG_COUNTER (dse) -DEBUG_COUNTER (dse1) -DEBUG_COUNTER (dse2) -DEBUG_COUNTER (gcse2_delete) -DEBUG_COUNTER (gimple_unroll) -DEBUG_COUNTER (global_alloc_at_func) -DEBUG_COUNTER (global_alloc_at_reg) -DEBUG_COUNTER (graphite_scop) -DEBUG_COUNTER (hoist) -DEBUG_COUNTER (hoist_insn) -DEBUG_COUNTER (ia64_sched2) -DEBUG_COUNTER (if_after_combine) -DEBUG_COUNTER (if_after_reload) -DEBUG_COUNTER (if_conversion) -DEBUG_COUNTER (if_conversion_tree) -DEBUG_COUNTER (if_to_switch) -DEBUG_COUNTER (ipa_attr) -DEBUG_COUNTER (ipa_cp_bits) -DEBUG_COUNTER (ipa_cp_values) -DEBUG_COUNTER (ipa_cp_vr) -DEBUG_COUNTER (ipa_mod_ref) -DEBUG_COUNTER (ipa_mod_ref_pta) -DEBUG_COUNTER (ipa_sra_params) -DEBUG_COUNTER (ipa_sra_retvalues) -DEBUG_COUNTER (ira_move) -DEBUG_COUNTER (ivopts_loop) -DEBUG_COUNTER (lim) -DEBUG_COUNTER (local_alloc_for_sched) -DEBUG_COUNTER (loop_unswitch) -DEBUG_COUNTER (match) -DEBUG_COUNTER (merged_ipa_icf) -DEBUG_COUNTER (phiopt_edge_range) -DEBUG_COUNTER (postreload_cse) -DEBUG_COUNTER (pre) -DEBUG_COUNTER (pre_insn) -DEBUG_COUNTER (prefetch) -DEBUG_COUNTER (registered_jump_thread) -DEBUG_COUNTER (sched2_func) -DEBUG_COUNTER (sched_block) -DEBUG_COUNTER (sched_breakdep) -DEBUG_COUNTER (sched_func) -DEBUG_COUNTER (sched_insn) -DEBUG_COUNTER (sched_region) -DEBUG_COUNTER (sel_sched_cnt) -DEBUG_COUNTER (sel_sched_insn_cnt) -DEBUG_COUNTER (sel_sched_region_cnt) -DEBUG_COUNTER (sms_sched_loop) -DEBUG_COUNTER (split_for_sched2) -DEBUG_COUNTER (store_merging) -DEBUG_COUNTER (store_motion) -DEBUG_COUNTER (stv_conversion) -DEBUG_COUNTER (tail_call) -DEBUG_COUNTER (tree_sra) -DEBUG_COUNTER (treepre_insert) -DEBUG_COUNTER (vect_loop) -DEBUG_COUNTER (vect_slp) diff --git a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/dbgcnt.h b/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/dbgcnt.h deleted file mode 100644 index 3ff43fcb..00000000 --- a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/dbgcnt.h +++ /dev/null @@ -1,40 +0,0 @@ -/* Debug counter for debugging support - Copyright (C) 2006-2023 Free Software Foundation, Inc. - -This file is part of GCC. - -GCC is free software; you can redistribute it and/or modify it under -the terms of the GNU General Public License as published by the Free -Software Foundation; either version 3, or (at your option) any later -version. - -GCC is distributed in the hope that it will be useful, but WITHOUT ANY -WARRANTY; without even the implied warranty of MERCHANTABILITY or -FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -for more details. - -You should have received a copy of the GNU General Public License -along with GCC; see the file COPYING3. If not see -. - -See dbgcnt.def for usage information. */ - -#ifndef GCC_DBGCNT_H -#define GCC_DBGCNT_H - -#define DEBUG_COUNTER(a) a, - -enum debug_counter { -#include "dbgcnt.def" - debug_counter_number_of_counters -}; - -#undef DEBUG_COUNTER - -extern bool dbg_cnt_is_enabled (enum debug_counter index); -extern bool dbg_cnt (enum debug_counter index); -extern unsigned dbg_cnt_counter (enum debug_counter index); -extern void dbg_cnt_process_opt (const char *arg); -extern void dbg_cnt_list_all_counters (void); - -#endif /* GCC_DBGCNT_H */ diff --git a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/dce.h b/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/dce.h deleted file mode 100644 index 2f1602ab..00000000 --- a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/dce.h +++ /dev/null @@ -1,27 +0,0 @@ -/* RTL dead code elimination. - Copyright (C) 2005-2023 Free Software Foundation, Inc. - -This file is part of GCC. - -GCC is free software; you can redistribute it and/or modify it under -the terms of the GNU General Public License as published by the Free -Software Foundation; either version 3, or (at your option) any later -version. - -GCC is distributed in the hope that it will be useful, but WITHOUT ANY -WARRANTY; without even the implied warranty of MERCHANTABILITY or -FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - for more details. - -You should have received a copy of the GNU General Public License -along with GCC; see the file COPYING3. If not see -. */ - -#ifndef GCC_DCE_H -#define GCC_DCE_H - -extern void run_word_dce (void); -extern void run_fast_dce (void); -extern void run_fast_df_dce (void); - -#endif /* GCC_DCE_H */ diff --git a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/ddg.h b/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/ddg.h deleted file mode 100644 index 0583fa13..00000000 --- a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/ddg.h +++ /dev/null @@ -1,182 +0,0 @@ -/* DDG - Data Dependence Graph - interface. - Copyright (C) 2004-2023 Free Software Foundation, Inc. - Contributed by Ayal Zaks and Mustafa Hagog - -This file is part of GCC. - -GCC is free software; you can redistribute it and/or modify it under -the terms of the GNU General Public License as published by the Free -Software Foundation; either version 3, or (at your option) any later -version. - -GCC is distributed in the hope that it will be useful, but WITHOUT ANY -WARRANTY; without even the implied warranty of MERCHANTABILITY or -FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -for more details. - -You should have received a copy of the GNU General Public License -along with GCC; see the file COPYING3. If not see -. */ - -#ifndef GCC_DDG_H -#define GCC_DDG_H - -/* For sbitmap. */ - -typedef struct ddg_node *ddg_node_ptr; -typedef struct ddg_edge *ddg_edge_ptr; -typedef struct ddg *ddg_ptr; -typedef struct ddg_scc *ddg_scc_ptr; -typedef struct ddg_all_sccs *ddg_all_sccs_ptr; - -enum dep_type {TRUE_DEP, OUTPUT_DEP, ANTI_DEP}; -enum dep_data_type {REG_OR_MEM_DEP, REG_DEP, MEM_DEP, REG_AND_MEM_DEP}; - -/* The following two macros enables direct access to the successors and - predecessors bitmaps held in each ddg_node. Do not make changes to - these bitmaps, unless you want to change the DDG. */ -#define NODE_SUCCESSORS(x) ((x)->successors) -#define NODE_PREDECESSORS(x) ((x)->predecessors) - -/* A structure that represents a node in the DDG. */ -struct ddg_node -{ - /* Each node has a unique CUID index. These indices increase monotonically - (according to the order of the corresponding INSN in the BB), starting - from 0 with no gaps. */ - int cuid; - - /* The insn represented by the node. */ - rtx_insn *insn; - - /* A note preceding INSN (or INSN itself), such that all insns linked - from FIRST_NOTE until INSN (inclusive of both) are moved together - when reordering the insns. This takes care of notes that should - continue to precede INSN. */ - rtx_insn *first_note; - - /* Incoming and outgoing dependency edges. */ - ddg_edge_ptr in; - ddg_edge_ptr out; - - /* Each bit corresponds to a ddg_node according to its cuid, and is - set iff the node is a successor/predecessor of "this" node. */ - sbitmap successors; - sbitmap predecessors; - - /* Temporary array used for Floyd-Warshall algorithm to find - scc recurrence length. */ - int *max_dist; - - /* For general use by algorithms manipulating the ddg. */ - union { - int count; - void *info; - } aux; -}; - -/* A structure that represents an edge in the DDG. */ -struct ddg_edge -{ - /* The source and destination nodes of the dependency edge. */ - ddg_node_ptr src; - ddg_node_ptr dest; - - /* TRUE, OUTPUT or ANTI dependency. */ - dep_type type; - - /* REG or MEM dependency. */ - dep_data_type data_type; - - /* Latency of the dependency. */ - int latency; - - /* The distance: number of loop iterations the dependency crosses. */ - int distance; - - /* The following two fields are used to form a linked list of the in/out - going edges to/from each node. */ - ddg_edge_ptr next_in; - ddg_edge_ptr next_out; - - /* Is true when edge is already in scc. */ - bool in_scc; -}; - -/* This structure holds the Data Dependence Graph for a basic block. */ -struct ddg -{ - /* The basic block for which this DDG is built. */ - basic_block bb; - - /* Number of instructions in the basic block. */ - int num_nodes; - - /* Number of load/store instructions in the BB - statistics. */ - int num_loads; - int num_stores; - - /* This array holds the nodes in the graph; it is indexed by the node - cuid, which follows the order of the instructions in the BB. */ - ddg_node_ptr nodes; - - /* The branch closing the loop. */ - ddg_node_ptr closing_branch; - - /* Build dependence edges for closing_branch, when set. In certain cases, - the closing branch can be dealt with separately from the insns of the - loop, and then no such deps are needed. */ - int closing_branch_deps; - - /* Array and number of backarcs (edges with distance > 0) in the DDG. */ - int num_backarcs; - ddg_edge_ptr *backarcs; -}; - - -/* Holds information on an SCC (Strongly Connected Component) of the DDG. */ -struct ddg_scc -{ - /* A bitmap that represents the nodes of the DDG that are in the SCC. */ - sbitmap nodes; - - /* Array and number of backarcs (edges with distance > 0) in the SCC. */ - ddg_edge_ptr *backarcs; - int num_backarcs; - - /* The maximum of (total_latency/total_distance) over all cycles in SCC. */ - int recurrence_length; -}; - -/* This structure holds the SCCs of the DDG. */ -struct ddg_all_sccs -{ - /* Array that holds the SCCs in the DDG, and their number. */ - ddg_scc_ptr *sccs; - int num_sccs; - - ddg_ptr ddg; -}; - - -ddg_ptr create_ddg (basic_block, int closing_branch_deps); -void free_ddg (ddg_ptr); - -void print_ddg (FILE *, ddg_ptr); -void vcg_print_ddg (FILE *, ddg_ptr); -void print_ddg_edge (FILE *, ddg_edge_ptr); -void print_sccs (FILE *, ddg_all_sccs_ptr, ddg_ptr); - -ddg_node_ptr get_node_of_insn (ddg_ptr, rtx_insn *); - -void find_successors (sbitmap result, ddg_ptr, sbitmap); -void find_predecessors (sbitmap result, ddg_ptr, sbitmap); - -ddg_all_sccs_ptr create_ddg_all_sccs (ddg_ptr); -void free_ddg_all_sccs (ddg_all_sccs_ptr); - -int find_nodes_on_paths (sbitmap result, ddg_ptr, sbitmap from, sbitmap to); - -bool autoinc_var_is_used_p (rtx_insn *, rtx_insn *); - -#endif /* GCC_DDG_H */ diff --git a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/debug.h b/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/debug.h deleted file mode 100644 index 05512bce..00000000 --- a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/debug.h +++ /dev/null @@ -1,281 +0,0 @@ -/* Debug hooks for GCC. - Copyright (C) 2001-2023 Free Software Foundation, Inc. - - This program is free software; you can redistribute it and/or modify it - under the terms of the GNU General Public License as published by the - Free Software Foundation; either version 3, or (at your option) any - later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; see the file COPYING3. If not see - . */ - -#ifndef GCC_DEBUG_H -#define GCC_DEBUG_H - -/* This structure contains hooks for the debug information output - functions, accessed through the global instance debug_hooks set in - toplev.cc according to command line options. */ -/* WARNING: Do not add new debug hook targets - DWARF will be the only - way to speak debug to the middle-end once we are able to get rid of - the remaining targets. If you need alternate output formats instead - generate them off the DWARF representation. */ -struct gcc_debug_hooks -{ - /* Initialize debug output. MAIN_FILENAME is the name of the main - input file. */ - void (* init) (const char *main_filename); - - /* Output debug symbols. */ - void (* finish) (const char *main_filename); - - /* Run cleanups necessary after early debug generation. */ - void (* early_finish) (const char *main_filename); - - /* Called from cgraph_optimize before starting to assemble - functions/variables/toplevel asms. */ - void (* assembly_start) (void); - - /* Macro defined on line LINE with name and expansion TEXT. */ - void (* define) (unsigned int line, const char *text); - - /* MACRO undefined on line LINE. */ - void (* undef) (unsigned int line, const char *macro); - - /* Record the beginning of a new source file FILE from LINE number - in the previous one. */ - void (* start_source_file) (unsigned int line, const char *file); - - /* Record the resumption of a source file. LINE is the line number - in the source file we are returning to. */ - void (* end_source_file) (unsigned int line); - - /* Record the beginning of block N, counting from 1 and not - including the function-scope block, at LINE. */ - void (* begin_block) (unsigned int line, unsigned int n); - - /* Record the end of a block. Arguments as for begin_block. */ - void (* end_block) (unsigned int line, unsigned int n); - - /* Returns nonzero if it is appropriate not to emit any debugging - information for BLOCK, because it doesn't contain any - instructions. This may not be the case for blocks containing - nested functions, since we may actually call such a function even - though the BLOCK information is messed up. Defaults to true. */ - bool (* ignore_block) (const_tree); - - /* Record a source file location at (FILE, LINE, COLUMN, DISCRIMINATOR). */ - void (* source_line) (unsigned int line, unsigned int column, - const char *file, int discriminator, bool is_stmt); - - /* Record a source file location for a DECL_IGNORED_P function. */ - void (* set_ignored_loc) (unsigned int line, unsigned int column, - const char *file); - - /* Called at start of prologue code. LINE is the first line in the - function. */ - void (* begin_prologue) (unsigned int line, unsigned int column, - const char *file); - - /* Called at end of prologue code. LINE is the first line in the - function. */ - void (* end_prologue) (unsigned int line, const char *file); - - /* Called at beginning of epilogue code. */ - void (* begin_epilogue) (unsigned int line, const char *file); - - /* Record end of epilogue code. */ - void (* end_epilogue) (unsigned int line, const char *file); - - /* Called at start of function DECL, before it is declared. */ - void (* begin_function) (tree decl); - - /* Record end of function. LINE is highest line number in function. */ - void (* end_function) (unsigned int line); - - /* Register UNIT as the main translation unit. Called from front-ends when - they create their main translation unit. */ - void (* register_main_translation_unit) (tree); - - /* Debug information for a function DECL. This might include the - function name (a symbol), its parameters, and the block that - makes up the function's body, and the local variables of the - function. - - This is only called for FUNCTION_DECLs. It is part of the late - debug pass and is called from rest_of_handle_final. - - Location information is available at this point. - - See the documentation for early_global_decl and late_global_decl - for other entry points into the debugging back-ends for DECLs. */ - void (* function_decl) (tree decl); - - /* Debug information for a global DECL. Called from the parser - after the parsing process has finished. - - This gets called for both variables and functions. - - Location information is not available at this point, but it is a - good probe point to get access to symbols before they get - optimized away. - - This hook may be called on VAR_DECLs or FUNCTION_DECLs. It is up - to the hook to use what it needs. */ - void (* early_global_decl) (tree decl); - - /* Augment debug information generated by early_global_decl with - more complete debug info (if applicable). Called from toplev.cc - after the compilation proper has finished and cgraph information - is available. - - This gets called for both variables and functions. - - Location information is usually available at this point, unless - the hook is being called for a decl that has been optimized away. - - This hook may be called on VAR_DECLs or FUNCTION_DECLs. It is up - to the hook to use what it needs. */ - void (* late_global_decl) (tree decl); - - /* Debug information for a type DECL. Called from toplev.cc after - compilation proper, also from various language front ends to - record built-in types. The second argument is properly a - boolean, which indicates whether or not the type is a "local" - type as determined by the language. (It's not a boolean for - legacy reasons.) */ - void (* type_decl) (tree decl, int local); - - /* Debug information for imported modules and declarations. */ - void (* imported_module_or_decl) (tree decl, tree name, - tree context, bool child, - bool implicit); - - /* Return true if a DIE for the tree is available and return a symbol - and offset that can be used to refer to it externally. */ - bool (* die_ref_for_decl) (tree, const char **, unsigned HOST_WIDE_INT *); - - /* Early debug information for the tree is available at symbol plus - offset externally. */ - void (* register_external_die) (tree, const char *, unsigned HOST_WIDE_INT); - - /* DECL is an inline function, whose body is present, but which is - not being output at this point. */ - void (* deferred_inline_function) (tree decl); - - /* DECL is an inline function which is about to be emitted out of - line. The hook is useful to, e.g., emit abstract debug info for - the inline before it gets mangled by optimization. */ - void (* outlining_inline_function) (tree decl); - - /* Called from final_scan_insn for any CODE_LABEL insn whose - LABEL_NAME is non-null. */ - void (* label) (rtx_code_label *); - - /* Called after the start and before the end of writing a PCH file. - The parameter is 0 if after the start, 1 if before the end. */ - void (* handle_pch) (unsigned int); - - /* Called from final_scan_insn for any NOTE_INSN_VAR_LOCATION note. */ - void (* var_location) (rtx_insn *); - - /* Called from final_scan_insn for any NOTE_INSN_INLINE_ENTRY note. */ - void (* inline_entry) (tree block); - - /* Called from finalize_size_functions for size functions so that their body - can be encoded in the debug info to describe the layout of variable-length - structures. */ - void (* size_function) (tree decl); - - /* Called from final_scan_insn if there is a switch between hot and cold - text sections. */ - void (* switch_text_section) (void); - - /* Called from grokdeclarator. Replaces the anonymous name with the - type name. */ - void (* set_name) (tree, tree); - - /* This is 1 if the debug writer wants to see start and end commands for the - main source files, and 0 otherwise. */ - int start_end_main_source_file; - - /* The type of symtab field used by these debug hooks. This is one - of the TYPE_SYMTAB_IS_xxx values defined in tree.h. */ - int tree_type_symtab_field; -}; - -extern const struct gcc_debug_hooks *debug_hooks; - -/* The do-nothing hooks. */ -extern void debug_nothing_void (void); -extern void debug_nothing_charstar (const char *); -extern void debug_nothing_int_int_charstar (unsigned int, unsigned int, - const char *); -extern void debug_nothing_int_charstar (unsigned int, const char *); -extern void debug_nothing_int_int_charstar_int_bool (unsigned int, - unsigned int, - const char *, - int, bool); -extern void debug_nothing_int (unsigned int); -extern void debug_nothing_int_int (unsigned int, unsigned int); -extern void debug_nothing_tree (tree); -extern void debug_nothing_tree_tree (tree, tree); -extern void debug_nothing_tree_int (tree, int); -extern void debug_nothing_tree_tree_tree_bool_bool (tree, tree, tree, - bool, bool); -extern bool debug_true_const_tree (const_tree); -extern void debug_nothing_rtx_insn (rtx_insn *); -extern void debug_nothing_rtx_code_label (rtx_code_label *); -extern bool debug_false_tree_charstarstar_uhwistar (tree, const char **, - unsigned HOST_WIDE_INT *); -extern void debug_nothing_tree_charstar_uhwi (tree, const char *, - unsigned HOST_WIDE_INT); - -/* Hooks for various debug formats. */ -extern const struct gcc_debug_hooks do_nothing_debug_hooks; -extern const struct gcc_debug_hooks xcoff_debug_hooks; -extern const struct gcc_debug_hooks dwarf2_debug_hooks; -extern const struct gcc_debug_hooks dwarf2_lineno_debug_hooks; -extern const struct gcc_debug_hooks vmsdbg_debug_hooks; - -/* Dwarf2 frame information. */ - -extern void dwarf2out_begin_prologue (unsigned int, unsigned int, - const char *); -extern void dwarf2out_vms_end_prologue (unsigned int, const char *); -extern void dwarf2out_vms_begin_epilogue (unsigned int, const char *); -extern void dwarf2out_end_epilogue (unsigned int, const char *); -extern void dwarf2out_frame_finish (void); -extern bool dwarf2out_do_eh_frame (void); -extern bool dwarf2out_do_frame (void); -extern bool dwarf2out_do_cfi_asm (void); -extern void dwarf2out_switch_text_section (void); -extern bool dwarf2out_default_as_loc_support (void); -extern bool dwarf2out_default_as_locview_support (void); - -/* For -fdump-go-spec. */ - -extern const struct gcc_debug_hooks * -dump_go_spec_init (const char *, const struct gcc_debug_hooks *); - -/* Instance discriminator mapping table. See final.cc. */ -typedef hash_map decl_to_instance_map_t; -extern decl_to_instance_map_t *decl_to_instance_map; - -/* Allocate decl_to_instance_map with COUNT slots to begin wtih, if it - * hasn't been allocated yet. */ - -inline decl_to_instance_map_t * -maybe_create_decl_to_instance_map (int count = 13) -{ - if (!decl_to_instance_map) - decl_to_instance_map = new decl_to_instance_map_t (count); - return decl_to_instance_map; -} - -#endif /* !GCC_DEBUG_H */ diff --git a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/defaults.h b/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/defaults.h deleted file mode 100644 index dc6f09ca..00000000 --- a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/defaults.h +++ /dev/null @@ -1,1464 +0,0 @@ -/* Definitions of various defaults for tm.h macros. - Copyright (C) 1992-2023 Free Software Foundation, Inc. - Contributed by Ron Guilmette (rfg@monkeys.com) - -This file is part of GCC. - -GCC is free software; you can redistribute it and/or modify it under -the terms of the GNU General Public License as published by the Free -Software Foundation; either version 3, or (at your option) any later -version. - -GCC is distributed in the hope that it will be useful, but WITHOUT ANY -WARRANTY; without even the implied warranty of MERCHANTABILITY or -FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -for more details. - -Under Section 7 of GPL version 3, you are granted additional -permissions described in the GCC Runtime Library Exception, version -3.1, as published by the Free Software Foundation. - -You should have received a copy of the GNU General Public License and -a copy of the GCC Runtime Library Exception along with this program; -see the files COPYING3 and COPYING.RUNTIME respectively. If not, see -. */ - -#ifndef GCC_DEFAULTS_H -#define GCC_DEFAULTS_H - -/* How to start an assembler comment. */ -#ifndef ASM_COMMENT_START -#define ASM_COMMENT_START ";#" -#endif - -/* Store in OUTPUT a string (made with alloca) containing an - assembler-name for a local static variable or function named NAME. - LABELNO is an integer which is different for each call. */ - -#ifndef ASM_PN_FORMAT -# ifndef NO_DOT_IN_LABEL -# define ASM_PN_FORMAT "%s.%lu" -# else -# ifndef NO_DOLLAR_IN_LABEL -# define ASM_PN_FORMAT "%s$%lu" -# else -# define ASM_PN_FORMAT "__%s_%lu" -# endif -# endif -#endif /* ! ASM_PN_FORMAT */ - -#ifndef ASM_FORMAT_PRIVATE_NAME -# define ASM_FORMAT_PRIVATE_NAME(OUTPUT, NAME, LABELNO) \ - do { const char *const name_ = (NAME); \ - char *const output_ = (OUTPUT) = \ - (char *) alloca (strlen (name_) + 32); \ - sprintf (output_, ASM_PN_FORMAT, name_, (unsigned long)(LABELNO)); \ - } while (0) -#endif - -/* Choose a reasonable default for ASM_OUTPUT_ASCII. */ - -#ifndef ASM_OUTPUT_ASCII -#define ASM_OUTPUT_ASCII(MYFILE, MYSTRING, MYLENGTH) \ - do { \ - FILE *_my_file = (MYFILE); \ - const unsigned char *_hide_p = (const unsigned char *) (MYSTRING); \ - int _hide_thissize = (MYLENGTH); \ - { \ - const unsigned char *p = _hide_p; \ - int thissize = _hide_thissize; \ - int i; \ - fprintf (_my_file, "\t.ascii \""); \ - \ - for (i = 0; i < thissize; i++) \ - { \ - int c = p[i]; \ - if (c == '\"' || c == '\\') \ - putc ('\\', _my_file); \ - if (ISPRINT (c)) \ - putc (c, _my_file); \ - else \ - { \ - fprintf (_my_file, "\\%o", c); \ - /* After an octal-escape, if a digit follows, \ - terminate one string constant and start another. \ - The VAX assembler fails to stop reading the escape \ - after three digits, so this is the only way we \ - can get it to parse the data properly. */ \ - if (i < thissize - 1 && ISDIGIT (p[i + 1])) \ - fprintf (_my_file, "\"\n\t.ascii \""); \ - } \ - } \ - fprintf (_my_file, "\"\n"); \ - } \ - } \ - while (0) -#endif - -/* This is how we tell the assembler to equate two values. */ -#ifdef SET_ASM_OP -#ifndef ASM_OUTPUT_DEF -#define ASM_OUTPUT_DEF(FILE,LABEL1,LABEL2) \ - do { fprintf ((FILE), "%s", SET_ASM_OP); \ - assemble_name (FILE, LABEL1); \ - fprintf (FILE, ","); \ - assemble_name (FILE, LABEL2); \ - fprintf (FILE, "\n"); \ - } while (0) -#endif -#endif - -#ifndef IFUNC_ASM_TYPE -#define IFUNC_ASM_TYPE "gnu_indirect_function" -#endif - -#ifndef TLS_COMMON_ASM_OP -#define TLS_COMMON_ASM_OP ".tls_common" -#endif - -#if defined (HAVE_AS_TLS) && !defined (ASM_OUTPUT_TLS_COMMON) -#define ASM_OUTPUT_TLS_COMMON(FILE, DECL, NAME, SIZE) \ - do \ - { \ - fprintf ((FILE), "\t%s\t", TLS_COMMON_ASM_OP); \ - assemble_name ((FILE), (NAME)); \ - fprintf ((FILE), "," HOST_WIDE_INT_PRINT_UNSIGNED",%u\n", \ - (SIZE), DECL_ALIGN (DECL) / BITS_PER_UNIT); \ - } \ - while (0) -#endif - -/* Decide whether to defer emitting the assembler output for an equate - of two values. The default is to not defer output. */ -#ifndef TARGET_DEFERRED_OUTPUT_DEFS -#define TARGET_DEFERRED_OUTPUT_DEFS(DECL,TARGET) false -#endif - -/* This is how to output the definition of a user-level label named - NAME, such as the label on variable NAME. */ - -#ifndef ASM_OUTPUT_LABEL -#define ASM_OUTPUT_LABEL(FILE,NAME) \ - do { \ - assemble_name ((FILE), (NAME)); \ - fputs (":\n", (FILE)); \ - } while (0) -#endif - -/* This is how to output the definition of a user-level label named - NAME, such as the label on a function. */ - -#ifndef ASM_OUTPUT_FUNCTION_LABEL -#define ASM_OUTPUT_FUNCTION_LABEL(FILE, NAME, DECL) \ - ASM_OUTPUT_LABEL ((FILE), (NAME)) -#endif - -/* Output the definition of a compiler-generated label named NAME. */ -#ifndef ASM_OUTPUT_INTERNAL_LABEL -#define ASM_OUTPUT_INTERNAL_LABEL(FILE,NAME) \ - do { \ - assemble_name_raw ((FILE), (NAME)); \ - fputs (":\n", (FILE)); \ - } while (0) -#endif - -/* This is how to output a reference to a user-level label named NAME. */ - -#ifndef ASM_OUTPUT_LABELREF -#define ASM_OUTPUT_LABELREF(FILE,NAME) \ - do { \ - fputs (user_label_prefix, (FILE)); \ - fputs ((NAME), (FILE)); \ - } while (0) -#endif - -/* Allow target to print debug info labels specially. This is useful for - VLIW targets, since debug info labels should go into the middle of - instruction bundles instead of breaking them. */ - -#ifndef ASM_OUTPUT_DEBUG_LABEL -#define ASM_OUTPUT_DEBUG_LABEL(FILE, PREFIX, NUM) \ - (*targetm.asm_out.internal_label) (FILE, PREFIX, NUM) -#endif - -/* This is how we tell the assembler that a symbol is weak. */ -#ifndef ASM_OUTPUT_WEAK_ALIAS -#if defined (ASM_WEAKEN_LABEL) && defined (ASM_OUTPUT_DEF) -#define ASM_OUTPUT_WEAK_ALIAS(STREAM, NAME, VALUE) \ - do \ - { \ - ASM_WEAKEN_LABEL (STREAM, NAME); \ - if (VALUE) \ - ASM_OUTPUT_DEF (STREAM, NAME, VALUE); \ - } \ - while (0) -#endif -#endif - -/* This is how we tell the assembler that a symbol is a weak alias to - another symbol that doesn't require the other symbol to be defined. - Uses of the former will turn into weak uses of the latter, i.e., - uses that, in case the latter is undefined, will not cause errors, - and will add it to the symbol table as weak undefined. However, if - the latter is referenced directly, a strong reference prevails. */ -#ifndef ASM_OUTPUT_WEAKREF -#if defined HAVE_GAS_WEAKREF -#define ASM_OUTPUT_WEAKREF(FILE, DECL, NAME, VALUE) \ - do \ - { \ - fprintf ((FILE), "\t.weakref\t"); \ - assemble_name ((FILE), (NAME)); \ - fprintf ((FILE), ","); \ - assemble_name ((FILE), (VALUE)); \ - fprintf ((FILE), "\n"); \ - } \ - while (0) -#endif -#endif - -/* How to emit a .type directive. */ -#ifndef ASM_OUTPUT_TYPE_DIRECTIVE -#if defined TYPE_ASM_OP && defined TYPE_OPERAND_FMT -#define ASM_OUTPUT_TYPE_DIRECTIVE(STREAM, NAME, TYPE) \ - do \ - { \ - fputs (TYPE_ASM_OP, STREAM); \ - assemble_name (STREAM, NAME); \ - fputs (", ", STREAM); \ - fprintf (STREAM, TYPE_OPERAND_FMT, TYPE); \ - putc ('\n', STREAM); \ - } \ - while (0) -#endif -#endif - -/* How to emit a .size directive. */ -#ifndef ASM_OUTPUT_SIZE_DIRECTIVE -#ifdef SIZE_ASM_OP -#define ASM_OUTPUT_SIZE_DIRECTIVE(STREAM, NAME, SIZE) \ - do \ - { \ - HOST_WIDE_INT size_ = (SIZE); \ - fputs (SIZE_ASM_OP, STREAM); \ - assemble_name (STREAM, NAME); \ - fprintf (STREAM, ", " HOST_WIDE_INT_PRINT_DEC "\n", size_); \ - } \ - while (0) - -#define ASM_OUTPUT_MEASURED_SIZE(STREAM, NAME) \ - do \ - { \ - fputs (SIZE_ASM_OP, STREAM); \ - assemble_name (STREAM, NAME); \ - fputs (", .-", STREAM); \ - assemble_name (STREAM, NAME); \ - putc ('\n', STREAM); \ - } \ - while (0) - -#endif -#endif - -/* This determines whether or not we support weak symbols. SUPPORTS_WEAK - must be a preprocessor constant. */ -#ifndef SUPPORTS_WEAK -#if defined (ASM_WEAKEN_LABEL) || defined (ASM_WEAKEN_DECL) -#define SUPPORTS_WEAK 1 -#else -#define SUPPORTS_WEAK 0 -#endif -#endif - -/* This determines whether or not we support weak symbols during target - code generation. TARGET_SUPPORTS_WEAK can be any valid C expression. */ -#ifndef TARGET_SUPPORTS_WEAK -#define TARGET_SUPPORTS_WEAK (SUPPORTS_WEAK) -#endif - -/* This determines whether or not we support the discriminator - attribute in the .loc directive. */ -#ifndef SUPPORTS_DISCRIMINATOR -#ifdef HAVE_GAS_DISCRIMINATOR -#define SUPPORTS_DISCRIMINATOR 1 -#else -#define SUPPORTS_DISCRIMINATOR 0 -#endif -#endif - -/* This determines whether or not we support marking sections with - SHF_GNU_RETAIN flag. Also require .init_array/.fini_array section - for constructors and destructors. */ -#ifndef SUPPORTS_SHF_GNU_RETAIN -#if HAVE_GAS_SHF_GNU_RETAIN && HAVE_INITFINI_ARRAY_SUPPORT -#define SUPPORTS_SHF_GNU_RETAIN 1 -#else -#define SUPPORTS_SHF_GNU_RETAIN 0 -#endif -#endif - -/* This determines whether or not we support link-once semantics. */ -#ifndef SUPPORTS_ONE_ONLY -#ifdef MAKE_DECL_ONE_ONLY -#define SUPPORTS_ONE_ONLY 1 -#else -#define SUPPORTS_ONE_ONLY 0 -#endif -#endif - -/* This determines whether weak symbols must be left out of a static - archive's table of contents. Defining this macro to be nonzero has - the consequence that certain symbols will not be made weak that - otherwise would be. The C++ ABI requires this macro to be zero; - see the documentation. */ -#ifndef TARGET_WEAK_NOT_IN_ARCHIVE_TOC -#define TARGET_WEAK_NOT_IN_ARCHIVE_TOC 0 -#endif - -/* This determines whether or not we need linkonce unwind information. */ -#ifndef TARGET_USES_WEAK_UNWIND_INFO -#define TARGET_USES_WEAK_UNWIND_INFO 0 -#endif - -/* By default, there is no prefix on user-defined symbols. */ -#ifndef USER_LABEL_PREFIX -#define USER_LABEL_PREFIX "" -#endif - -/* If the target supports weak symbols, define TARGET_ATTRIBUTE_WEAK to - provide a weak attribute. Else define it to nothing. - - This would normally belong in ansidecl.h, but SUPPORTS_WEAK is - not available at that time. - - Note, this is only for use by target files which we know are to be - compiled by GCC. */ -#ifndef TARGET_ATTRIBUTE_WEAK -# if SUPPORTS_WEAK -# define TARGET_ATTRIBUTE_WEAK __attribute__ ((weak)) -# else -# define TARGET_ATTRIBUTE_WEAK -# endif -#endif - -/* By default we can assume that all global symbols are in one namespace, - across all shared libraries. */ -#ifndef MULTIPLE_SYMBOL_SPACES -# define MULTIPLE_SYMBOL_SPACES 0 -#endif - -/* If the target supports init_priority C++ attribute, give - SUPPORTS_INIT_PRIORITY a nonzero value. */ -#ifndef SUPPORTS_INIT_PRIORITY -#define SUPPORTS_INIT_PRIORITY 1 -#endif /* SUPPORTS_INIT_PRIORITY */ - -/* If we have a definition of INCOMING_RETURN_ADDR_RTX, assume that - the rest of the DWARF 2 frame unwind support is also provided. */ -#if !defined (DWARF2_UNWIND_INFO) && defined (INCOMING_RETURN_ADDR_RTX) -#define DWARF2_UNWIND_INFO 1 -#endif - -/* If we have named sections, and we're using crtstuff to run ctors, - use them for registering eh frame information. */ -#if defined (TARGET_ASM_NAMED_SECTION) && DWARF2_UNWIND_INFO \ - && !defined (EH_FRAME_THROUGH_COLLECT2) -#ifndef EH_FRAME_SECTION_NAME -#define EH_FRAME_SECTION_NAME ".eh_frame" -#endif -#endif - -/* On many systems, different EH table encodings are used under - difference circumstances. Some will require runtime relocations; - some will not. For those that do not require runtime relocations, - we would like to make the table read-only. However, since the - read-only tables may need to be combined with read-write tables - that do require runtime relocation, it is not safe to make the - tables read-only unless the linker will merge read-only and - read-write sections into a single read-write section. If your - linker does not have this ability, but your system is such that no - encoding used with non-PIC code will ever require a runtime - relocation, then you can define EH_TABLES_CAN_BE_READ_ONLY to 1 in - your target configuration file. */ -#ifndef EH_TABLES_CAN_BE_READ_ONLY -#ifdef HAVE_LD_RO_RW_SECTION_MIXING -#define EH_TABLES_CAN_BE_READ_ONLY 1 -#else -#define EH_TABLES_CAN_BE_READ_ONLY 0 -#endif -#endif - -/* Provide defaults for stuff that may not be defined when using - sjlj exceptions. */ -#ifndef EH_RETURN_DATA_REGNO -#define EH_RETURN_DATA_REGNO(N) INVALID_REGNUM -#endif - -/* Offset between the eh handler address and entry in eh tables. */ -#ifndef RETURN_ADDR_OFFSET -#define RETURN_ADDR_OFFSET 0 -#endif - -#ifndef MASK_RETURN_ADDR -#define MASK_RETURN_ADDR NULL_RTX -#endif - -/* Number of hardware registers that go into the DWARF-2 unwind info. - If not defined, equals FIRST_PSEUDO_REGISTER */ - -#ifndef DWARF_FRAME_REGISTERS -#define DWARF_FRAME_REGISTERS FIRST_PSEUDO_REGISTER -#endif - -/* Offsets recorded in opcodes are a multiple of this alignment factor. */ -#ifndef DWARF_CIE_DATA_ALIGNMENT -#ifdef STACK_GROWS_DOWNWARD -#define DWARF_CIE_DATA_ALIGNMENT (-((int) UNITS_PER_WORD)) -#else -#define DWARF_CIE_DATA_ALIGNMENT ((int) UNITS_PER_WORD) -#endif -#endif - -/* The DWARF 2 CFA column which tracks the return address. Normally this - is the column for PC, or the first column after all of the hard - registers. */ -#ifndef DWARF_FRAME_RETURN_COLUMN -#ifdef PC_REGNUM -#define DWARF_FRAME_RETURN_COLUMN DWARF_FRAME_REGNUM (PC_REGNUM) -#else -#define DWARF_FRAME_RETURN_COLUMN DWARF_FRAME_REGISTERS -#endif -#endif - -/* How to renumber registers for gdb. If not defined, assume - no renumbering is necessary. */ - -#ifndef DEBUGGER_REGNO -#define DEBUGGER_REGNO(REGNO) (REGNO) -#endif - -/* The mapping from gcc register number to DWARF 2 CFA column number. - By default, we just provide columns for all registers. */ -#ifndef DWARF_FRAME_REGNUM -#define DWARF_FRAME_REGNUM(REG) DEBUGGER_REGNO (REG) -#endif - -/* The mapping from dwarf CFA reg number to internal dwarf reg numbers. */ -#ifndef DWARF_REG_TO_UNWIND_COLUMN -#define DWARF_REG_TO_UNWIND_COLUMN(REGNO) (REGNO) -#endif - -/* Map register numbers held in the call frame info that gcc has - collected using DWARF_FRAME_REGNUM to those that should be output in - .debug_frame and .eh_frame. */ -#ifndef DWARF2_FRAME_REG_OUT -#define DWARF2_FRAME_REG_OUT(REGNO, FOR_EH) (REGNO) -#endif - -/* The size of addresses as they appear in the Dwarf 2 data. - Some architectures use word addresses to refer to code locations, - but Dwarf 2 info always uses byte addresses. On such machines, - Dwarf 2 addresses need to be larger than the architecture's - pointers. */ -#ifndef DWARF2_ADDR_SIZE -#define DWARF2_ADDR_SIZE ((POINTER_SIZE + BITS_PER_UNIT - 1) / BITS_PER_UNIT) -#endif - -/* The size in bytes of a DWARF field indicating an offset or length - relative to a debug info section, specified to be 4 bytes in the - DWARF-2 specification. The SGI/MIPS ABI defines it to be the same - as PTR_SIZE. */ -#ifndef DWARF_OFFSET_SIZE -#define DWARF_OFFSET_SIZE 4 -#endif - -/* The size in bytes of a DWARF 4 type signature. */ -#ifndef DWARF_TYPE_SIGNATURE_SIZE -#define DWARF_TYPE_SIGNATURE_SIZE 8 -#endif - -/* Default sizes for base C types. If the sizes are different for - your target, you should override these values by defining the - appropriate symbols in your tm.h file. */ - -#ifndef BITS_PER_WORD -#define BITS_PER_WORD (BITS_PER_UNIT * UNITS_PER_WORD) -#endif - -#ifndef CHAR_TYPE_SIZE -#define CHAR_TYPE_SIZE BITS_PER_UNIT -#endif - -#ifndef BOOL_TYPE_SIZE -/* `bool' has size and alignment `1', on almost all platforms. */ -#define BOOL_TYPE_SIZE CHAR_TYPE_SIZE -#endif - -#ifndef SHORT_TYPE_SIZE -#define SHORT_TYPE_SIZE (BITS_PER_UNIT * MIN ((UNITS_PER_WORD + 1) / 2, 2)) -#endif - -#ifndef INT_TYPE_SIZE -#define INT_TYPE_SIZE BITS_PER_WORD -#endif - -#ifndef LONG_TYPE_SIZE -#define LONG_TYPE_SIZE BITS_PER_WORD -#endif - -#ifndef LONG_LONG_TYPE_SIZE -#define LONG_LONG_TYPE_SIZE (BITS_PER_WORD * 2) -#endif - -#ifndef WCHAR_TYPE_SIZE -#define WCHAR_TYPE_SIZE INT_TYPE_SIZE -#endif - -#ifndef FLOAT_TYPE_SIZE -#define FLOAT_TYPE_SIZE BITS_PER_WORD -#endif - -#ifndef DOUBLE_TYPE_SIZE -#define DOUBLE_TYPE_SIZE (BITS_PER_WORD * 2) -#endif - -#ifndef LONG_DOUBLE_TYPE_SIZE -#define LONG_DOUBLE_TYPE_SIZE (BITS_PER_WORD * 2) -#endif - -#ifndef DECIMAL32_TYPE_SIZE -#define DECIMAL32_TYPE_SIZE 32 -#endif - -#ifndef DECIMAL64_TYPE_SIZE -#define DECIMAL64_TYPE_SIZE 64 -#endif - -#ifndef DECIMAL128_TYPE_SIZE -#define DECIMAL128_TYPE_SIZE 128 -#endif - -#ifndef SHORT_FRACT_TYPE_SIZE -#define SHORT_FRACT_TYPE_SIZE BITS_PER_UNIT -#endif - -#ifndef FRACT_TYPE_SIZE -#define FRACT_TYPE_SIZE (BITS_PER_UNIT * 2) -#endif - -#ifndef LONG_FRACT_TYPE_SIZE -#define LONG_FRACT_TYPE_SIZE (BITS_PER_UNIT * 4) -#endif - -#ifndef LONG_LONG_FRACT_TYPE_SIZE -#define LONG_LONG_FRACT_TYPE_SIZE (BITS_PER_UNIT * 8) -#endif - -#ifndef SHORT_ACCUM_TYPE_SIZE -#define SHORT_ACCUM_TYPE_SIZE (SHORT_FRACT_TYPE_SIZE * 2) -#endif - -#ifndef ACCUM_TYPE_SIZE -#define ACCUM_TYPE_SIZE (FRACT_TYPE_SIZE * 2) -#endif - -#ifndef LONG_ACCUM_TYPE_SIZE -#define LONG_ACCUM_TYPE_SIZE (LONG_FRACT_TYPE_SIZE * 2) -#endif - -#ifndef LONG_LONG_ACCUM_TYPE_SIZE -#define LONG_LONG_ACCUM_TYPE_SIZE (LONG_LONG_FRACT_TYPE_SIZE * 2) -#endif - -/* We let tm.h override the types used here, to handle trivial differences - such as the choice of unsigned int or long unsigned int for size_t. - When machines start needing nontrivial differences in the size type, - it would be best to do something here to figure out automatically - from other information what type to use. */ - -#ifndef SIZE_TYPE -#define SIZE_TYPE "long unsigned int" -#endif - -#ifndef SIZETYPE -#define SIZETYPE SIZE_TYPE -#endif - -#ifndef PID_TYPE -#define PID_TYPE "int" -#endif - -/* If GCC knows the exact uint_least16_t and uint_least32_t types from - , use them for char16_t and char32_t. Otherwise, use - these guesses; getting the wrong type of a given width will not - affect C++ name mangling because in C++ these are distinct types - not typedefs. */ - -#ifndef CHAR8_TYPE -#define CHAR8_TYPE "unsigned char" -#endif - -#ifdef UINT_LEAST16_TYPE -#define CHAR16_TYPE UINT_LEAST16_TYPE -#else -#define CHAR16_TYPE "short unsigned int" -#endif - -#ifdef UINT_LEAST32_TYPE -#define CHAR32_TYPE UINT_LEAST32_TYPE -#else -#define CHAR32_TYPE "unsigned int" -#endif - -#ifndef WCHAR_TYPE -#define WCHAR_TYPE "int" -#endif - -/* WCHAR_TYPE gets overridden by -fshort-wchar. */ -#define MODIFIED_WCHAR_TYPE \ - (flag_short_wchar ? "short unsigned int" : WCHAR_TYPE) - -#ifndef PTRDIFF_TYPE -#define PTRDIFF_TYPE "long int" -#endif - -#ifndef WINT_TYPE -#define WINT_TYPE "unsigned int" -#endif - -#ifndef INTMAX_TYPE -#define INTMAX_TYPE ((INT_TYPE_SIZE == LONG_LONG_TYPE_SIZE) \ - ? "int" \ - : ((LONG_TYPE_SIZE == LONG_LONG_TYPE_SIZE) \ - ? "long int" \ - : "long long int")) -#endif - -#ifndef UINTMAX_TYPE -#define UINTMAX_TYPE ((INT_TYPE_SIZE == LONG_LONG_TYPE_SIZE) \ - ? "unsigned int" \ - : ((LONG_TYPE_SIZE == LONG_LONG_TYPE_SIZE) \ - ? "long unsigned int" \ - : "long long unsigned int")) -#endif - - -/* There are no default definitions of these types. */ - -#ifndef SIG_ATOMIC_TYPE -#define SIG_ATOMIC_TYPE ((const char *) NULL) -#endif - -#ifndef INT8_TYPE -#define INT8_TYPE ((const char *) NULL) -#endif - -#ifndef INT16_TYPE -#define INT16_TYPE ((const char *) NULL) -#endif - -#ifndef INT32_TYPE -#define INT32_TYPE ((const char *) NULL) -#endif - -#ifndef INT64_TYPE -#define INT64_TYPE ((const char *) NULL) -#endif - -#ifndef UINT8_TYPE -#define UINT8_TYPE ((const char *) NULL) -#endif - -#ifndef UINT16_TYPE -#define UINT16_TYPE ((const char *) NULL) -#endif - -#ifndef UINT32_TYPE -#define UINT32_TYPE ((const char *) NULL) -#endif - -#ifndef UINT64_TYPE -#define UINT64_TYPE ((const char *) NULL) -#endif - -#ifndef INT_LEAST8_TYPE -#define INT_LEAST8_TYPE ((const char *) NULL) -#endif - -#ifndef INT_LEAST16_TYPE -#define INT_LEAST16_TYPE ((const char *) NULL) -#endif - -#ifndef INT_LEAST32_TYPE -#define INT_LEAST32_TYPE ((const char *) NULL) -#endif - -#ifndef INT_LEAST64_TYPE -#define INT_LEAST64_TYPE ((const char *) NULL) -#endif - -#ifndef UINT_LEAST8_TYPE -#define UINT_LEAST8_TYPE ((const char *) NULL) -#endif - -#ifndef UINT_LEAST16_TYPE -#define UINT_LEAST16_TYPE ((const char *) NULL) -#endif - -#ifndef UINT_LEAST32_TYPE -#define UINT_LEAST32_TYPE ((const char *) NULL) -#endif - -#ifndef UINT_LEAST64_TYPE -#define UINT_LEAST64_TYPE ((const char *) NULL) -#endif - -#ifndef INT_FAST8_TYPE -#define INT_FAST8_TYPE ((const char *) NULL) -#endif - -#ifndef INT_FAST16_TYPE -#define INT_FAST16_TYPE ((const char *) NULL) -#endif - -#ifndef INT_FAST32_TYPE -#define INT_FAST32_TYPE ((const char *) NULL) -#endif - -#ifndef INT_FAST64_TYPE -#define INT_FAST64_TYPE ((const char *) NULL) -#endif - -#ifndef UINT_FAST8_TYPE -#define UINT_FAST8_TYPE ((const char *) NULL) -#endif - -#ifndef UINT_FAST16_TYPE -#define UINT_FAST16_TYPE ((const char *) NULL) -#endif - -#ifndef UINT_FAST32_TYPE -#define UINT_FAST32_TYPE ((const char *) NULL) -#endif - -#ifndef UINT_FAST64_TYPE -#define UINT_FAST64_TYPE ((const char *) NULL) -#endif - -#ifndef INTPTR_TYPE -#define INTPTR_TYPE ((const char *) NULL) -#endif - -#ifndef UINTPTR_TYPE -#define UINTPTR_TYPE ((const char *) NULL) -#endif - -/* Width in bits of a pointer. Mind the value of the macro `Pmode'. */ -#ifndef POINTER_SIZE -#define POINTER_SIZE BITS_PER_WORD -#endif -#ifndef POINTER_SIZE_UNITS -#define POINTER_SIZE_UNITS ((POINTER_SIZE + BITS_PER_UNIT - 1) / BITS_PER_UNIT) -#endif - - -#ifndef PIC_OFFSET_TABLE_REGNUM -#define PIC_OFFSET_TABLE_REGNUM INVALID_REGNUM -#endif - -#ifndef PIC_OFFSET_TABLE_REG_CALL_CLOBBERED -#define PIC_OFFSET_TABLE_REG_CALL_CLOBBERED 0 -#endif - -#ifndef TARGET_DLLIMPORT_DECL_ATTRIBUTES -#define TARGET_DLLIMPORT_DECL_ATTRIBUTES 0 -#endif - -#ifndef TARGET_DECLSPEC -#if TARGET_DLLIMPORT_DECL_ATTRIBUTES -/* If the target supports the "dllimport" attribute, users are - probably used to the "__declspec" syntax. */ -#define TARGET_DECLSPEC 1 -#else -#define TARGET_DECLSPEC 0 -#endif -#endif - -/* By default, the preprocessor should be invoked the same way in C++ - as in C. */ -#ifndef CPLUSPLUS_CPP_SPEC -#ifdef CPP_SPEC -#define CPLUSPLUS_CPP_SPEC CPP_SPEC -#endif -#endif - -#ifndef ACCUMULATE_OUTGOING_ARGS -#define ACCUMULATE_OUTGOING_ARGS 0 -#endif - -/* By default, use the GNU runtime for Objective C. */ -#ifndef NEXT_OBJC_RUNTIME -#define NEXT_OBJC_RUNTIME 0 -#endif - -/* Decide whether a function's arguments should be processed - from first to last or from last to first. - - They should if the stack and args grow in opposite directions, but - only if we have push insns. */ - -#ifdef PUSH_ROUNDING - -#ifndef PUSH_ARGS_REVERSED -#if defined (STACK_GROWS_DOWNWARD) != defined (ARGS_GROW_DOWNWARD) -#define PUSH_ARGS_REVERSED targetm.calls.push_argument (0) -#endif -#endif - -#endif - -#ifndef PUSH_ARGS_REVERSED -#define PUSH_ARGS_REVERSED 0 -#endif - -/* Default value for the alignment (in bits) a C conformant malloc has to - provide. This default is intended to be safe and always correct. */ -#ifndef MALLOC_ABI_ALIGNMENT -#define MALLOC_ABI_ALIGNMENT BITS_PER_WORD -#endif - -/* If PREFERRED_STACK_BOUNDARY is not defined, set it to STACK_BOUNDARY. - STACK_BOUNDARY is required. */ -#ifndef PREFERRED_STACK_BOUNDARY -#define PREFERRED_STACK_BOUNDARY STACK_BOUNDARY -#endif - -/* Set INCOMING_STACK_BOUNDARY to PREFERRED_STACK_BOUNDARY if it is not - defined. */ -#ifndef INCOMING_STACK_BOUNDARY -#define INCOMING_STACK_BOUNDARY PREFERRED_STACK_BOUNDARY -#endif - -#ifndef TARGET_DEFAULT_PACK_STRUCT -#define TARGET_DEFAULT_PACK_STRUCT 0 -#endif - -/* By default, the vtable entries are void pointers, the so the alignment - is the same as pointer alignment. The value of this macro specifies - the alignment of the vtable entry in bits. It should be defined only - when special alignment is necessary. */ -#ifndef TARGET_VTABLE_ENTRY_ALIGN -#define TARGET_VTABLE_ENTRY_ALIGN POINTER_SIZE -#endif - -/* There are a few non-descriptor entries in the vtable at offsets below - zero. If these entries must be padded (say, to preserve the alignment - specified by TARGET_VTABLE_ENTRY_ALIGN), set this to the number of - words in each data entry. */ -#ifndef TARGET_VTABLE_DATA_ENTRY_DISTANCE -#define TARGET_VTABLE_DATA_ENTRY_DISTANCE 1 -#endif - -/* Decide whether it is safe to use a local alias for a virtual function - when constructing thunks. */ -#ifndef TARGET_USE_LOCAL_THUNK_ALIAS_P -#ifdef ASM_OUTPUT_DEF -#define TARGET_USE_LOCAL_THUNK_ALIAS_P(DECL) 1 -#else -#define TARGET_USE_LOCAL_THUNK_ALIAS_P(DECL) 0 -#endif -#endif - -/* Decide whether target supports aliases. */ -#ifndef TARGET_SUPPORTS_ALIASES -#ifdef ASM_OUTPUT_DEF -#define TARGET_SUPPORTS_ALIASES 1 -#else -#define TARGET_SUPPORTS_ALIASES 0 -#endif -#endif - -/* Select a format to encode pointers in exception handling data. We - prefer those that result in fewer dynamic relocations. Assume no - special support here and encode direct references. */ -#ifndef ASM_PREFERRED_EH_DATA_FORMAT -#define ASM_PREFERRED_EH_DATA_FORMAT(CODE,GLOBAL) DW_EH_PE_absptr -#endif - -/* By default, the C++ compiler will use the lowest bit of the pointer - to function to indicate a pointer-to-member-function points to a - virtual member function. However, if FUNCTION_BOUNDARY indicates - function addresses aren't always even, the lowest bit of the delta - field will be used. */ -#ifndef TARGET_PTRMEMFUNC_VBIT_LOCATION -#define TARGET_PTRMEMFUNC_VBIT_LOCATION \ - (FUNCTION_BOUNDARY >= 2 * BITS_PER_UNIT \ - ? ptrmemfunc_vbit_in_pfn : ptrmemfunc_vbit_in_delta) -#endif - -#ifndef DEFAULT_GDB_EXTENSIONS -#define DEFAULT_GDB_EXTENSIONS 1 -#endif - -/* Default to DWARF2_DEBUGGING_INFO. Legacy targets can choose different - by defining PREFERRED_DEBUGGING_TYPE. */ -#ifndef PREFERRED_DEBUGGING_TYPE -#if defined DWARF2_DEBUGGING_INFO || defined DWARF2_LINENO_DEBUGGING_INFO -#define PREFERRED_DEBUGGING_TYPE DWARF2_DEBUG -#else -#error You must define PREFERRED_DEBUGGING_TYPE if DWARF is not supported -#endif -#endif - -#ifndef FLOAT_LIB_COMPARE_RETURNS_BOOL -#define FLOAT_LIB_COMPARE_RETURNS_BOOL(MODE, COMPARISON) false -#endif - -/* True if the targets integer-comparison functions return { 0, 1, 2 - } to indicate { <, ==, > }. False if { -1, 0, 1 } is used - instead. The libgcc routines are biased. */ -#ifndef TARGET_LIB_INT_CMP_BIASED -#define TARGET_LIB_INT_CMP_BIASED (true) -#endif - -/* If FLOAT_WORDS_BIG_ENDIAN is not defined in the header files, - then the word-endianness is the same as for integers. */ -#ifndef FLOAT_WORDS_BIG_ENDIAN -#define FLOAT_WORDS_BIG_ENDIAN WORDS_BIG_ENDIAN -#endif - -#ifndef REG_WORDS_BIG_ENDIAN -#define REG_WORDS_BIG_ENDIAN WORDS_BIG_ENDIAN -#endif - - -#ifndef TARGET_DEC_EVAL_METHOD -#define TARGET_DEC_EVAL_METHOD 2 -#endif - -#ifndef HAS_LONG_COND_BRANCH -#define HAS_LONG_COND_BRANCH 0 -#endif - -#ifndef HAS_LONG_UNCOND_BRANCH -#define HAS_LONG_UNCOND_BRANCH 0 -#endif - -/* Determine whether __cxa_atexit, rather than atexit, is used to - register C++ destructors for local statics and global objects. */ -#ifndef DEFAULT_USE_CXA_ATEXIT -#define DEFAULT_USE_CXA_ATEXIT 0 -#endif - -#if GCC_VERSION >= 3000 && defined IN_GCC -/* These old constraint macros shouldn't appear anywhere in a - configuration using MD constraint definitions. */ -#endif - -/* Determin whether the target runtime library is Bionic */ -#ifndef TARGET_HAS_BIONIC -#define TARGET_HAS_BIONIC 0 -#endif - -/* Indicate that CLZ and CTZ are undefined at zero. */ -#ifndef CLZ_DEFINED_VALUE_AT_ZERO -#define CLZ_DEFINED_VALUE_AT_ZERO(MODE, VALUE) 0 -#endif -#ifndef CTZ_DEFINED_VALUE_AT_ZERO -#define CTZ_DEFINED_VALUE_AT_ZERO(MODE, VALUE) 0 -#endif - -/* Provide a default value for STORE_FLAG_VALUE. */ -#ifndef STORE_FLAG_VALUE -#define STORE_FLAG_VALUE 1 -#endif - -/* This macro is used to determine what the largest unit size that - move_by_pieces can use is. */ - -/* MOVE_MAX_PIECES is the number of bytes at a time which we can - move efficiently, as opposed to MOVE_MAX which is the maximum - number of bytes we can move with a single instruction. */ - -#ifndef MOVE_MAX_PIECES -#define MOVE_MAX_PIECES MOVE_MAX -#endif - -/* STORE_MAX_PIECES is the number of bytes at a time that we can - store efficiently. Due to internal GCC limitations, this is - MOVE_MAX_PIECES limited by the number of bytes GCC can represent - for an immediate constant. */ - -#ifndef STORE_MAX_PIECES -#define STORE_MAX_PIECES MIN (MOVE_MAX_PIECES, 2 * sizeof (HOST_WIDE_INT)) -#endif - -/* Likewise for block comparisons. */ -#ifndef COMPARE_MAX_PIECES -#define COMPARE_MAX_PIECES MOVE_MAX_PIECES -#endif - -#ifndef MAX_MOVE_MAX -#define MAX_MOVE_MAX MOVE_MAX -#endif - -#ifndef MIN_UNITS_PER_WORD -#define MIN_UNITS_PER_WORD UNITS_PER_WORD -#endif - -#ifndef MAX_BITS_PER_WORD -#define MAX_BITS_PER_WORD BITS_PER_WORD -#endif - -#ifndef STACK_POINTER_OFFSET -#define STACK_POINTER_OFFSET 0 -#endif - -#ifndef LOCAL_REGNO -#define LOCAL_REGNO(REGNO) 0 -#endif - -#ifndef HONOR_REG_ALLOC_ORDER -#define HONOR_REG_ALLOC_ORDER 0 -#endif - -/* EXIT_IGNORE_STACK should be nonzero if, when returning from a function, - the stack pointer does not matter. The value is tested only in - functions that have frame pointers. */ -#ifndef EXIT_IGNORE_STACK -#define EXIT_IGNORE_STACK 0 -#endif - -/* Assume that case vectors are not pc-relative. */ -#ifndef CASE_VECTOR_PC_RELATIVE -#define CASE_VECTOR_PC_RELATIVE 0 -#endif - -/* Force minimum alignment to be able to use the least significant bits - for distinguishing descriptor addresses from code addresses. */ -#define FUNCTION_ALIGNMENT(ALIGN) \ - (lang_hooks.custom_function_descriptors \ - && targetm.calls.custom_function_descriptors > 0 \ - ? MAX ((ALIGN), \ - 2 * targetm.calls.custom_function_descriptors * BITS_PER_UNIT)\ - : (ALIGN)) - -/* Assume that trampolines need function alignment. */ -#ifndef TRAMPOLINE_ALIGNMENT -#define TRAMPOLINE_ALIGNMENT FUNCTION_ALIGNMENT (FUNCTION_BOUNDARY) -#endif - -/* Register mappings for target machines without register windows. */ -#ifndef INCOMING_REGNO -#define INCOMING_REGNO(N) (N) -#endif - -#ifndef OUTGOING_REGNO -#define OUTGOING_REGNO(N) (N) -#endif - -#ifndef SHIFT_COUNT_TRUNCATED -#define SHIFT_COUNT_TRUNCATED 0 -#endif - -#ifndef LEGITIMATE_PIC_OPERAND_P -#define LEGITIMATE_PIC_OPERAND_P(X) 1 -#endif - -#ifndef TARGET_MEM_CONSTRAINT -#define TARGET_MEM_CONSTRAINT 'm' -#endif - -#ifndef REVERSIBLE_CC_MODE -#define REVERSIBLE_CC_MODE(MODE) 0 -#endif - -/* Biggest alignment supported by the object file format of this machine. */ -#ifndef MAX_OFILE_ALIGNMENT -#define MAX_OFILE_ALIGNMENT BIGGEST_ALIGNMENT -#endif - -#ifndef FRAME_GROWS_DOWNWARD -#define FRAME_GROWS_DOWNWARD 0 -#endif - -#ifndef RETURN_ADDR_IN_PREVIOUS_FRAME -#define RETURN_ADDR_IN_PREVIOUS_FRAME 0 -#endif - -/* On most machines, the CFA coincides with the first incoming parm. */ -#ifndef ARG_POINTER_CFA_OFFSET -#define ARG_POINTER_CFA_OFFSET(FNDECL) \ - (FIRST_PARM_OFFSET (FNDECL) + crtl->args.pretend_args_size) -#endif - -/* On most machines, we use the CFA as DW_AT_frame_base. */ -#ifndef CFA_FRAME_BASE_OFFSET -#define CFA_FRAME_BASE_OFFSET(FNDECL) 0 -#endif - -/* The offset from the incoming value of %sp to the top of the stack frame - for the current function. */ -#ifndef INCOMING_FRAME_SP_OFFSET -#define INCOMING_FRAME_SP_OFFSET 0 -#endif - -#ifndef HARD_REGNO_NREGS_HAS_PADDING -#define HARD_REGNO_NREGS_HAS_PADDING(REGNO, MODE) 0 -#define HARD_REGNO_NREGS_WITH_PADDING(REGNO, MODE) -1 -#endif - -#ifndef OUTGOING_REG_PARM_STACK_SPACE -#define OUTGOING_REG_PARM_STACK_SPACE(FNTYPE) 0 -#endif - -/* MAX_STACK_ALIGNMENT is the maximum stack alignment guaranteed by - the backend. MAX_SUPPORTED_STACK_ALIGNMENT is the maximum best - effort stack alignment supported by the backend. If the backend - supports stack alignment, MAX_SUPPORTED_STACK_ALIGNMENT and - MAX_STACK_ALIGNMENT are the same. Otherwise, the incoming stack - boundary will limit the maximum guaranteed stack alignment. */ -#ifdef MAX_STACK_ALIGNMENT -#define MAX_SUPPORTED_STACK_ALIGNMENT MAX_STACK_ALIGNMENT -#else -#define MAX_STACK_ALIGNMENT STACK_BOUNDARY -#define MAX_SUPPORTED_STACK_ALIGNMENT PREFERRED_STACK_BOUNDARY -#endif - -#define SUPPORTS_STACK_ALIGNMENT (MAX_STACK_ALIGNMENT > STACK_BOUNDARY) - -#ifndef LOCAL_ALIGNMENT -#define LOCAL_ALIGNMENT(TYPE, ALIGNMENT) ALIGNMENT -#endif - -#ifndef STACK_SLOT_ALIGNMENT -#define STACK_SLOT_ALIGNMENT(TYPE,MODE,ALIGN) \ - ((TYPE) ? LOCAL_ALIGNMENT ((TYPE), (ALIGN)) : (ALIGN)) -#endif - -#ifndef LOCAL_DECL_ALIGNMENT -#define LOCAL_DECL_ALIGNMENT(DECL) \ - LOCAL_ALIGNMENT (TREE_TYPE (DECL), DECL_ALIGN (DECL)) -#endif - -#ifndef MINIMUM_ALIGNMENT -#define MINIMUM_ALIGNMENT(EXP,MODE,ALIGN) (ALIGN) -#endif - -/* Alignment value for attribute ((aligned)). */ -#ifndef ATTRIBUTE_ALIGNED_VALUE -#define ATTRIBUTE_ALIGNED_VALUE BIGGEST_ALIGNMENT -#endif - -/* For most ports anything that evaluates to a constant symbolic - or integer value is acceptable as a constant address. */ -#ifndef CONSTANT_ADDRESS_P -#define CONSTANT_ADDRESS_P(X) (CONSTANT_P (X) && GET_CODE (X) != CONST_DOUBLE) -#endif - -#ifndef MAX_FIXED_MODE_SIZE -#define MAX_FIXED_MODE_SIZE GET_MODE_BITSIZE (DImode) -#endif - -/* Nonzero if structures and unions should be returned in memory. - - This should only be defined if compatibility with another compiler or - with an ABI is needed, because it results in slower code. */ - -#ifndef DEFAULT_PCC_STRUCT_RETURN -#define DEFAULT_PCC_STRUCT_RETURN 1 -#endif - -#ifndef PCC_BITFIELD_TYPE_MATTERS -#define PCC_BITFIELD_TYPE_MATTERS false -#endif - -#ifndef INSN_SETS_ARE_DELAYED -#define INSN_SETS_ARE_DELAYED(INSN) false -#endif - -#ifndef INSN_REFERENCES_ARE_DELAYED -#define INSN_REFERENCES_ARE_DELAYED(INSN) false -#endif - -#ifndef NO_FUNCTION_CSE -#define NO_FUNCTION_CSE false -#endif - -#ifndef HARD_REGNO_RENAME_OK -#define HARD_REGNO_RENAME_OK(FROM, TO) true -#endif - -#ifndef EPILOGUE_USES -#define EPILOGUE_USES(REG) false -#endif - -#ifndef ARGS_GROW_DOWNWARD -#define ARGS_GROW_DOWNWARD 0 -#endif - -#ifndef STACK_GROWS_DOWNWARD -#define STACK_GROWS_DOWNWARD 0 -#endif - -#ifndef STACK_PUSH_CODE -#if STACK_GROWS_DOWNWARD -#define STACK_PUSH_CODE PRE_DEC -#else -#define STACK_PUSH_CODE PRE_INC -#endif -#endif - -/* Default value for flag_pie when flag_pie is initialized to -1: - --enable-default-pie: Default flag_pie to -fPIE. - --disable-default-pie: Default flag_pie to 0. - */ -#ifdef ENABLE_DEFAULT_PIE -# ifndef DEFAULT_FLAG_PIE -# define DEFAULT_FLAG_PIE 2 -# endif -#else -# define DEFAULT_FLAG_PIE 0 -#endif - -#ifndef SWITCHABLE_TARGET -#define SWITCHABLE_TARGET 0 -#endif - -/* If the target supports integers that are wider than two - HOST_WIDE_INTs on the host compiler, then the target should define - TARGET_SUPPORTS_WIDE_INT and make the appropriate fixups. - Otherwise the compiler really is not robust. */ -#ifndef TARGET_SUPPORTS_WIDE_INT -#define TARGET_SUPPORTS_WIDE_INT 0 -#endif - -#ifndef SHORT_IMMEDIATES_SIGN_EXTEND -#define SHORT_IMMEDIATES_SIGN_EXTEND 0 -#endif - -#ifndef WORD_REGISTER_OPERATIONS -#define WORD_REGISTER_OPERATIONS 0 -#endif - -#ifndef LOAD_EXTEND_OP -#define LOAD_EXTEND_OP(M) UNKNOWN -#endif - -#ifndef INITIAL_FRAME_ADDRESS_RTX -#define INITIAL_FRAME_ADDRESS_RTX NULL -#endif - -#ifndef SETUP_FRAME_ADDRESSES -#define SETUP_FRAME_ADDRESSES() do { } while (0) -#endif - -#ifndef DYNAMIC_CHAIN_ADDRESS -#define DYNAMIC_CHAIN_ADDRESS(x) (x) -#endif - -#ifndef FRAME_ADDR_RTX -#define FRAME_ADDR_RTX(x) (x) -#endif - -#ifndef REVERSE_CONDITION -#define REVERSE_CONDITION(code, mode) reverse_condition (code) -#endif - -#ifndef TARGET_PECOFF -#define TARGET_PECOFF 0 -#endif - -#ifndef TARGET_COFF -#define TARGET_COFF 0 -#endif - -#ifndef EH_RETURN_HANDLER_RTX -#define EH_RETURN_HANDLER_RTX NULL -#endif - -#ifdef GCC_INSN_FLAGS_H -/* Dependent default target macro definitions - - This section of defaults.h defines target macros that depend on generated - headers. This is a bit awkward: We want to put all default definitions - for target macros in defaults.h, but some of the defaults depend on the - HAVE_* flags defines of insn-flags.h. But insn-flags.h is not always - included by files that do include defaults.h. - - Fortunately, the default macro definitions that depend on the HAVE_* - macros are also the ones that will only be used inside GCC itself, i.e. - not in the gen* programs or in target objects like libgcc. - - Obviously, it would be best to keep this section of defaults.h as small - as possible, by converting the macros defined below to target hooks or - functions. -*/ - -/* The default branch cost is 1. */ -#ifndef BRANCH_COST -#define BRANCH_COST(speed_p, predictable_p) 1 -#endif - -/* If a memory-to-memory move would take MOVE_RATIO or more simple - move-instruction sequences, we will do a cpymem or libcall instead. */ - -#ifndef MOVE_RATIO -#if defined (HAVE_cpymemqi) || defined (HAVE_cpymemhi) || defined (HAVE_cpymemsi) || defined (HAVE_cpymemdi) || defined (HAVE_cpymemti) -#define MOVE_RATIO(speed) 2 -#else -/* If we are optimizing for space (-Os), cut down the default move ratio. */ -#define MOVE_RATIO(speed) ((speed) ? 15 : 3) -#endif -#endif - -/* If a clear memory operation would take CLEAR_RATIO or more simple - move-instruction sequences, we will do a setmem or libcall instead. */ - -#ifndef CLEAR_RATIO -#if defined (HAVE_setmemqi) || defined (HAVE_setmemhi) || defined (HAVE_setmemsi) || defined (HAVE_setmemdi) || defined (HAVE_setmemti) -#define CLEAR_RATIO(speed) 2 -#else -/* If we are optimizing for space, cut down the default clear ratio. */ -#define CLEAR_RATIO(speed) ((speed) ? 15 :3) -#endif -#endif - -/* If a memory set (to value other than zero) operation would take - SET_RATIO or more simple move-instruction sequences, we will do a setmem - or libcall instead. */ -#ifndef SET_RATIO -#define SET_RATIO(speed) MOVE_RATIO (speed) -#endif - -/* Supply a default definition of STACK_SAVEAREA_MODE for emit_stack_save. - Normally move_insn, so Pmode stack pointer. */ - -#ifndef STACK_SAVEAREA_MODE -#define STACK_SAVEAREA_MODE(LEVEL) Pmode -#endif - -/* Supply a default definition of STACK_SIZE_MODE for - allocate_dynamic_stack_space. Normally PLUS/MINUS, so word_mode. */ - -#ifndef STACK_SIZE_MODE -#define STACK_SIZE_MODE word_mode -#endif - -/* Default value for flag_stack_protect when flag_stack_protect is initialized to -1: - --enable-default-ssp: Default flag_stack_protect to -fstack-protector-strong. - --disable-default-ssp: Default flag_stack_protect to 0. - */ -#ifdef ENABLE_DEFAULT_SSP -# ifndef DEFAULT_FLAG_SSP -# define DEFAULT_FLAG_SSP 3 -# endif -#else -# define DEFAULT_FLAG_SSP 0 -#endif - -/* Provide default values for the macros controlling stack checking. */ - -/* The default is neither full builtin stack checking... */ -#ifndef STACK_CHECK_BUILTIN -#define STACK_CHECK_BUILTIN 0 -#endif - -/* ...nor static builtin stack checking. */ -#ifndef STACK_CHECK_STATIC_BUILTIN -#define STACK_CHECK_STATIC_BUILTIN 0 -#endif - -/* The default interval is one page (4096 bytes). */ -#ifndef STACK_CHECK_PROBE_INTERVAL_EXP -#define STACK_CHECK_PROBE_INTERVAL_EXP 12 -#endif - -/* The default is not to move the stack pointer. */ -#ifndef STACK_CHECK_MOVING_SP -#define STACK_CHECK_MOVING_SP 0 -#endif - -/* This is a kludge to try to capture the discrepancy between the old - mechanism (generic stack checking) and the new mechanism (static - builtin stack checking). STACK_CHECK_PROTECT needs to be bumped - for the latter because part of the protection area is effectively - included in STACK_CHECK_MAX_FRAME_SIZE for the former. */ -#ifdef STACK_CHECK_PROTECT -#define STACK_OLD_CHECK_PROTECT STACK_CHECK_PROTECT -#else -#define STACK_OLD_CHECK_PROTECT \ - (!global_options.x_flag_exceptions \ - ? 75 * UNITS_PER_WORD \ - : targetm_common.except_unwind_info (&global_options) == UI_SJLJ \ - ? 4 * 1024 \ - : 8 * 1024) -#endif - -/* Minimum amount of stack required to recover from an anticipated stack - overflow detection. The default value conveys an estimate of the amount - of stack required to propagate an exception. */ -#ifndef STACK_CHECK_PROTECT -#define STACK_CHECK_PROTECT \ - (!global_options.x_flag_exceptions \ - ? 4 * 1024 \ - : targetm_common.except_unwind_info (&global_options) == UI_SJLJ \ - ? 8 * 1024 \ - : 12 * 1024) -#endif - -/* Make the maximum frame size be the largest we can and still only need - one probe per function. */ -#ifndef STACK_CHECK_MAX_FRAME_SIZE -#define STACK_CHECK_MAX_FRAME_SIZE \ - ((1 << STACK_CHECK_PROBE_INTERVAL_EXP) - UNITS_PER_WORD) -#endif - -/* This is arbitrary, but should be large enough everywhere. */ -#ifndef STACK_CHECK_FIXED_FRAME_SIZE -#define STACK_CHECK_FIXED_FRAME_SIZE (4 * UNITS_PER_WORD) -#endif - -/* Provide a reasonable default for the maximum size of an object to - allocate in the fixed frame. We may need to be able to make this - controllable by the user at some point. */ -#ifndef STACK_CHECK_MAX_VAR_SIZE -#define STACK_CHECK_MAX_VAR_SIZE (STACK_CHECK_MAX_FRAME_SIZE / 100) -#endif - -/* By default, the C++ compiler will use function addresses in the - vtable entries. Setting this nonzero tells the compiler to use - function descriptors instead. The value of this macro says how - many words wide the descriptor is (normally 2). It is assumed - that the address of a function descriptor may be treated as a - pointer to a function. */ -#ifndef TARGET_VTABLE_USES_DESCRIPTORS -#define TARGET_VTABLE_USES_DESCRIPTORS 0 -#endif - -#endif /* GCC_INSN_FLAGS_H */ - -#ifndef DWARF_GNAT_ENCODINGS_DEFAULT -#define DWARF_GNAT_ENCODINGS_DEFAULT DWARF_GNAT_ENCODINGS_GDB -#endif - -/* When generating dwarf info, the default standard version we'll honor - and advertise in absence of -gdwarf- on the command line. */ -#ifndef DWARF_VERSION_DEFAULT -#define DWARF_VERSION_DEFAULT 5 -#endif - -#ifndef USED_FOR_TARGET -/* Done this way to keep gengtype happy. */ -#if BITS_PER_UNIT == 8 -#define TARGET_UNIT uint8_t -#elif BITS_PER_UNIT == 16 -#define TARGET_UNIT uint16_t -#elif BITS_PER_UNIT == 32 -#define TARGET_UNIT uint32_t -#else -#error Unknown BITS_PER_UNIT -#endif -typedef TARGET_UNIT target_unit; -#endif - -#endif /* ! GCC_DEFAULTS_H */ diff --git a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/df.h b/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/df.h deleted file mode 100644 index aec22235..00000000 --- a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/df.h +++ /dev/null @@ -1,1253 +0,0 @@ -/* Form lists of pseudo register references for autoinc optimization - for GNU compiler. This is part of flow optimization. - Copyright (C) 1999-2023 Free Software Foundation, Inc. - Originally contributed by Michael P. Hayes - (m.hayes@elec.canterbury.ac.nz, mhayes@redhat.com) - Major rewrite contributed by Danny Berlin (dberlin@dberlin.org) - and Kenneth Zadeck (zadeck@naturalbridge.com). - -This file is part of GCC. - -GCC is free software; you can redistribute it and/or modify it under -the terms of the GNU General Public License as published by the Free -Software Foundation; either version 3, or (at your option) any later -version. - -GCC is distributed in the hope that it will be useful, but WITHOUT ANY -WARRANTY; without even the implied warranty of MERCHANTABILITY or -FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -for more details. - -You should have received a copy of the GNU General Public License -along with GCC; see the file COPYING3. If not see -. */ - -#ifndef GCC_DF_H -#define GCC_DF_H - -#include "regset.h" -#include "alloc-pool.h" -#include "timevar.h" - -struct dataflow; -class df_d; -struct df_problem; -struct df_link; -struct df_insn_info; -union df_ref_d; - -/* Data flow problems. All problems must have a unique id here. */ - -/* Scanning is not really a dataflow problem, but it is useful to have - the basic block functions in the vector so that things get done in - a uniform manner. The last four problems can be added or deleted - at any time are always defined (though LIVE is always there at -O2 - or higher); the others are always there. */ -enum df_problem_id - { - DF_SCAN, - DF_LR, /* Live Registers backward. */ - DF_LIVE, /* Live Registers & Uninitialized Registers */ - DF_RD, /* Reaching Defs. */ - DF_CHAIN, /* Def-Use and/or Use-Def Chains. */ - DF_WORD_LR, /* Subreg tracking lr. */ - DF_NOTE, /* REG_DEAD and REG_UNUSED notes. */ - DF_MD, /* Multiple Definitions. */ - DF_MIR, /* Must-initialized Registers. */ - - DF_LAST_PROBLEM_PLUS1 - }; - -/* Dataflow direction. */ -enum df_flow_dir - { - DF_NONE, - DF_FORWARD, - DF_BACKWARD - }; - -/* Descriminator for the various df_ref types. */ -enum df_ref_class {DF_REF_BASE, DF_REF_ARTIFICIAL, DF_REF_REGULAR}; - -/* The first of these us a set of a registers. The remaining three - are all uses of a register (the mem_load and mem_store relate to - how the register as an addressing operand). */ -enum df_ref_type {DF_REF_REG_DEF, DF_REF_REG_USE, - DF_REF_REG_MEM_LOAD, DF_REF_REG_MEM_STORE}; - -enum df_ref_flags - { - /* This flag is set if this ref occurs inside of a conditional - execution instruction. */ - DF_REF_CONDITIONAL = 1 << 0, - - /* If this flag is set for an artificial use or def, that ref - logically happens at the top of the block. If it is not set - for an artificial use or def, that ref logically happens at the - bottom of the block. This is never set for regular refs. */ - DF_REF_AT_TOP = 1 << 1, - - /* This flag is set if the use is inside a REG_EQUAL or REG_EQUIV - note. */ - DF_REF_IN_NOTE = 1 << 2, - - /* This bit is true if this ref can make regs_ever_live true for - this regno. */ - DF_HARD_REG_LIVE = 1 << 3, - - - /* This flag is set if this ref is a partial use or def of the - associated register. */ - DF_REF_PARTIAL = 1 << 4, - - /* Read-modify-write refs generate both a use and a def and - these are marked with this flag to show that they are not - independent. */ - DF_REF_READ_WRITE = 1 << 5, - - /* This flag is set if this ref, generally a def, may clobber the - referenced register. This is generally only set for hard - registers that cross a call site. With better information - about calls, some of these could be changed in the future to - DF_REF_MUST_CLOBBER. */ - DF_REF_MAY_CLOBBER = 1 << 6, - - /* This flag is set if this ref, generally a def, is a real - clobber. This is not currently set for registers live across a - call because that clobbering may or may not happen. - - Most of the uses of this are with sets that have a - GET_CODE(..)==CLOBBER. Note that this is set even if the - clobber is to a subreg. So in order to tell if the clobber - wipes out the entire register, it is necessary to also check - the DF_REF_PARTIAL flag. */ - DF_REF_MUST_CLOBBER = 1 << 7, - - - /* If the ref has one of the following two flags set, then the - struct df_ref can be cast to struct df_ref_extract to access - the width and offset fields. */ - - /* This flag is set if the ref contains a SIGN_EXTRACT. */ - DF_REF_SIGN_EXTRACT = 1 << 8, - - /* This flag is set if the ref contains a ZERO_EXTRACT. */ - DF_REF_ZERO_EXTRACT = 1 << 9, - - /* This flag is set if the ref contains a STRICT_LOW_PART. */ - DF_REF_STRICT_LOW_PART = 1 << 10, - - /* This flag is set if the ref contains a SUBREG. */ - DF_REF_SUBREG = 1 << 11, - - - /* This bit is true if this ref is part of a multiword hardreg. */ - DF_REF_MW_HARDREG = 1 << 12, - - /* This flag is set if this ref is a usage of the stack pointer by - a function call. */ - DF_REF_CALL_STACK_USAGE = 1 << 13, - - /* This flag is used for verification of existing refs. */ - DF_REF_REG_MARKER = 1 << 14, - - /* This flag is set if this ref is inside a pre/post modify. */ - DF_REF_PRE_POST_MODIFY = 1 << 15 - - }; - -/* The possible ordering of refs within the df_ref_info. */ -enum df_ref_order - { - /* There is not table. */ - DF_REF_ORDER_NO_TABLE, - - /* There is a table of refs but it is not (or no longer) organized - by one of the following methods. */ - DF_REF_ORDER_UNORDERED, - DF_REF_ORDER_UNORDERED_WITH_NOTES, - - /* Organize the table by reg order, all of the refs with regno 0 - followed by all of the refs with regno 1 ... . Within all of - the regs for a particular regno, the refs are unordered. */ - DF_REF_ORDER_BY_REG, - - /* For uses, the refs within eq notes may be added for - DF_REF_ORDER_BY_REG. */ - DF_REF_ORDER_BY_REG_WITH_NOTES, - - /* Organize the refs in insn order. The insns are ordered within a - block, and the blocks are ordered by FOR_ALL_BB_FN. */ - DF_REF_ORDER_BY_INSN, - - /* For uses, the refs within eq notes may be added for - DF_REF_ORDER_BY_INSN. */ - DF_REF_ORDER_BY_INSN_WITH_NOTES - }; - -/* Function prototypes added to df_problem instance. */ - -/* Allocate the problem specific data. */ -typedef void (*df_alloc_function) (bitmap); - -/* This function is called if the problem has global data that needs - to be cleared when ever the set of blocks changes. The bitmap - contains the set of blocks that may require special attention. - This call is only made if some of the blocks are going to change. - If everything is to be deleted, the wholesale deletion mechanisms - apply. */ -typedef void (*df_reset_function) (bitmap); - -/* Free the basic block info. Called from the block reordering code - to get rid of the blocks that have been squished down. */ -typedef void (*df_free_bb_function) (basic_block, void *); - -/* Local compute function. */ -typedef void (*df_local_compute_function) (bitmap); - -/* Init the solution specific data. */ -typedef void (*df_init_function) (bitmap); - -/* Iterative dataflow function. */ -typedef void (*df_dataflow_function) (struct dataflow *, bitmap, int *, int); - -/* Confluence operator for blocks with 0 out (or in) edges. */ -typedef void (*df_confluence_function_0) (basic_block); - -/* Confluence operator for blocks with 1 or more out (or in) edges. - Return true if BB input data has changed. */ -typedef bool (*df_confluence_function_n) (edge); - -/* Transfer function for blocks. - Return true if BB output data has changed. */ -typedef bool (*df_transfer_function) (int); - -/* Function to massage the information after the problem solving. */ -typedef void (*df_finalizer_function) (bitmap); - -/* Function to free all of the problem specific datastructures. */ -typedef void (*df_free_function) (void); - -/* Function to remove this problem from the stack of dataflow problems - without effecting the other problems in the stack except for those - that depend on this problem. */ -typedef void (*df_remove_problem_function) (void); - -/* Function to dump basic block independent results to FILE. */ -typedef void (*df_dump_problem_function) (FILE *); - -/* Function to dump top or bottom of basic block results to FILE. */ -typedef void (*df_dump_bb_problem_function) (basic_block, FILE *); - -/* Function to dump before or after an insn to FILE. */ -typedef void (*df_dump_insn_problem_function) (const rtx_insn *, FILE *); - -/* Function to dump top or bottom of basic block results to FILE. */ -typedef void (*df_verify_solution_start) (void); - -/* Function to dump top or bottom of basic block results to FILE. */ -typedef void (*df_verify_solution_end) (void); - -/* The static description of a dataflow problem to solve. See above - typedefs for doc for the function fields. */ - -struct df_problem { - /* The unique id of the problem. This is used it index into - df->defined_problems to make accessing the problem data easy. */ - enum df_problem_id id; - enum df_flow_dir dir; /* Dataflow direction. */ - df_alloc_function alloc_fun; - df_reset_function reset_fun; - df_free_bb_function free_bb_fun; - df_local_compute_function local_compute_fun; - df_init_function init_fun; - df_dataflow_function dataflow_fun; - df_confluence_function_0 con_fun_0; - df_confluence_function_n con_fun_n; - df_transfer_function trans_fun; - df_finalizer_function finalize_fun; - df_free_function free_fun; - df_remove_problem_function remove_problem_fun; - df_dump_problem_function dump_start_fun; - df_dump_bb_problem_function dump_top_fun; - df_dump_bb_problem_function dump_bottom_fun; - df_dump_insn_problem_function dump_insn_top_fun; - df_dump_insn_problem_function dump_insn_bottom_fun; - df_verify_solution_start verify_start_fun; - df_verify_solution_end verify_end_fun; - const struct df_problem *dependent_problem; - unsigned int block_info_elt_size; - - /* The timevar id associated with this pass. */ - timevar_id_t tv_id; - - /* True if the df_set_blocks should null out the basic block info if - this block drops out of df->blocks_to_analyze. */ - bool free_blocks_on_set_blocks; -}; - - -/* The specific instance of the problem to solve. */ -struct dataflow -{ - const struct df_problem *problem; /* The problem to be solved. */ - - /* Array indexed by bb->index, that contains basic block problem and - solution specific information. */ - void *block_info; - unsigned int block_info_size; - - /* The pool to allocate the block_info from. */ - object_allocator *block_pool; - - /* The lr and live problems have their transfer functions recomputed - only if necessary. This is possible for them because, the - problems are kept active for the entire backend and their - transfer functions are indexed by the REGNO. These are not - defined for any other problem. */ - bitmap out_of_date_transfer_functions; - - /* Other problem specific data that is not on a per basic block - basis. The structure is generally defined privately for the - problem. The exception being the scanning problem where it is - fully public. */ - void *problem_data; - - /* Local flags for some of the problems. */ - unsigned int local_flags; - - /* True if this problem of this instance has been initialized. This - is used by the dumpers to keep garbage out of the dumps if, for - debugging a dump is produced before the first call to - df_analyze after a new problem is added. */ - bool computed; - - /* True if the something has changed which invalidates the dataflow - solutions. Note that this bit is always true for all problems except - lr and live. */ - bool solutions_dirty; - - /* If true, this pass is deleted by df_finish_pass. This is never - true for DF_SCAN and DF_LR. It is true for DF_LIVE if optimize > - 1. It is always true for the other problems. */ - bool optional_p; -}; - - -/* The set of multiword hardregs used as operands to this - instruction. These are factored into individual uses and defs but - the aggregate is still needed to service the REG_DEAD and - REG_UNUSED notes. */ -struct df_mw_hardreg -{ - df_mw_hardreg *next; /* Next entry for this instruction. */ - rtx mw_reg; /* The multiword hardreg. */ - /* These two bitfields are intentionally oversized, in the hope that - accesses to 16-bit fields will usually be quicker. */ - ENUM_BITFIELD(df_ref_type) type : 16; - /* Used to see if the ref is read or write. */ - int flags : 16; /* Various df_ref_flags. */ - unsigned int start_regno; /* First word of the multi word subreg. */ - unsigned int end_regno; /* Last word of the multi word subreg. */ - unsigned int mw_order; /* Same as df_ref.ref_order. */ -}; - - -/* Define a register reference structure. One of these is allocated - for every register reference (use or def). Note some register - references (e.g., post_inc, subreg) generate both a def and a use. */ -struct df_base_ref -{ - /* These three bitfields are intentionally oversized, in the hope that - accesses to 8 and 16-bit fields will usually be quicker. */ - ENUM_BITFIELD(df_ref_class) cl : 8; - - ENUM_BITFIELD(df_ref_type) type : 8; - /* Type of ref. */ - int flags : 16; /* Various df_ref_flags. */ - unsigned int regno; /* The register number referenced. */ - rtx reg; /* The register referenced. */ - union df_ref_d *next_loc; /* Next ref for same insn or bb. */ - struct df_link *chain; /* Head of def-use, use-def. */ - /* Pointer to the insn info of the containing instruction. FIXME! - Currently this is NULL for artificial refs but this will be used - when FUDs are added. */ - struct df_insn_info *insn_info; - /* For each regno, there are three chains of refs, one for the uses, - the eq_uses and the defs. These chains go through the refs - themselves rather than using an external structure. */ - union df_ref_d *next_reg; /* Next ref with same regno and type. */ - union df_ref_d *prev_reg; /* Prev ref with same regno and type. */ - /* Location in the ref table. This is only valid after a call to - df_maybe_reorganize_[use,def]_refs which is an expensive operation. */ - int id; - /* The index at which the operand was scanned in the insn. This is - used to totally order the refs in an insn. */ - unsigned int ref_order; -}; - - -/* The three types of df_refs. Note that the df_ref_extract is an - extension of the df_regular_ref, not the df_base_ref. */ -struct df_artificial_ref -{ - struct df_base_ref base; - - /* Artificial refs do not have an insn, so to get the basic block, - it must be explicitly here. */ - basic_block bb; -}; - - -struct df_regular_ref -{ - struct df_base_ref base; - /* The loc is the address in the insn of the reg. This is not - defined for special registers, such as clobbers and stack - pointers that are also associated with call insns and so those - just use the base. */ - rtx *loc; -}; - -/* Union of the different kinds of defs/uses placeholders. */ -union df_ref_d -{ - struct df_base_ref base; - struct df_regular_ref regular_ref; - struct df_artificial_ref artificial_ref; -}; -typedef union df_ref_d *df_ref; - - -/* One of these structures is allocated for every insn. */ -struct df_insn_info -{ - rtx_insn *insn; /* The insn this info comes from. */ - df_ref defs; /* Head of insn-def chain. */ - df_ref uses; /* Head of insn-use chain. */ - /* Head of insn-use chain for uses in REG_EQUAL/EQUIV notes. */ - df_ref eq_uses; - struct df_mw_hardreg *mw_hardregs; - /* The logical uid of the insn in the basic block. This is valid - after any call to df_analyze but may rot after insns are added, - deleted or moved. */ - int luid; -}; - -/* These links are used for ref-ref chains. Currently only DEF-USE and - USE-DEF chains can be built by DF. */ -struct df_link -{ - df_ref ref; - struct df_link *next; -}; - - -enum df_chain_flags -{ - /* Flags that control the building of chains. */ - DF_DU_CHAIN = 1, /* Build DU chains. */ - DF_UD_CHAIN = 2 /* Build UD chains. */ -}; - -enum df_scan_flags -{ - /* Flags for the SCAN problem. */ - DF_SCAN_EMPTY_ENTRY_EXIT = 1 /* Don't define any registers in the entry - block; don't use any in the exit block. */ -}; - -enum df_changeable_flags -{ - /* Scanning flags. */ - /* Flag to control the running of dce as a side effect of building LR. */ - DF_LR_RUN_DCE = 1 << 0, /* Run DCE. */ - DF_NO_HARD_REGS = 1 << 1, /* Skip hard registers in RD and CHAIN Building. */ - - DF_EQ_NOTES = 1 << 2, /* Build chains with uses present in EQUIV/EQUAL notes. */ - DF_NO_REGS_EVER_LIVE = 1 << 3, /* Do not compute the regs_ever_live. */ - - /* Cause df_insn_rescan df_notes_rescan and df_insn_delete, to - return immediately. This is used by passes that know how to update - the scanning them selves. */ - DF_NO_INSN_RESCAN = 1 << 4, - - /* Cause df_insn_rescan df_notes_rescan and df_insn_delete, to - return after marking the insn for later processing. This allows all - rescans to be batched. */ - DF_DEFER_INSN_RESCAN = 1 << 5, - - /* Compute the reaching defs problem as "live and reaching defs" (LR&RD). - A DEF is reaching and live at insn I if DEF reaches I and REGNO(DEF) - is in LR_IN of the basic block containing I. */ - DF_RD_PRUNE_DEAD_DEFS = 1 << 6, - - DF_VERIFY_SCHEDULED = 1 << 7 -}; - -/* Two of these structures are inline in df, one for the uses and one - for the defs. This structure is only contains the refs within the - boundary of the df_set_blocks if that has been defined. */ -struct df_ref_info -{ - df_ref *refs; /* Ref table, indexed by id. */ - unsigned int *begin; /* First ref_index for this pseudo. */ - unsigned int *count; /* Count of refs for this pseudo. */ - unsigned int refs_size; /* Size of currently allocated refs table. */ - - /* Table_size is the number of elements in the refs table. This - will also be the width of the bitvectors in the rd and ru - problems. Total_size is the number of refs. These will be the - same if the focus has not been reduced by df_set_blocks. If the - focus has been reduced, table_size will be smaller since it only - contains the refs in the set blocks. */ - unsigned int table_size; - unsigned int total_size; - - enum df_ref_order ref_order; -}; - -/* Three of these structures are allocated for every pseudo reg. One - for the uses, one for the eq_uses and one for the defs. */ -struct df_reg_info -{ - /* Head of chain for refs of that type and regno. */ - df_ref reg_chain; - /* Number of refs in the chain. */ - unsigned int n_refs; -}; - - -/*---------------------------------------------------------------------------- - Problem data for the scanning dataflow problem. Unlike the other - dataflow problems, the problem data for scanning is fully exposed and - used by owners of the problem. -----------------------------------------------------------------------------*/ - -class df_d -{ -public: - - /* The set of problems to be solved is stored in two arrays. In - PROBLEMS_IN_ORDER, the problems are stored in the order that they - are solved. This is an internally dense array that may have - nulls at the end of it. In PROBLEMS_BY_INDEX, the problem is - stored by the value in df_problem.id. These are used to access - the problem local data without having to search the first - array. */ - - struct dataflow *problems_in_order[DF_LAST_PROBLEM_PLUS1]; - struct dataflow *problems_by_index[DF_LAST_PROBLEM_PLUS1]; - - /* If not NULL, this subset of blocks of the program to be - considered for analysis. At certain times, this will contain all - the blocks in the function so it cannot be used as an indicator - of if we are analyzing a subset. See analyze_subset. */ - bitmap blocks_to_analyze; - - /* The following information is really the problem data for the - scanning instance but it is used too often by the other problems - to keep getting it from there. */ - struct df_ref_info def_info; /* Def info. */ - struct df_ref_info use_info; /* Use info. */ - - /* The following three arrays are allocated in parallel. They contain - the sets of refs of each type for each reg. */ - struct df_reg_info **def_regs; /* Def reg info. */ - struct df_reg_info **use_regs; /* Eq_use reg info. */ - struct df_reg_info **eq_use_regs; /* Eq_use info. */ - unsigned int regs_size; /* Size of currently allocated regs table. */ - unsigned int regs_inited; /* Number of regs with reg_infos allocated. */ - - - struct df_insn_info **insns; /* Insn table, indexed by insn UID. */ - unsigned int insns_size; /* Size of insn table. */ - - int num_problems_defined; - - bitmap_head hardware_regs_used; /* The set of hardware registers used. */ - /* The set of hard regs that are in the artificial uses at the end - of a regular basic block. */ - bitmap_head regular_block_artificial_uses; - /* The set of hard regs that are in the artificial uses at the end - of a basic block that has an EH pred. */ - bitmap_head eh_block_artificial_uses; - /* The set of hardware registers live on entry to the function. */ - bitmap entry_block_defs; - bitmap exit_block_uses; /* The set of hardware registers used in exit block. */ - - /* Insns to delete, rescan or reprocess the notes at next - df_rescan_all or df_process_deferred_rescans. */ - bitmap_head insns_to_delete; - bitmap_head insns_to_rescan; - bitmap_head insns_to_notes_rescan; - int *postorder; /* The current set of basic blocks - in reverse postorder. */ - vec postorder_inverted; /* The current set of basic blocks - in reverse postorder of inverted CFG. */ - int n_blocks; /* The number of blocks in reverse postorder. */ - - /* An array [FIRST_PSEUDO_REGISTER], indexed by regno, of the number - of refs that qualify as being real hard regs uses. Artificial - uses and defs as well as refs in eq notes are ignored. If the - ref is a def, it cannot be a MAY_CLOBBER def. If the ref is a - use, it cannot be the emim_reg_set or be the frame or arg pointer - register. Uses in debug insns are ignored. - - IT IS NOT ACCEPTABLE TO MANUALLY CHANGE THIS ARRAY. This array - always reflects the actual number of refs in the insn stream that - satisfy the above criteria. */ - unsigned int *hard_regs_live_count; - - /* This counter provides a way to totally order refs without using - addresses. It is incremented whenever a ref is created. */ - unsigned int ref_order; - - /* Problem specific control information. This is a combination of - enum df_changeable_flags values. */ - int changeable_flags : 8; - - /* If this is true, then only a subset of the blocks of the program - is considered to compute the solutions of dataflow problems. */ - bool analyze_subset; - - /* True if someone added or deleted something from regs_ever_live so - that the entry and exit blocks need be reprocessed. */ - bool redo_entry_and_exit; -}; - -#define DF_SCAN_BB_INFO(BB) (df_scan_get_bb_info ((BB)->index)) -#define DF_RD_BB_INFO(BB) (df_rd_get_bb_info ((BB)->index)) -#define DF_LR_BB_INFO(BB) (df_lr_get_bb_info ((BB)->index)) -#define DF_LIVE_BB_INFO(BB) (df_live_get_bb_info ((BB)->index)) -#define DF_WORD_LR_BB_INFO(BB) (df_word_lr_get_bb_info ((BB)->index)) -#define DF_MD_BB_INFO(BB) (df_md_get_bb_info ((BB)->index)) -#define DF_MIR_BB_INFO(BB) (df_mir_get_bb_info ((BB)->index)) - -/* Most transformations that wish to use live register analysis will - use these macros. This info is the and of the lr and live sets. */ -#define DF_LIVE_IN(BB) (&DF_LIVE_BB_INFO (BB)->in) -#define DF_LIVE_OUT(BB) (&DF_LIVE_BB_INFO (BB)->out) - -#define DF_MIR_IN(BB) (&DF_MIR_BB_INFO (BB)->in) -#define DF_MIR_OUT(BB) (&DF_MIR_BB_INFO (BB)->out) - -/* These macros are used by passes that are not tolerant of - uninitialized variables. This intolerance should eventually - be fixed. */ -#define DF_LR_IN(BB) (&DF_LR_BB_INFO (BB)->in) -#define DF_LR_OUT(BB) (&DF_LR_BB_INFO (BB)->out) - -/* These macros are used by passes that are not tolerant of - uninitialized variables. This intolerance should eventually - be fixed. */ -#define DF_WORD_LR_IN(BB) (&DF_WORD_LR_BB_INFO (BB)->in) -#define DF_WORD_LR_OUT(BB) (&DF_WORD_LR_BB_INFO (BB)->out) - -/* Macros to access the elements within the ref structure. */ - - -#define DF_REF_REAL_REG(REF) (GET_CODE ((REF)->base.reg) == SUBREG \ - ? SUBREG_REG ((REF)->base.reg) : ((REF)->base.reg)) -#define DF_REF_REGNO(REF) ((REF)->base.regno) -#define DF_REF_REAL_LOC(REF) (GET_CODE (*((REF)->regular_ref.loc)) == SUBREG \ - ? &SUBREG_REG (*((REF)->regular_ref.loc)) : ((REF)->regular_ref.loc)) -#define DF_REF_REG(REF) ((REF)->base.reg) -#define DF_REF_LOC(REF) (DF_REF_CLASS (REF) == DF_REF_REGULAR ? \ - (REF)->regular_ref.loc : NULL) -#define DF_REF_BB(REF) (DF_REF_IS_ARTIFICIAL (REF) \ - ? (REF)->artificial_ref.bb \ - : BLOCK_FOR_INSN (DF_REF_INSN (REF))) -#define DF_REF_BBNO(REF) (DF_REF_BB (REF)->index) -#define DF_REF_INSN_INFO(REF) ((REF)->base.insn_info) -#define DF_REF_INSN(REF) ((REF)->base.insn_info->insn) -#define DF_REF_INSN_UID(REF) (INSN_UID (DF_REF_INSN(REF))) -#define DF_REF_CLASS(REF) ((REF)->base.cl) -#define DF_REF_TYPE(REF) ((REF)->base.type) -#define DF_REF_CHAIN(REF) ((REF)->base.chain) -#define DF_REF_ID(REF) ((REF)->base.id) -#define DF_REF_FLAGS(REF) ((REF)->base.flags) -#define DF_REF_FLAGS_IS_SET(REF, v) ((DF_REF_FLAGS (REF) & (v)) != 0) -#define DF_REF_FLAGS_SET(REF, v) (DF_REF_FLAGS (REF) |= (v)) -#define DF_REF_FLAGS_CLEAR(REF, v) (DF_REF_FLAGS (REF) &= ~(v)) -#define DF_REF_ORDER(REF) ((REF)->base.ref_order) -/* If DF_REF_IS_ARTIFICIAL () is true, this is not a real - definition/use, but an artificial one created to model always live - registers, eh uses, etc. */ -#define DF_REF_IS_ARTIFICIAL(REF) (DF_REF_CLASS (REF) == DF_REF_ARTIFICIAL) -#define DF_REF_REG_MARK(REF) (DF_REF_FLAGS_SET ((REF),DF_REF_REG_MARKER)) -#define DF_REF_REG_UNMARK(REF) (DF_REF_FLAGS_CLEAR ((REF),DF_REF_REG_MARKER)) -#define DF_REF_IS_REG_MARKED(REF) (DF_REF_FLAGS_IS_SET ((REF),DF_REF_REG_MARKER)) -#define DF_REF_NEXT_LOC(REF) ((REF)->base.next_loc) -#define DF_REF_NEXT_REG(REF) ((REF)->base.next_reg) -#define DF_REF_PREV_REG(REF) ((REF)->base.prev_reg) -/* The following two macros may only be applied if one of - DF_REF_SIGN_EXTRACT | DF_REF_ZERO_EXTRACT is true. */ -#define DF_REF_EXTRACT_WIDTH(REF) ((REF)->extract_ref.width) -#define DF_REF_EXTRACT_OFFSET(REF) ((REF)->extract_ref.offset) -#define DF_REF_EXTRACT_MODE(REF) ((REF)->extract_ref.mode) - -/* Macros to determine the reference type. */ -#define DF_REF_REG_DEF_P(REF) (DF_REF_TYPE (REF) == DF_REF_REG_DEF) -#define DF_REF_REG_USE_P(REF) (!DF_REF_REG_DEF_P (REF)) -#define DF_REF_REG_MEM_STORE_P(REF) (DF_REF_TYPE (REF) == DF_REF_REG_MEM_STORE) -#define DF_REF_REG_MEM_LOAD_P(REF) (DF_REF_TYPE (REF) == DF_REF_REG_MEM_LOAD) -#define DF_REF_REG_MEM_P(REF) (DF_REF_REG_MEM_STORE_P (REF) \ - || DF_REF_REG_MEM_LOAD_P (REF)) - -#define DF_MWS_REG_DEF_P(MREF) (DF_MWS_TYPE (MREF) == DF_REF_REG_DEF) -#define DF_MWS_REG_USE_P(MREF) (!DF_MWS_REG_DEF_P (MREF)) -#define DF_MWS_NEXT(MREF) ((MREF)->next) -#define DF_MWS_TYPE(MREF) ((MREF)->type) - -/* Macros to get the refs out of def_info or use_info refs table. If - the focus of the dataflow has been set to some subset of blocks - with df_set_blocks, these macros will only find the uses and defs - in that subset of blocks. - - These macros should be used with care. The def macros are only - usable after a call to df_maybe_reorganize_def_refs and the use - macros are only usable after a call to - df_maybe_reorganize_use_refs. HOWEVER, BUILDING AND USING THESE - ARRAYS ARE A CACHE LOCALITY KILLER. */ - -#define DF_DEFS_TABLE_SIZE() (df->def_info.table_size) -#define DF_DEFS_GET(ID) (df->def_info.refs[(ID)]) -#define DF_DEFS_SET(ID,VAL) (df->def_info.refs[(ID)]=(VAL)) -#define DF_DEFS_COUNT(ID) (df->def_info.count[(ID)]) -#define DF_DEFS_BEGIN(ID) (df->def_info.begin[(ID)]) -#define DF_USES_TABLE_SIZE() (df->use_info.table_size) -#define DF_USES_GET(ID) (df->use_info.refs[(ID)]) -#define DF_USES_SET(ID,VAL) (df->use_info.refs[(ID)]=(VAL)) -#define DF_USES_COUNT(ID) (df->use_info.count[(ID)]) -#define DF_USES_BEGIN(ID) (df->use_info.begin[(ID)]) - -/* Macros to access the register information from scan dataflow record. */ - -#define DF_REG_SIZE(DF) (df->regs_inited) -#define DF_REG_DEF_GET(REG) (df->def_regs[(REG)]) -#define DF_REG_DEF_CHAIN(REG) (df->def_regs[(REG)]->reg_chain) -#define DF_REG_DEF_COUNT(REG) (df->def_regs[(REG)]->n_refs) -#define DF_REG_USE_GET(REG) (df->use_regs[(REG)]) -#define DF_REG_USE_CHAIN(REG) (df->use_regs[(REG)]->reg_chain) -#define DF_REG_USE_COUNT(REG) (df->use_regs[(REG)]->n_refs) -#define DF_REG_EQ_USE_GET(REG) (df->eq_use_regs[(REG)]) -#define DF_REG_EQ_USE_CHAIN(REG) (df->eq_use_regs[(REG)]->reg_chain) -#define DF_REG_EQ_USE_COUNT(REG) (df->eq_use_regs[(REG)]->n_refs) - -/* Macros to access the elements within the reg_info structure table. */ - -#define DF_REGNO_FIRST_DEF(REGNUM) \ -(DF_REG_DEF_GET(REGNUM) ? DF_REG_DEF_GET (REGNUM) : 0) -#define DF_REGNO_LAST_USE(REGNUM) \ -(DF_REG_USE_GET(REGNUM) ? DF_REG_USE_GET (REGNUM) : 0) - -/* Macros to access the elements within the insn_info structure table. */ - -#define DF_INSN_SIZE() ((df)->insns_size) -#define DF_INSN_INFO_GET(INSN) (df->insns[(INSN_UID (INSN))]) -#define DF_INSN_INFO_SET(INSN,VAL) (df->insns[(INSN_UID (INSN))]=(VAL)) -#define DF_INSN_INFO_LUID(II) ((II)->luid) -#define DF_INSN_INFO_DEFS(II) ((II)->defs) -#define DF_INSN_INFO_USES(II) ((II)->uses) -#define DF_INSN_INFO_EQ_USES(II) ((II)->eq_uses) -#define DF_INSN_INFO_MWS(II) ((II)->mw_hardregs) - -#define DF_INSN_LUID(INSN) (DF_INSN_INFO_LUID (DF_INSN_INFO_GET (INSN))) -#define DF_INSN_DEFS(INSN) (DF_INSN_INFO_DEFS (DF_INSN_INFO_GET (INSN))) -#define DF_INSN_USES(INSN) (DF_INSN_INFO_USES (DF_INSN_INFO_GET (INSN))) -#define DF_INSN_EQ_USES(INSN) (DF_INSN_INFO_EQ_USES (DF_INSN_INFO_GET (INSN))) - -#define DF_INSN_UID_GET(UID) (df->insns[(UID)]) -#define DF_INSN_UID_SET(UID,VAL) (df->insns[(UID)]=(VAL)) -#define DF_INSN_UID_SAFE_GET(UID) (((unsigned)(UID) < DF_INSN_SIZE ()) \ - ? DF_INSN_UID_GET (UID) \ - : NULL) -#define DF_INSN_UID_LUID(INSN) (DF_INSN_UID_GET (INSN)->luid) -#define DF_INSN_UID_DEFS(INSN) (DF_INSN_UID_GET (INSN)->defs) -#define DF_INSN_UID_USES(INSN) (DF_INSN_UID_GET (INSN)->uses) -#define DF_INSN_UID_EQ_USES(INSN) (DF_INSN_UID_GET (INSN)->eq_uses) -#define DF_INSN_UID_MWS(INSN) (DF_INSN_UID_GET (INSN)->mw_hardregs) - -#define FOR_EACH_INSN_INFO_DEF(ITER, INSN) \ - for (ITER = DF_INSN_INFO_DEFS (INSN); ITER; ITER = DF_REF_NEXT_LOC (ITER)) - -#define FOR_EACH_INSN_INFO_USE(ITER, INSN) \ - for (ITER = DF_INSN_INFO_USES (INSN); ITER; ITER = DF_REF_NEXT_LOC (ITER)) - -#define FOR_EACH_INSN_INFO_EQ_USE(ITER, INSN) \ - for (ITER = DF_INSN_INFO_EQ_USES (INSN); ITER; ITER = DF_REF_NEXT_LOC (ITER)) - -#define FOR_EACH_INSN_INFO_MW(ITER, INSN) \ - for (ITER = DF_INSN_INFO_MWS (INSN); ITER; ITER = DF_MWS_NEXT (ITER)) - -#define FOR_EACH_INSN_DEF(ITER, INSN) \ - FOR_EACH_INSN_INFO_DEF(ITER, DF_INSN_INFO_GET (INSN)) - -#define FOR_EACH_INSN_USE(ITER, INSN) \ - FOR_EACH_INSN_INFO_USE(ITER, DF_INSN_INFO_GET (INSN)) - -#define FOR_EACH_INSN_EQ_USE(ITER, INSN) \ - FOR_EACH_INSN_INFO_EQ_USE(ITER, DF_INSN_INFO_GET (INSN)) - -#define FOR_EACH_ARTIFICIAL_USE(ITER, BB_INDEX) \ - for (ITER = df_get_artificial_uses (BB_INDEX); ITER; \ - ITER = DF_REF_NEXT_LOC (ITER)) - -#define FOR_EACH_ARTIFICIAL_DEF(ITER, BB_INDEX) \ - for (ITER = df_get_artificial_defs (BB_INDEX); ITER; \ - ITER = DF_REF_NEXT_LOC (ITER)) - -/* An obstack for bitmap not related to specific dataflow problems. - This obstack should e.g. be used for bitmaps with a short life time - such as temporary bitmaps. This obstack is declared in df-core.cc. */ - -extern bitmap_obstack df_bitmap_obstack; - - -/* One of these structures is allocated for every basic block. */ -struct df_scan_bb_info -{ - /* The entry block has many artificial defs and these are at the - bottom of the block. - - Blocks that are targets of exception edges may have some - artificial defs. These are logically located at the top of the - block. - - Blocks that are the targets of non-local goto's have the hard - frame pointer defined at the top of the block. */ - df_ref artificial_defs; - - /* Blocks that are targets of exception edges may have some - artificial uses. These are logically at the top of the block. - - Most blocks have artificial uses at the bottom of the block. */ - df_ref artificial_uses; -}; - - -/* Reaching definitions. All bitmaps are indexed by the id field of - the ref except sparse_kill which is indexed by regno. For the - LR&RD problem, the kill set is not complete: It does not contain - DEFs killed because the set register has died in the LR set. */ -class df_rd_bb_info -{ -public: - /* Local sets to describe the basic blocks. */ - bitmap_head kill; - bitmap_head sparse_kill; - bitmap_head gen; /* The set of defs generated in this block. */ - - /* The results of the dataflow problem. */ - bitmap_head in; /* At the top of the block. */ - bitmap_head out; /* At the bottom of the block. */ -}; - - -/* Multiple reaching definitions. All bitmaps are referenced by the - register number. */ - -class df_md_bb_info -{ -public: - /* Local sets to describe the basic blocks. */ - bitmap_head gen; /* Partial/conditional definitions live at BB out. */ - bitmap_head kill; /* Other definitions that are live at BB out. */ - bitmap_head init; /* Definitions coming from dominance frontier edges. */ - - /* The results of the dataflow problem. */ - bitmap_head in; /* Just before the block itself. */ - bitmap_head out; /* At the bottom of the block. */ -}; - - -/* Live registers, a backwards dataflow problem. All bitmaps are - referenced by the register number. */ - -class df_lr_bb_info -{ -public: - /* Local sets to describe the basic blocks. */ - bitmap_head def; /* The set of registers set in this block - - except artificial defs at the top. */ - bitmap_head use; /* The set of registers used in this block. */ - - /* The results of the dataflow problem. */ - bitmap_head in; /* Just before the block itself. */ - bitmap_head out; /* At the bottom of the block. */ -}; - - -/* Uninitialized registers. All bitmaps are referenced by the - register number. Anded results of the forwards and backward live - info. Note that the forwards live information is not available - separately. */ -class df_live_bb_info -{ -public: - /* Local sets to describe the basic blocks. */ - bitmap_head kill; /* The set of registers unset in this block. Calls, - for instance, unset registers. */ - bitmap_head gen; /* The set of registers set in this block. */ - - /* The results of the dataflow problem. */ - bitmap_head in; /* At the top of the block. */ - bitmap_head out; /* At the bottom of the block. */ -}; - - -/* Live registers, a backwards dataflow problem. These bitmaps are - indexed by 2 * regno for each pseudo and have two entries for each - pseudo. Only pseudos that have a size of 2 * UNITS_PER_WORD are - meaningfully tracked. */ - -class df_word_lr_bb_info -{ -public: - /* Local sets to describe the basic blocks. */ - bitmap_head def; /* The set of registers set in this block - - except artificial defs at the top. */ - bitmap_head use; /* The set of registers used in this block. */ - - /* The results of the dataflow problem. */ - bitmap_head in; /* Just before the block itself. */ - bitmap_head out; /* At the bottom of the block. */ -}; - -/* Must-initialized registers. All bitmaps are referenced by the - register number. */ -class df_mir_bb_info -{ -public: - /* Local sets to describe the basic blocks. */ - bitmap_head kill; /* The set of registers unset in this block. Calls, - for instance, unset registers. */ - bitmap_head gen; /* The set of registers set in this block, excluding the - ones killed later on in this block. */ - - /* The results of the dataflow problem. */ - bitmap_head in; /* At the top of the block. */ - bitmap_head out; /* At the bottom of the block. */ - bool con_visited; /* Visited by con_fun_{0,n}. */ -}; - - -/* This is used for debugging and for the dumpers to find the latest - instance so that the df info can be added to the dumps. This - should not be used by regular code. */ -extern class df_d *df; -#define df_scan (df->problems_by_index[DF_SCAN]) -#define df_rd (df->problems_by_index[DF_RD]) -#define df_lr (df->problems_by_index[DF_LR]) -#define df_live (df->problems_by_index[DF_LIVE]) -#define df_chain (df->problems_by_index[DF_CHAIN]) -#define df_word_lr (df->problems_by_index[DF_WORD_LR]) -#define df_note (df->problems_by_index[DF_NOTE]) -#define df_md (df->problems_by_index[DF_MD]) -#define df_mir (df->problems_by_index[DF_MIR]) - -/* This symbol turns on checking that each modification of the cfg has - been identified to the appropriate df routines. It is not part of - verification per se because the check that the final solution has - not changed covers this. However, if the solution is not being - properly recomputed because the cfg is being modified, adding in - calls to df_check_cfg_clean can be used to find the source of that - kind of problem. */ -#if 0 -#define DF_DEBUG_CFG -#endif - - -/* Functions defined in df-core.cc. */ - -extern void df_add_problem (const struct df_problem *); -extern int df_set_flags (int); -extern int df_clear_flags (int); -extern void df_set_blocks (bitmap); -extern void df_remove_problem (struct dataflow *); -extern void df_finish_pass (bool); -extern void df_analyze_problem (struct dataflow *, bitmap, int *, int); -extern void df_analyze (); -extern void df_analyze_loop (class loop *); -extern int df_get_n_blocks (enum df_flow_dir); -extern int *df_get_postorder (enum df_flow_dir); -extern void df_simple_dataflow (enum df_flow_dir, df_init_function, - df_confluence_function_0, df_confluence_function_n, - df_transfer_function, bitmap, int *, int); -extern void df_mark_solutions_dirty (void); -extern bool df_get_bb_dirty (basic_block); -extern void df_set_bb_dirty (basic_block); -extern void df_compact_blocks (void); -extern void df_bb_replace (int, basic_block); -extern void df_bb_delete (int); -extern void df_verify (void); -#ifdef DF_DEBUG_CFG -extern void df_check_cfg_clean (void); -#endif -extern df_ref df_bb_regno_first_def_find (basic_block, unsigned int); -extern df_ref df_bb_regno_last_def_find (basic_block, unsigned int); -extern df_ref df_find_def (rtx_insn *, rtx); -extern bool df_reg_defined (rtx_insn *, rtx); -extern df_ref df_find_use (rtx_insn *, rtx); -extern bool df_reg_used (rtx_insn *, rtx); -extern rtx df_find_single_def_src (rtx); -extern void df_worklist_dataflow (struct dataflow *,bitmap, int *, int); -extern void df_print_regset (FILE *file, const_bitmap r); -extern void df_print_word_regset (FILE *file, const_bitmap r); -extern void df_dump (FILE *); -extern void df_dump_region (FILE *); -extern void df_dump_start (FILE *); -extern void df_dump_top (basic_block, FILE *); -extern void df_dump_bottom (basic_block, FILE *); -extern void df_dump_insn_top (const rtx_insn *, FILE *); -extern void df_dump_insn_bottom (const rtx_insn *, FILE *); -extern void df_refs_chain_dump (df_ref, bool, FILE *); -extern void df_regs_chain_dump (df_ref, FILE *); -extern void df_insn_debug (rtx_insn *, bool, FILE *); -extern void df_insn_debug_regno (rtx_insn *, FILE *); -extern void df_regno_debug (unsigned int, FILE *); -extern void df_ref_debug (df_ref, FILE *); -extern void debug_df_insn (rtx_insn *); -extern void debug_df_regno (unsigned int); -extern void debug_df_reg (rtx); -extern void debug_df_defno (unsigned int); -extern void debug_df_useno (unsigned int); -extern void debug_df_ref (df_ref); -extern void debug_df_chain (struct df_link *); - -/* Functions defined in df-problems.cc. */ - -extern struct df_link *df_chain_create (df_ref, df_ref); -extern void df_chain_unlink (df_ref); -extern void df_chain_copy (df_ref, struct df_link *); -extern void df_grow_bb_info (struct dataflow *); -extern void df_chain_dump (struct df_link *, FILE *); -extern void df_print_bb_index (basic_block bb, FILE *file); -extern void df_rd_add_problem (void); -extern void df_rd_simulate_artificial_defs_at_top (basic_block, bitmap); -extern void df_rd_simulate_one_insn (basic_block, rtx_insn *, bitmap); -extern void df_lr_add_problem (void); -extern void df_lr_verify_transfer_functions (void); -extern void df_live_verify_transfer_functions (void); -extern void df_live_add_problem (void); -extern void df_live_set_all_dirty (void); -extern void df_chain_add_problem (unsigned int); -extern void df_word_lr_add_problem (void); -extern bool df_word_lr_mark_ref (df_ref, bool, bitmap); -extern bool df_word_lr_simulate_defs (rtx_insn *, bitmap); -extern void df_word_lr_simulate_uses (rtx_insn *, bitmap); -extern void df_word_lr_simulate_artificial_refs_at_top (basic_block, bitmap); -extern void df_word_lr_simulate_artificial_refs_at_end (basic_block, bitmap); -extern void df_note_add_problem (void); -extern void df_md_add_problem (void); -extern void df_md_simulate_artificial_defs_at_top (basic_block, bitmap); -extern void df_md_simulate_one_insn (basic_block, rtx_insn *, bitmap); -extern void df_mir_add_problem (void); -extern void df_mir_simulate_one_insn (basic_block, rtx_insn *, bitmap, bitmap); -extern void df_simulate_find_noclobber_defs (rtx_insn *, bitmap); -extern void df_simulate_find_defs (rtx_insn *, bitmap); -extern void df_simulate_defs (rtx_insn *, bitmap); -extern void df_simulate_uses (rtx_insn *, bitmap); -extern void df_simulate_initialize_backwards (basic_block, bitmap); -extern void df_simulate_one_insn_backwards (basic_block, rtx_insn *, bitmap); -extern void df_simulate_finalize_backwards (basic_block, bitmap); -extern void df_simulate_initialize_forwards (basic_block, bitmap); -extern void df_simulate_one_insn_forwards (basic_block, rtx_insn *, bitmap); -extern void simulate_backwards_to_point (basic_block, regset, rtx); -extern bool can_move_insns_across (rtx_insn *, rtx_insn *, - rtx_insn *, rtx_insn *, - basic_block, regset, - regset, rtx_insn **); -/* Functions defined in df-scan.cc. */ - -extern void df_scan_alloc (bitmap); -extern void df_scan_add_problem (void); -extern void df_grow_reg_info (void); -extern void df_grow_insn_info (void); -extern void df_scan_blocks (void); -extern void df_uses_create (rtx *, rtx_insn *, int); -extern struct df_insn_info * df_insn_create_insn_record (rtx_insn *); -extern void df_insn_delete (rtx_insn *); -extern void df_bb_refs_record (int, bool); -extern bool df_insn_rescan (rtx_insn *); -extern bool df_insn_rescan_debug_internal (rtx_insn *); -extern void df_insn_rescan_all (void); -extern void df_process_deferred_rescans (void); -extern void df_recompute_luids (basic_block); -extern void df_insn_change_bb (rtx_insn *, basic_block); -extern void df_maybe_reorganize_use_refs (enum df_ref_order); -extern void df_maybe_reorganize_def_refs (enum df_ref_order); -extern void df_ref_change_reg_with_loc (rtx, unsigned int); -extern void df_notes_rescan (rtx_insn *); -extern void df_hard_reg_init (void); -extern void df_update_entry_block_defs (void); -extern void df_update_exit_block_uses (void); -extern void df_update_entry_exit_and_calls (void); -extern bool df_hard_reg_used_p (unsigned int); -extern unsigned int df_hard_reg_used_count (unsigned int); -extern bool df_regs_ever_live_p (unsigned int); -extern bool df_epilogue_uses_p (unsigned int); -extern void df_set_regs_ever_live (unsigned int, bool); -extern void df_compute_regs_ever_live (bool); -extern void df_scan_verify (void); - - -/*---------------------------------------------------------------------------- - Public functions access functions for the dataflow problems. -----------------------------------------------------------------------------*/ - -inline struct df_scan_bb_info * -df_scan_get_bb_info (unsigned int index) -{ - if (index < df_scan->block_info_size) - return &((struct df_scan_bb_info *) df_scan->block_info)[index]; - else - return NULL; -} - -inline class df_rd_bb_info * -df_rd_get_bb_info (unsigned int index) -{ - if (index < df_rd->block_info_size) - return &((class df_rd_bb_info *) df_rd->block_info)[index]; - else - return NULL; -} - -inline class df_lr_bb_info * -df_lr_get_bb_info (unsigned int index) -{ - if (index < df_lr->block_info_size) - return &((class df_lr_bb_info *) df_lr->block_info)[index]; - else - return NULL; -} - -inline class df_md_bb_info * -df_md_get_bb_info (unsigned int index) -{ - if (index < df_md->block_info_size) - return &((class df_md_bb_info *) df_md->block_info)[index]; - else - return NULL; -} - -inline class df_live_bb_info * -df_live_get_bb_info (unsigned int index) -{ - if (index < df_live->block_info_size) - return &((class df_live_bb_info *) df_live->block_info)[index]; - else - return NULL; -} - -inline class df_word_lr_bb_info * -df_word_lr_get_bb_info (unsigned int index) -{ - if (index < df_word_lr->block_info_size) - return &((class df_word_lr_bb_info *) df_word_lr->block_info)[index]; - else - return NULL; -} - -inline class df_mir_bb_info * -df_mir_get_bb_info (unsigned int index) -{ - if (index < df_mir->block_info_size) - return &((class df_mir_bb_info *) df_mir->block_info)[index]; - else - return NULL; -} - -/* Get the live at out set for BB no matter what problem happens to be - defined. This function is used by the register allocators who - choose different dataflow problems depending on the optimization - level. */ - -inline bitmap -df_get_live_out (basic_block bb) -{ - gcc_checking_assert (df_lr); - - if (df_live) - return DF_LIVE_OUT (bb); - else - return DF_LR_OUT (bb); -} - -/* Get the live at in set for BB no matter what problem happens to be - defined. This function is used by the register allocators who - choose different dataflow problems depending on the optimization - level. */ - -inline bitmap -df_get_live_in (basic_block bb) -{ - gcc_checking_assert (df_lr); - - if (df_live) - return DF_LIVE_IN (bb); - else - return DF_LR_IN (bb); -} - -/* Get basic block info. */ -/* Get the artificial defs for a basic block. */ - -inline df_ref -df_get_artificial_defs (unsigned int bb_index) -{ - return df_scan_get_bb_info (bb_index)->artificial_defs; -} - - -/* Get the artificial uses for a basic block. */ - -inline df_ref -df_get_artificial_uses (unsigned int bb_index) -{ - return df_scan_get_bb_info (bb_index)->artificial_uses; -} - -/* If INSN defines exactly one register, return the associated reference, - otherwise return null. */ - -inline df_ref -df_single_def (const df_insn_info *info) -{ - df_ref defs = DF_INSN_INFO_DEFS (info); - return defs && !DF_REF_NEXT_LOC (defs) ? defs : NULL; -} - -/* If INSN uses exactly one register, return the associated reference, - otherwise return null. */ - -inline df_ref -df_single_use (const df_insn_info *info) -{ - df_ref uses = DF_INSN_INFO_USES (info); - return uses && !DF_REF_NEXT_LOC (uses) ? uses : NULL; -} - -/* web */ - -struct web_entry_base -{ - private: - /* Reference to the parent in the union/find tree. */ - web_entry_base *pred_pvt; - - public: - /* Accessors. */ - web_entry_base *pred () { return pred_pvt; } - void set_pred (web_entry_base *p) { pred_pvt = p; } - - /* Find representative in union-find tree. */ - web_entry_base *unionfind_root (); - - /* Union with another set, returning TRUE if they are already unioned. */ - friend bool unionfind_union (web_entry_base *first, web_entry_base *second); -}; - -#endif /* GCC_DF_H */ diff --git a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/dfp.h b/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/dfp.h deleted file mode 100644 index fc203405..00000000 --- a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/dfp.h +++ /dev/null @@ -1,50 +0,0 @@ -/* Decimal floating point support functions for GNU compiler. - Copyright (C) 2005-2023 Free Software Foundation, Inc. - -This file is part of GCC. - -GCC is free software; you can redistribute it and/or modify it under -the terms of the GNU General Public License as published by the Free -Software Foundation; either version 3, or (at your option) any later -version. - -GCC is distributed in the hope that it will be useful, but WITHOUT ANY -WARRANTY; without even the implied warranty of MERCHANTABILITY or -FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -for more details. - -You should have received a copy of the GNU General Public License -along with GCC; see the file COPYING3. If not see -. */ - -#ifndef GCC_DFP_H -#define GCC_DFP_H - -/* Encode REAL_VALUE_TYPEs into 32/64/128-bit IEEE 754 encoded values. */ -void encode_decimal32 (const struct real_format *fmt, long *, const REAL_VALUE_TYPE *); -void encode_decimal64 (const struct real_format *fmt, long *, const REAL_VALUE_TYPE *); -void decode_decimal128 (const struct real_format *, REAL_VALUE_TYPE *, const long *); - -/* Decode 32/64/128-bit IEEE 754 encoded values into REAL_VALUE_TYPEs. */ -void decode_decimal32 (const struct real_format *, REAL_VALUE_TYPE *, const long *); -void decode_decimal64 (const struct real_format *, REAL_VALUE_TYPE *, const long *); -void encode_decimal128 (const struct real_format *fmt, long *, const REAL_VALUE_TYPE *); - -/* Arithmetic and conversion functions. */ -int decimal_do_compare (const REAL_VALUE_TYPE *, const REAL_VALUE_TYPE *, int); -void decimal_real_from_string (REAL_VALUE_TYPE *, const char *); -void decimal_round_for_format (const struct real_format *, REAL_VALUE_TYPE *); -void decimal_real_convert (REAL_VALUE_TYPE *, const real_format *, - const REAL_VALUE_TYPE *); -void decimal_real_to_decimal (char *, const REAL_VALUE_TYPE *, size_t, size_t, int); -void decimal_do_fix_trunc (REAL_VALUE_TYPE *, const REAL_VALUE_TYPE *); -void decimal_real_maxval (REAL_VALUE_TYPE *, int, machine_mode); -wide_int decimal_real_to_integer (const REAL_VALUE_TYPE *, bool *, int); -HOST_WIDE_INT decimal_real_to_integer (const REAL_VALUE_TYPE *); - -#ifdef TREE_CODE -bool decimal_real_arithmetic (REAL_VALUE_TYPE *, enum tree_code, const REAL_VALUE_TYPE *, - const REAL_VALUE_TYPE *); -#endif - -#endif /* GCC_DFP_H */ diff --git a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/diagnostic-client-data-hooks.h b/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/diagnostic-client-data-hooks.h deleted file mode 100644 index 5f8b9a25..00000000 --- a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/diagnostic-client-data-hooks.h +++ /dev/null @@ -1,105 +0,0 @@ -/* Additional metadata about a client for a diagnostic context. - Copyright (C) 2022-2023 Free Software Foundation, Inc. - Contributed by David Malcolm - -This file is part of GCC. - -GCC is free software; you can redistribute it and/or modify it under -the terms of the GNU General Public License as published by the Free -Software Foundation; either version 3, or (at your option) any later -version. - -GCC is distributed in the hope that it will be useful, but WITHOUT ANY -WARRANTY; without even the implied warranty of MERCHANTABILITY or -FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -for more details. - -You should have received a copy of the GNU General Public License -along with GCC; see the file COPYING3. If not see -. */ - -#ifndef GCC_DIAGNOSTIC_CLIENT_DATA_HOOKS_H -#define GCC_DIAGNOSTIC_CLIENT_DATA_HOOKS_H - -class client_version_info; - -/* A bundle of additional metadata, owned by the diagnostic_context, - for querying things about the client, like version data. */ - -class diagnostic_client_data_hooks -{ - public: - virtual ~diagnostic_client_data_hooks () {} - - /* Get version info for this client, or NULL. */ - virtual const client_version_info *get_any_version_info () const = 0; - - /* Get the current logical_location for this client, or NULL. */ - virtual const logical_location *get_current_logical_location () const = 0; - - /* Get a sourceLanguage value for FILENAME, or return NULL. - See SARIF v2.1.0 Appendix J for suggested values. */ - virtual const char * - maybe_get_sarif_source_language (const char *filename) const = 0; -}; - -/* Factory function for making an instance of diagnostic_client_data_hooks - for use in the compiler (i.e. with knowledge of "tree", access to - langhooks, etc). */ - -extern diagnostic_client_data_hooks *make_compiler_data_hooks (); - -class diagnostic_client_plugin_info; - -/* Abstract base class for a diagnostic_context to get at - version information about the client. */ - -class client_version_info -{ -public: - class plugin_visitor - { - public: - virtual void on_plugin (const diagnostic_client_plugin_info &) = 0; - }; - - virtual ~client_version_info () {} - - /* Get a string suitable for use as the value of the "name" property - (SARIF v2.1.0 section 3.19.8). */ - virtual const char *get_tool_name () const = 0; - - /* Create a string suitable for use as the value of the "fullName" property - (SARIF v2.1.0 section 3.19.9). */ - virtual char *maybe_make_full_name () const = 0; - - /* Get a string suitable for use as the value of the "version" property - (SARIF v2.1.0 section 3.19.13). */ - virtual const char *get_version_string () const = 0; - - /* Create a string suitable for use as the value of the "informationUri" - property (SARIF v2.1.0 section 3.19.17). */ - virtual char *maybe_make_version_url () const = 0; - - virtual void for_each_plugin (plugin_visitor &v) const = 0; -}; - -/* Abstract base class for a diagnostic_context to get at - information about a specific plugin within a client. */ - -class diagnostic_client_plugin_info -{ -public: - /* For use e.g. by SARIF "name" property (SARIF v2.1.0 section 3.19.8). */ - virtual const char *get_short_name () const = 0; - - /* For use e.g. by SARIF "fullName" property - (SARIF v2.1.0 section 3.19.9). */ - virtual const char *get_full_name () const = 0; - - /* For use e.g. by SARIF "version" property - (SARIF v2.1.0 section 3.19.13). */ - virtual const char *get_version () const = 0; -}; - -#endif /* ! GCC_DIAGNOSTIC_CLIENT_DATA_HOOKS_H */ diff --git a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/diagnostic-color.h b/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/diagnostic-color.h deleted file mode 100644 index 213fd5ab..00000000 --- a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/diagnostic-color.h +++ /dev/null @@ -1,65 +0,0 @@ -/* Copyright (C) 2013-2023 Free Software Foundation, Inc. - Contributed by Manuel Lopez-Ibanez - -This file is part of GCC. - -GCC is free software; you can redistribute it and/or modify it under -the terms of the GNU General Public License as published by the Free -Software Foundation; either version 3, or (at your option) any later -version. - -GCC is distributed in the hope that it will be useful, but WITHOUT ANY -WARRANTY; without even the implied warranty of MERCHANTABILITY or -FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -for more details. - -You should have received a copy of the GNU General Public License -along with GCC; see the file COPYING3. If not see -. */ - -/* Based on code from: */ -/* grep.c - main driver file for grep. - Copyright (C) 1992-2023 Free Software Foundation, Inc. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 3, or (at your option) - any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA - 02110-1301, USA. - - Written July 1992 by Mike Haertel. */ - -#ifndef GCC_DIAGNOSTIC_COLOR_H -#define GCC_DIAGNOSTIC_COLOR_H - -/* Whether to add color to diagnostics: - o DIAGNOSTICS_COLOR_NO: never - o DIAGNOSTICS_COLOR_YES: always - o DIAGNOSTICS_COLOR_AUTO: depending on the output stream. */ -typedef enum -{ - DIAGNOSTICS_COLOR_NO = 0, - DIAGNOSTICS_COLOR_YES = 1, - DIAGNOSTICS_COLOR_AUTO = 2 -} diagnostic_color_rule_t; - -const char *colorize_start (bool, const char *, size_t); -const char *colorize_stop (bool); -bool colorize_init (diagnostic_color_rule_t); - -inline const char * -colorize_start (bool show_color, const char *name) -{ - return colorize_start (show_color, name, strlen (name)); -} - -#endif /* ! GCC_DIAGNOSTIC_COLOR_H */ diff --git a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/diagnostic-core.h b/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/diagnostic-core.h deleted file mode 100644 index 7334c79e..00000000 --- a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/diagnostic-core.h +++ /dev/null @@ -1,128 +0,0 @@ -/* Declarations of core diagnostic functionality for code that does - not need to deal with diagnostic contexts or diagnostic info - structures. - Copyright (C) 1998-2023 Free Software Foundation, Inc. - -This file is part of GCC. - -GCC is free software; you can redistribute it and/or modify it under -the terms of the GNU General Public License as published by the Free -Software Foundation; either version 3, or (at your option) any later -version. - -GCC is distributed in the hope that it will be useful, but WITHOUT ANY -WARRANTY; without even the implied warranty of MERCHANTABILITY or -FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -for more details. - -You should have received a copy of the GNU General Public License -along with GCC; see the file COPYING3. If not see -. */ - -#ifndef GCC_DIAGNOSTIC_CORE_H -#define GCC_DIAGNOSTIC_CORE_H - -#include "bversion.h" - -/* Constants used to discriminate diagnostics. */ -typedef enum -{ -#define DEFINE_DIAGNOSTIC_KIND(K, msgid, C) K, -#include "diagnostic.def" -#undef DEFINE_DIAGNOSTIC_KIND - DK_LAST_DIAGNOSTIC_KIND, - /* This is used for tagging pragma pops in the diagnostic - classification history chain. */ - DK_POP -} diagnostic_t; - -/* RAII-style class for grouping related diagnostics. */ - -class auto_diagnostic_group -{ - public: - auto_diagnostic_group (); - ~auto_diagnostic_group (); -}; - -/* Forward decl. */ -class diagnostic_metadata; /* See diagnostic-metadata.h. */ - -extern const char *progname; - -extern const char *trim_filename (const char *); - -/* If we haven't already defined a front-end-specific diagnostics - style, use the generic one. */ -#ifndef GCC_DIAG_STYLE -#define GCC_DIAG_STYLE __gcc_tdiag__ -#endif -/* None of these functions are suitable for ATTRIBUTE_PRINTF, because - each language front end can extend them with its own set of format - specifiers. We must use custom format checks. */ -#if (CHECKING_P && GCC_VERSION >= 4001) || GCC_VERSION == BUILDING_GCC_VERSION -#define ATTRIBUTE_GCC_DIAG(m, n) __attribute__ ((__format__ (GCC_DIAG_STYLE, m, n))) ATTRIBUTE_NONNULL(m) -#else -#define ATTRIBUTE_GCC_DIAG(m, n) ATTRIBUTE_NONNULL(m) -#endif -extern void internal_error (const char *, ...) ATTRIBUTE_GCC_DIAG(1,2) - ATTRIBUTE_NORETURN; -extern void internal_error_no_backtrace (const char *, ...) - ATTRIBUTE_GCC_DIAG(1,2) ATTRIBUTE_NORETURN; -/* Pass one of the OPT_W* from options.h as the first parameter. */ -extern bool warning (int, const char *, ...) ATTRIBUTE_GCC_DIAG(2,3); -extern bool warning_n (location_t, int, unsigned HOST_WIDE_INT, - const char *, const char *, ...) - ATTRIBUTE_GCC_DIAG(4,6) ATTRIBUTE_GCC_DIAG(5,6); -extern bool warning_n (rich_location *, int, unsigned HOST_WIDE_INT, - const char *, const char *, ...) - ATTRIBUTE_GCC_DIAG(4, 6) ATTRIBUTE_GCC_DIAG(5, 6); -extern bool warning_at (location_t, int, const char *, ...) - ATTRIBUTE_GCC_DIAG(3,4); -extern bool warning_at (rich_location *, int, const char *, ...) - ATTRIBUTE_GCC_DIAG(3,4); -extern bool warning_meta (rich_location *, - const diagnostic_metadata &, int, - const char *, ...) - ATTRIBUTE_GCC_DIAG(4,5); -extern void error (const char *, ...) ATTRIBUTE_GCC_DIAG(1,2); -extern void error_n (location_t, unsigned HOST_WIDE_INT, const char *, - const char *, ...) - ATTRIBUTE_GCC_DIAG(3,5) ATTRIBUTE_GCC_DIAG(4,5); -extern void error_at (location_t, const char *, ...) ATTRIBUTE_GCC_DIAG(2,3); -extern void error_at (rich_location *, const char *, ...) - ATTRIBUTE_GCC_DIAG(2,3); -extern void fatal_error (location_t, const char *, ...) ATTRIBUTE_GCC_DIAG(2,3) - ATTRIBUTE_NORETURN; -/* Pass one of the OPT_W* from options.h as the second parameter. */ -extern bool pedwarn (location_t, int, const char *, ...) - ATTRIBUTE_GCC_DIAG(3,4); -extern bool pedwarn (rich_location *, int, const char *, ...) - ATTRIBUTE_GCC_DIAG(3,4); -extern bool permerror (location_t, const char *, ...) ATTRIBUTE_GCC_DIAG(2,3); -extern bool permerror (rich_location *, const char *, - ...) ATTRIBUTE_GCC_DIAG(2,3); -extern void sorry (const char *, ...) ATTRIBUTE_GCC_DIAG(1,2); -extern void sorry_at (location_t, const char *, ...) ATTRIBUTE_GCC_DIAG(2,3); -extern void inform (location_t, const char *, ...) ATTRIBUTE_GCC_DIAG(2,3); -extern void inform (rich_location *, const char *, ...) ATTRIBUTE_GCC_DIAG(2,3); -extern void inform_n (location_t, unsigned HOST_WIDE_INT, const char *, - const char *, ...) - ATTRIBUTE_GCC_DIAG(3,5) ATTRIBUTE_GCC_DIAG(4,5); -extern void verbatim (const char *, ...) ATTRIBUTE_GCC_DIAG(1,2); -extern bool emit_diagnostic (diagnostic_t, location_t, int, - const char *, ...) ATTRIBUTE_GCC_DIAG(4,5); -extern bool emit_diagnostic (diagnostic_t, rich_location *, int, - const char *, ...) ATTRIBUTE_GCC_DIAG(4,5); -extern bool emit_diagnostic_valist (diagnostic_t, location_t, int, const char *, - va_list *) ATTRIBUTE_GCC_DIAG (4,0); -extern bool seen_error (void); - -#ifdef BUFSIZ - /* N.B. Unlike all the others, fnotice is just gettext+fprintf, and - therefore it can have ATTRIBUTE_PRINTF. */ -extern void fnotice (FILE *, const char *, ...) - ATTRIBUTE_PRINTF_2; -#endif - -#endif /* ! GCC_DIAGNOSTIC_CORE_H */ diff --git a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/diagnostic-event-id.h b/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/diagnostic-event-id.h deleted file mode 100644 index 84f4b656..00000000 --- a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/diagnostic-event-id.h +++ /dev/null @@ -1,61 +0,0 @@ -/* A class for referring to events within a diagnostic_path. - Copyright (C) 2019-2023 Free Software Foundation, Inc. - Contributed by David Malcolm - -This file is part of GCC. - -GCC is free software; you can redistribute it and/or modify it under -the terms of the GNU General Public License as published by the Free -Software Foundation; either version 3, or (at your option) any later -version. - -GCC is distributed in the hope that it will be useful, but WITHOUT ANY -WARRANTY; without even the implied warranty of MERCHANTABILITY or -FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -for more details. - -You should have received a copy of the GNU General Public License -along with GCC; see the file COPYING3. If not see -. */ - -#ifndef GCC_DIAGNOSTIC_EVENT_ID_H -#define GCC_DIAGNOSTIC_EVENT_ID_H - -/* A class for referring to events within a diagnostic_path. - - They are stored as 0-based offsets into the events, but - printed (e.g. via %@) as 1-based numbers. - - For example, a 3-event path has event offsets 0, 1, and 2, - which would be shown to the user as "(1)", "(2)" and "(3)". - - This has its own header so that pretty-print.cc can use this - to implement "%@" without bringing in all of diagnostic_path - (which e.g. refers to "tree"). */ - -class diagnostic_event_id_t -{ - public: - diagnostic_event_id_t () : m_index (UNKNOWN_EVENT_IDX) {} - diagnostic_event_id_t (int zero_based_idx) : m_index (zero_based_idx) {} - - bool known_p () const { return m_index != UNKNOWN_EVENT_IDX; } - - int one_based () const - { - gcc_assert (known_p ()); - return m_index + 1; - } - - private: - static const int UNKNOWN_EVENT_IDX = -1; - int m_index; // zero-based -}; - -/* A pointer to a diagnostic_event_id_t, for use with the "%@" format - code, which will print a 1-based representation for it, with suitable - colorization, e.g. "(1)". - The %@ format code requires that known_p be true for the event ID. */ -typedef diagnostic_event_id_t *diagnostic_event_id_ptr; - -#endif /* ! GCC_DIAGNOSTIC_EVENT_ID_H */ diff --git a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/diagnostic-metadata.h b/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/diagnostic-metadata.h deleted file mode 100644 index 8e06c89d..00000000 --- a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/diagnostic-metadata.h +++ /dev/null @@ -1,85 +0,0 @@ -/* Additional metadata for a diagnostic. - Copyright (C) 2019-2023 Free Software Foundation, Inc. - Contributed by David Malcolm - -This file is part of GCC. - -GCC is free software; you can redistribute it and/or modify it under -the terms of the GNU General Public License as published by the Free -Software Foundation; either version 3, or (at your option) any later -version. - -GCC is distributed in the hope that it will be useful, but WITHOUT ANY -WARRANTY; without even the implied warranty of MERCHANTABILITY or -FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -for more details. - -You should have received a copy of the GNU General Public License -along with GCC; see the file COPYING3. If not see -. */ - -#ifndef GCC_DIAGNOSTIC_METADATA_H -#define GCC_DIAGNOSTIC_METADATA_H - -/* A bundle of additional metadata that can be associated with a - diagnostic. - - This supports an optional CWE identifier, and zero or more - "rules". */ - -class diagnostic_metadata -{ - public: - /* Abstract base class for referencing a rule that has been violated, - such as within a coding standard, or within a specification. */ - class rule - { - public: - virtual char *make_description () const = 0; - virtual char *make_url () const = 0; - }; - - /* Concrete subclass. */ - class precanned_rule : public rule - { - public: - precanned_rule (const char *desc, const char *url) - : m_desc (desc), m_url (url) - {} - - char *make_description () const final override - { - return m_desc ? xstrdup (m_desc) : NULL; - } - - char *make_url () const final override - { - return m_url ? xstrdup (m_url) : NULL; - } - - private: - const char *m_desc; - const char *m_url; - }; - - diagnostic_metadata () : m_cwe (0) {} - - void add_cwe (int cwe) { m_cwe = cwe; } - int get_cwe () const { return m_cwe; } - - /* Associate R with the diagnostic. R must outlive - the metadata. */ - void add_rule (const rule &r) - { - m_rules.safe_push (&r); - } - - unsigned get_num_rules () const { return m_rules.length (); } - const rule &get_rule (unsigned idx) const { return *(m_rules[idx]); } - - private: - int m_cwe; - auto_vec m_rules; -}; - -#endif /* ! GCC_DIAGNOSTIC_METADATA_H */ diff --git a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/diagnostic-path.h b/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/diagnostic-path.h deleted file mode 100644 index 9d9d6296..00000000 --- a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/diagnostic-path.h +++ /dev/null @@ -1,234 +0,0 @@ -/* Paths through the code associated with a diagnostic. - Copyright (C) 2019-2023 Free Software Foundation, Inc. - Contributed by David Malcolm - -This file is part of GCC. - -GCC is free software; you can redistribute it and/or modify it under -the terms of the GNU General Public License as published by the Free -Software Foundation; either version 3, or (at your option) any later -version. - -GCC is distributed in the hope that it will be useful, but WITHOUT ANY -WARRANTY; without even the implied warranty of MERCHANTABILITY or -FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -for more details. - -You should have received a copy of the GNU General Public License -along with GCC; see the file COPYING3. If not see -. */ - -#ifndef GCC_DIAGNOSTIC_PATH_H -#define GCC_DIAGNOSTIC_PATH_H - -#include "diagnostic.h" /* for ATTRIBUTE_GCC_DIAG. */ -#include "diagnostic-event-id.h" - -/* A diagnostic_path is an optional additional piece of metadata associated - with a diagnostic (via its rich_location). - - It describes a sequence of events predicted by the compiler that - lead to the problem occurring, with their locations in the user's source, - and text descriptions. - - For example, the following error has a 3-event path: - - test.c: In function 'demo': - test.c:29:5: error: passing NULL as argument 1 to 'PyList_Append' which - requires a non-NULL parameter - 29 | PyList_Append(list, item); - | ^~~~~~~~~~~~~~~~~~~~~~~~~ - 'demo': events 1-3 - | - | 25 | list = PyList_New(0); - | | ^~~~~~~~~~~~~ - | | | - | | (1) when 'PyList_New' fails, returning NULL - | 26 | - | 27 | for (i = 0; i < count; i++) { - | | ~~~ - | | | - | | (2) when 'i < count' - | 28 | item = PyLong_FromLong(random()); - | 29 | PyList_Append(list, item); - | | ~~~~~~~~~~~~~~~~~~~~~~~~~ - | | | - | | (3) when calling 'PyList_Append', passing NULL from (1) as argument 1 - | - - The diagnostic-printing code has consolidated the path into a single - run of events, since all the events are near each other and within the same - function; more complicated examples (such as interprocedural paths) - might be printed as multiple runs of events. */ - -/* Abstract base classes, describing events within a path, and the paths - themselves. */ - -/* One event within a diagnostic_path. */ - -class diagnostic_event -{ - public: - /* Enums for giving a sense of what this event means. - Roughly corresponds to SARIF v2.1.0 section 3.38.8. */ - enum verb - { - VERB_unknown, - - VERB_acquire, - VERB_release, - VERB_enter, - VERB_exit, - VERB_call, - VERB_return, - VERB_branch, - - VERB_danger - }; - enum noun - { - NOUN_unknown, - - NOUN_taint, - NOUN_sensitive, // this one isn't in SARIF v2.1.0; filed as https://github.com/oasis-tcs/sarif-spec/issues/530 - NOUN_function, - NOUN_lock, - NOUN_memory, - NOUN_resource - }; - enum property - { - PROPERTY_unknown, - - PROPERTY_true, - PROPERTY_false - }; - /* A bundle of such enums, allowing for descriptions of the meaning of - an event, such as - - "acquire memory": meaning (VERB_acquire, NOUN_memory) - - "take true branch"": meaning (VERB_branch, PROPERTY_true) - - "return from function": meaning (VERB_return, NOUN_function) - etc, as per SARIF's threadFlowLocation "kinds" property - (SARIF v2.1.0 section 3.38.8). */ - struct meaning - { - meaning () - : m_verb (VERB_unknown), - m_noun (NOUN_unknown), - m_property (PROPERTY_unknown) - { - } - meaning (enum verb verb, enum noun noun) - : m_verb (verb), m_noun (noun), m_property (PROPERTY_unknown) - { - } - meaning (enum verb verb, enum property property) - : m_verb (verb), m_noun (NOUN_unknown), m_property (property) - { - } - - void dump_to_pp (pretty_printer *pp) const; - - static const char *maybe_get_verb_str (enum verb); - static const char *maybe_get_noun_str (enum noun); - static const char *maybe_get_property_str (enum property); - - enum verb m_verb; - enum noun m_noun; - enum property m_property; - }; - - virtual ~diagnostic_event () {} - - virtual location_t get_location () const = 0; - - virtual tree get_fndecl () const = 0; - - /* Stack depth, so that consumers can visualizes the interprocedural - calls, returns, and frame nesting. */ - virtual int get_stack_depth () const = 0; - - /* Get a localized (and possibly colorized) description of this event. */ - virtual label_text get_desc (bool can_colorize) const = 0; - - /* Get a logical_location for this event, or NULL. */ - virtual const logical_location *get_logical_location () const = 0; - - virtual meaning get_meaning () const = 0; -}; - -/* Abstract base class for getting at a sequence of events. */ - -class diagnostic_path -{ - public: - virtual ~diagnostic_path () {} - virtual unsigned num_events () const = 0; - virtual const diagnostic_event & get_event (int idx) const = 0; - - bool interprocedural_p () const; - -private: - bool get_first_event_in_a_function (unsigned *out_idx) const; -}; - -/* Concrete subclasses. */ - -/* A simple implementation of diagnostic_event. */ - -class simple_diagnostic_event : public diagnostic_event -{ - public: - simple_diagnostic_event (location_t loc, tree fndecl, int depth, - const char *desc); - ~simple_diagnostic_event (); - - location_t get_location () const final override { return m_loc; } - tree get_fndecl () const final override { return m_fndecl; } - int get_stack_depth () const final override { return m_depth; } - label_text get_desc (bool) const final override - { - return label_text::borrow (m_desc); - } - const logical_location *get_logical_location () const final override - { - return NULL; - } - meaning get_meaning () const final override - { - return meaning (); - } - - private: - location_t m_loc; - tree m_fndecl; - int m_depth; - char *m_desc; // has been i18n-ed and formatted -}; - -/* A simple implementation of diagnostic_path, as a vector of - simple_diagnostic_event instances. */ - -class simple_diagnostic_path : public diagnostic_path -{ - public: - simple_diagnostic_path (pretty_printer *event_pp) - : m_event_pp (event_pp) {} - - unsigned num_events () const final override; - const diagnostic_event & get_event (int idx) const final override; - - diagnostic_event_id_t add_event (location_t loc, tree fndecl, int depth, - const char *fmt, ...) - ATTRIBUTE_GCC_DIAG(5,6); - - private: - auto_delete_vec m_events; - - /* (for use by add_event). */ - pretty_printer *m_event_pp; -}; - -extern void debug (diagnostic_path *path); - -#endif /* ! GCC_DIAGNOSTIC_PATH_H */ diff --git a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/diagnostic-spec.h b/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/diagnostic-spec.h deleted file mode 100644 index 56326895..00000000 --- a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/diagnostic-spec.h +++ /dev/null @@ -1,142 +0,0 @@ -/* Language-independent APIs to enable/disable per-location warnings. - - Copyright (C) 2021-2023 Free Software Foundation, Inc. - Contributed by Martin Sebor - - This file is part of GCC. - - GCC is free software; you can redistribute it and/or modify it under - the terms of the GNU General Public License as published by the Free - Software Foundation; either version 3, or (at your option) any later - version. - - GCC is distributed in the hope that it will be useful, but WITHOUT ANY - WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - for more details. - - You should have received a copy of the GNU General Public License - along with GCC; see the file COPYING3. If not see - . */ - -#ifndef DIAGNOSTIC_SPEC_H_INCLUDED -#define DIAGNOSTIC_SPEC_H_INCLUDED - -#include "hash-map.h" - -/* A "bitset" of warning groups. */ - -class nowarn_spec_t -{ -public: - enum - { - /* Middle end warnings about invalid accesses. */ - NW_ACCESS = 1 << 0, - /* Front end/lexical warnings. */ - NW_LEXICAL = 1 << 1, - /* Warnings about null pointers. */ - NW_NONNULL = 1 << 2, - /* Warnings about uninitialized reads. */ - NW_UNINIT = 1 << 3, - /* Warnings about arithmetic overflow. */ - NW_VFLOW = 1 << 4, - /* Warnings about dangling pointers. */ - NW_DANGLING = 1 << 5, - /* All other unclassified warnings. */ - NW_OTHER = 1 << 6, - /* Warnings about redundant calls. */ - NW_REDUNDANT = 1 << 7, - /* All groups of warnings. */ - NW_ALL = (NW_ACCESS | NW_LEXICAL | NW_NONNULL - | NW_UNINIT | NW_VFLOW | NW_DANGLING | NW_REDUNDANT | NW_OTHER) - }; - - nowarn_spec_t (): m_bits () { } - - nowarn_spec_t (opt_code); - - /* Return the raw bitset. */ - operator unsigned() const - { - return m_bits; - } - - /* Return true if the bitset is clear. */ - bool operator!() const - { - return !m_bits; - } - - /* Return the inverse of the bitset. */ - nowarn_spec_t operator~() const - { - nowarn_spec_t res (*this); - res.m_bits &= ~NW_ALL; - return res; - } - - /* Set *THIS to the bitwise OR of *THIS and RHS. */ - nowarn_spec_t& operator|= (const nowarn_spec_t &rhs) - { - m_bits |= rhs.m_bits; - return *this; - } - - /* Set *THIS to the bitwise AND of *THIS and RHS. */ - nowarn_spec_t& operator&= (const nowarn_spec_t &rhs) - { - m_bits &= rhs.m_bits; - return *this; - } - - /* Set *THIS to the bitwise exclusive OR of *THIS and RHS. */ - nowarn_spec_t& operator^= (const nowarn_spec_t &rhs) - { - m_bits ^= rhs.m_bits; - return *this; - } - -private: - /* Bitset of warning groups. */ - unsigned m_bits; -}; - -/* Return the bitwise OR of LHS and RHS. */ - -inline nowarn_spec_t -operator| (const nowarn_spec_t &lhs, const nowarn_spec_t &rhs) -{ - return nowarn_spec_t (lhs) |= rhs; -} - -/* Return the bitwise AND of LHS and RHS. */ - -inline nowarn_spec_t -operator& (const nowarn_spec_t &lhs, const nowarn_spec_t &rhs) -{ - return nowarn_spec_t (lhs) &= rhs; -} - -/* Return true if LHS is equal RHS. */ - -inline bool -operator== (const nowarn_spec_t &lhs, const nowarn_spec_t &rhs) -{ - return static_cast(lhs) == static_cast(rhs); -} - -/* Return true if LHS is not equal RHS. */ - -inline bool -operator!= (const nowarn_spec_t &lhs, const nowarn_spec_t &rhs) -{ - return !(lhs == rhs); -} - -typedef hash_map nowarn_map_t; - -/* A mapping from a 'location_t' to the warning spec set for it. */ -extern GTY(()) nowarn_map_t *nowarn_map; - -#endif // DIAGNOSTIC_SPEC_H_INCLUDED diff --git a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/diagnostic-url.h b/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/diagnostic-url.h deleted file mode 100644 index 93f0a69a..00000000 --- a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/diagnostic-url.h +++ /dev/null @@ -1,52 +0,0 @@ -/* Copyright (C) 2019-2023 Free Software Foundation, Inc. - Contributed by David Malcolm . - -This file is part of GCC. - -GCC is free software; you can redistribute it and/or modify it under -the terms of the GNU General Public License as published by the Free -Software Foundation; either version 3, or (at your option) any later -version. - -GCC is distributed in the hope that it will be useful, but WITHOUT ANY -WARRANTY; without even the implied warranty of MERCHANTABILITY or -FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -for more details. - -You should have received a copy of the GNU General Public License -along with GCC; see the file COPYING3. If not see -. */ - -#ifndef GCC_DIAGNOSTIC_URL_H -#define GCC_DIAGNOSTIC_URL_H - -/* Whether to add URLs to diagnostics: - - DIAGNOSTICS_URL_NO: never - - DIAGNOSTICS_URL_YES: always - - DIAGNOSTICS_URL_AUTO: depending on the output stream. */ -typedef enum -{ - DIAGNOSTICS_URL_NO = 0, - DIAGNOSTICS_URL_YES = 1, - DIAGNOSTICS_URL_AUTO = 2 -} diagnostic_url_rule_t; - -/* Tells whether URLs should be emitted, and, if so, how to - terminate strings within the escape sequence. */ -enum diagnostic_url_format -{ - /* No URLs shall be emitted. */ - URL_FORMAT_NONE, - - /* Use ST string termination. */ - URL_FORMAT_ST, - - /* Use BEL string termination. */ - URL_FORMAT_BEL -}; - -const diagnostic_url_format URL_FORMAT_DEFAULT = URL_FORMAT_BEL; - -extern diagnostic_url_format determine_url_format (diagnostic_url_rule_t); - -#endif /* ! GCC_DIAGNOSTIC_URL_H */ diff --git a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/diagnostic.def b/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/diagnostic.def deleted file mode 100644 index 813b8daa..00000000 --- a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/diagnostic.def +++ /dev/null @@ -1,55 +0,0 @@ -/* Copyright (C) 2001-2023 Free Software Foundation, Inc. - -This file is part of GCC. - -GCC is free software; you can redistribute it and/or modify it under -the terms of the GNU General Public License as published by the Free -Software Foundation; either version 3, or (at your option) any later -version. - -GCC is distributed in the hope that it will be useful, but WITHOUT ANY -WARRANTY; without even the implied warranty of MERCHANTABILITY or -FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -for more details. - -You should have received a copy of the GNU General Public License -along with GCC; see the file COPYING3. If not see -. */ - -/* DK_UNSPECIFIED must be first so it has a value of zero. We never - assign this kind to an actual diagnostic, we only use this in - variables that can hold a kind, to mean they have yet to have a - kind specified. I.e. they're uninitialized. Within the diagnostic - machinery, this kind also means "don't change the existing kind", - meaning "no change is specified". */ -DEFINE_DIAGNOSTIC_KIND (DK_UNSPECIFIED, "", NULL) - -/* If a diagnostic is set to DK_IGNORED, it won't get reported at all. - This is used by the diagnostic machinery when it wants to disable a - diagnostic without disabling the option which causes it. */ -DEFINE_DIAGNOSTIC_KIND (DK_IGNORED, "", NULL) - -/* The remainder are real diagnostic types. */ -DEFINE_DIAGNOSTIC_KIND (DK_FATAL, "fatal error: ", "error") -DEFINE_DIAGNOSTIC_KIND (DK_ICE, "internal compiler error: ", "error") -DEFINE_DIAGNOSTIC_KIND (DK_ERROR, "error: ", "error") -DEFINE_DIAGNOSTIC_KIND (DK_SORRY, "sorry, unimplemented: ", "error") -DEFINE_DIAGNOSTIC_KIND (DK_WARNING, "warning: ", "warning") -DEFINE_DIAGNOSTIC_KIND (DK_ANACHRONISM, "anachronism: ", "warning") -DEFINE_DIAGNOSTIC_KIND (DK_NOTE, "note: ", "note") -DEFINE_DIAGNOSTIC_KIND (DK_DEBUG, "debug: ", "note") - -/* For use when using the diagnostic_show_locus machinery to show - a range of events within a path. */ -DEFINE_DIAGNOSTIC_KIND (DK_DIAGNOSTIC_PATH, "path: ", "path") - -/* These two would be re-classified as DK_WARNING or DK_ERROR, so the -prefix does not matter. */ -DEFINE_DIAGNOSTIC_KIND (DK_PEDWARN, "pedwarn: ", NULL) -DEFINE_DIAGNOSTIC_KIND (DK_PERMERROR, "permerror: ", NULL) -/* This one is just for counting DK_WARNING promoted to DK_ERROR - due to -Werror and -Werror=warning. */ -DEFINE_DIAGNOSTIC_KIND (DK_WERROR, "error: ", NULL) -/* This is like DK_ICE, but backtrace is not printed. Used in the driver - when reporting fatal signal in the compiler. */ -DEFINE_DIAGNOSTIC_KIND (DK_ICE_NOBT, "internal compiler error: ", "error") diff --git a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/diagnostic.h b/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/diagnostic.h deleted file mode 100644 index 9a51097f..00000000 --- a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/diagnostic.h +++ /dev/null @@ -1,622 +0,0 @@ -/* Various declarations for language-independent diagnostics subroutines. - Copyright (C) 2000-2023 Free Software Foundation, Inc. - Contributed by Gabriel Dos Reis - -This file is part of GCC. - -GCC is free software; you can redistribute it and/or modify it under -the terms of the GNU General Public License as published by the Free -Software Foundation; either version 3, or (at your option) any later -version. - -GCC is distributed in the hope that it will be useful, but WITHOUT ANY -WARRANTY; without even the implied warranty of MERCHANTABILITY or -FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -for more details. - -You should have received a copy of the GNU General Public License -along with GCC; see the file COPYING3. If not see -. */ - -#ifndef GCC_DIAGNOSTIC_H -#define GCC_DIAGNOSTIC_H - -#include "pretty-print.h" -#include "diagnostic-core.h" - -/* An enum for controlling what units to use for the column number - when diagnostics are output, used by the -fdiagnostics-column-unit option. - Tabs will be expanded or not according to the value of -ftabstop. The origin - (default 1) is controlled by -fdiagnostics-column-origin. */ - -enum diagnostics_column_unit -{ - /* The default from GCC 11 onwards: display columns. */ - DIAGNOSTICS_COLUMN_UNIT_DISPLAY, - - /* The behavior in GCC 10 and earlier: simple bytes. */ - DIAGNOSTICS_COLUMN_UNIT_BYTE -}; - -/* An enum for controlling how to print non-ASCII characters/bytes when - a diagnostic suggests escaping the source code on output. */ - -enum diagnostics_escape_format -{ - /* Escape non-ASCII Unicode characters in the form and - non-UTF-8 bytes in the form . */ - DIAGNOSTICS_ESCAPE_FORMAT_UNICODE, - - /* Escape non-ASCII bytes in the form (thus showing the underlying - encoding of non-ASCII Unicode characters). */ - DIAGNOSTICS_ESCAPE_FORMAT_BYTES -}; - -/* Enum for overriding the standard output format. */ - -enum diagnostics_output_format -{ - /* The default: textual output. */ - DIAGNOSTICS_OUTPUT_FORMAT_TEXT, - - /* JSON-based output, to stderr. */ - DIAGNOSTICS_OUTPUT_FORMAT_JSON_STDERR, - - /* JSON-based output, to a file. */ - DIAGNOSTICS_OUTPUT_FORMAT_JSON_FILE, - - /* SARIF-based output, to stderr. */ - DIAGNOSTICS_OUTPUT_FORMAT_SARIF_STDERR, - - /* SARIF-based output, to a file. */ - DIAGNOSTICS_OUTPUT_FORMAT_SARIF_FILE -}; - -/* An enum for controlling how diagnostic_paths should be printed. */ -enum diagnostic_path_format -{ - /* Don't print diagnostic_paths. */ - DPF_NONE, - - /* Print diagnostic_paths by emitting a separate "note" for every event - in the path. */ - DPF_SEPARATE_EVENTS, - - /* Print diagnostic_paths by consolidating events together where they - are close enough, and printing such runs of events with multiple - calls to diagnostic_show_locus, showing the individual events in - each run via labels in the source. */ - DPF_INLINE_EVENTS -}; - -/* An enum for capturing values of GCC_EXTRA_DIAGNOSTIC_OUTPUT, - and for -fdiagnostics-parseable-fixits. */ - -enum diagnostics_extra_output_kind -{ - /* No extra output, or an unrecognized value. */ - EXTRA_DIAGNOSTIC_OUTPUT_none, - - /* Emit fix-it hints using the "fixits-v1" format, equivalent to - -fdiagnostics-parseable-fixits. */ - EXTRA_DIAGNOSTIC_OUTPUT_fixits_v1, - - /* Emit fix-it hints using the "fixits-v2" format. */ - EXTRA_DIAGNOSTIC_OUTPUT_fixits_v2 -}; - -/* A diagnostic is described by the MESSAGE to send, the FILE and LINE of - its context and its KIND (ice, error, warning, note, ...) See complete - list in diagnostic.def. */ -struct diagnostic_info -{ - diagnostic_info () - : message (), richloc (), metadata (), x_data (), kind (), option_index (), - m_iinfo () - { } - - /* Text to be formatted. */ - text_info message; - - /* The location at which the diagnostic is to be reported. */ - rich_location *richloc; - - /* An optional bundle of metadata associated with the diagnostic - (or NULL). */ - const diagnostic_metadata *metadata; - - /* Auxiliary data for client. */ - void *x_data; - /* The kind of diagnostic it is about. */ - diagnostic_t kind; - /* Which OPT_* directly controls this diagnostic. */ - int option_index; - - /* Inlining context containing locations for each call site along - the inlining stack. */ - struct inlining_info - { - /* Locations along the inlining stack. */ - auto_vec m_ilocs; - /* The abstract origin of the location. */ - void *m_ao; - /* Set if every M_ILOCS element is in a system header. */ - bool m_allsyslocs; - } m_iinfo; -}; - -/* Each time a diagnostic's classification is changed with a pragma, - we record the change and the location of the change in an array of - these structs. */ -struct diagnostic_classification_change_t -{ - location_t location; - int option; - diagnostic_t kind; -}; - -/* Forward declarations. */ -typedef void (*diagnostic_starter_fn) (diagnostic_context *, - diagnostic_info *); - -typedef void (*diagnostic_start_span_fn) (diagnostic_context *, - expanded_location); - -typedef void (*diagnostic_finalizer_fn) (diagnostic_context *, - diagnostic_info *, - diagnostic_t); - -class edit_context; -namespace json { class value; } -class diagnostic_client_data_hooks; -class logical_location; - -/* This data structure bundles altogether any information relevant to - the context of a diagnostic message. */ -struct diagnostic_context -{ - /* Where most of the diagnostic formatting work is done. */ - pretty_printer *printer; - - /* Cache of source code. */ - file_cache *m_file_cache; - - /* The number of times we have issued diagnostics. */ - int diagnostic_count[DK_LAST_DIAGNOSTIC_KIND]; - - /* True if it has been requested that warnings be treated as errors. */ - bool warning_as_error_requested; - - /* The number of option indexes that can be passed to warning() et - al. */ - int n_opts; - - /* For each option index that can be passed to warning() et al - (OPT_* from options.h when using this code with the core GCC - options), this array may contain a new kind that the diagnostic - should be changed to before reporting, or DK_UNSPECIFIED to leave - it as the reported kind, or DK_IGNORED to not report it at - all. */ - diagnostic_t *classify_diagnostic; - - /* History of all changes to the classifications above. This list - is stored in location-order, so we can search it, either - binary-wise or end-to-front, to find the most recent - classification for a given diagnostic, given the location of the - diagnostic. */ - diagnostic_classification_change_t *classification_history; - - /* The size of the above array. */ - int n_classification_history; - - /* For pragma push/pop. */ - int *push_list; - int n_push; - - /* True if we should print the source line with a caret indicating - the location. */ - bool show_caret; - - /* Maximum width of the source line printed. */ - int caret_max_width; - - /* Character used for caret diagnostics. */ - char caret_chars[rich_location::STATICALLY_ALLOCATED_RANGES]; - - /* True if we should print any CWE identifiers associated with - diagnostics. */ - bool show_cwe; - - /* True if we should print any rules associated with diagnostics. */ - bool show_rules; - - /* How should diagnostic_path objects be printed. */ - enum diagnostic_path_format path_format; - - /* True if we should print stack depths when printing diagnostic paths. */ - bool show_path_depths; - - /* True if we should print the command line option which controls - each diagnostic, if known. */ - bool show_option_requested; - - /* True if we should raise a SIGABRT on errors. */ - bool abort_on_error; - - /* True if we should show the column number on diagnostics. */ - bool show_column; - - /* True if pedwarns are errors. */ - bool pedantic_errors; - - /* True if permerrors are warnings. */ - bool permissive; - - /* The index of the option to associate with turning permerrors into - warnings. */ - int opt_permissive; - - /* True if errors are fatal. */ - bool fatal_errors; - - /* True if all warnings should be disabled. */ - bool dc_inhibit_warnings; - - /* True if warnings should be given in system headers. */ - bool dc_warn_system_headers; - - /* Maximum number of errors to report. */ - int max_errors; - - /* This function is called before any message is printed out. It is - responsible for preparing message prefix and such. For example, it - might say: - In file included from "/usr/local/include/curses.h:5: - from "/home/gdr/src/nifty_printer.h:56: - ... - */ - diagnostic_starter_fn begin_diagnostic; - - /* This function is called by diagnostic_show_locus in between - disjoint spans of source code, so that the context can print - something to indicate that a new span of source code has begun. */ - diagnostic_start_span_fn start_span; - - /* This function is called after the diagnostic message is printed. */ - diagnostic_finalizer_fn end_diagnostic; - - /* Client hook to report an internal error. */ - void (*internal_error) (diagnostic_context *, const char *, va_list *); - - /* Client hook to say whether the option controlling a diagnostic is - enabled. Returns nonzero if enabled, zero if disabled. */ - int (*option_enabled) (int, unsigned, void *); - - /* Client information to pass as second argument to - option_enabled. */ - void *option_state; - - /* Client hook to return the name of an option that controls a - diagnostic. Returns malloced memory. The first diagnostic_t - argument is the kind of diagnostic before any reclassification - (of warnings as errors, etc.); the second is the kind after any - reclassification. May return NULL if no name is to be printed. - May be passed 0 as well as the index of a particular option. */ - char *(*option_name) (diagnostic_context *, int, diagnostic_t, diagnostic_t); - - /* Client hook to return a URL describing the option that controls - a diagnostic. Returns malloced memory. May return NULL if no URL - is available. May be passed 0 as well as the index of a - particular option. */ - char *(*get_option_url) (diagnostic_context *, int); - - void (*print_path) (diagnostic_context *, const diagnostic_path *); - json::value *(*make_json_for_path) (diagnostic_context *, const diagnostic_path *); - - /* Auxiliary data for client. */ - void *x_data; - - /* Used to detect that the last caret was printed at the same location. */ - location_t last_location; - - /* Used to detect when the input file stack has changed since last - described. */ - const line_map_ordinary *last_module; - - int lock; - - /* A copy of lang_hooks.option_lang_mask (). */ - unsigned lang_mask; - - bool inhibit_notes_p; - - /* When printing source code, should the characters at carets and ranges - be colorized? (assuming colorization is on at all). - This should be true for frontends that generate range information - (so that the ranges of code are colorized), - and false for frontends that merely specify points within the - source code (to avoid e.g. colorizing just the first character in - a token, which would look strange). */ - bool colorize_source_p; - - /* When printing source code, should labelled ranges be printed? */ - bool show_labels_p; - - /* When printing source code, should there be a left-hand margin - showing line numbers? */ - bool show_line_numbers_p; - - /* If printing source code, what should the minimum width of the margin - be? Line numbers will be right-aligned, and padded to this width. */ - int min_margin_width; - - /* Usable by plugins; if true, print a debugging ruler above the - source output. */ - bool show_ruler_p; - - /* True if -freport-bug option is used. */ - bool report_bug; - - /* Used to specify additional diagnostic output to be emitted after the - rest of the diagnostic. This is for implementing - -fdiagnostics-parseable-fixits and GCC_EXTRA_DIAGNOSTIC_OUTPUT. */ - enum diagnostics_extra_output_kind extra_output_kind; - - /* What units to use when outputting the column number. */ - enum diagnostics_column_unit column_unit; - - /* The origin for the column number (1-based or 0-based typically). */ - int column_origin; - - /* The size of the tabstop for tab expansion. */ - int tabstop; - - /* How should non-ASCII/non-printable bytes be escaped when - a diagnostic suggests escaping the source code on output. */ - enum diagnostics_escape_format escape_format; - - /* If non-NULL, an edit_context to which fix-it hints should be - applied, for generating patches. */ - edit_context *edit_context_ptr; - - /* How many diagnostic_group instances are currently alive. */ - int diagnostic_group_nesting_depth; - - /* How many diagnostics have been emitted since the bottommost - diagnostic_group was pushed. */ - int diagnostic_group_emission_count; - - /* Optional callbacks for handling diagnostic groups. */ - - /* If non-NULL, this will be called immediately before the first - time a diagnostic is emitted within a stack of groups. */ - void (*begin_group_cb) (diagnostic_context * context); - - /* If non-NULL, this will be called when a stack of groups is - popped if any diagnostics were emitted within that group. */ - void (*end_group_cb) (diagnostic_context * context); - - /* Callback for final cleanup. */ - void (*final_cb) (diagnostic_context *context); - - /* Callback to set the locations of call sites along the inlining - stack corresponding to a diagnostic location. Needed to traverse - the BLOCK_SUPERCONTEXT() chain hanging off the LOCATION_BLOCK() - of a diagnostic's location. */ - void (*set_locations_cb)(diagnostic_context *, diagnostic_info *); - - /* Optional callback for attempting to handle ICEs gracefully. */ - void (*ice_handler_cb) (diagnostic_context *context); - - /* Include files that diagnostic_report_current_module has already listed the - include path for. */ - hash_set *includes_seen; - - /* A bundle of hooks for providing data to the context about its client - e.g. version information, plugins, etc. - Used by SARIF output to give metadata about the client that's - producing diagnostics. */ - diagnostic_client_data_hooks *m_client_data_hooks; -}; - -inline void -diagnostic_inhibit_notes (diagnostic_context * context) -{ - context->inhibit_notes_p = true; -} - - -/* Client supplied function to announce a diagnostic. */ -#define diagnostic_starter(DC) (DC)->begin_diagnostic - -/* Client supplied function called after a diagnostic message is - displayed. */ -#define diagnostic_finalizer(DC) (DC)->end_diagnostic - -/* Extension hooks for client. */ -#define diagnostic_context_auxiliary_data(DC) (DC)->x_data -#define diagnostic_info_auxiliary_data(DI) (DI)->x_data - -/* Same as pp_format_decoder. Works on 'diagnostic_context *'. */ -#define diagnostic_format_decoder(DC) ((DC)->printer->format_decoder) - -/* Same as output_prefixing_rule. Works on 'diagnostic_context *'. */ -#define diagnostic_prefixing_rule(DC) ((DC)->printer->wrapping.rule) - -/* Raise SIGABRT on any diagnostic of severity DK_ERROR or higher. */ -#define diagnostic_abort_on_error(DC) \ - (DC)->abort_on_error = true - -/* This diagnostic_context is used by front-ends that directly output - diagnostic messages without going through `error', `warning', - and similar functions. */ -extern diagnostic_context *global_dc; - -/* Returns whether the diagnostic framework has been intialized already and is - ready for use. */ -#define diagnostic_ready_p() (global_dc->printer != NULL) - -/* The total count of a KIND of diagnostics emitted so far. */ -#define diagnostic_kind_count(DC, DK) (DC)->diagnostic_count[(int) (DK)] - -/* The number of errors that have been issued so far. Ideally, these - would take a diagnostic_context as an argument. */ -#define errorcount diagnostic_kind_count (global_dc, DK_ERROR) -/* Similarly, but for warnings. */ -#define warningcount diagnostic_kind_count (global_dc, DK_WARNING) -/* Similarly, but for warnings promoted to errors. */ -#define werrorcount diagnostic_kind_count (global_dc, DK_WERROR) -/* Similarly, but for sorrys. */ -#define sorrycount diagnostic_kind_count (global_dc, DK_SORRY) - -/* Returns nonzero if warnings should be emitted. */ -#define diagnostic_report_warnings_p(DC, LOC) \ - (!(DC)->dc_inhibit_warnings \ - && !(in_system_header_at (LOC) && !(DC)->dc_warn_system_headers)) - -/* Override the option index to be used for reporting a - diagnostic. */ - -inline void -diagnostic_override_option_index (diagnostic_info *info, int optidx) -{ - info->option_index = optidx; -} - -/* Diagnostic related functions. */ -extern void diagnostic_initialize (diagnostic_context *, int); -extern void diagnostic_color_init (diagnostic_context *, int value = -1); -extern void diagnostic_urls_init (diagnostic_context *, int value = -1); -extern void diagnostic_finish (diagnostic_context *); -extern void diagnostic_report_current_module (diagnostic_context *, location_t); -extern void diagnostic_show_locus (diagnostic_context *, - rich_location *richloc, - diagnostic_t diagnostic_kind); -extern void diagnostic_show_any_path (diagnostic_context *, diagnostic_info *); - -/* Because we read source files a second time after the frontend did it the - first time, we need to know how the frontend handled things like character - set conversion and UTF-8 BOM stripping, in order to make everything - consistent. This function needs to be called by each frontend that requires - non-default behavior, to inform the diagnostics infrastructure how input is - to be processed. The default behavior is to do no conversion and not to - strip a UTF-8 BOM. - - The callback should return the input charset to be used to convert the given - file's contents to UTF-8, or it should return NULL if no conversion is needed - for this file. SHOULD_SKIP_BOM only applies in case no conversion was - performed, and if true, it will cause a UTF-8 BOM to be skipped at the - beginning of the file. (In case a conversion was performed, the BOM is - rather skipped as part of the conversion process.) */ - -void diagnostic_initialize_input_context (diagnostic_context *context, - diagnostic_input_charset_callback ccb, - bool should_skip_bom); - -/* Force diagnostics controlled by OPTIDX to be kind KIND. */ -extern diagnostic_t diagnostic_classify_diagnostic (diagnostic_context *, - int /* optidx */, - diagnostic_t /* kind */, - location_t); -extern void diagnostic_push_diagnostics (diagnostic_context *, location_t); -extern void diagnostic_pop_diagnostics (diagnostic_context *, location_t); -extern bool diagnostic_report_diagnostic (diagnostic_context *, - diagnostic_info *); -#ifdef ATTRIBUTE_GCC_DIAG -extern void diagnostic_set_info (diagnostic_info *, const char *, va_list *, - rich_location *, diagnostic_t) ATTRIBUTE_GCC_DIAG(2,0); -extern void diagnostic_set_info_translated (diagnostic_info *, const char *, - va_list *, rich_location *, - diagnostic_t) - ATTRIBUTE_GCC_DIAG(2,0); -extern void diagnostic_append_note (diagnostic_context *, location_t, - const char *, ...) ATTRIBUTE_GCC_DIAG(3,4); -#endif -extern char *diagnostic_build_prefix (diagnostic_context *, const diagnostic_info *); -void default_diagnostic_starter (diagnostic_context *, diagnostic_info *); -void default_diagnostic_start_span_fn (diagnostic_context *, - expanded_location); -void default_diagnostic_finalizer (diagnostic_context *, diagnostic_info *, - diagnostic_t); -void diagnostic_set_caret_max_width (diagnostic_context *context, int value); -void diagnostic_action_after_output (diagnostic_context *, diagnostic_t); -void diagnostic_check_max_errors (diagnostic_context *, bool flush = false); - -void diagnostic_file_cache_fini (void); - -int get_terminal_width (void); - -/* Return the location associated to this diagnostic. Parameter WHICH - specifies which location. By default, expand the first one. */ - -inline location_t -diagnostic_location (const diagnostic_info * diagnostic, int which = 0) -{ - return diagnostic->message.get_location (which); -} - -/* Return the number of locations to be printed in DIAGNOSTIC. */ - -inline unsigned int -diagnostic_num_locations (const diagnostic_info * diagnostic) -{ - return diagnostic->message.m_richloc->get_num_locations (); -} - -/* Expand the location of this diagnostic. Use this function for - consistency. Parameter WHICH specifies which location. By default, - expand the first one. */ - -inline expanded_location -diagnostic_expand_location (const diagnostic_info * diagnostic, int which = 0) -{ - return diagnostic->richloc->get_expanded_location (which); -} - -/* This is somehow the right-side margin of a caret line, that is, we - print at least these many characters after the position pointed at - by the caret. */ -const int CARET_LINE_MARGIN = 10; - -/* Return true if the two locations can be represented within the same - caret line. This is used to build a prefix and also to determine - whether to print one or two caret lines. */ - -inline bool -diagnostic_same_line (const diagnostic_context *context, - expanded_location s1, expanded_location s2) -{ - return s2.column && s1.line == s2.line - && context->caret_max_width - CARET_LINE_MARGIN > abs (s1.column - s2.column); -} - -extern const char *diagnostic_get_color_for_kind (diagnostic_t kind); -extern int diagnostic_converted_column (diagnostic_context *context, - expanded_location s); - -/* Pure text formatting support functions. */ -extern char *file_name_as_prefix (diagnostic_context *, const char *); - -extern char *build_message_string (const char *, ...) ATTRIBUTE_PRINTF_1; - -extern void diagnostic_output_format_init (diagnostic_context *, - const char *base_file_name, - enum diagnostics_output_format); -extern void diagnostic_output_format_init_json_stderr (diagnostic_context *context); -extern void diagnostic_output_format_init_json_file (diagnostic_context *context, - const char *base_file_name); -extern void diagnostic_output_format_init_sarif_stderr (diagnostic_context *context); -extern void diagnostic_output_format_init_sarif_file (diagnostic_context *context, - const char *base_file_name); - -/* Compute the number of digits in the decimal representation of an integer. */ -extern int num_digits (int); - -extern json::value *json_from_expanded_location (diagnostic_context *context, - location_t loc); - -extern bool warning_enabled_at (location_t, int); - -extern char *get_cwe_url (int cwe); - -#endif /* ! GCC_DIAGNOSTIC_H */ diff --git a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/digraph.h b/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/digraph.h deleted file mode 100644 index c880739e..00000000 --- a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/digraph.h +++ /dev/null @@ -1,246 +0,0 @@ -/* Template classes for directed graphs. - Copyright (C) 2019-2023 Free Software Foundation, Inc. - Contributed by David Malcolm . - -This file is part of GCC. - -GCC is free software; you can redistribute it and/or modify it -under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 3, or (at your option) -any later version. - -GCC is distributed in the hope that it will be useful, but -WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GCC; see the file COPYING3. If not see -. */ - -#ifndef GCC_DIGRAPH_H -#define GCC_DIGRAPH_H - -#include "diagnostic.h" -#include "tree-diagnostic.h" /* for default_tree_printer. */ -#include "graphviz.h" - -/* Templates for a family of classes: digraph, node, edge, and cluster. - This assumes a traits type with the following typedefs: - node_t: the node class - edge_t: the edge class - dump_args_t: additional args for dot-dumps - cluster_t: the cluster class (for use when generating .dot files). - - Using a template allows for typesafe nodes and edges: a node's - predecessor and successor edges can be of a node-specific edge - subclass, without needing casting. */ - -/* Abstract base class for a node in a directed graph. */ - -template -class dnode -{ - public: - typedef typename GraphTraits::edge_t edge_t; - typedef typename GraphTraits::dump_args_t dump_args_t; - - virtual ~dnode () {} - virtual void dump_dot (graphviz_out *gv, const dump_args_t &args) const = 0; - - auto_vec m_preds; - auto_vec m_succs; -}; - -/* Abstract base class for an edge in a directed graph. */ - -template -class dedge -{ - public: - typedef typename GraphTraits::node_t node_t; - typedef typename GraphTraits::dump_args_t dump_args_t; - - dedge (node_t *src, node_t *dest) - : m_src (src), m_dest (dest) {} - - virtual ~dedge () {} - - virtual void dump_dot (graphviz_out *gv, const dump_args_t &args) const = 0; - - node_t *const m_src; - node_t *const m_dest; -}; - -/* Abstract base class for a directed graph. - This class maintains the vectors of nodes and edges, - and owns the nodes and edges. */ - -template -class digraph -{ - public: - typedef typename GraphTraits::node_t node_t; - typedef typename GraphTraits::edge_t edge_t; - typedef typename GraphTraits::dump_args_t dump_args_t; - typedef typename GraphTraits::cluster_t cluster_t; - - digraph () {} - virtual ~digraph () {} - - void dump_dot_to_pp (pretty_printer *pp, - cluster_t *root_cluster, - const dump_args_t &args) const; - void dump_dot_to_file (FILE *fp, - cluster_t *root_cluster, - const dump_args_t &args) const; - void dump_dot (const char *path, - cluster_t *root_cluster, - const dump_args_t &args) const; - - void add_node (node_t *node); - void add_edge (edge_t *edge); - - auto_delete_vec m_nodes; - auto_delete_vec m_edges; -}; - -/* Abstract base class for splitting dnodes into hierarchical clusters - in the generated .dot file. - - See "Subgraphs and Clusters" within - https://www.graphviz.org/doc/info/lang.html - and e.g. - https://graphviz.gitlab.io/_pages/Gallery/directed/cluster.html - - If a root_cluster is passed to dump_dot*, then all nodes will be - added to it at the start of dumping, via calls to add_node. - - The root cluster can organize the nodes into a hierarchy of - child clusters. - - After all nodes are added to the root cluster, dump_dot will then - be called on it (and not on the nodes themselves). */ - -template -class cluster -{ - public: - typedef typename GraphTraits::node_t node_t; - typedef typename GraphTraits::dump_args_t dump_args_t; - - virtual ~cluster () {} - - virtual void add_node (node_t *node) = 0; - - /* Recursively dump the cluster, all nodes, and child clusters. */ - virtual void dump_dot (graphviz_out *gv, const dump_args_t &) const = 0; -}; - -/* Write .dot information for this graph to PP, passing ARGS to the nodes - and edges. - If ROOT_CLUSTER is non-NULL, use it to organize the nodes into clusters. */ - -template -inline void -digraph::dump_dot_to_pp (pretty_printer *pp, - cluster_t *root_cluster, - const dump_args_t &args) const -{ - graphviz_out gv (pp); - - pp_string (pp, "digraph \""); - pp_string (pp, "base"); - pp_string (pp, "\" {\n"); - - gv.indent (); - - pp_string (pp, "overlap=false;\n"); - pp_string (pp, "compound=true;\n"); - - /* If using clustering, emit all nodes via clusters. */ - if (root_cluster) - { - int i; - node_t *n; - FOR_EACH_VEC_ELT (m_nodes, i, n) - root_cluster->add_node (n); - root_cluster->dump_dot (&gv, args); - } - else - { - /* Otherwise, display all nodes at top level. */ - int i; - node_t *n; - FOR_EACH_VEC_ELT (m_nodes, i, n) - n->dump_dot (&gv, args); - } - - /* Edges. */ - int i; - edge_t *e; - FOR_EACH_VEC_ELT (m_edges, i, e) - e->dump_dot (&gv, args); - - /* Terminate "digraph" */ - gv.outdent (); - pp_string (pp, "}"); - pp_newline (pp); -} - -/* Write .dot information for this graph to FP, passing ARGS to the nodes - and edges. - If ROOT_CLUSTER is non-NULL, use it to organize the nodes into clusters. */ - -template -inline void -digraph::dump_dot_to_file (FILE *fp, - cluster_t *root_cluster, - const dump_args_t &args) const -{ - pretty_printer pp; - // TODO: - pp_format_decoder (&pp) = default_tree_printer; - pp.buffer->stream = fp; - dump_dot_to_pp (&pp, root_cluster, args); - pp_flush (&pp); -} - -/* Write .dot information for this graph to a file at PATH, passing ARGS - to the nodes and edges. - If ROOT_CLUSTER is non-NULL, use it to organize the nodes into clusters. */ - -template -inline void -digraph::dump_dot (const char *path, - cluster_t *root_cluster, - const dump_args_t &args) const -{ - FILE *fp = fopen (path, "w"); - dump_dot_to_file (fp, root_cluster, args); - fclose (fp); -} - -/* Add NODE to this DIGRAPH, taking ownership. */ - -template -inline void -digraph::add_node (node_t *node) -{ - m_nodes.safe_push (node); -} - -/* Add EDGE to this digraph, and to the preds/succs of its endpoints. - Take ownership of EDGE. */ - -template -inline void -digraph::add_edge (edge_t *edge) -{ - m_edges.safe_push (edge); - edge->m_dest->m_preds.safe_push (edge); - edge->m_src->m_succs.safe_push (edge); - -} - -#endif /* GCC_DIGRAPH_H */ diff --git a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/dojump.h b/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/dojump.h deleted file mode 100644 index 5217a9af..00000000 --- a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/dojump.h +++ /dev/null @@ -1,82 +0,0 @@ -/* Export function prototypes from dojump.cc. - Copyright (C) 2015-2023 Free Software Foundation, Inc. - -This file is part of GCC. - -GCC is free software; you can redistribute it and/or modify it under -the terms of the GNU General Public License as published by the Free -Software Foundation; either version 3, or (at your option) any later -version. - -GCC is distributed in the hope that it will be useful, but WITHOUT ANY -WARRANTY; without even the implied warranty of MERCHANTABILITY or -FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -for more details. - -You should have received a copy of the GNU General Public License -along with GCC; see the file COPYING3. If not see -. */ - -#ifndef GCC_DOJUMP_H -#define GCC_DOJUMP_H - -/* At the start of a function, record that we have no previously-pushed - arguments waiting to be popped. */ -extern void init_pending_stack_adjust (void); - -/* Discard any pending stack adjustment. */ -extern void discard_pending_stack_adjust (void); - -/* When exiting from function, if safe, clear out any pending stack adjust - so the adjustment won't get done. */ -extern void clear_pending_stack_adjust (void); - -/* Pop any previously-pushed arguments that have not been popped yet. */ -extern void do_pending_stack_adjust (void); - -/* Struct for saving/restoring of pending_stack_adjust/stack_pointer_delta - values. */ - -class saved_pending_stack_adjust -{ -public: - /* Saved value of pending_stack_adjust. */ - poly_int64 x_pending_stack_adjust; - - /* Saved value of stack_pointer_delta. */ - poly_int64 x_stack_pointer_delta; -}; - -/* Remember pending_stack_adjust/stack_pointer_delta. - To be used around code that may call do_pending_stack_adjust (), - but the generated code could be discarded e.g. using delete_insns_since. */ - -extern void save_pending_stack_adjust (saved_pending_stack_adjust *); - -/* Restore the saved pending_stack_adjust/stack_pointer_delta. */ - -extern void restore_pending_stack_adjust (saved_pending_stack_adjust *); - -extern bool split_comparison (enum rtx_code, machine_mode, - enum rtx_code *, enum rtx_code *); - -/* Generate code to evaluate EXP and jump to LABEL if the value is nonzero. */ -extern void jumpif (tree exp, rtx_code_label *label, profile_probability prob); -extern void jumpif_1 (enum tree_code, tree, tree, rtx_code_label *, - profile_probability); - -/* Generate code to evaluate EXP and jump to LABEL if the value is zero. */ -extern void jumpifnot (tree exp, rtx_code_label *label, - profile_probability prob); -extern void jumpifnot_1 (enum tree_code, tree, tree, rtx_code_label *, - profile_probability); - -extern void do_compare_rtx_and_jump (rtx, rtx, enum rtx_code, int, tree, - machine_mode, rtx, rtx_code_label *, - rtx_code_label *, profile_probability); - -extern void do_compare_rtx_and_jump (rtx, rtx, enum rtx_code, int, - machine_mode, rtx, rtx_code_label *, - rtx_code_label *, profile_probability); - -#endif /* GCC_DOJUMP_H */ diff --git a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/dominance.h b/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/dominance.h deleted file mode 100644 index ddac0f58..00000000 --- a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/dominance.h +++ /dev/null @@ -1,94 +0,0 @@ -/* Calculate (post)dominators header file. - Copyright (C) 2014-2023 Free Software Foundation, Inc. - - This file is part of GCC. - - GCC is free software; you can redistribute it and/or modify it - under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 3, or (at your option) - any later version. - - GCC is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY - or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public - License for more details. - - You should have received a copy of the GNU General Public License - along with GCC; see the file COPYING3. If not see - . */ - -#ifndef GCC_DOMINANCE_H -#define GCC_DOMINANCE_H - -enum cdi_direction -{ - CDI_DOMINATORS = 1, - CDI_POST_DOMINATORS = 2 -}; - -/* State of dominance information. */ - -enum dom_state -{ - DOM_NONE, /* Not computed at all. */ - DOM_NO_FAST_QUERY, /* The data is OK, but the fast query data are not usable. */ - DOM_OK /* Everything is ok. */ -}; - -extern void calculate_dominance_info (enum cdi_direction, bool = true); -extern void calculate_dominance_info_for_region (enum cdi_direction, - vec); -extern void free_dominance_info (function *, enum cdi_direction); -extern void free_dominance_info (enum cdi_direction); -extern void free_dominance_info_for_region (function *, - enum cdi_direction, - vec); -extern basic_block get_immediate_dominator (enum cdi_direction, basic_block); -extern void set_immediate_dominator (enum cdi_direction, basic_block, - basic_block); -extern auto_vec get_dominated_by (enum cdi_direction, basic_block); -extern auto_vec get_dominated_by_region (enum cdi_direction, - basic_block *, - unsigned); -extern auto_vec get_dominated_to_depth (enum cdi_direction, - basic_block, int); -extern auto_vec get_all_dominated_blocks (enum cdi_direction, - basic_block); -extern void redirect_immediate_dominators (enum cdi_direction, basic_block, - basic_block); -extern basic_block nearest_common_dominator (enum cdi_direction, - basic_block, basic_block); -extern basic_block nearest_common_dominator_for_set (enum cdi_direction, - bitmap); -extern bool dominated_by_p (enum cdi_direction, const_basic_block, - const_basic_block); -unsigned bb_dom_dfs_in (enum cdi_direction, basic_block); -unsigned bb_dom_dfs_out (enum cdi_direction, basic_block); -extern void verify_dominators (enum cdi_direction); - -/* Verify invariants of computed dominance information, if internal consistency - checks are enabled. */ - -inline void -checking_verify_dominators (cdi_direction dir) -{ - if (flag_checking) - verify_dominators (dir); -} - -basic_block recompute_dominator (enum cdi_direction, basic_block); -extern void iterate_fix_dominators (enum cdi_direction, - vec &, bool); -extern void add_to_dominance_info (enum cdi_direction, basic_block); -extern void delete_from_dominance_info (enum cdi_direction, basic_block); -extern basic_block first_dom_son (enum cdi_direction, basic_block); -extern basic_block next_dom_son (enum cdi_direction, basic_block); -extern enum dom_state dom_info_state (function *, enum cdi_direction); -extern enum dom_state dom_info_state (enum cdi_direction); -extern void set_dom_info_availability (enum cdi_direction, enum dom_state); -extern bool dom_info_available_p (function *, enum cdi_direction); -extern bool dom_info_available_p (enum cdi_direction); - - - -#endif /* GCC_DOMINANCE_H */ diff --git a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/domwalk.h b/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/domwalk.h deleted file mode 100644 index d518d08d..00000000 --- a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/domwalk.h +++ /dev/null @@ -1,115 +0,0 @@ -/* Generic dominator tree walker - Copyright (C) 2003-2023 Free Software Foundation, Inc. - Contributed by Diego Novillo - -This file is part of GCC. - -GCC is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 3, or (at your option) -any later version. - -GCC is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GCC; see the file COPYING3. If not see -. */ - -#ifndef GCC_DOM_WALK_H -#define GCC_DOM_WALK_H - -/** - * This is the main class for the dominator walker. It is expected that - * consumers will have a custom class inheriting from it, which will over ride - * at least one of before_dom_children and after_dom_children to implement the - * custom behavior. - */ -class dom_walker -{ -public: - static const edge STOP; - - /* An enum for determining whether the dom walk should be constrained to - blocks reachable by executable edges. */ - - enum reachability - { - /* Walk all blocks within the CFG. */ - ALL_BLOCKS, - - /* Use REACHABLE_BLOCKS when your subclass can discover that some edges - are not executable. - - If a subclass can discover that a COND, SWITCH or GOTO has a static - target in the before_dom_children callback, the taken edge should - be returned. The generic walker will clear EDGE_EXECUTABLE on all - edges it can determine are not executable. - - With REACHABLE_BLOCKS, EDGE_EXECUTABLE will be set on every edge in - the dom_walker ctor; the flag will then be cleared on edges that are - determined to be not executable. */ - REACHABLE_BLOCKS, - - /* Identical to REACHABLE_BLOCKS, but the initial state of EDGE_EXECUTABLE - will instead be preserved in the ctor, allowing for information about - non-executable edges to be merged in from an earlier analysis (and - potentially for additional edges to be marked as non-executable). */ - REACHABLE_BLOCKS_PRESERVING_FLAGS - }; - - /* You can provide a mapping of basic-block index to RPO if you - have that readily available or you do multiple walks. If you - specify NULL as BB_INDEX_TO_RPO this mapping will be computed - lazily at walk time. If you specify -1 dominator children will - not be walked in RPO order. */ - dom_walker (cdi_direction direction, enum reachability = ALL_BLOCKS, - int *bb_index_to_rpo = NULL); - - ~dom_walker (); - - /* Walk the dominator tree. */ - void walk (basic_block); - - /* Function to call before the recursive walk of the dominator children. - - Return value is the always taken edge if the block has multiple outgoing - edges, NULL otherwise. When skipping unreachable blocks, the walker - uses the taken edge information to clear EDGE_EXECUTABLE on the other - edges, exposing unreachable blocks. A NULL return value means all - outgoing edges should still be considered executable. A return value - of STOP means to stop the domwalk from processing dominated blocks from - here. This can be used to process a SEME region only (note domwalk - will still do work linear in function size). */ - virtual edge before_dom_children (basic_block) { return NULL; } - - /* Function to call after the recursive walk of the dominator children. */ - virtual void after_dom_children (basic_block) {} - -private: - /* This is the direction of the dominator tree we want to walk. i.e., - if it is set to CDI_DOMINATORS, then we walk the dominator tree, - if it is set to CDI_POST_DOMINATORS, then we walk the post - dominator tree. */ - const ENUM_BITFIELD (cdi_direction) m_dom_direction : 2; - const ENUM_BITFIELD (reachability) m_reachability : 2; - bool m_user_bb_to_rpo; - basic_block m_unreachable_dom; - int *m_bb_to_rpo; - - /* Query whether or not the given block is reachable or not. */ - bool bb_reachable (struct function *, basic_block); - - /* Given an unreachable block, propagate that property to outgoing - and possibly incoming edges for the block. Typically called after - determining a block is unreachable in the before_dom_children - callback. */ - void propagate_unreachable_to_edges (basic_block, FILE *, dump_flags_t); - -}; - -extern void set_all_edges_as_executable (function *fn); - -#endif diff --git a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/double-int.h b/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/double-int.h deleted file mode 100644 index 41abe847..00000000 --- a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/double-int.h +++ /dev/null @@ -1,470 +0,0 @@ -/* Operations with long integers. - Copyright (C) 2006-2023 Free Software Foundation, Inc. - -This file is part of GCC. - -GCC is free software; you can redistribute it and/or modify it -under the terms of the GNU General Public License as published by the -Free Software Foundation; either version 3, or (at your option) any -later version. - -GCC is distributed in the hope that it will be useful, but WITHOUT -ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -for more details. - -You should have received a copy of the GNU General Public License -along with GCC; see the file COPYING3. If not see -. */ - -#ifndef DOUBLE_INT_H -#define DOUBLE_INT_H - -/* A large integer is currently represented as a pair of HOST_WIDE_INTs. - It therefore represents a number with precision of - 2 * HOST_BITS_PER_WIDE_INT bits (it is however possible that the - internal representation will change, if numbers with greater precision - are needed, so the users should not rely on it). The representation does - not contain any information about signedness of the represented value, so - it can be used to represent both signed and unsigned numbers. For - operations where the results depend on signedness (division, comparisons), - it must be specified separately. For each such operation, there are three - versions of the function -- double_int_op, that takes an extra UNS argument - giving the signedness of the values, and double_int_sop and double_int_uop - that stand for its specializations for signed and unsigned values. - - You may also represent with numbers in smaller precision using double_int. - You however need to use double_int_ext (that fills in the bits of the - number over the prescribed precision with zeros or with the sign bit) before - operations that do not perform arithmetics modulo 2^precision (comparisons, - division), and possibly before storing the results, if you want to keep - them in some canonical form). In general, the signedness of double_int_ext - should match the signedness of the operation. - - ??? The components of double_int differ in signedness mostly for - historical reasons (they replace an older structure used to represent - numbers with precision higher than HOST_WIDE_INT). It might be less - confusing to have them both signed or both unsigned. */ - -struct double_int -{ - /* Normally, we would define constructors to create instances. - Two things prevent us from doing so. - First, defining a constructor makes the class non-POD in C++03, - and we certainly want double_int to be a POD. - Second, the GCC conding conventions prefer explicit conversion, - and explicit conversion operators are not available until C++11. */ - - static double_int from_uhwi (unsigned HOST_WIDE_INT cst); - static double_int from_shwi (HOST_WIDE_INT cst); - static double_int from_pair (HOST_WIDE_INT high, unsigned HOST_WIDE_INT low); - - /* Construct from a fuffer of length LEN. BUFFER will be read according - to byte endianness and word endianness. */ - static double_int from_buffer (const unsigned char *buffer, int len); - - /* No copy assignment operator or destructor to keep the type a POD. */ - - /* There are some special value-creation static member functions. */ - - static double_int mask (unsigned prec); - static double_int max_value (unsigned int prec, bool uns); - static double_int min_value (unsigned int prec, bool uns); - - /* The following functions are mutating operations. */ - - double_int &operator ++ (); // prefix - double_int &operator -- (); // prefix - double_int &operator *= (double_int); - double_int &operator += (double_int); - double_int &operator -= (double_int); - double_int &operator &= (double_int); - double_int &operator ^= (double_int); - double_int &operator |= (double_int); - - /* The following functions are non-mutating operations. */ - - /* Conversion functions. */ - - HOST_WIDE_INT to_shwi () const; - unsigned HOST_WIDE_INT to_uhwi () const; - - /* Conversion query functions. */ - - bool fits_uhwi () const; - bool fits_shwi () const; - bool fits_hwi (bool uns) const; - - /* Attribute query functions. */ - - int trailing_zeros () const; - int popcount () const; - - /* Arithmetic query operations. */ - - bool multiple_of (double_int, bool, double_int *) const; - - /* Arithmetic operation functions. */ - - /* The following operations perform arithmetics modulo 2^precision, so you - do not need to call .ext between them, even if you are representing - numbers with precision less than HOST_BITS_PER_DOUBLE_INT bits. */ - - double_int set_bit (unsigned) const; - double_int mul_with_sign (double_int, bool unsigned_p, bool *overflow) const; - double_int wide_mul_with_sign (double_int, bool unsigned_p, - double_int *higher, bool *overflow) const; - double_int add_with_sign (double_int, bool unsigned_p, bool *overflow) const; - double_int sub_with_overflow (double_int, bool *overflow) const; - double_int neg_with_overflow (bool *overflow) const; - - double_int operator * (double_int) const; - double_int operator + (double_int) const; - double_int operator - (double_int) const; - double_int operator - () const; - double_int operator ~ () const; - double_int operator & (double_int) const; - double_int operator | (double_int) const; - double_int operator ^ (double_int) const; - double_int and_not (double_int) const; - - double_int lshift (HOST_WIDE_INT count) const; - double_int lshift (HOST_WIDE_INT count, unsigned int prec, bool arith) const; - double_int rshift (HOST_WIDE_INT count) const; - double_int rshift (HOST_WIDE_INT count, unsigned int prec, bool arith) const; - double_int alshift (HOST_WIDE_INT count, unsigned int prec) const; - double_int arshift (HOST_WIDE_INT count, unsigned int prec) const; - double_int llshift (HOST_WIDE_INT count, unsigned int prec) const; - double_int lrshift (HOST_WIDE_INT count, unsigned int prec) const; - double_int lrotate (HOST_WIDE_INT count, unsigned int prec) const; - double_int rrotate (HOST_WIDE_INT count, unsigned int prec) const; - - /* You must ensure that double_int::ext is called on the operands - of the following operations, if the precision of the numbers - is less than HOST_BITS_PER_DOUBLE_INT bits. */ - - double_int div (double_int, bool, unsigned) const; - double_int sdiv (double_int, unsigned) const; - double_int udiv (double_int, unsigned) const; - double_int mod (double_int, bool, unsigned) const; - double_int smod (double_int, unsigned) const; - double_int umod (double_int, unsigned) const; - double_int divmod_with_overflow (double_int, bool, unsigned, - double_int *, bool *) const; - double_int divmod (double_int, bool, unsigned, double_int *) const; - double_int sdivmod (double_int, unsigned, double_int *) const; - double_int udivmod (double_int, unsigned, double_int *) const; - - /* Precision control functions. */ - - double_int ext (unsigned prec, bool uns) const; - double_int zext (unsigned prec) const; - double_int sext (unsigned prec) const; - - /* Comparative functions. */ - - bool is_zero () const; - bool is_one () const; - bool is_minus_one () const; - bool is_negative () const; - - int cmp (double_int b, bool uns) const; - int ucmp (double_int b) const; - int scmp (double_int b) const; - - bool ult (double_int b) const; - bool ule (double_int b) const; - bool ugt (double_int b) const; - bool slt (double_int b) const; - bool sle (double_int b) const; - bool sgt (double_int b) const; - - double_int max (double_int b, bool uns); - double_int smax (double_int b); - double_int umax (double_int b); - - double_int min (double_int b, bool uns); - double_int smin (double_int b); - double_int umin (double_int b); - - bool operator == (double_int cst2) const; - bool operator != (double_int cst2) const; - - /* Please migrate away from using these member variables publicly. */ - - unsigned HOST_WIDE_INT low; - HOST_WIDE_INT high; - -}; - -#define HOST_BITS_PER_DOUBLE_INT (2 * HOST_BITS_PER_WIDE_INT) - -/* Constructors and conversions. */ - -/* Constructs double_int from integer CST. The bits over the precision of - HOST_WIDE_INT are filled with the sign bit. */ - -inline double_int -double_int::from_shwi (HOST_WIDE_INT cst) -{ - double_int r; - r.low = (unsigned HOST_WIDE_INT) cst; - r.high = cst < 0 ? -1 : 0; - return r; -} - -/* Some useful constants. */ -/* FIXME(crowl): Maybe remove after converting callers? - The problem is that a named constant would not be as optimizable, - while the functional syntax is more verbose. */ - -#define double_int_minus_one (double_int::from_shwi (-1)) -#define double_int_zero (double_int::from_shwi (0)) -#define double_int_one (double_int::from_shwi (1)) -#define double_int_two (double_int::from_shwi (2)) -#define double_int_ten (double_int::from_shwi (10)) - -/* Constructs double_int from unsigned integer CST. The bits over the - precision of HOST_WIDE_INT are filled with zeros. */ - -inline double_int -double_int::from_uhwi (unsigned HOST_WIDE_INT cst) -{ - double_int r; - r.low = cst; - r.high = 0; - return r; -} - -inline double_int -double_int::from_pair (HOST_WIDE_INT high, unsigned HOST_WIDE_INT low) -{ - double_int r; - r.low = low; - r.high = high; - return r; -} - -inline double_int & -double_int::operator ++ () -{ - *this += double_int_one; - return *this; -} - -inline double_int & -double_int::operator -- () -{ - *this -= double_int_one; - return *this; -} - -inline double_int & -double_int::operator &= (double_int b) -{ - *this = *this & b; - return *this; -} - -inline double_int & -double_int::operator ^= (double_int b) -{ - *this = *this ^ b; - return *this; -} - -inline double_int & -double_int::operator |= (double_int b) -{ - *this = *this | b; - return *this; -} - -/* Returns value of CST as a signed number. CST must satisfy - double_int::fits_signed. */ - -inline HOST_WIDE_INT -double_int::to_shwi () const -{ - return (HOST_WIDE_INT) low; -} - -/* Returns value of CST as an unsigned number. CST must satisfy - double_int::fits_unsigned. */ - -inline unsigned HOST_WIDE_INT -double_int::to_uhwi () const -{ - return low; -} - -/* Returns true if CST fits in unsigned HOST_WIDE_INT. */ - -inline bool -double_int::fits_uhwi () const -{ - return high == 0; -} - -/* Logical operations. */ - -/* Returns ~A. */ - -inline double_int -double_int::operator ~ () const -{ - double_int result; - result.low = ~low; - result.high = ~high; - return result; -} - -/* Returns A | B. */ - -inline double_int -double_int::operator | (double_int b) const -{ - double_int result; - result.low = low | b.low; - result.high = high | b.high; - return result; -} - -/* Returns A & B. */ - -inline double_int -double_int::operator & (double_int b) const -{ - double_int result; - result.low = low & b.low; - result.high = high & b.high; - return result; -} - -/* Returns A & ~B. */ - -inline double_int -double_int::and_not (double_int b) const -{ - double_int result; - result.low = low & ~b.low; - result.high = high & ~b.high; - return result; -} - -/* Returns A ^ B. */ - -inline double_int -double_int::operator ^ (double_int b) const -{ - double_int result; - result.low = low ^ b.low; - result.high = high ^ b.high; - return result; -} - -void dump_double_int (FILE *, double_int, bool); - -#define ALL_ONES HOST_WIDE_INT_M1U - -/* The operands of the following comparison functions must be processed - with double_int_ext, if their precision is less than - HOST_BITS_PER_DOUBLE_INT bits. */ - -/* Returns true if CST is zero. */ - -inline bool -double_int::is_zero () const -{ - return low == 0 && high == 0; -} - -/* Returns true if CST is one. */ - -inline bool -double_int::is_one () const -{ - return low == 1 && high == 0; -} - -/* Returns true if CST is minus one. */ - -inline bool -double_int::is_minus_one () const -{ - return low == ALL_ONES && high == -1; -} - -/* Returns true if CST is negative. */ - -inline bool -double_int::is_negative () const -{ - return high < 0; -} - -/* Returns true if CST1 == CST2. */ - -inline bool -double_int::operator == (double_int cst2) const -{ - return low == cst2.low && high == cst2.high; -} - -/* Returns true if CST1 != CST2. */ - -inline bool -double_int::operator != (double_int cst2) const -{ - return low != cst2.low || high != cst2.high; -} - -/* Return number of set bits of CST. */ - -inline int -double_int::popcount () const -{ - return popcount_hwi (high) + popcount_hwi (low); -} - - -#ifndef GENERATOR_FILE -/* Conversion to and from GMP integer representations. */ - -void mpz_set_double_int (mpz_t, double_int, bool); -double_int mpz_get_double_int (const_tree, mpz_t, bool); -#endif - -namespace wi -{ - template <> - struct int_traits - { - static const enum precision_type precision_type = CONST_PRECISION; - static const bool host_dependent_precision = true; - static const unsigned int precision = HOST_BITS_PER_DOUBLE_INT; - static unsigned int get_precision (const double_int &); - static wi::storage_ref decompose (HOST_WIDE_INT *, unsigned int, - const double_int &); - }; -} - -inline unsigned int -wi::int_traits ::get_precision (const double_int &) -{ - return precision; -} - -inline wi::storage_ref -wi::int_traits ::decompose (HOST_WIDE_INT *scratch, unsigned int p, - const double_int &x) -{ - gcc_checking_assert (precision == p); - scratch[0] = x.low; - if ((x.high == 0 && scratch[0] >= 0) || (x.high == -1 && scratch[0] < 0)) - return wi::storage_ref (scratch, 1, precision); - scratch[1] = x.high; - return wi::storage_ref (scratch, 2, precision); -} - -#endif /* DOUBLE_INT_H */ diff --git a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/dump-context.h b/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/dump-context.h deleted file mode 100644 index c9aeac17..00000000 --- a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/dump-context.h +++ /dev/null @@ -1,305 +0,0 @@ -/* Support code for handling the various dump_* calls in dumpfile.h - Copyright (C) 2018-2023 Free Software Foundation, Inc. - Contributed by David Malcolm . - -This file is part of GCC. - -GCC is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 3, or (at your option) -any later version. - -GCC is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GCC; see the file COPYING3. If not see -. */ - - -#ifndef GCC_DUMP_CONTEXT_H -#define GCC_DUMP_CONTEXT_H 1 - -#include "dumpfile.h" -#include "pretty-print.h" -#include "selftest.h" -#include "optinfo.h" - -class optrecord_json_writer; -namespace selftest { class temp_dump_context; } -class debug_dump_context; - -/* A class for handling the various dump_* calls. - - In particular, this class has responsibility for consolidating - the "dump_*" calls into optinfo instances (delimited by "dump_*_loc" - calls), and emitting them. - - Putting this in a class (rather than as global state) allows - for selftesting of this code. */ - -class dump_context -{ - friend class selftest::temp_dump_context; - friend class debug_dump_context; - - public: - static dump_context &get () { return *s_current; } - - ~dump_context (); - - void refresh_dumps_are_enabled (); - - void dump_loc (const dump_metadata_t &metadata, - const dump_user_location_t &loc); - void dump_loc_immediate (dump_flags_t dump_kind, - const dump_user_location_t &loc); - - void dump_gimple_stmt (const dump_metadata_t &metadata, - dump_flags_t extra_dump_flags, - gimple *gs, int spc); - - void dump_gimple_stmt_loc (const dump_metadata_t &metadata, - const dump_user_location_t &loc, - dump_flags_t extra_dump_flags, - gimple *gs, int spc); - - void dump_gimple_expr (const dump_metadata_t &metadata, - dump_flags_t extra_dump_flags, - gimple *gs, int spc); - - void dump_gimple_expr_loc (const dump_metadata_t &metadata, - const dump_user_location_t &loc, - dump_flags_t extra_dump_flags, - gimple *gs, - int spc); - - void dump_generic_expr (const dump_metadata_t &metadata, - dump_flags_t extra_dump_flags, - tree t); - - void dump_generic_expr_loc (const dump_metadata_t &metadata, - const dump_user_location_t &loc, - dump_flags_t extra_dump_flags, - tree t); - - void dump_printf_va (const dump_metadata_t &metadata, const char *format, - va_list *ap) ATTRIBUTE_GCC_DUMP_PRINTF (3, 0); - - void dump_printf_loc_va (const dump_metadata_t &metadata, - const dump_user_location_t &loc, - const char *format, va_list *ap) - ATTRIBUTE_GCC_DUMP_PRINTF (4, 0); - - template - void dump_dec (const dump_metadata_t &metadata, const poly_int &value); - - void dump_symtab_node (const dump_metadata_t &metadata, symtab_node *node); - - /* Managing nested scopes. */ - unsigned int get_scope_depth () const; - void begin_scope (const char *name, - const dump_user_location_t &user_location, - const dump_impl_location_t &impl_location); - void end_scope (); - - /* Should optinfo instances be created? - All creation of optinfos should be guarded by this predicate. - Return true if any optinfo destinations are active. */ - bool optinfo_enabled_p () const; - - bool optimization_records_enabled_p () const - { - return m_json_writer != NULL; - } - void set_json_writer (optrecord_json_writer *writer); - void finish_any_json_writer (); - - void end_any_optinfo (); - - void emit_optinfo (const optinfo *info); - void emit_item (optinfo_item *item, dump_flags_t dump_kind); - - bool apply_dump_filter_p (dump_flags_t dump_kind, dump_flags_t filter) const; - - private: - optinfo &ensure_pending_optinfo (const dump_metadata_t &metadata); - optinfo &begin_next_optinfo (const dump_metadata_t &metadata, - const dump_user_location_t &loc); - - /* The current nesting depth of dump scopes, for showing nesting - via indentation). */ - unsigned int m_scope_depth; - - /* The optinfo currently being accumulated since the last dump_*_loc call, - if any. */ - optinfo *m_pending; - - /* If -fsave-optimization-record is enabled, the heap-allocated JSON writer - instance, otherwise NULL. */ - optrecord_json_writer *m_json_writer; - - /* For use in selftests: if non-NULL, then items are to be printed - to this, using the given flags. */ - pretty_printer *m_test_pp; - dump_flags_t m_test_pp_flags; - - /* The currently active dump_context, for use by the dump_* API calls. */ - static dump_context *s_current; - - /* The default active context. */ - static dump_context s_default; -}; - -/* A subclass of pretty_printer for implementing dump_context::dump_printf_va. - In particular, the formatted chunks are captured as optinfo_item instances, - thus retaining metadata about the entities being dumped (e.g. source - locations), rather than just as plain text. */ - -class dump_pretty_printer : public pretty_printer -{ -public: - dump_pretty_printer (dump_context *context, dump_flags_t dump_kind); - - void emit_items (optinfo *dest); - -private: - /* Information on an optinfo_item that was generated during phase 2 of - formatting. */ - class stashed_item - { - public: - stashed_item (const char **buffer_ptr_, optinfo_item *item_) - : buffer_ptr (buffer_ptr_), item (item_) {} - const char **buffer_ptr; - optinfo_item *item; - }; - - static bool format_decoder_cb (pretty_printer *pp, text_info *text, - const char *spec, int /*precision*/, - bool /*wide*/, bool /*set_locus*/, - bool /*verbose*/, bool */*quoted*/, - const char **buffer_ptr); - - bool decode_format (text_info *text, const char *spec, - const char **buffer_ptr); - - void stash_item (const char **buffer_ptr, optinfo_item *item); - - void emit_any_pending_textual_chunks (optinfo *dest); - - void emit_item (optinfo_item *item, optinfo *dest); - - dump_context *m_context; - dump_flags_t m_dump_kind; - auto_vec m_stashed_items; -}; - -/* An RAII-style class for use in debug dumpers for temporarily using a - different dump_context. It enables full details and outputs to - stderr instead of the currently active dump_file. */ - -class debug_dump_context -{ - public: - debug_dump_context (FILE *f = stderr); - ~debug_dump_context (); - - private: - dump_context m_context; - dump_context *m_saved; - dump_flags_t m_saved_flags; - dump_flags_t m_saved_pflags; - FILE *m_saved_file; -}; - - -#if CHECKING_P - -namespace selftest { - -/* An RAII-style class for use in selftests for temporarily using a different - dump_context. */ - -class temp_dump_context -{ - public: - temp_dump_context (bool forcibly_enable_optinfo, - bool forcibly_enable_dumping, - dump_flags_t test_pp_flags); - ~temp_dump_context (); - - /* Support for selftests. */ - optinfo *get_pending_optinfo () const { return m_context.m_pending; } - const char *get_dumped_text (); - - private: - pretty_printer m_pp; - dump_context m_context; - dump_context *m_saved; -}; - -/* Implementation detail of ASSERT_DUMPED_TEXT_EQ. */ - -extern void verify_dumped_text (const location &loc, - temp_dump_context *context, - const char *expected_text); - -/* Verify that the text dumped so far in CONTEXT equals - EXPECTED_TEXT. - As a side-effect, the internal buffer is 0-terminated. */ - -#define ASSERT_DUMPED_TEXT_EQ(CONTEXT, EXPECTED_TEXT) \ - SELFTEST_BEGIN_STMT \ - verify_dumped_text (SELFTEST_LOCATION, &(CONTEXT), (EXPECTED_TEXT)); \ - SELFTEST_END_STMT - - -/* Verify that ITEM has the expected values. */ - -void -verify_item (const location &loc, - const optinfo_item *item, - enum optinfo_item_kind expected_kind, - location_t expected_location, - const char *expected_text); - -/* Verify that ITEM is a text item, with EXPECTED_TEXT. */ - -#define ASSERT_IS_TEXT(ITEM, EXPECTED_TEXT) \ - SELFTEST_BEGIN_STMT \ - verify_item (SELFTEST_LOCATION, (ITEM), OPTINFO_ITEM_KIND_TEXT, \ - UNKNOWN_LOCATION, (EXPECTED_TEXT)); \ - SELFTEST_END_STMT - -/* Verify that ITEM is a tree item, with the expected values. */ - -#define ASSERT_IS_TREE(ITEM, EXPECTED_LOCATION, EXPECTED_TEXT) \ - SELFTEST_BEGIN_STMT \ - verify_item (SELFTEST_LOCATION, (ITEM), OPTINFO_ITEM_KIND_TREE, \ - (EXPECTED_LOCATION), (EXPECTED_TEXT)); \ - SELFTEST_END_STMT - -/* Verify that ITEM is a gimple item, with the expected values. */ - -#define ASSERT_IS_GIMPLE(ITEM, EXPECTED_LOCATION, EXPECTED_TEXT) \ - SELFTEST_BEGIN_STMT \ - verify_item (SELFTEST_LOCATION, (ITEM), OPTINFO_ITEM_KIND_GIMPLE, \ - (EXPECTED_LOCATION), (EXPECTED_TEXT)); \ - SELFTEST_END_STMT - -/* Verify that ITEM is a symtab node, with the expected values. */ - -#define ASSERT_IS_SYMTAB_NODE(ITEM, EXPECTED_LOCATION, EXPECTED_TEXT) \ - SELFTEST_BEGIN_STMT \ - verify_item (SELFTEST_LOCATION, (ITEM), OPTINFO_ITEM_KIND_SYMTAB_NODE, \ - (EXPECTED_LOCATION), (EXPECTED_TEXT)); \ - SELFTEST_END_STMT - -} // namespace selftest - -#endif /* CHECKING_P */ - -#endif /* GCC_DUMP_CONTEXT_H */ diff --git a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/dumpfile.h b/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/dumpfile.h deleted file mode 100644 index 7d5eca89..00000000 --- a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/dumpfile.h +++ /dev/null @@ -1,774 +0,0 @@ -/* Definitions for the shared dumpfile. - Copyright (C) 2004-2023 Free Software Foundation, Inc. - -This file is part of GCC. - -GCC is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 3, or (at your option) -any later version. - -GCC is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GCC; see the file COPYING3. If not see -. */ - - -#ifndef GCC_DUMPFILE_H -#define GCC_DUMPFILE_H 1 - -#include "profile-count.h" - -/* An attribute for annotating formatting printing functions that use - the dumpfile/optinfo formatting codes. These are the pretty_printer - format codes (see pretty-print.cc), with additional codes for middle-end - specific entities (see dumpfile.cc). */ - -#if GCC_VERSION >= 9000 -#define ATTRIBUTE_GCC_DUMP_PRINTF(m, n) \ - __attribute__ ((__format__ (__gcc_dump_printf__, m ,n))) \ - ATTRIBUTE_NONNULL(m) -#else -#define ATTRIBUTE_GCC_DUMP_PRINTF(m, n) ATTRIBUTE_NONNULL(m) -#endif - -/* Different tree dump places. When you add new tree dump places, - extend the DUMP_FILES array in dumpfile.cc. */ -enum tree_dump_index -{ - TDI_none, /* No dump */ - TDI_cgraph, /* dump function call graph. */ - TDI_inheritance, /* dump type inheritance graph. */ - TDI_clones, /* dump IPA cloning decisions. */ - TDI_original, /* dump each function before optimizing it */ - TDI_gimple, /* dump each function after gimplifying it */ - TDI_nested, /* dump each function after unnesting it */ - TDI_lto_stream_out, /* dump information about lto streaming */ - TDI_profile_report, /* dump information about profile quality */ - - TDI_lang_all, /* enable all the language dumps. */ - TDI_tree_all, /* enable all the GENERIC/GIMPLE dumps. */ - TDI_rtl_all, /* enable all the RTL dumps. */ - TDI_ipa_all, /* enable all the IPA dumps. */ - - TDI_end -}; - -/* Enum used to distinguish dump files to types. */ - -enum dump_kind -{ - DK_none, - DK_lang, - DK_tree, - DK_rtl, - DK_ipa -}; - -/* Bit masks to control dumping. Not all values are applicable to all - dumps. Add new ones at the end. When you define new values, extend - the DUMP_OPTIONS array in dumpfile.cc. The TDF_* flags coexist with - MSG_* flags (for -fopt-info) and the bit values must be chosen to - allow that. */ -enum dump_flag : uint32_t -{ - /* Value of TDF_NONE is used just for bits filtered by TDF_KIND_MASK. */ - TDF_NONE = 0, - - /* Dump node addresses. */ - TDF_ADDRESS = (1 << 0), - - /* Don't go wild following links. */ - TDF_SLIM = (1 << 1), - - /* Don't unparse the function. */ - TDF_RAW = (1 << 2), - - /* Show more detailed info about each pass. */ - TDF_DETAILS = (1 << 3), - - /* Dump various statistics about each pass. */ - TDF_STATS = (1 << 4), - - /* Display basic block boundaries. */ - TDF_BLOCKS = (1 << 5), - - /* Display virtual operands. */ - TDF_VOPS = (1 << 6), - - /* Display statement line numbers. */ - TDF_LINENO = (1 << 7), - - /* Display decl UIDs. */ - TDF_UID = (1 << 8), - - /* Address of stmt. */ - TDF_STMTADDR = (1 << 9), - - /* A graph dump is being emitted. */ - TDF_GRAPH = (1 << 10), - - /* Display memory symbols in expr. - Implies TDF_VOPS. */ - TDF_MEMSYMS = (1 << 11), - - /* A flag to only print the RHS of a gimple stmt. */ - TDF_RHS_ONLY = (1 << 12), - - /* Display asm names of decls. */ - TDF_ASMNAME = (1 << 13), - - /* Display EH region number holding this gimple statement. */ - TDF_EH = (1 << 14), - - /* Omit UIDs from dumps. */ - TDF_NOUID = (1 << 15), - - /* Display alias information. */ - TDF_ALIAS = (1 << 16), - - /* Enumerate locals by uid. */ - TDF_ENUMERATE_LOCALS = (1 << 17), - - /* Dump cselib details. */ - TDF_CSELIB = (1 << 18), - - /* Dump SCEV details. */ - TDF_SCEV = (1 << 19), - - /* Dump in GIMPLE FE syntax. */ - TDF_GIMPLE = (1 << 20), - - /* Dump folding details. */ - TDF_FOLDING = (1 << 21), - - /* MSG_* flags for expressing the kinds of message to - be emitted by -fopt-info. */ - - /* -fopt-info optimized sources. */ - MSG_OPTIMIZED_LOCATIONS = (1 << 22), - - /* Missed opportunities. */ - MSG_MISSED_OPTIMIZATION = (1 << 23), - - /* General optimization info. */ - MSG_NOTE = (1 << 24), - - /* Mask for selecting MSG_-kind flags. */ - MSG_ALL_KINDS = (MSG_OPTIMIZED_LOCATIONS - | MSG_MISSED_OPTIMIZATION - | MSG_NOTE), - - /* MSG_PRIORITY_* flags for expressing the priority levels of message - to be emitted by -fopt-info, and filtering on them. - By default, messages at the top-level dump scope are "user-facing", - whereas those that are in nested scopes are implicitly "internals". - This behavior can be overridden for a given dump message by explicitly - specifying one of the MSG_PRIORITY_* flags. - - By default, dump files show both kinds of message, whereas -fopt-info - only shows "user-facing" messages, and requires the "-internals" - sub-option of -fopt-info to show the internal messages. */ - - /* Implicitly supplied for messages at the top-level dump scope. */ - MSG_PRIORITY_USER_FACING = (1 << 25), - - /* Implicitly supplied for messages within nested dump scopes. */ - MSG_PRIORITY_INTERNALS = (1 << 26), - - /* Supplied when an opt_problem generated in a nested scope is re-emitted - at the top-level. We want to default to showing these in -fopt-info - output, but to *not* show them in dump files, as the message would be - shown twice, messing up "scan-tree-dump-times" in DejaGnu tests. */ - MSG_PRIORITY_REEMITTED = (1 << 27), - - /* Mask for selecting MSG_PRIORITY_* flags. */ - MSG_ALL_PRIORITIES = (MSG_PRIORITY_USER_FACING - | MSG_PRIORITY_INTERNALS - | MSG_PRIORITY_REEMITTED), - - /* All -fdump- flags. */ - TDF_ALL_VALUES = (1 << 28) - 1, - - /* Dumping for -fcompare-debug. */ - TDF_COMPARE_DEBUG = (1 << 28), - - /* Dump a GIMPLE value which means wrapping certain things with _Literal. */ - TDF_GIMPLE_VAL = (1 << 29), - - /* For error. */ - TDF_ERROR = ((uint32_t)1 << 30), -}; - -/* Dump flags type. */ - -typedef enum dump_flag dump_flags_t; - -inline dump_flags_t -operator| (dump_flags_t lhs, dump_flags_t rhs) -{ - return (dump_flags_t)((std::underlying_type::type)lhs - | (std::underlying_type::type)rhs); -} - -inline dump_flags_t -operator& (dump_flags_t lhs, dump_flags_t rhs) -{ - return (dump_flags_t)((std::underlying_type::type)lhs - & (std::underlying_type::type)rhs); -} - -inline dump_flags_t -operator~ (dump_flags_t flags) -{ - return (dump_flags_t)~((std::underlying_type::type)flags); -} - -inline dump_flags_t & -operator|= (dump_flags_t &lhs, dump_flags_t rhs) -{ - lhs = (dump_flags_t)((std::underlying_type::type)lhs - | (std::underlying_type::type)rhs); - return lhs; -} - -inline dump_flags_t & -operator&= (dump_flags_t &lhs, dump_flags_t rhs) -{ - lhs = (dump_flags_t)((std::underlying_type::type)lhs - & (std::underlying_type::type)rhs); - return lhs; -} - -/* Flags to control high-level -fopt-info dumps. Usually these flags - define a group of passes. An optimization pass can be part of - multiple groups. */ - -enum optgroup_flag -{ - OPTGROUP_NONE = 0, - - /* IPA optimization passes */ - OPTGROUP_IPA = (1 << 1), - - /* Loop optimization passes */ - OPTGROUP_LOOP = (1 << 2), - - /* Inlining passes */ - OPTGROUP_INLINE = (1 << 3), - - /* OMP (Offloading and Multi Processing) transformations */ - OPTGROUP_OMP = (1 << 4), - - /* Vectorization passes */ - OPTGROUP_VEC = (1 << 5), - - /* All other passes */ - OPTGROUP_OTHER = (1 << 6), - - OPTGROUP_ALL = (OPTGROUP_IPA | OPTGROUP_LOOP | OPTGROUP_INLINE - | OPTGROUP_OMP | OPTGROUP_VEC | OPTGROUP_OTHER) -}; - -typedef enum optgroup_flag optgroup_flags_t; - -inline optgroup_flags_t -operator| (optgroup_flags_t lhs, optgroup_flags_t rhs) -{ - return (optgroup_flags_t)((std::underlying_type::type)lhs - | (std::underlying_type::type)rhs); -} - -inline optgroup_flags_t & -operator|= (optgroup_flags_t &lhs, optgroup_flags_t rhs) -{ - lhs = (optgroup_flags_t)((std::underlying_type::type)lhs - | (std::underlying_type::type)rhs); - return lhs; -} - -/* Define a tree dump switch. */ -struct dump_file_info -{ - /* Suffix to give output file. */ - const char *suffix; - /* Command line dump switch. */ - const char *swtch; - /* Command line glob. */ - const char *glob; - /* Filename for the pass-specific stream. */ - const char *pfilename; - /* Filename for the -fopt-info stream. */ - const char *alt_filename; - /* Pass-specific dump stream. */ - FILE *pstream; - /* -fopt-info stream. */ - FILE *alt_stream; - /* Dump kind. */ - dump_kind dkind; - /* Dump flags. */ - dump_flags_t pflags; - /* A pass flags for -fopt-info. */ - dump_flags_t alt_flags; - /* Flags for -fopt-info given by a user. */ - optgroup_flags_t optgroup_flags; - /* State of pass-specific stream. */ - int pstate; - /* State of the -fopt-info stream. */ - int alt_state; - /* Dump file number. */ - int num; - /* Fields "suffix", "swtch", "glob" can be const strings, - or can be dynamically allocated, needing free. */ - bool owns_strings; - /* When a given dump file is being initialized, this flag is set to true - if the corresponding TDF_graph dump file has also been initialized. */ - bool graph_dump_initialized; -}; - -/* A class for describing where in the user's source that a dump message - relates to, with various constructors for convenience. - In particular, this lets us associate dump messages - with hotness information (e.g. from PGO), allowing them to - be prioritized by code hotness. */ - -class dump_user_location_t -{ - public: - /* Default constructor, analogous to UNKNOWN_LOCATION. */ - dump_user_location_t () : m_count (), m_loc (UNKNOWN_LOCATION) {} - - /* Construct from a gimple statement (using its location and hotness). */ - dump_user_location_t (const gimple *stmt); - - /* Construct from an RTL instruction (using its location and hotness). */ - dump_user_location_t (const rtx_insn *insn); - - /* Construct from a location_t. This one is deprecated (since it doesn't - capture hotness information); it thus needs to be spelled out. */ - static dump_user_location_t - from_location_t (location_t loc) - { - return dump_user_location_t (profile_count (), loc); - } - - /* Construct from a function declaration. This one requires spelling out - to avoid accidentally constructing from other kinds of tree. */ - static dump_user_location_t - from_function_decl (tree fndecl); - - profile_count get_count () const { return m_count; } - location_t get_location_t () const { return m_loc; } - - private: - /* Private ctor from count and location, for use by from_location_t. */ - dump_user_location_t (profile_count count, location_t loc) - : m_count (count), m_loc (loc) - {} - - profile_count m_count; - location_t m_loc; -}; - -/* A class for identifying where in the compiler's own source - (or a plugin) that a dump message is being emitted from. */ - -class dump_impl_location_t -{ -public: - dump_impl_location_t ( -#if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 8) - const char *file = __builtin_FILE (), - int line = __builtin_LINE (), - const char *function = __builtin_FUNCTION () -#else - const char *file = __FILE__, - int line = __LINE__, - const char *function = NULL -#endif - ) - : m_file (file), m_line (line), m_function (function) - {} - - const char *m_file; - int m_line; - const char *m_function; -}; - -/* A bundle of metadata for describing a dump message: - (a) the dump_flags - (b) the source location within the compiler/plugin. - - The constructors use default parameters so that (b) gets sets up - automatically. - - Hence you can pass in e.g. MSG_NOTE, and the dump call - will automatically record where in GCC's source code the - dump was emitted from. */ - -class dump_metadata_t -{ - public: - dump_metadata_t (dump_flags_t dump_flags, - const dump_impl_location_t &impl_location - = dump_impl_location_t ()) - : m_dump_flags (dump_flags), - m_impl_location (impl_location) - { - } - - dump_flags_t get_dump_flags () const { return m_dump_flags; } - - const dump_impl_location_t & - get_impl_location () const { return m_impl_location; } - - private: - dump_flags_t m_dump_flags; - dump_impl_location_t m_impl_location; -}; - -/* A bundle of information for describing the location of a dump message: - (a) the source location and hotness within the user's code, together with - (b) the source location within the compiler/plugin. - - The constructors use default parameters so that (b) gets sets up - automatically. - - The upshot is that you can pass in e.g. a gimple * to dump_printf_loc, - and the dump call will automatically record where in GCC's source - code the dump was emitted from. */ - -class dump_location_t -{ - public: - /* Default constructor, analogous to UNKNOWN_LOCATION. */ - dump_location_t (const dump_impl_location_t &impl_location - = dump_impl_location_t ()) - : m_user_location (dump_user_location_t ()), - m_impl_location (impl_location) - { - } - - /* Construct from a gimple statement (using its location and hotness). */ - dump_location_t (const gimple *stmt, - const dump_impl_location_t &impl_location - = dump_impl_location_t ()) - : m_user_location (dump_user_location_t (stmt)), - m_impl_location (impl_location) - { - } - - /* Construct from an RTL instruction (using its location and hotness). */ - dump_location_t (const rtx_insn *insn, - const dump_impl_location_t &impl_location - = dump_impl_location_t ()) - : m_user_location (dump_user_location_t (insn)), - m_impl_location (impl_location) - { - } - - /* Construct from a dump_user_location_t. */ - dump_location_t (const dump_user_location_t &user_location, - const dump_impl_location_t &impl_location - = dump_impl_location_t ()) - : m_user_location (user_location), - m_impl_location (impl_location) - { - } - - /* Construct from a location_t. This one is deprecated (since it doesn't - capture hotness information), and thus requires spelling out. */ - static dump_location_t - from_location_t (location_t loc, - const dump_impl_location_t &impl_location - = dump_impl_location_t ()) - { - return dump_location_t (dump_user_location_t::from_location_t (loc), - impl_location); - } - - const dump_user_location_t & - get_user_location () const { return m_user_location; } - - const dump_impl_location_t & - get_impl_location () const { return m_impl_location; } - - location_t get_location_t () const - { - return m_user_location.get_location_t (); - } - - profile_count get_count () const { return m_user_location.get_count (); } - - private: - dump_user_location_t m_user_location; - dump_impl_location_t m_impl_location; -}; - -/* In dumpfile.cc */ -extern FILE *dump_begin (int, dump_flags_t *, int part=-1); -extern void dump_end (int, FILE *); -extern int opt_info_switch_p (const char *); -extern const char *dump_flag_name (int); -extern const kv_pair optgroup_options[]; -extern dump_flags_t -parse_dump_option (const char *, const char **); - -/* Global variables used to communicate with passes. */ -extern FILE *dump_file; -extern dump_flags_t dump_flags; -extern const char *dump_file_name; - -extern bool dumps_are_enabled; - -extern void set_dump_file (FILE *new_dump_file); - -/* Return true if any of the dumps is enabled, false otherwise. */ -inline bool -dump_enabled_p (void) -{ - return dumps_are_enabled; -} - -/* The following API calls (which *don't* take a "FILE *") - write the output to zero or more locations. - - Some destinations are written to immediately as dump_* calls - are made; for others, the output is consolidated into an "optinfo" - instance (with its own metadata), and only emitted once the optinfo - is complete. - - The destinations are: - - (a) the "immediate" destinations: - (a.1) the active dump_file, if any - (a.2) the -fopt-info destination, if any - (b) the "optinfo" destinations, if any: - (b.1) as optimization records - - dump_* (MSG_*) --> dumpfile.cc --> items --> (a.1) dump_file - | `-> (a.2) alt_dump_file - | - `--> (b) optinfo - `---> optinfo destinations - (b.1) optimization records - - For optinfos, the dump_*_loc mark the beginning of an optinfo - instance: all subsequent dump_* calls are consolidated into - that optinfo, until the next dump_*_loc call (or a change in - dump scope, or a call to dumpfile_ensure_any_optinfo_are_flushed). - - A group of dump_* calls should be guarded by: - - if (dump_enabled_p ()) - - to minimize the work done for the common case where dumps - are disabled. */ - -extern void dump_printf (const dump_metadata_t &, const char *, ...) - ATTRIBUTE_GCC_DUMP_PRINTF (2, 3); - -extern void dump_printf_loc (const dump_metadata_t &, const dump_user_location_t &, - const char *, ...) - ATTRIBUTE_GCC_DUMP_PRINTF (3, 4); -extern void dump_function (int phase, tree fn); -extern void dump_basic_block (dump_flags_t, basic_block, int); -extern void dump_generic_expr_loc (const dump_metadata_t &, - const dump_user_location_t &, - dump_flags_t, tree); -extern void dump_generic_expr (const dump_metadata_t &, dump_flags_t, tree); -extern void dump_gimple_stmt_loc (const dump_metadata_t &, - const dump_user_location_t &, - dump_flags_t, gimple *, int); -extern void dump_gimple_stmt (const dump_metadata_t &, dump_flags_t, gimple *, int); -extern void dump_gimple_expr_loc (const dump_metadata_t &, - const dump_user_location_t &, - dump_flags_t, gimple *, int); -extern void dump_gimple_expr (const dump_metadata_t &, dump_flags_t, gimple *, int); -extern void dump_symtab_node (const dump_metadata_t &, symtab_node *); - -template -void dump_dec (const dump_metadata_t &, const poly_int &); -extern void dump_dec (dump_flags_t, const poly_wide_int &, signop); -extern void dump_hex (dump_flags_t, const poly_wide_int &); - -extern void dumpfile_ensure_any_optinfo_are_flushed (); - -/* Managing nested scopes, so that dumps can express the call chain - leading to a dump message. */ - -extern unsigned int get_dump_scope_depth (); -extern void dump_begin_scope (const char *name, - const dump_user_location_t &user_location, - const dump_impl_location_t &impl_location); -extern void dump_end_scope (); - -/* Implementation detail of the AUTO_DUMP_SCOPE macro below. - - A RAII-style class intended to make it easy to emit dump - information about entering and exiting a collection of nested - function calls. */ - -class auto_dump_scope -{ - public: - auto_dump_scope (const char *name, - const dump_user_location_t &user_location, - const dump_impl_location_t &impl_location - = dump_impl_location_t ()) - { - if (dump_enabled_p ()) - dump_begin_scope (name, user_location, impl_location); - } - ~auto_dump_scope () - { - if (dump_enabled_p ()) - dump_end_scope (); - } -}; - -/* A macro for calling: - dump_begin_scope (NAME, USER_LOC); - via an RAII object, thus printing "=== MSG ===\n" to the dumpfile etc, - and then calling - dump_end_scope (); - once the object goes out of scope, thus capturing the nesting of - the scopes. - - These scopes affect dump messages within them: dump messages at the - top level implicitly default to MSG_PRIORITY_USER_FACING, whereas those - in a nested scope implicitly default to MSG_PRIORITY_INTERNALS. */ - -#define AUTO_DUMP_SCOPE(NAME, USER_LOC) \ - auto_dump_scope scope (NAME, USER_LOC) - -extern void dump_function (int phase, tree fn); -extern void print_combine_total_stats (void); -extern bool enable_rtl_dump_file (void); - -/* In tree-dump.cc */ -extern void dump_node (const_tree, dump_flags_t, FILE *); - -/* In combine.cc */ -extern void dump_combine_total_stats (FILE *); -/* In cfghooks.cc */ -extern void dump_bb (FILE *, basic_block, int, dump_flags_t); - -class opt_pass; - -namespace gcc { - -/* A class for managing all of the various dump files used by the - optimization passes. */ - -class dump_manager -{ -public: - - dump_manager (); - ~dump_manager (); - - /* Register a dumpfile. - - TAKE_OWNERSHIP determines whether callee takes ownership of strings - SUFFIX, SWTCH, and GLOB. */ - unsigned int - dump_register (const char *suffix, const char *swtch, const char *glob, - dump_kind dkind, optgroup_flags_t optgroup_flags, - bool take_ownership); - - /* Allow languages and middle-end to register their dumps before the - optimization passes. */ - void - register_dumps (); - - /* Return the dump_file_info for the given phase. */ - struct dump_file_info * - get_dump_file_info (int phase) const; - - struct dump_file_info * - get_dump_file_info_by_switch (const char *swtch) const; - - /* Return the name of the dump file for the given phase. - If the dump is not enabled, returns NULL. */ - char * - get_dump_file_name (int phase, int part = -1) const; - - char * - get_dump_file_name (struct dump_file_info *dfi, int part = -1) const; - - void - dump_switch_p (const char *arg); - - /* Start a dump for PHASE. Store user-supplied dump flags in - *FLAG_PTR. Return the number of streams opened. Set globals - DUMP_FILE, and ALT_DUMP_FILE to point to the opened streams, and - set dump_flags appropriately for both pass dump stream and - -fopt-info stream. */ - int - dump_start (int phase, dump_flags_t *flag_ptr); - - /* Finish a tree dump for PHASE and close associated dump streams. Also - reset the globals DUMP_FILE, ALT_DUMP_FILE, and DUMP_FLAGS. */ - void - dump_finish (int phase); - - FILE * - dump_begin (int phase, dump_flags_t *flag_ptr, int part); - - /* Returns nonzero if tree dump PHASE has been initialized. */ - int - dump_initialized_p (int phase) const; - - /* Returns the switch name of PHASE. */ - const char * - dump_flag_name (int phase) const; - - void register_pass (opt_pass *pass); - -private: - - int - dump_phase_enabled_p (int phase) const; - - int - dump_switch_p_1 (const char *arg, struct dump_file_info *dfi, bool doglob); - - int - dump_enable_all (dump_kind dkind, dump_flags_t flags, const char *filename); - - int - opt_info_enable_passes (optgroup_flags_t optgroup_flags, dump_flags_t flags, - const char *filename); - - bool update_dfi_for_opt_info (dump_file_info *dfi) const; - -private: - - /* Dynamically registered dump files and switches. */ - int m_next_dump; - struct dump_file_info *m_extra_dump_files; - size_t m_extra_dump_files_in_use; - size_t m_extra_dump_files_alloced; - - /* Stored values from -fopt-info, for handling passes created after - option-parsing (by backends and by plugins). */ - optgroup_flags_t m_optgroup_flags; - dump_flags_t m_optinfo_flags; - char *m_optinfo_filename; - - /* Grant access to dump_enable_all. */ - friend bool ::enable_rtl_dump_file (void); - - /* Grant access to opt_info_enable_passes. */ - friend int ::opt_info_switch_p (const char *arg); - -}; // class dump_manager - -} // namespace gcc - -#endif /* GCC_DUMPFILE_H */ diff --git a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/dwarf2asm.h b/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/dwarf2asm.h deleted file mode 100644 index 37a0a05e..00000000 --- a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/dwarf2asm.h +++ /dev/null @@ -1,100 +0,0 @@ -/* Dwarf2 assembler output helper routines. - Copyright (C) 2001-2023 Free Software Foundation, Inc. - -This file is part of GCC. - -GCC is free software; you can redistribute it and/or modify it under -the terms of the GNU General Public License as published by the Free -Software Foundation; either version 3, or (at your option) any later -version. - -GCC is distributed in the hope that it will be useful, but WITHOUT ANY -WARRANTY; without even the implied warranty of MERCHANTABILITY or -FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -for more details. - -You should have received a copy of the GNU General Public License -along with GCC; see the file COPYING3. If not see -. */ - -#ifndef GCC_DWARF2ASM_H -#define GCC_DWARF2ASM_H - -extern void dw2_assemble_integer (int, rtx); - -extern void dw2_asm_output_data_raw (int, unsigned HOST_WIDE_INT); - -extern void dw2_asm_output_data (int, unsigned HOST_WIDE_INT, - const char *, ...) - ATTRIBUTE_NULL_PRINTF_3; - -extern void dw2_asm_output_delta (int, const char *, const char *, - const char *, ...) - ATTRIBUTE_NULL_PRINTF_4; - -extern void dw2_asm_output_vms_delta (int, const char *, const char *, - const char *, ...) - ATTRIBUTE_NULL_PRINTF_4; - -extern void dw2_asm_output_offset (int, const char *, section *, - const char *, ...) - ATTRIBUTE_NULL_PRINTF_4; - -extern void dw2_asm_output_offset (int, const char *, HOST_WIDE_INT, - section *, const char *, ...) - ATTRIBUTE_NULL_PRINTF_5; - -extern void dw2_asm_output_addr (int, const char *, const char *, ...) - ATTRIBUTE_NULL_PRINTF_3; - -extern void dw2_asm_output_addr_rtx (int, rtx, const char *, ...) - ATTRIBUTE_NULL_PRINTF_3; - -extern void dw2_asm_output_encoded_addr_rtx (int, rtx, bool, - const char *, ...) - ATTRIBUTE_NULL_PRINTF_4; - -extern void dw2_asm_output_nstring (const char *, size_t, - const char *, ...) - ATTRIBUTE_NULL_PRINTF_3; - -extern void dw2_asm_output_data_uleb128_raw (unsigned HOST_WIDE_INT); - -extern void dw2_asm_output_data_uleb128 (unsigned HOST_WIDE_INT, - const char *, ...) - ATTRIBUTE_NULL_PRINTF_2; - -extern void dw2_asm_output_data_sleb128_raw (HOST_WIDE_INT); - -extern void dw2_asm_output_data_sleb128 (HOST_WIDE_INT, - const char *, ...) - ATTRIBUTE_NULL_PRINTF_2; - -extern void dw2_asm_output_symname_uleb128 (const char *, - const char *, ...) - ATTRIBUTE_NULL_PRINTF_2; - -extern void dw2_asm_output_delta_uleb128 (const char *, const char *, - const char *, ...) - ATTRIBUTE_NULL_PRINTF_3; - -extern int size_of_uleb128 (unsigned HOST_WIDE_INT); -extern int size_of_sleb128 (HOST_WIDE_INT); -extern int size_of_encoded_value (int); -extern const char *eh_data_format_name (int); - -extern rtx dw2_force_const_mem (rtx, bool); -extern void dw2_output_indirect_constants (void); - -/* These are currently unused. */ - -#if 0 -extern void dw2_asm_output_pcrel (int, const char *, const char *, ...) - ATTRIBUTE_NULL_PRINTF_3; - -extern void dw2_asm_output_delta_sleb128 (const char *, const char *, - const char *, ...) - ATTRIBUTE_NULL_PRINTF_3; -#endif - -#endif /* GCC_DWARF2ASM_H */ diff --git a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/dwarf2ctf.h b/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/dwarf2ctf.h deleted file mode 100644 index a5f645a2..00000000 --- a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/dwarf2ctf.h +++ /dev/null @@ -1,55 +0,0 @@ -/* dwarf2ctf.h - DWARF interface for CTF/BTF generation. - Copyright (C) 2021-2023 Free Software Foundation, Inc. - -This file is part of GCC. - -GCC is free software; you can redistribute it and/or modify it under -the terms of the GNU General Public License as published by the Free -Software Foundation; either version 3, or (at your option) any later -version. - -GCC is distributed in the hope that it will be useful, but WITHOUT ANY -WARRANTY; without even the implied warranty of MERCHANTABILITY or -FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -for more details. - -You should have received a copy of the GNU General Public License -along with GCC; see the file COPYING3. If not see -. */ - -/* This file contains declarations and prototypes to define an interface - between DWARF and CTF/BTF generation. */ - -#ifndef GCC_DWARF2CTF_H -#define GCC_DWARF2CTF_H 1 - -#include "dwarf2out.h" -#include "flags.h" - -/* Debug Format Interface. Used in dwarf2out.cc. */ - -extern void ctf_debug_init (void); -extern void ctf_debug_init_postprocess (bool); -extern bool ctf_do_die (dw_die_ref); -extern void ctf_debug_early_finish (const char *); -extern void ctf_debug_finish (const char *); - -/* Wrappers for CTF/BTF to fetch information from GCC DWARF DIE. Used in - ctfc.cc. - - A CTF container does not store all debug information internally. Some of - the info is fetched indirectly via the DIE reference available in each CTF - container entry. - - These functions will be used by the CTF container to give access to its - consumers (CTF/BTF) to various debug information available in DWARF DIE. - Direct access to debug information in GCC dwarf structures by the consumers - of CTF/BTF information is not ideal. */ - -/* Source location information. */ - -extern const char * ctf_get_die_loc_file (dw_die_ref); -extern unsigned int ctf_get_die_loc_line (dw_die_ref); -extern unsigned int ctf_get_die_loc_col (dw_die_ref); - -#endif /* GCC_DWARF2CTF_H */ diff --git a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/dwarf2out.h b/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/dwarf2out.h deleted file mode 100644 index 870b56a6..00000000 --- a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/dwarf2out.h +++ /dev/null @@ -1,470 +0,0 @@ -/* dwarf2out.h - Various declarations for functions found in dwarf2out.cc - Copyright (C) 1998-2023 Free Software Foundation, Inc. - -This file is part of GCC. - -GCC is free software; you can redistribute it and/or modify it under -the terms of the GNU General Public License as published by the Free -Software Foundation; either version 3, or (at your option) any later -version. - -GCC is distributed in the hope that it will be useful, but WITHOUT ANY -WARRANTY; without even the implied warranty of MERCHANTABILITY or -FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -for more details. - -You should have received a copy of the GNU General Public License -along with GCC; see the file COPYING3. If not see -. */ - -#ifndef GCC_DWARF2OUT_H -#define GCC_DWARF2OUT_H 1 - -#include "dwarf2.h" /* ??? Remove this once only used by dwarf2foo.c. */ - -typedef struct die_struct *dw_die_ref; -typedef const struct die_struct *const_dw_die_ref; - -typedef struct dw_val_node *dw_val_ref; -typedef struct dw_cfi_node *dw_cfi_ref; -typedef struct dw_loc_descr_node *dw_loc_descr_ref; -typedef struct dw_loc_list_struct *dw_loc_list_ref; -typedef struct dw_discr_list_node *dw_discr_list_ref; -typedef wide_int *wide_int_ptr; - - -/* Call frames are described using a sequence of Call Frame - Information instructions. The register number, offset - and address fields are provided as possible operands; - their use is selected by the opcode field. */ - -enum dw_cfi_oprnd_type { - dw_cfi_oprnd_unused, - dw_cfi_oprnd_reg_num, - dw_cfi_oprnd_offset, - dw_cfi_oprnd_addr, - dw_cfi_oprnd_loc, - dw_cfi_oprnd_cfa_loc -}; - -typedef union GTY(()) { - unsigned int GTY ((tag ("dw_cfi_oprnd_reg_num"))) dw_cfi_reg_num; - HOST_WIDE_INT GTY ((tag ("dw_cfi_oprnd_offset"))) dw_cfi_offset; - const char * GTY ((tag ("dw_cfi_oprnd_addr"))) dw_cfi_addr; - struct dw_loc_descr_node * GTY ((tag ("dw_cfi_oprnd_loc"))) dw_cfi_loc; - struct dw_cfa_location * GTY ((tag ("dw_cfi_oprnd_cfa_loc"))) - dw_cfi_cfa_loc; -} dw_cfi_oprnd; - -struct GTY(()) dw_cfi_node { - enum dwarf_call_frame_info dw_cfi_opc; - dw_cfi_oprnd GTY ((desc ("dw_cfi_oprnd1_desc (%1.dw_cfi_opc)"))) - dw_cfi_oprnd1; - dw_cfi_oprnd GTY ((desc ("dw_cfi_oprnd2_desc (%1.dw_cfi_opc)"))) - dw_cfi_oprnd2; -}; - - -typedef vec *cfi_vec; - -typedef struct dw_fde_node *dw_fde_ref; - -/* All call frame descriptions (FDE's) in the GCC generated DWARF - refer to a single Common Information Entry (CIE), defined at - the beginning of the .debug_frame section. This use of a single - CIE obviates the need to keep track of multiple CIE's - in the DWARF generation routines below. */ - -struct GTY(()) dw_fde_node { - tree decl; - const char *dw_fde_begin; - const char *dw_fde_current_label; - const char *dw_fde_end; - const char *dw_fde_vms_end_prologue; - const char *dw_fde_vms_begin_epilogue; - const char *dw_fde_second_begin; - const char *dw_fde_second_end; - cfi_vec dw_fde_cfi; - int dw_fde_switch_cfi_index; /* Last CFI before switching sections. */ - HOST_WIDE_INT stack_realignment; - - unsigned funcdef_number; - unsigned fde_index; - - /* Dynamic realign argument pointer register. */ - unsigned int drap_reg; - /* Virtual dynamic realign argument pointer register. */ - unsigned int vdrap_reg; - /* These 3 flags are copied from rtl_data in function.h. */ - unsigned all_throwers_are_sibcalls : 1; - unsigned uses_eh_lsda : 1; - unsigned nothrow : 1; - /* Whether we did stack realign in this call frame. */ - unsigned stack_realign : 1; - /* Whether dynamic realign argument pointer register has been saved. */ - unsigned drap_reg_saved: 1; - /* True iff dw_fde_begin label is in text_section or cold_text_section. */ - unsigned in_std_section : 1; - /* True iff dw_fde_second_begin label is in text_section or - cold_text_section. */ - unsigned second_in_std_section : 1; - /* True if Rule 18 described in dwarf2cfi.cc is in action, i.e. for dynamic - stack realignment in between pushing of hard frame pointer to stack - and setting hard frame pointer to stack pointer. The register save for - hard frame pointer register should be emitted only on the latter - instruction. */ - unsigned rule18 : 1; - /* True if this function is to be ignored by debugger. */ - unsigned ignored_debug : 1; -}; - - -/* This represents a register, in DWARF_FRAME_REGNUM space, for use in CFA - definitions and expressions. - Most architectures only need a single register number, but some (amdgcn) - have pointers that span multiple registers. DWARF permits arbitrary - register sets but existing use-cases only require contiguous register - sets, as represented here. */ -struct GTY(()) cfa_reg { - unsigned int reg; - unsigned short span; - unsigned short span_width; /* A.K.A. register mode size. */ - - cfa_reg& set_by_dwreg (unsigned int r) - { - reg = r; - span = 1; - span_width = 0; /* Unknown size (permitted when span == 1). */ - return *this; - } - - bool operator== (const cfa_reg &other) const - { - return (reg == other.reg && span == other.span - && (span_width == other.span_width - || (span == 1 - && (span_width == 0 || other.span_width == 0)))); - } - - bool operator!= (const cfa_reg &other) const - { - return !(*this == other); - } -}; - -/* This is how we define the location of the CFA. We use to handle it - as REG + OFFSET all the time, but now it can be more complex. - It can now be either REG + CFA_OFFSET or *(REG + BASE_OFFSET) + CFA_OFFSET. - Instead of passing around REG and OFFSET, we pass a copy - of this structure. */ -struct GTY(()) dw_cfa_location { - poly_int64_pod offset; - poly_int64_pod base_offset; - /* REG is in DWARF_FRAME_REGNUM space, *not* normal REGNO space. */ - struct cfa_reg reg; - BOOL_BITFIELD indirect : 1; /* 1 if CFA is accessed via a dereference. */ - BOOL_BITFIELD in_use : 1; /* 1 if a saved cfa is stored here. */ -}; - - -/* Each DIE may have a series of attribute/value pairs. Values - can take on several forms. The forms that are used in this - implementation are listed below. */ - -enum dw_val_class -{ - dw_val_class_none, - dw_val_class_addr, - dw_val_class_offset, - dw_val_class_loc, - dw_val_class_loc_list, - dw_val_class_range_list, - dw_val_class_const, - dw_val_class_unsigned_const, - dw_val_class_const_double, - dw_val_class_wide_int, - dw_val_class_vec, - dw_val_class_flag, - dw_val_class_die_ref, - dw_val_class_fde_ref, - dw_val_class_lbl_id, - dw_val_class_lineptr, - dw_val_class_str, - dw_val_class_macptr, - dw_val_class_loclistsptr, - dw_val_class_file, - dw_val_class_data8, - dw_val_class_decl_ref, - dw_val_class_vms_delta, - dw_val_class_high_pc, - dw_val_class_discr_value, - dw_val_class_discr_list, - dw_val_class_const_implicit, - dw_val_class_unsigned_const_implicit, - dw_val_class_file_implicit, - dw_val_class_view_list, - dw_val_class_symview -}; - -/* Describe a floating point constant value, or a vector constant value. */ - -struct GTY(()) dw_vec_const { - void * GTY((atomic)) array; - unsigned length; - unsigned elt_size; -}; - -/* Describe a single value that a discriminant can match. - - Discriminants (in the "record variant part" meaning) are scalars. - dw_discr_list_ref and dw_discr_value are a mean to describe a set of - discriminant values that are matched by a particular variant. - - Discriminants can be signed or unsigned scalars, and can be discriminants - values. Both have to be consistent, though. */ - -struct GTY(()) dw_discr_value { - int pos; /* Whether the discriminant value is positive (unsigned). */ - union - { - HOST_WIDE_INT GTY ((tag ("0"))) sval; - unsigned HOST_WIDE_INT GTY ((tag ("1"))) uval; - } - GTY ((desc ("%1.pos"))) v; -}; - -struct addr_table_entry; - -/* The dw_val_node describes an attribute's value, as it is - represented internally. */ - -struct GTY(()) dw_val_node { - enum dw_val_class val_class; - struct addr_table_entry * GTY(()) val_entry; - union dw_val_struct_union - { - rtx GTY ((tag ("dw_val_class_addr"))) val_addr; - unsigned HOST_WIDE_INT GTY ((tag ("dw_val_class_offset"))) val_offset; - dw_loc_list_ref GTY ((tag ("dw_val_class_loc_list"))) val_loc_list; - dw_die_ref GTY ((tag ("dw_val_class_view_list"))) val_view_list; - dw_loc_descr_ref GTY ((tag ("dw_val_class_loc"))) val_loc; - HOST_WIDE_INT GTY ((default)) val_int; - unsigned HOST_WIDE_INT - GTY ((tag ("dw_val_class_unsigned_const"))) val_unsigned; - double_int GTY ((tag ("dw_val_class_const_double"))) val_double; - wide_int_ptr GTY ((tag ("dw_val_class_wide_int"))) val_wide; - dw_vec_const GTY ((tag ("dw_val_class_vec"))) val_vec; - struct dw_val_die_union - { - dw_die_ref die; - int external; - } GTY ((tag ("dw_val_class_die_ref"))) val_die_ref; - unsigned GTY ((tag ("dw_val_class_fde_ref"))) val_fde_index; - struct indirect_string_node * GTY ((tag ("dw_val_class_str"))) val_str; - char * GTY ((tag ("dw_val_class_lbl_id"))) val_lbl_id; - unsigned char GTY ((tag ("dw_val_class_flag"))) val_flag; - struct dwarf_file_data * GTY ((tag ("dw_val_class_file"))) val_file; - struct dwarf_file_data * - GTY ((tag ("dw_val_class_file_implicit"))) val_file_implicit; - unsigned char GTY ((tag ("dw_val_class_data8"))) val_data8[8]; - tree GTY ((tag ("dw_val_class_decl_ref"))) val_decl_ref; - struct dw_val_vms_delta_union - { - char * lbl1; - char * lbl2; - } GTY ((tag ("dw_val_class_vms_delta"))) val_vms_delta; - dw_discr_value GTY ((tag ("dw_val_class_discr_value"))) val_discr_value; - dw_discr_list_ref GTY ((tag ("dw_val_class_discr_list"))) val_discr_list; - char * GTY ((tag ("dw_val_class_symview"))) val_symbolic_view; - } - GTY ((desc ("%1.val_class"))) v; -}; - -/* Locations in memory are described using a sequence of stack machine - operations. */ - -struct GTY((chain_next ("%h.dw_loc_next"))) dw_loc_descr_node { - dw_loc_descr_ref dw_loc_next; - ENUM_BITFIELD (dwarf_location_atom) dw_loc_opc : 8; - /* Used to distinguish DW_OP_addr with a direct symbol relocation - from DW_OP_addr with a dtp-relative symbol relocation. */ - unsigned int dtprel : 1; - /* For DW_OP_pick, DW_OP_dup and DW_OP_over operations: true iff. - it targets a DWARF prodecure argument. In this case, it needs to be - relocated according to the current frame offset. */ - unsigned int frame_offset_rel : 1; - int dw_loc_addr; - dw_val_node dw_loc_oprnd1; - dw_val_node dw_loc_oprnd2; -}; - -/* A variant (inside a record variant part) is selected when the corresponding - discriminant matches its set of values (see the comment for dw_discr_value). - The following datastructure holds such matching information. */ - -struct GTY(()) dw_discr_list_node { - dw_discr_list_ref dw_discr_next; - - dw_discr_value dw_discr_lower_bound; - dw_discr_value dw_discr_upper_bound; - /* This node represents only the value in dw_discr_lower_bound when it's - zero. It represents the range between the two fields (bounds included) - otherwise. */ - int dw_discr_range; -}; - -/* Interface from dwarf2out.cc to dwarf2cfi.cc. */ -extern struct dw_loc_descr_node *build_cfa_loc - (dw_cfa_location *, poly_int64); -extern struct dw_loc_descr_node *build_cfa_aligned_loc - (dw_cfa_location *, poly_int64, HOST_WIDE_INT); -extern struct dw_loc_descr_node *build_span_loc (struct cfa_reg); -extern struct dw_loc_descr_node *mem_loc_descriptor - (rtx, machine_mode mode, machine_mode mem_mode, - enum var_init_status); -extern bool loc_descr_equal_p (dw_loc_descr_ref, dw_loc_descr_ref); -extern dw_fde_ref dwarf2out_alloc_current_fde (void); - -extern unsigned long size_of_locs (dw_loc_descr_ref); -extern void output_loc_sequence (dw_loc_descr_ref, int); -extern void output_loc_sequence_raw (dw_loc_descr_ref); - -/* Interface from dwarf2cfi.cc to dwarf2out.cc. */ -extern void lookup_cfa_1 (dw_cfi_ref cfi, dw_cfa_location *loc, - dw_cfa_location *remember); -extern bool cfa_equal_p (const dw_cfa_location *, const dw_cfa_location *); - -extern void output_cfi (dw_cfi_ref, dw_fde_ref, int); - -extern GTY(()) cfi_vec cie_cfi_vec; - -/* Interface from dwarf2*.c to the rest of the compiler. */ -extern enum dw_cfi_oprnd_type dw_cfi_oprnd1_desc - (enum dwarf_call_frame_info cfi); -extern enum dw_cfi_oprnd_type dw_cfi_oprnd2_desc - (enum dwarf_call_frame_info cfi); - -extern void output_cfi_directive (FILE *f, struct dw_cfi_node *cfi); - -extern void dwarf2out_emit_cfi (dw_cfi_ref cfi); - -extern void debug_dwarf (void); -struct die_struct; -extern void debug_dwarf_die (struct die_struct *); -extern void debug_dwarf_loc_descr (dw_loc_descr_ref); -extern void debug (die_struct &ref); -extern void debug (die_struct *ptr); -extern void dwarf2out_set_demangle_name_func (const char *(*) (const char *)); -#ifdef VMS_DEBUGGING_INFO -extern void dwarf2out_vms_debug_main_pointer (void); -#endif - -enum array_descr_ordering -{ - array_descr_ordering_default, - array_descr_ordering_row_major, - array_descr_ordering_column_major -}; - -#define DWARF2OUT_ARRAY_DESCR_INFO_MAX_DIMEN 16 - -struct array_descr_info -{ - int ndimensions; - enum array_descr_ordering ordering; - tree element_type; - tree base_decl; - tree data_location; - tree allocated; - tree associated; - tree stride; - tree rank; - bool stride_in_bits; - struct array_descr_dimen - { - /* GCC uses sizetype for array indices, so lower_bound and upper_bound - will likely be "sizetype" values. However, bounds may have another - type in the original source code. */ - tree bounds_type; - tree lower_bound; - tree upper_bound; - - /* Only Fortran uses more than one dimension for array types. For other - languages, the stride can be rather specified for the whole array. */ - tree stride; - } dimen[DWARF2OUT_ARRAY_DESCR_INFO_MAX_DIMEN]; -}; - -enum fixed_point_scale_factor -{ - fixed_point_scale_factor_binary, - fixed_point_scale_factor_decimal, - fixed_point_scale_factor_arbitrary -}; - -struct fixed_point_type_info -{ - /* The scale factor is the value one has to multiply the actual data with - to get the fixed point value. We support three ways to encode it. */ - enum fixed_point_scale_factor scale_factor_kind; - union - { - /* For a binary scale factor, the scale factor is 2 ** binary. */ - int binary; - /* For a decimal scale factor, the scale factor is 10 ** decimal. */ - int decimal; - /* For an arbitrary scale factor, the scale factor is the ratio - numerator / denominator. */ - struct { tree numerator; tree denominator; } arbitrary; - } scale_factor; -}; - -void dwarf2out_cc_finalize (void); - -/* Some DWARF internals are exposed for the needs of DWARF-based debug - formats. */ - -/* Each DIE attribute has a field specifying the attribute kind, - a link to the next attribute in the chain, and an attribute value. - Attributes are typically linked below the DIE they modify. */ - -typedef struct GTY(()) dw_attr_struct { - enum dwarf_attribute dw_attr; - dw_val_node dw_attr_val; -} -dw_attr_node; - -extern dw_attr_node *get_AT (dw_die_ref, enum dwarf_attribute); -extern HOST_WIDE_INT AT_int (dw_attr_node *); -extern unsigned HOST_WIDE_INT AT_unsigned (dw_attr_node *a); -extern dw_loc_descr_ref AT_loc (dw_attr_node *); -extern dw_die_ref get_AT_ref (dw_die_ref, enum dwarf_attribute); -extern const char *get_AT_string (dw_die_ref, enum dwarf_attribute); -extern enum dw_val_class AT_class (dw_attr_node *); -extern unsigned HOST_WIDE_INT AT_unsigned (dw_attr_node *); -extern unsigned get_AT_unsigned (dw_die_ref, enum dwarf_attribute); -extern int get_AT_flag (dw_die_ref, enum dwarf_attribute); - -extern void add_name_attribute (dw_die_ref, const char *); - -extern dw_die_ref new_die_raw (enum dwarf_tag); -extern dw_die_ref base_type_die (tree, bool); - -extern dw_die_ref lookup_decl_die (tree); -extern dw_die_ref lookup_type_die (tree); - -extern dw_die_ref dw_get_die_child (dw_die_ref); -extern dw_die_ref dw_get_die_sib (dw_die_ref); -extern enum dwarf_tag dw_get_die_tag (dw_die_ref); - -/* Data about a single source file. */ -struct GTY((for_user)) dwarf_file_data { - const char * key; - const char * filename; - int emitted_number; -}; - -extern struct dwarf_file_data *get_AT_file (dw_die_ref, - enum dwarf_attribute); - -#endif /* GCC_DWARF2OUT_H */ diff --git a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/edit-context.h b/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/edit-context.h deleted file mode 100644 index f2e69a66..00000000 --- a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/edit-context.h +++ /dev/null @@ -1,67 +0,0 @@ -/* Determining the results of applying fix-it hints. - Copyright (C) 2016-2023 Free Software Foundation, Inc. - -This file is part of GCC. - -GCC is free software; you can redistribute it and/or modify it under -the terms of the GNU General Public License as published by the Free -Software Foundation; either version 3, or (at your option) any later -version. - -GCC is distributed in the hope that it will be useful, but WITHOUT ANY -WARRANTY; without even the implied warranty of MERCHANTABILITY or -FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -for more details. - -You should have received a copy of the GNU General Public License -along with GCC; see the file COPYING3. If not see -. */ - -#ifndef GCC_EDIT_CONTEXT_H -#define GCC_EDIT_CONTEXT_H - -#include "typed-splay-tree.h" - -class edit_context; -class edited_file; - -/* A set of changes to the source code. - - The changes are "atomic" - if any changes can't be applied, - none of them can be (tracked by the m_valid flag). - Similarly, attempts to add the changes from a rich_location flagged - as containing invalid changes mean that the whole of the edit_context - is flagged as invalid. - - A complication here is that fix-its are expressed relative to coordinates - in the files when they were parsed, before any changes have been made, and - so if there's more that one fix-it to be applied, we have to adjust - later fix-its to allow for the changes made by earlier ones. This - is done by the various "get_effective_column" methods. */ - -class edit_context -{ - public: - edit_context (); - - bool valid_p () const { return m_valid; } - - void add_fixits (rich_location *richloc); - - char *get_content (const char *filename); - - int get_effective_column (const char *filename, int line, int column); - - char *generate_diff (bool show_filenames); - void print_diff (pretty_printer *pp, bool show_filenames); - - private: - bool apply_fixit (const fixit_hint *hint); - edited_file *get_file (const char *filename); - edited_file &get_or_insert_file (const char *filename); - - bool m_valid; - typed_splay_tree m_files; -}; - -#endif /* GCC_EDIT_CONTEXT_H. */ diff --git a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/emit-rtl.h b/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/emit-rtl.h deleted file mode 100644 index c472c736..00000000 --- a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/emit-rtl.h +++ /dev/null @@ -1,548 +0,0 @@ -/* Exported functions from emit-rtl.cc - Copyright (C) 2004-2023 Free Software Foundation, Inc. - -This file is part of GCC. - -GCC is free software; you can redistribute it and/or modify it under -the terms of the GNU General Public License as published by the Free -Software Foundation; either version 3, or (at your option) any later -version. - -GCC is distributed in the hope that it will be useful, but WITHOUT ANY -WARRANTY; without even the implied warranty of MERCHANTABILITY or -FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -for more details. - -You should have received a copy of the GNU General Public License -along with GCC; see the file COPYING3. If not see -. */ - -#ifndef GCC_EMIT_RTL_H -#define GCC_EMIT_RTL_H - -class temp_slot; -typedef class temp_slot *temp_slot_p; -class predefined_function_abi; -namespace rtl_ssa { class function_info; } - -/* Information mainlined about RTL representation of incoming arguments. */ -struct GTY(()) incoming_args { - /* Number of bytes of args popped by function being compiled on its return. - Zero if no bytes are to be popped. - May affect compilation of return insn or of function epilogue. */ - poly_int64_pod pops_args; - - /* If function's args have a fixed size, this is that size, in bytes. - Otherwise, it is -1. - May affect compilation of return insn or of function epilogue. */ - poly_int64_pod size; - - /* # bytes the prologue should push and pretend that the caller pushed them. - The prologue must do this, but only if parms can be passed in - registers. */ - int pretend_args_size; - - /* This is the offset from the arg pointer to the place where the first - anonymous arg can be found, if there is one. */ - rtx arg_offset_rtx; - - /* Quantities of various kinds of registers - used for the current function's args. */ - CUMULATIVE_ARGS info; - - /* The arg pointer hard register, or the pseudo into which it was copied. */ - rtx internal_arg_pointer; -}; - - -/* Datastructures maintained for currently processed function in RTL form. */ -struct GTY(()) rtl_data { - void init_stack_alignment (); - - struct expr_status expr; - struct emit_status emit; - struct varasm_status varasm; - struct incoming_args args; - struct function_subsections subsections; - struct rtl_eh eh; - - /* The ABI of the function, i.e. the interface it presents to its callers. - This is the ABI that should be queried to see which registers the - function needs to save before it uses them. - - Other functions (including those called by this function) might use - different ABIs. */ - const predefined_function_abi *GTY((skip)) abi; - - rtl_ssa::function_info *GTY((skip)) ssa; - - /* For function.cc */ - - /* # of bytes of outgoing arguments. If ACCUMULATE_OUTGOING_ARGS is - defined, the needed space is pushed by the prologue. */ - poly_int64_pod outgoing_args_size; - - /* If nonzero, an RTL expression for the location at which the current - function returns its result. If the current function returns its - result in a register, current_function_return_rtx will always be - the hard register containing the result. */ - rtx return_rtx; - - /* Vector of initial-value pairs. Each pair consists of a pseudo - register of approprite mode that stores the initial value a hard - register REGNO, and that hard register itself. */ - /* ??? This could be a VEC but there is currently no way to define an - opaque VEC type. */ - struct initial_value_struct *hard_reg_initial_vals; - - /* A variable living at the top of the frame that holds a known value. - Used for detecting stack clobbers. */ - tree stack_protect_guard; - - /* The __stack_chk_guard variable or expression holding the stack - protector canary value. */ - tree stack_protect_guard_decl; - - /* List (chain of INSN_LIST) of labels heading the current handlers for - nonlocal gotos. */ - rtx_insn_list *x_nonlocal_goto_handler_labels; - - /* Label that will go on function epilogue. - Jumping to this label serves as a "return" instruction - on machines which require execution of the epilogue on all returns. */ - rtx_code_label *x_return_label; - - /* Label that will go on the end of function epilogue. - Jumping to this label serves as a "naked return" instruction - on machines which require execution of the epilogue on all returns. */ - rtx_code_label *x_naked_return_label; - - /* List (chain of EXPR_LISTs) of all stack slots in this function. - Made for the sake of unshare_all_rtl. */ - vec *x_stack_slot_list; - - /* List of empty areas in the stack frame. */ - class frame_space *frame_space_list; - - /* Place after which to insert the tail_recursion_label if we need one. */ - rtx_note *x_stack_check_probe_note; - - /* Location at which to save the argument pointer if it will need to be - referenced. There are two cases where this is done: if nonlocal gotos - exist, or if vars stored at an offset from the argument pointer will be - needed by inner routines. */ - rtx x_arg_pointer_save_area; - - /* Dynamic Realign Argument Pointer used for realigning stack. */ - rtx drap_reg; - - /* Offset to end of allocated area of stack frame. - If stack grows down, this is the address of the last stack slot allocated. - If stack grows up, this is the address for the next slot. */ - poly_int64_pod x_frame_offset; - - /* Insn after which register parms and SAVE_EXPRs are born, if nonopt. */ - rtx_insn *x_parm_birth_insn; - - /* List of all used temporaries allocated, by level. */ - vec *x_used_temp_slots; - - /* List of available temp slots. */ - class temp_slot *x_avail_temp_slots; - - /* Current nesting level for temporaries. */ - int x_temp_slot_level; - - /* The largest alignment needed on the stack, including requirement - for outgoing stack alignment. */ - unsigned int stack_alignment_needed; - - /* Preferred alignment of the end of stack frame, which is preferred - to call other functions. */ - unsigned int preferred_stack_boundary; - - /* The minimum alignment of parameter stack. */ - unsigned int parm_stack_boundary; - - /* The largest alignment of slot allocated on the stack. */ - unsigned int max_used_stack_slot_alignment; - - /* The stack alignment estimated before reload, with consideration of - following factors: - 1. Alignment of local stack variables (max_used_stack_slot_alignment) - 2. Alignment requirement to call other functions - (preferred_stack_boundary) - 3. Alignment of non-local stack variables but might be spilled in - local stack. */ - unsigned int stack_alignment_estimated; - - /* How many NOP insns to place at each function entry by default. */ - unsigned short patch_area_size; - - /* How far the real asm entry point is into this area. */ - unsigned short patch_area_entry; - - /* For reorg. */ - - /* Nonzero if function being compiled called builtin_return_addr or - builtin_frame_address with nonzero count. */ - bool accesses_prior_frames; - - /* Nonzero if the function calls __builtin_eh_return. */ - bool calls_eh_return; - - /* Nonzero if function saves all registers, e.g. if it has a nonlocal - label that can reach the exit block via non-exceptional paths. */ - bool saves_all_registers; - - /* Nonzero if function being compiled has nonlocal gotos to parent - function. */ - bool has_nonlocal_goto; - - /* Nonzero if function being compiled has an asm statement. */ - bool has_asm_statement; - - /* This bit is used by the exception handling logic. It is set if all - calls (if any) are sibling calls. Such functions do not have to - have EH tables generated, as they cannot throw. A call to such a - function, however, should be treated as throwing if any of its callees - can throw. */ - bool all_throwers_are_sibcalls; - - /* Nonzero if stack limit checking should be enabled in the current - function. */ - bool limit_stack; - - /* Nonzero if profiling code should be generated. */ - bool profile; - - /* Nonzero if the current function uses the constant pool. */ - bool uses_const_pool; - - /* Nonzero if the current function uses pic_offset_table_rtx. */ - bool uses_pic_offset_table; - - /* Nonzero if the current function needs an lsda for exception handling. */ - bool uses_eh_lsda; - - /* Set when the tail call has been produced. */ - bool tail_call_emit; - - /* Nonzero if code to initialize arg_pointer_save_area has been emitted. */ - bool arg_pointer_save_area_init; - - /* Nonzero if current function must be given a frame pointer. - Set in reload1.cc or lra-eliminations.cc if anything is allocated - on the stack there. */ - bool frame_pointer_needed; - - /* When set, expand should optimize for speed. */ - bool maybe_hot_insn_p; - - /* Nonzero if function stack realignment is needed. This flag may be - set twice: before and after reload. It is set before reload wrt - stack alignment estimation before reload. It will be changed after - reload if by then criteria of stack realignment is different. - The value set after reload is the accurate one and is finalized. */ - bool stack_realign_needed; - - /* Nonzero if function stack realignment is tried. This flag is set - only once before reload. It affects register elimination. This - is used to generate DWARF debug info for stack variables. */ - bool stack_realign_tried; - - /* Nonzero if function being compiled needs dynamic realigned - argument pointer (drap) if stack needs realigning. */ - bool need_drap; - - /* Nonzero if function stack realignment estimation is done, namely - stack_realign_needed flag has been set before reload wrt estimated - stack alignment info. */ - bool stack_realign_processed; - - /* Nonzero if function stack realignment has been finalized, namely - stack_realign_needed flag has been set and finalized after reload. */ - bool stack_realign_finalized; - - /* True if dbr_schedule has already been called for this function. */ - bool dbr_scheduled_p; - - /* True if current function cannot throw. Unlike - TREE_NOTHROW (current_function_decl) it is set even for overwritable - function where currently compiled version of it is nothrow. */ - bool nothrow; - - /* True if we performed shrink-wrapping for the current function. */ - bool shrink_wrapped; - - /* True if we performed shrink-wrapping for separate components for - the current function. */ - bool shrink_wrapped_separate; - - /* Nonzero if function being compiled doesn't modify the stack pointer - (ignoring the prologue and epilogue). This is only valid after - pass_stack_ptr_mod has run. */ - bool sp_is_unchanging; - - /* True if the stack pointer is clobbered by asm statement. */ - bool sp_is_clobbered_by_asm; - - /* Nonzero if function being compiled doesn't contain any calls - (ignoring the prologue and epilogue). This is set prior to - register allocation in IRA and is valid for the remaining - compiler passes. */ - bool is_leaf; - - /* Nonzero if the function being compiled is a leaf function which only - uses leaf registers. This is valid after reload (specifically after - sched2) and is useful only if the port defines LEAF_REGISTERS. */ - bool uses_only_leaf_regs; - - /* Nonzero if the function being compiled has undergone hot/cold partitioning - (under flag_reorder_blocks_and_partition) and has at least one cold - block. */ - bool has_bb_partition; - - /* Nonzero if the function being compiled has completed the bb reordering - pass. */ - bool bb_reorder_complete; - - /* Like regs_ever_live, but 1 if a reg is set or clobbered from an - asm. Unlike regs_ever_live, elements of this array corresponding - to eliminable regs (like the frame pointer) are set if an asm - sets them. */ - HARD_REG_SET asm_clobbers; - - /* All hard registers that need to be zeroed at the return of the routine. */ - HARD_REG_SET must_be_zero_on_return; - - /* The highest address seen during shorten_branches. */ - int max_insn_address; -}; - -#define return_label (crtl->x_return_label) -#define naked_return_label (crtl->x_naked_return_label) -#define stack_slot_list (crtl->x_stack_slot_list) -#define parm_birth_insn (crtl->x_parm_birth_insn) -#define frame_offset (crtl->x_frame_offset) -#define stack_check_probe_note (crtl->x_stack_check_probe_note) -#define arg_pointer_save_area (crtl->x_arg_pointer_save_area) -#define used_temp_slots (crtl->x_used_temp_slots) -#define avail_temp_slots (crtl->x_avail_temp_slots) -#define temp_slot_level (crtl->x_temp_slot_level) -#define nonlocal_goto_handler_labels (crtl->x_nonlocal_goto_handler_labels) -#define frame_pointer_needed (crtl->frame_pointer_needed) -#define stack_realign_fp (crtl->stack_realign_needed && !crtl->need_drap) -#define stack_realign_drap (crtl->stack_realign_needed && crtl->need_drap) - -extern GTY(()) struct rtl_data x_rtl; - -/* Accessor to RTL datastructures. We keep them statically allocated now since - we never keep multiple functions. For threaded compiler we might however - want to do differently. */ -#define crtl (&x_rtl) - -/* Return whether two MEM_ATTRs are equal. */ -bool mem_attrs_eq_p (const class mem_attrs *, const class mem_attrs *); - -/* Set the alias set of MEM to SET. */ -extern void set_mem_alias_set (rtx, alias_set_type); - -/* Set the alignment of MEM to ALIGN bits. */ -extern void set_mem_align (rtx, unsigned int); - -/* Set the address space of MEM to ADDRSPACE. */ -extern void set_mem_addr_space (rtx, addr_space_t); - -/* Set the expr for MEM to EXPR. */ -extern void set_mem_expr (rtx, tree); - -/* Set the offset for MEM to OFFSET. */ -extern void set_mem_offset (rtx, poly_int64); - -/* Clear the offset recorded for MEM. */ -extern void clear_mem_offset (rtx); - -/* Set the size for MEM to SIZE. */ -extern void set_mem_size (rtx, poly_int64); - -/* Clear the size recorded for MEM. */ -extern void clear_mem_size (rtx); - -/* Set the attributes for MEM appropriate for a spill slot. */ -extern void set_mem_attrs_for_spill (rtx); -extern tree get_spill_slot_decl (bool); - -/* Return a memory reference like MEMREF, but with its address changed to - ADDR. The caller is asserting that the actual piece of memory pointed - to is the same, just the form of the address is being changed, such as - by putting something into a register. */ -extern rtx replace_equiv_address (rtx, rtx, bool = false); - -/* Likewise, but the reference is not required to be valid. */ -extern rtx replace_equiv_address_nv (rtx, rtx, bool = false); - -extern rtx gen_blockage (void); -extern rtvec gen_rtvec (int, ...); -extern rtx copy_insn_1 (rtx); -extern rtx copy_insn (rtx); -extern rtx_insn *copy_delay_slot_insn (rtx_insn *); -extern rtx gen_int_mode (poly_int64, machine_mode); -extern rtx_insn *emit_copy_of_insn_after (rtx_insn *, rtx_insn *); -extern void set_reg_attrs_from_value (rtx, rtx); -extern void set_reg_attrs_for_parm (rtx, rtx); -extern void set_reg_attrs_for_decl_rtl (tree t, rtx x); -extern void adjust_reg_mode (rtx, machine_mode); -extern int mem_expr_equal_p (const_tree, const_tree); -extern rtx gen_int_shift_amount (machine_mode, poly_int64); - -extern bool need_atomic_barrier_p (enum memmodel, bool); - -/* Return the current sequence. */ - -inline struct sequence_stack * -get_current_sequence (void) -{ - return &crtl->emit.seq; -} - -/* Return the outermost sequence. */ - -inline struct sequence_stack * -get_topmost_sequence (void) -{ - struct sequence_stack *seq, *top; - - seq = get_current_sequence (); - do - { - top = seq; - seq = seq->next; - } while (seq); - return top; -} - -/* Return the first insn of the current sequence or current function. */ - -inline rtx_insn * -get_insns (void) -{ - return get_current_sequence ()->first; -} - -/* Specify a new insn as the first in the chain. */ - -inline void -set_first_insn (rtx_insn *insn) -{ - gcc_checking_assert (!insn || !PREV_INSN (insn)); - get_current_sequence ()->first = insn; -} - -/* Return the last insn emitted in current sequence or current function. */ - -inline rtx_insn * -get_last_insn (void) -{ - return get_current_sequence ()->last; -} - -/* Specify a new insn as the last in the chain. */ - -inline void -set_last_insn (rtx_insn *insn) -{ - gcc_checking_assert (!insn || !NEXT_INSN (insn)); - get_current_sequence ()->last = insn; -} - -/* Return a number larger than any instruction's uid in this function. */ - -inline int -get_max_uid (void) -{ - return crtl->emit.x_cur_insn_uid; -} - -extern bool valid_for_const_vector_p (machine_mode, rtx); -extern rtx gen_const_vec_duplicate (machine_mode, rtx); -extern rtx gen_vec_duplicate (machine_mode, rtx); - -extern rtx gen_const_vec_series (machine_mode, rtx, rtx); -extern rtx gen_vec_series (machine_mode, rtx, rtx); - -extern void set_decl_incoming_rtl (tree, rtx, bool); - -/* Return a memory reference like MEMREF, but with its mode changed - to MODE and its address changed to ADDR. - (VOIDmode means don't change the mode. - NULL for ADDR means don't change the address.) */ -extern rtx change_address (rtx, machine_mode, rtx); - -/* Return a memory reference like MEMREF, but with its mode changed - to MODE and its address offset by OFFSET bytes. */ -#define adjust_address(MEMREF, MODE, OFFSET) \ - adjust_address_1 (MEMREF, MODE, OFFSET, 1, 1, 0, 0) - -/* Likewise, but the reference is not required to be valid. */ -#define adjust_address_nv(MEMREF, MODE, OFFSET) \ - adjust_address_1 (MEMREF, MODE, OFFSET, 0, 1, 0, 0) - -/* Return a memory reference like MEMREF, but with its mode changed - to MODE and its address offset by OFFSET bytes. Assume that it's - for a bitfield and conservatively drop the underlying object if we - cannot be sure to stay within its bounds. */ -#define adjust_bitfield_address(MEMREF, MODE, OFFSET) \ - adjust_address_1 (MEMREF, MODE, OFFSET, 1, 1, 1, 0) - -/* As for adjust_bitfield_address, but specify that the width of - BLKmode accesses is SIZE bytes. */ -#define adjust_bitfield_address_size(MEMREF, MODE, OFFSET, SIZE) \ - adjust_address_1 (MEMREF, MODE, OFFSET, 1, 1, 1, SIZE) - -/* Likewise, but the reference is not required to be valid. */ -#define adjust_bitfield_address_nv(MEMREF, MODE, OFFSET) \ - adjust_address_1 (MEMREF, MODE, OFFSET, 0, 1, 1, 0) - -/* Return a memory reference like MEMREF, but with its mode changed - to MODE and its address changed to ADDR, which is assumed to be - increased by OFFSET bytes from MEMREF. */ -#define adjust_automodify_address(MEMREF, MODE, ADDR, OFFSET) \ - adjust_automodify_address_1 (MEMREF, MODE, ADDR, OFFSET, 1) - -/* Likewise, but the reference is not required to be valid. */ -#define adjust_automodify_address_nv(MEMREF, MODE, ADDR, OFFSET) \ - adjust_automodify_address_1 (MEMREF, MODE, ADDR, OFFSET, 0) - -extern rtx adjust_address_1 (rtx, machine_mode, poly_int64, int, int, - int, poly_int64); -extern rtx adjust_automodify_address_1 (rtx, machine_mode, rtx, - poly_int64, int); - -/* Return a memory reference like MEMREF, but whose address is changed by - adding OFFSET, an RTX, to it. POW2 is the highest power of two factor - known to be in OFFSET (possibly 1). */ -extern rtx offset_address (rtx, rtx, unsigned HOST_WIDE_INT); - -/* Given REF, a MEM, and T, either the type of X or the expression - corresponding to REF, set the memory attributes. OBJECTP is nonzero - if we are making a new object of this type. */ -extern void set_mem_attributes (rtx, tree, int); - -/* Similar, except that BITPOS has not yet been applied to REF, so if - we alter MEM_OFFSET according to T then we should subtract BITPOS - expecting that it'll be added back in later. */ -extern void set_mem_attributes_minus_bitpos (rtx, tree, int, poly_int64); - -/* Return OFFSET if XEXP (MEM, 0) - OFFSET is known to be ALIGN - bits aligned for 0 <= OFFSET < ALIGN / BITS_PER_UNIT, or - -1 if not known. */ -extern int get_mem_align_offset (rtx, unsigned int); - -/* Return a memory reference like MEMREF, but with its mode widened to - MODE and adjusted by OFFSET. */ -extern rtx widen_memory_access (rtx, machine_mode, poly_int64); - -extern void maybe_set_max_label_num (rtx_code_label *x); - -#endif /* GCC_EMIT_RTL_H */ diff --git a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/errors.h b/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/errors.h deleted file mode 100644 index a621bb4e..00000000 --- a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/errors.h +++ /dev/null @@ -1,40 +0,0 @@ -/* Basic error reporting routines. - Copyright (C) 1999-2023 Free Software Foundation, Inc. - -This file is part of GCC. - -GCC is free software; you can redistribute it and/or modify it under -the terms of the GNU General Public License as published by the Free -Software Foundation; either version 3, or (at your option) any later -version. - -GCC is distributed in the hope that it will be useful, but WITHOUT ANY -WARRANTY; without even the implied warranty of MERCHANTABILITY or -FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -for more details. - -You should have received a copy of the GNU General Public License -along with GCC; see the file COPYING3. If not see -. */ - -/* warning, error, and fatal. These definitions are suitable for use - in the generator programs; eventually we would like to use them in - cc1 too, but that's a longer term project. - - N.B. We cannot presently use ATTRIBUTE_PRINTF with these functions, - because they can be extended with additional format specifiers which - GCC does not know about. */ - -#ifndef GCC_ERRORS_H -#define GCC_ERRORS_H - -extern void warning (const char *, ...) ATTRIBUTE_PRINTF_1 ATTRIBUTE_COLD; -extern void error (const char *, ...) ATTRIBUTE_PRINTF_1 ATTRIBUTE_COLD; -extern void fatal (const char *, ...) ATTRIBUTE_NORETURN ATTRIBUTE_PRINTF_1 ATTRIBUTE_COLD; -extern void internal_error (const char *, ...) ATTRIBUTE_NORETURN ATTRIBUTE_PRINTF_1 ATTRIBUTE_COLD; -extern const char *trim_filename (const char *); - -extern int have_error; -extern const char *progname; - -#endif /* ! GCC_ERRORS_H */ diff --git a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/escaped_string.h b/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/escaped_string.h deleted file mode 100644 index f1c0d7e7..00000000 --- a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/escaped_string.h +++ /dev/null @@ -1,43 +0,0 @@ -/* Shared escaped string class. - Copyright (C) 1999-2023 Free Software Foundation, Inc. - -This file is part of GCC. - -GCC is free software; you can redistribute it and/or modify it under -the terms of the GNU General Public License as published by the Free -Software Foundation; either version 3, or (at your option) any later -version. - -GCC is distributed in the hope that it will be useful, but WITHOUT ANY -WARRANTY; without even the implied warranty of MERCHANTABILITY or -FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -for more details. - -You should have received a copy of the GNU General Public License -along with GCC; see the file COPYING3. If not see -. */ - -#ifndef GCC_ESCAPED_STRING_H -#define GCC_ESCAPED_STRING_H - -#include - -/* A class to handle converting a string that might contain - control characters, (eg newline, form-feed, etc), into one - in which contains escape sequences instead. */ - -class escaped_string -{ - public: - escaped_string () { m_owned = false; m_str = NULL; }; - ~escaped_string () { if (m_owned) free (m_str); } - operator const char *() const { return m_str; } - void escape (const char *); - private: - escaped_string(const escaped_string&) {} - escaped_string& operator=(const escaped_string&) { return *this; } - char *m_str; - bool m_owned; -}; - -#endif /* ! GCC_ESCAPED_STRING_H */ diff --git a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/et-forest.h b/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/et-forest.h deleted file mode 100644 index 157b6af7..00000000 --- a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/et-forest.h +++ /dev/null @@ -1,85 +0,0 @@ -/* Et-forest data structure implementation. - Copyright (C) 2002-2023 Free Software Foundation, Inc. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; see the file COPYING3. If not see - . */ - -/* This package implements ET forest data structure. Each tree in - the structure maintains a tree structure and offers logarithmic time - for tree operations (insertion and removal of nodes and edges) and - poly-logarithmic time for nearest common ancestor. - - ET tree stores its structure as a sequence of symbols obtained - by dfs(root) - - dfs (node) - { - s = node; - for each child c of node do - s = concat (s, c, node); - return s; - } - - For example for tree - - 1 - / | \ - 2 3 4 - / | - 4 5 - - the sequence is 1 2 4 2 5 3 1 3 1 4 1. - - The sequence is stored in a slightly modified splay tree. - In order to support various types of node values, a hashtable - is used to convert node values to the internal representation. */ - -#ifndef _ET_TREE_H -#define _ET_TREE_H - -#ifdef __cplusplus -extern "C" { -#endif /* __cplusplus */ - -/* The node representing the node in an et tree. */ -struct et_node -{ - void *data; /* The data represented by the node. */ - - int dfs_num_in, dfs_num_out; /* Number of the node in the dfs ordering. */ - - struct et_node *father; /* Father of the node. */ - struct et_node *son; /* The first of the sons of the node. */ - struct et_node *left; - struct et_node *right; /* The brothers of the node. */ - - struct et_occ *rightmost_occ; /* The rightmost occurrence. */ - struct et_occ *parent_occ; /* The occurrence of the parent node. */ -}; - -struct et_node *et_new_tree (void *data); -void et_free_tree (struct et_node *); -void et_free_tree_force (struct et_node *); -void et_free_pools (void); -void et_set_father (struct et_node *, struct et_node *); -void et_split (struct et_node *); -struct et_node *et_nca (struct et_node *, struct et_node *); -bool et_below (struct et_node *, struct et_node *); -struct et_node *et_root (struct et_node *); - -#ifdef __cplusplus -} -#endif /* __cplusplus */ - -#endif /* _ET_TREE_H */ diff --git a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/except.h b/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/except.h deleted file mode 100644 index 5ecdbc0d..00000000 --- a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/except.h +++ /dev/null @@ -1,334 +0,0 @@ -/* Exception Handling interface routines. - Copyright (C) 1996-2023 Free Software Foundation, Inc. - Contributed by Mike Stump . - -This file is part of GCC. - -GCC is free software; you can redistribute it and/or modify it under -the terms of the GNU General Public License as published by the Free -Software Foundation; either version 3, or (at your option) any later -version. - -GCC is distributed in the hope that it will be useful, but WITHOUT ANY -WARRANTY; without even the implied warranty of MERCHANTABILITY or -FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -for more details. - -You should have received a copy of the GNU General Public License -along with GCC; see the file COPYING3. If not see -. */ - -/* No include guards here, but define an include file marker anyway, so - that the compiler can keep track of where this file is included. This - is e.g. used to avoid including this file in front-end specific files. */ -#ifndef GCC_EXCEPT_H -#define GCC_EXCEPT_H - - -struct function; -struct eh_region_d; - -/* The type of an exception region. */ -enum eh_region_type -{ - /* CLEANUP regions implement e.g. destructors run when exiting a block. - They can be generated from both GIMPLE_TRY_FINALLY and GIMPLE_TRY_CATCH - nodes. It is expected by the runtime that cleanup regions will *not* - resume normal program flow, but will continue propagation of the - exception. */ - ERT_CLEANUP, - - /* TRY regions implement catching an exception. The list of types associated - with the attached catch handlers is examined in order by the runtime and - control is transferred to the appropriate handler. Note that a NULL type - list is a catch-all handler, and that it will catch *all* exceptions - including those originating from a different language. */ - ERT_TRY, - - /* ALLOWED_EXCEPTIONS regions implement exception filtering, e.g. the - throw(type-list) specification that can be added to C++ functions. - The runtime examines the thrown exception vs the type list, and if - the exception does not match, transfers control to the handler. The - normal handler for C++ calls __cxa_call_unexpected. */ - ERT_ALLOWED_EXCEPTIONS, - - /* MUST_NOT_THROW regions prevent all exceptions from propagating. This - region type is used in C++ to surround destructors being run inside a - CLEANUP region. This differs from an ALLOWED_EXCEPTIONS region with - an empty type list in that the runtime is prepared to terminate the - program directly. We only generate code for MUST_NOT_THROW regions - along control paths that are already handling an exception within the - current function. */ - ERT_MUST_NOT_THROW -}; - - -/* A landing pad for a given exception region. Any transfer of control - from the EH runtime to the function happens at a landing pad. */ - -struct GTY(()) eh_landing_pad_d -{ - /* The linked list of all landing pads associated with the region. */ - struct eh_landing_pad_d *next_lp; - - /* The region with which this landing pad is associated. */ - struct eh_region_d *region; - - /* At the gimple level, the location to which control will be transferred - for this landing pad. There can be both EH and normal edges into the - block containing the post-landing-pad label. */ - tree post_landing_pad; - - /* At the rtl level, the location to which the runtime will transfer - control. This differs from the post-landing-pad in that the target's - EXCEPTION_RECEIVER pattern will be expanded here, as well as other - bookkeeping specific to exceptions. There must not be normal edges - into the block containing the landing-pad label. */ - rtx_code_label *landing_pad; - - /* The index of this landing pad within fun->eh->lp_array. */ - int index; -}; - -/* A catch handler associated with an ERT_TRY region. */ - -struct GTY(()) eh_catch_d -{ - /* The double-linked list of all catch handlers for the region. */ - struct eh_catch_d *next_catch; - struct eh_catch_d *prev_catch; - - /* A TREE_LIST of runtime type objects that this catch handler - will catch, or NULL if all exceptions are caught. */ - tree type_list; - - /* A TREE_LIST of INTEGER_CSTs that correspond to the type_list entries, - having been mapped by assign_filter_values. These integers are to be - compared against the __builtin_eh_filter value. */ - tree filter_list; - - /* The code that should be executed if this catch handler matches the - thrown exception. This label is only maintained until - pass_lower_eh_dispatch, at which point it is cleared. */ - tree label; -}; - -/* Describes one exception region. */ - -struct GTY(()) eh_region_d -{ - /* The immediately surrounding region. */ - struct eh_region_d *outer; - - /* The list of immediately contained regions. */ - struct eh_region_d *inner; - struct eh_region_d *next_peer; - - /* The index of this region within fun->eh->region_array. */ - int index; - - /* Each region does exactly one thing. */ - enum eh_region_type type; - - /* Holds the action to perform based on the preceding type. */ - union eh_region_u { - struct eh_region_u_try { - /* The double-linked list of all catch handlers for this region. */ - struct eh_catch_d *first_catch; - struct eh_catch_d *last_catch; - } GTY ((tag ("ERT_TRY"))) eh_try; - - struct eh_region_u_allowed { - /* A TREE_LIST of runtime type objects allowed to pass. */ - tree type_list; - /* The code that should be executed if the thrown exception does - not match the type list. This label is only maintained until - pass_lower_eh_dispatch, at which point it is cleared. */ - tree label; - /* The integer that will be passed by the runtime to signal that - we should execute the code at LABEL. This integer is assigned - by assign_filter_values and is to be compared against the - __builtin_eh_filter value. */ - int filter; - } GTY ((tag ("ERT_ALLOWED_EXCEPTIONS"))) allowed; - - struct eh_region_u_must_not_throw { - /* A function decl to be invoked if this region is actually reachable - from within the function, rather than implementable from the runtime. - The normal way for this to happen is for there to be a CLEANUP region - contained within this MUST_NOT_THROW region. Note that if the - runtime handles the MUST_NOT_THROW region, we have no control over - what termination function is called; it will be decided by the - personality function in effect for this CIE. */ - tree failure_decl; - /* The location assigned to the call of FAILURE_DECL, if expanded. */ - location_t failure_loc; - } GTY ((tag ("ERT_MUST_NOT_THROW"))) must_not_throw; - } GTY ((desc ("%0.type"))) u; - - /* The list of landing pads associated with this region. */ - struct eh_landing_pad_d *landing_pads; - - /* EXC_PTR and FILTER values copied from the runtime for this region. - Each region gets its own psuedos so that if there are nested exceptions - we do not overwrite the values of the first exception. */ - rtx exc_ptr_reg, filter_reg; - - /* True if this region should use __cxa_end_cleanup instead - of _Unwind_Resume. */ - bool use_cxa_end_cleanup; -}; - -typedef struct eh_landing_pad_d *eh_landing_pad; -typedef struct eh_catch_d *eh_catch; -typedef struct eh_region_d *eh_region; - - - - -/* The exception status for each function. */ - -struct GTY(()) eh_status -{ - /* The tree of all regions for this function. */ - eh_region region_tree; - - /* The same information as an indexable array. */ - vec *region_array; - - /* The landing pads as an indexable array. */ - vec *lp_array; - - /* At the gimple level, a mapping from gimple statement to landing pad - or must-not-throw region. See record_stmt_eh_region. */ - hash_map *GTY(()) throw_stmt_table; - - /* All of the runtime type data used by the function. These objects - are emitted to the lang-specific-data-area for the function. */ - vec *ttype_data; - - /* The table of all action chains. These encode the eh_region tree in - a compact form for use by the runtime, and is also emitted to the - lang-specific-data-area. Note that the ARM EABI uses a different - format for the encoding than all other ports. */ - union eh_status_u { - vec *GTY((tag ("1"))) arm_eabi; - vec *GTY((tag ("0"))) other; - } GTY ((desc ("targetm.arm_eabi_unwinder"))) ehspec_data; -}; - - -/* Invokes CALLBACK for every exception handler label. Only used by old - loop hackery; should not be used by new code. */ -extern void for_each_eh_label (void (*) (rtx)); - -extern void init_eh_for_function (void); - -extern void remove_eh_landing_pad (eh_landing_pad); -extern void remove_eh_handler (eh_region); -extern void remove_unreachable_eh_regions (sbitmap); - -extern bool current_function_has_exception_handlers (void); -extern void output_function_exception_table (int); - -extern rtx expand_builtin_eh_pointer (tree); -extern rtx expand_builtin_eh_filter (tree); -extern rtx expand_builtin_eh_copy_values (tree); -extern void expand_builtin_unwind_init (void); -extern rtx expand_builtin_eh_return_data_regno (tree); -extern rtx expand_builtin_extract_return_addr (tree); -extern void expand_builtin_init_dwarf_reg_sizes (tree); -extern rtx expand_builtin_frob_return_addr (tree); -extern rtx expand_builtin_dwarf_sp_column (void); -extern void expand_builtin_eh_return (tree, tree); -extern void expand_eh_return (void); -extern rtx expand_builtin_extend_pointer (tree); - -typedef tree (*duplicate_eh_regions_map) (tree, void *); -extern hash_map *duplicate_eh_regions - (struct function *, eh_region, int, duplicate_eh_regions_map, void *); - -extern void sjlj_emit_function_exit_after (rtx_insn *); -extern void update_sjlj_context (void); - -extern eh_region gen_eh_region_cleanup (eh_region); -extern eh_region gen_eh_region_try (eh_region); -extern eh_region gen_eh_region_allowed (eh_region, tree); -extern eh_region gen_eh_region_must_not_throw (eh_region); - -extern eh_catch gen_eh_region_catch (eh_region, tree); -extern eh_landing_pad gen_eh_landing_pad (eh_region); - -extern eh_region get_eh_region_from_number_fn (struct function *, int); -extern eh_region get_eh_region_from_number (int); -extern eh_landing_pad get_eh_landing_pad_from_number_fn (struct function*,int); -extern eh_landing_pad get_eh_landing_pad_from_number (int); -extern eh_region get_eh_region_from_lp_number_fn (struct function *, int); -extern eh_region get_eh_region_from_lp_number (int); - -extern eh_region eh_region_outermost (struct function *, eh_region, eh_region); - -extern void make_reg_eh_region_note (rtx_insn *insn, int ecf_flags, int lp_nr); -extern void make_reg_eh_region_note_nothrow_nononlocal (rtx_insn *); - -extern void verify_eh_tree (struct function *); -extern void dump_eh_tree (FILE *, struct function *); -void debug_eh_tree (struct function *); -extern void add_type_for_runtime (tree); -extern tree lookup_type_for_runtime (tree); -extern void assign_filter_values (void); - -extern eh_region get_eh_region_from_rtx (const_rtx); -extern eh_landing_pad get_eh_landing_pad_from_rtx (const_rtx); - -extern void finish_eh_generation (void); - -struct GTY(()) throw_stmt_node { - gimple *stmt; - int lp_nr; -}; - -extern hash_map *get_eh_throw_stmt_table (struct function *); -extern void set_eh_throw_stmt_table (function *, hash_map *); - -enum eh_personality_kind { - eh_personality_none, - eh_personality_any, - eh_personality_lang -}; - -extern enum eh_personality_kind -function_needs_eh_personality (struct function *); - -/* Pre-order iteration within the eh_region tree. */ - -inline eh_region -ehr_next (eh_region r, eh_region start) -{ - if (r->inner) - r = r->inner; - else if (r->next_peer && r != start) - r = r->next_peer; - else - { - do - { - r = r->outer; - if (r == start) - return NULL; - } - while (r->next_peer == NULL); - r = r->next_peer; - } - return r; -} - -#define FOR_ALL_EH_REGION_AT(R, START) \ - for ((R) = (START); (R) != NULL; (R) = ehr_next (R, START)) - -#define FOR_ALL_EH_REGION_FN(R, FN) \ - for ((R) = (FN)->eh->region_tree; (R) != NULL; (R) = ehr_next (R, NULL)) - -#define FOR_ALL_EH_REGION(R) FOR_ALL_EH_REGION_FN (R, cfun) - -#endif diff --git a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/explow.h b/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/explow.h deleted file mode 100644 index 2db4f5c0..00000000 --- a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/explow.h +++ /dev/null @@ -1,143 +0,0 @@ -/* Export function prototypes from explow.cc. - Copyright (C) 2015-2023 Free Software Foundation, Inc. - -This file is part of GCC. - -GCC is free software; you can redistribute it and/or modify it under -the terms of the GNU General Public License as published by the Free -Software Foundation; either version 3, or (at your option) any later -version. - -GCC is distributed in the hope that it will be useful, but WITHOUT ANY -WARRANTY; without even the implied warranty of MERCHANTABILITY or -FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -for more details. - -You should have received a copy of the GNU General Public License -along with GCC; see the file COPYING3. If not see -. */ - -#ifndef GCC_EXPLOW_H -#define GCC_EXPLOW_H - -/* Return a memory reference like MEMREF, but which is known to have a - valid address. */ -extern rtx validize_mem (rtx); - -extern rtx use_anchored_address (rtx); - -/* Copy given rtx to a new temp reg and return that. */ -extern rtx copy_to_reg (rtx); - -/* Like copy_to_reg but always make the reg Pmode. */ -extern rtx copy_addr_to_reg (rtx); - -/* Like copy_to_reg but always make the reg the specified mode MODE. */ -extern rtx copy_to_mode_reg (machine_mode, rtx); - -/* Copy given rtx to given temp reg and return that. */ -extern rtx copy_to_suggested_reg (rtx, rtx, machine_mode); - -/* Copy a value to a register if it isn't already a register. - Args are mode (in case value is a constant) and the value. */ -extern rtx force_reg (machine_mode, rtx); - -/* Return given rtx, copied into a new temp reg if it was in memory. */ -extern rtx force_not_mem (rtx); - -/* Return mode and signedness to use when an argument or result in the - given mode is promoted. */ -extern machine_mode promote_function_mode (const_tree, machine_mode, int *, - const_tree, int); - -/* Return mode and signedness to use when an object in the given mode - is promoted. */ -extern machine_mode promote_mode (const_tree, machine_mode, int *); - -/* Return mode and signedness to use when object is promoted. */ -machine_mode promote_decl_mode (const_tree, int *); - -/* Return mode and signedness to use when object is promoted. */ -machine_mode promote_ssa_mode (const_tree, int *); - -/* Remove some bytes from the stack. An rtx says how many. */ -extern void adjust_stack (rtx); - -/* Add some bytes to the stack. An rtx says how many. */ -extern void anti_adjust_stack (rtx); - -/* Add some bytes to the stack while probing it. An rtx says how many. */ -extern void anti_adjust_stack_and_probe (rtx, bool); - -/* Add some bytes to the stack while probing it. An rtx says how - many. Add additional probes to prevent stack clashing attacks. */ -extern void anti_adjust_stack_and_probe_stack_clash (rtx); - -/* Support for building allocation/probing loops for stack-clash - protection of dyamically allocated stack space. */ -extern void compute_stack_clash_protection_loop_data (rtx *, rtx *, rtx *, - HOST_WIDE_INT *, rtx); -extern void emit_stack_clash_protection_probe_loop_start (rtx *, rtx *, - rtx, bool); -extern void emit_stack_clash_protection_probe_loop_end (rtx, rtx, - rtx, bool); - -/* This enum is used for the following two functions. */ -enum save_level {SAVE_BLOCK, SAVE_FUNCTION, SAVE_NONLOCAL}; - -/* Save the stack pointer at the specified level. */ -extern void emit_stack_save (enum save_level, rtx *); - -/* Restore the stack pointer from a save area of the specified level. */ -extern void emit_stack_restore (enum save_level, rtx); - -/* Invoke emit_stack_save for the nonlocal_goto_save_area. */ -extern void update_nonlocal_goto_save_area (void); - -/* Record a new stack level. */ -extern void record_new_stack_level (void); - -/* Allocate some space on the stack dynamically and return its address. */ -extern rtx allocate_dynamic_stack_space (rtx, unsigned, unsigned, - HOST_WIDE_INT, bool); - -/* Calculate the necessary size of a constant dynamic stack allocation from the - size of the variable area. */ -extern void get_dynamic_stack_size (rtx *, unsigned, unsigned, HOST_WIDE_INT *); - -/* Returns the address of the dynamic stack space without allocating it. */ -extern rtx get_dynamic_stack_base (poly_int64, unsigned, rtx); - -/* Return an rtx doing runtime alignment to REQUIRED_ALIGN on TARGET. */ -extern rtx align_dynamic_address (rtx, unsigned); - -/* Emit one stack probe at ADDRESS, an address within the stack. */ -extern void emit_stack_probe (rtx); - -/* Probe a range of stack addresses from FIRST to FIRST+SIZE, inclusive. - FIRST is a constant and size is a Pmode RTX. These are offsets from - the current stack pointer. STACK_GROWS_DOWNWARD says whether to add - or subtract them from the stack pointer. */ -extern void probe_stack_range (HOST_WIDE_INT, rtx); - -/* Return an rtx that refers to the value returned by a library call - in its original home. This becomes invalid if any more code is emitted. */ -extern rtx hard_libcall_value (machine_mode, rtx); - -/* Return an rtx that refers to the value returned by a function - in its original home. This becomes invalid if any more code is emitted. */ -extern rtx hard_function_value (const_tree, const_tree, const_tree, int); - -/* Convert arg to a valid memory address for specified machine mode that points - to a specific named address space, by emitting insns to perform arithmetic - if necessary. */ -extern rtx memory_address_addr_space (machine_mode, rtx, addr_space_t); - -extern rtx eliminate_constant_term (rtx, rtx *); - -/* Like memory_address_addr_space, except assume the memory address points to - the generic named address space. */ -#define memory_address(MODE,RTX) \ - memory_address_addr_space ((MODE), (RTX), ADDR_SPACE_GENERIC) - -#endif /* GCC_EXPLOW_H */ diff --git a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/expmed.h b/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/expmed.h deleted file mode 100644 index c747a0da..00000000 --- a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/expmed.h +++ /dev/null @@ -1,728 +0,0 @@ -/* Target-dependent costs for expmed.cc. - Copyright (C) 1987-2023 Free Software Foundation, Inc. - -This file is part of GCC. - -GCC is free software; you can redistribute it and/or modify it under -the terms of the GNU General Public License as published by the Free -Software Foundation; either version 3, or (at your option) any later -version. - -GCC is distributed in the hope that it will be useful, but WITHOUT ANY -WARRANTY; without even the implied warranty of MERCHANTABILITY or -FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -for more details. - -You should have received a copy of the GNU General Public License -along with GCC; see the file COPYING3. If not see -. */ - -#ifndef EXPMED_H -#define EXPMED_H 1 - -#include "insn-codes.h" - -enum alg_code { - alg_unknown, - alg_zero, - alg_m, alg_shift, - alg_add_t_m2, - alg_sub_t_m2, - alg_add_factor, - alg_sub_factor, - alg_add_t2_m, - alg_sub_t2_m, - alg_impossible -}; - -/* Indicates the type of fixup needed after a constant multiplication. - BASIC_VARIANT means no fixup is needed, NEGATE_VARIANT means that - the result should be negated, and ADD_VARIANT means that the - multiplicand should be added to the result. */ -enum mult_variant {basic_variant, negate_variant, add_variant}; - -bool choose_mult_variant (machine_mode, HOST_WIDE_INT, - struct algorithm *, enum mult_variant *, int); - -/* This structure holds the "cost" of a multiply sequence. The - "cost" field holds the total rtx_cost of every operator in the - synthetic multiplication sequence, hence cost(a op b) is defined - as rtx_cost(op) + cost(a) + cost(b), where cost(leaf) is zero. - The "latency" field holds the minimum possible latency of the - synthetic multiply, on a hypothetical infinitely parallel CPU. - This is the critical path, or the maximum height, of the expression - tree which is the sum of rtx_costs on the most expensive path from - any leaf to the root. Hence latency(a op b) is defined as zero for - leaves and rtx_cost(op) + max(latency(a), latency(b)) otherwise. */ - -struct mult_cost { - short cost; /* Total rtx_cost of the multiplication sequence. */ - short latency; /* The latency of the multiplication sequence. */ -}; - -/* This macro is used to compare a pointer to a mult_cost against an - single integer "rtx_cost" value. This is equivalent to the macro - CHEAPER_MULT_COST(X,Z) where Z = {Y,Y}. */ -#define MULT_COST_LESS(X,Y) ((X)->cost < (Y) \ - || ((X)->cost == (Y) && (X)->latency < (Y))) - -/* This macro is used to compare two pointers to mult_costs against - each other. The macro returns true if X is cheaper than Y. - Currently, the cheaper of two mult_costs is the one with the - lower "cost". If "cost"s are tied, the lower latency is cheaper. */ -#define CHEAPER_MULT_COST(X,Y) ((X)->cost < (Y)->cost \ - || ((X)->cost == (Y)->cost \ - && (X)->latency < (Y)->latency)) - -/* This structure records a sequence of operations. - `ops' is the number of operations recorded. - `cost' is their total cost. - The operations are stored in `op' and the corresponding - logarithms of the integer coefficients in `log'. - - These are the operations: - alg_zero total := 0; - alg_m total := multiplicand; - alg_shift total := total * coeff - alg_add_t_m2 total := total + multiplicand * coeff; - alg_sub_t_m2 total := total - multiplicand * coeff; - alg_add_factor total := total * coeff + total; - alg_sub_factor total := total * coeff - total; - alg_add_t2_m total := total * coeff + multiplicand; - alg_sub_t2_m total := total * coeff - multiplicand; - - The first operand must be either alg_zero or alg_m. */ - -struct algorithm -{ - struct mult_cost cost; - short ops; - /* The size of the OP and LOG fields are not directly related to the - word size, but the worst-case algorithms will be if we have few - consecutive ones or zeros, i.e., a multiplicand like 10101010101... - In that case we will generate shift-by-2, add, shift-by-2, add,..., - in total wordsize operations. */ - enum alg_code op[MAX_BITS_PER_WORD]; - char log[MAX_BITS_PER_WORD]; -}; - -/* The entry for our multiplication cache/hash table. */ -struct alg_hash_entry { - /* The number we are multiplying by. */ - unsigned HOST_WIDE_INT t; - - /* The mode in which we are multiplying something by T. */ - machine_mode mode; - - /* The best multiplication algorithm for t. */ - enum alg_code alg; - - /* The cost of multiplication if ALG_CODE is not alg_impossible. - Otherwise, the cost within which multiplication by T is - impossible. */ - struct mult_cost cost; - - /* Optimized for speed? */ - bool speed; -}; - -/* The number of cache/hash entries. */ -#if HOST_BITS_PER_WIDE_INT == 64 -#define NUM_ALG_HASH_ENTRIES 1031 -#else -#define NUM_ALG_HASH_ENTRIES 307 -#endif - -#define NUM_MODE_IP_INT (NUM_MODE_INT + NUM_MODE_PARTIAL_INT) -#define NUM_MODE_IPV_INT (NUM_MODE_IP_INT + NUM_MODE_VECTOR_INT) - -struct expmed_op_cheap { - bool cheap[2][NUM_MODE_IPV_INT]; -}; - -struct expmed_op_costs { - int cost[2][NUM_MODE_IPV_INT]; -}; - -/* Target-dependent globals. */ -struct target_expmed { - /* Each entry of ALG_HASH caches alg_code for some integer. This is - actually a hash table. If we have a collision, that the older - entry is kicked out. */ - struct alg_hash_entry x_alg_hash[NUM_ALG_HASH_ENTRIES]; - - /* True if x_alg_hash might already have been used. */ - bool x_alg_hash_used_p; - - /* Nonzero means divides or modulus operations are relatively cheap for - powers of two, so don't use branches; emit the operation instead. - Usually, this will mean that the MD file will emit non-branch - sequences. */ - struct expmed_op_cheap x_sdiv_pow2_cheap; - struct expmed_op_cheap x_smod_pow2_cheap; - - /* Cost of various pieces of RTL. Note that some of these are indexed by - shift count and some by mode. */ - int x_zero_cost[2]; - struct expmed_op_costs x_add_cost; - struct expmed_op_costs x_neg_cost; - struct expmed_op_costs x_shift_cost[MAX_BITS_PER_WORD]; - struct expmed_op_costs x_shiftadd_cost[MAX_BITS_PER_WORD]; - struct expmed_op_costs x_shiftsub0_cost[MAX_BITS_PER_WORD]; - struct expmed_op_costs x_shiftsub1_cost[MAX_BITS_PER_WORD]; - struct expmed_op_costs x_mul_cost; - struct expmed_op_costs x_sdiv_cost; - struct expmed_op_costs x_udiv_cost; - int x_mul_widen_cost[2][NUM_MODE_INT]; - int x_mul_highpart_cost[2][NUM_MODE_INT]; - - /* Conversion costs are only defined between two scalar integer modes - of different sizes. The first machine mode is the destination mode, - and the second is the source mode. */ - int x_convert_cost[2][NUM_MODE_IP_INT][NUM_MODE_IP_INT]; -}; - -extern struct target_expmed default_target_expmed; -#if SWITCHABLE_TARGET -extern struct target_expmed *this_target_expmed; -#else -#define this_target_expmed (&default_target_expmed) -#endif - -/* Return a pointer to the alg_hash_entry at IDX. */ - -inline struct alg_hash_entry * -alg_hash_entry_ptr (int idx) -{ - return &this_target_expmed->x_alg_hash[idx]; -} - -/* Return true if the x_alg_hash field might have been used. */ - -inline bool -alg_hash_used_p (void) -{ - return this_target_expmed->x_alg_hash_used_p; -} - -/* Set whether the x_alg_hash field might have been used. */ - -inline void -set_alg_hash_used_p (bool usedp) -{ - this_target_expmed->x_alg_hash_used_p = usedp; -} - -/* Compute an index into the cost arrays by mode class. */ - -inline int -expmed_mode_index (machine_mode mode) -{ - switch (GET_MODE_CLASS (mode)) - { - case MODE_INT: - return mode - MIN_MODE_INT; - case MODE_PARTIAL_INT: - /* If there are no partial integer modes, help the compiler - to figure out this will never happen. See PR59934. */ - if (MIN_MODE_PARTIAL_INT != VOIDmode) - return mode - MIN_MODE_PARTIAL_INT + NUM_MODE_INT; - break; - case MODE_VECTOR_INT: - /* If there are no vector integer modes, help the compiler - to figure out this will never happen. See PR59934. */ - if (MIN_MODE_VECTOR_INT != VOIDmode) - return mode - MIN_MODE_VECTOR_INT + NUM_MODE_IP_INT; - break; - default: - break; - } - gcc_unreachable (); -} - -/* Return a pointer to a boolean contained in EOC indicating whether - a particular operation performed in MODE is cheap when optimizing - for SPEED. */ - -inline bool * -expmed_op_cheap_ptr (struct expmed_op_cheap *eoc, bool speed, - machine_mode mode) -{ - int idx = expmed_mode_index (mode); - return &eoc->cheap[speed][idx]; -} - -/* Return a pointer to a cost contained in COSTS when a particular - operation is performed in MODE when optimizing for SPEED. */ - -inline int * -expmed_op_cost_ptr (struct expmed_op_costs *costs, bool speed, - machine_mode mode) -{ - int idx = expmed_mode_index (mode); - return &costs->cost[speed][idx]; -} - -/* Subroutine of {set_,}sdiv_pow2_cheap. Not to be used otherwise. */ - -inline bool * -sdiv_pow2_cheap_ptr (bool speed, machine_mode mode) -{ - return expmed_op_cheap_ptr (&this_target_expmed->x_sdiv_pow2_cheap, - speed, mode); -} - -/* Set whether a signed division by a power of 2 is cheap in MODE - when optimizing for SPEED. */ - -inline void -set_sdiv_pow2_cheap (bool speed, machine_mode mode, bool cheap_p) -{ - *sdiv_pow2_cheap_ptr (speed, mode) = cheap_p; -} - -/* Return whether a signed division by a power of 2 is cheap in MODE - when optimizing for SPEED. */ - -inline bool -sdiv_pow2_cheap (bool speed, machine_mode mode) -{ - return *sdiv_pow2_cheap_ptr (speed, mode); -} - -/* Subroutine of {set_,}smod_pow2_cheap. Not to be used otherwise. */ - -inline bool * -smod_pow2_cheap_ptr (bool speed, machine_mode mode) -{ - return expmed_op_cheap_ptr (&this_target_expmed->x_smod_pow2_cheap, - speed, mode); -} - -/* Set whether a signed modulo by a power of 2 is CHEAP in MODE when - optimizing for SPEED. */ - -inline void -set_smod_pow2_cheap (bool speed, machine_mode mode, bool cheap) -{ - *smod_pow2_cheap_ptr (speed, mode) = cheap; -} - -/* Return whether a signed modulo by a power of 2 is cheap in MODE - when optimizing for SPEED. */ - -inline bool -smod_pow2_cheap (bool speed, machine_mode mode) -{ - return *smod_pow2_cheap_ptr (speed, mode); -} - -/* Subroutine of {set_,}zero_cost. Not to be used otherwise. */ - -inline int * -zero_cost_ptr (bool speed) -{ - return &this_target_expmed->x_zero_cost[speed]; -} - -/* Set the COST of loading zero when optimizing for SPEED. */ - -inline void -set_zero_cost (bool speed, int cost) -{ - *zero_cost_ptr (speed) = cost; -} - -/* Return the COST of loading zero when optimizing for SPEED. */ - -inline int -zero_cost (bool speed) -{ - return *zero_cost_ptr (speed); -} - -/* Subroutine of {set_,}add_cost. Not to be used otherwise. */ - -inline int * -add_cost_ptr (bool speed, machine_mode mode) -{ - return expmed_op_cost_ptr (&this_target_expmed->x_add_cost, speed, mode); -} - -/* Set the COST of computing an add in MODE when optimizing for SPEED. */ - -inline void -set_add_cost (bool speed, machine_mode mode, int cost) -{ - *add_cost_ptr (speed, mode) = cost; -} - -/* Return the cost of computing an add in MODE when optimizing for SPEED. */ - -inline int -add_cost (bool speed, machine_mode mode) -{ - return *add_cost_ptr (speed, mode); -} - -/* Subroutine of {set_,}neg_cost. Not to be used otherwise. */ - -inline int * -neg_cost_ptr (bool speed, machine_mode mode) -{ - return expmed_op_cost_ptr (&this_target_expmed->x_neg_cost, speed, mode); -} - -/* Set the COST of computing a negation in MODE when optimizing for SPEED. */ - -inline void -set_neg_cost (bool speed, machine_mode mode, int cost) -{ - *neg_cost_ptr (speed, mode) = cost; -} - -/* Return the cost of computing a negation in MODE when optimizing for - SPEED. */ - -inline int -neg_cost (bool speed, machine_mode mode) -{ - return *neg_cost_ptr (speed, mode); -} - -/* Subroutine of {set_,}shift_cost. Not to be used otherwise. */ - -inline int * -shift_cost_ptr (bool speed, machine_mode mode, int bits) -{ - return expmed_op_cost_ptr (&this_target_expmed->x_shift_cost[bits], - speed, mode); -} - -/* Set the COST of doing a shift in MODE by BITS when optimizing for SPEED. */ - -inline void -set_shift_cost (bool speed, machine_mode mode, int bits, int cost) -{ - *shift_cost_ptr (speed, mode, bits) = cost; -} - -/* Return the cost of doing a shift in MODE by BITS when optimizing for - SPEED. */ - -inline int -shift_cost (bool speed, machine_mode mode, int bits) -{ - return *shift_cost_ptr (speed, mode, bits); -} - -/* Subroutine of {set_,}shiftadd_cost. Not to be used otherwise. */ - -inline int * -shiftadd_cost_ptr (bool speed, machine_mode mode, int bits) -{ - return expmed_op_cost_ptr (&this_target_expmed->x_shiftadd_cost[bits], - speed, mode); -} - -/* Set the COST of doing a shift in MODE by BITS followed by an add when - optimizing for SPEED. */ - -inline void -set_shiftadd_cost (bool speed, machine_mode mode, int bits, int cost) -{ - *shiftadd_cost_ptr (speed, mode, bits) = cost; -} - -/* Return the cost of doing a shift in MODE by BITS followed by an add - when optimizing for SPEED. */ - -inline int -shiftadd_cost (bool speed, machine_mode mode, int bits) -{ - return *shiftadd_cost_ptr (speed, mode, bits); -} - -/* Subroutine of {set_,}shiftsub0_cost. Not to be used otherwise. */ - -inline int * -shiftsub0_cost_ptr (bool speed, machine_mode mode, int bits) -{ - return expmed_op_cost_ptr (&this_target_expmed->x_shiftsub0_cost[bits], - speed, mode); -} - -/* Set the COST of doing a shift in MODE by BITS and then subtracting a - value when optimizing for SPEED. */ - -inline void -set_shiftsub0_cost (bool speed, machine_mode mode, int bits, int cost) -{ - *shiftsub0_cost_ptr (speed, mode, bits) = cost; -} - -/* Return the cost of doing a shift in MODE by BITS and then subtracting - a value when optimizing for SPEED. */ - -inline int -shiftsub0_cost (bool speed, machine_mode mode, int bits) -{ - return *shiftsub0_cost_ptr (speed, mode, bits); -} - -/* Subroutine of {set_,}shiftsub1_cost. Not to be used otherwise. */ - -inline int * -shiftsub1_cost_ptr (bool speed, machine_mode mode, int bits) -{ - return expmed_op_cost_ptr (&this_target_expmed->x_shiftsub1_cost[bits], - speed, mode); -} - -/* Set the COST of subtracting a shift in MODE by BITS from a value when - optimizing for SPEED. */ - -inline void -set_shiftsub1_cost (bool speed, machine_mode mode, int bits, int cost) -{ - *shiftsub1_cost_ptr (speed, mode, bits) = cost; -} - -/* Return the cost of subtracting a shift in MODE by BITS from a value - when optimizing for SPEED. */ - -inline int -shiftsub1_cost (bool speed, machine_mode mode, int bits) -{ - return *shiftsub1_cost_ptr (speed, mode, bits); -} - -/* Subroutine of {set_,}mul_cost. Not to be used otherwise. */ - -inline int * -mul_cost_ptr (bool speed, machine_mode mode) -{ - return expmed_op_cost_ptr (&this_target_expmed->x_mul_cost, speed, mode); -} - -/* Set the COST of doing a multiplication in MODE when optimizing for - SPEED. */ - -inline void -set_mul_cost (bool speed, machine_mode mode, int cost) -{ - *mul_cost_ptr (speed, mode) = cost; -} - -/* Return the cost of doing a multiplication in MODE when optimizing - for SPEED. */ - -inline int -mul_cost (bool speed, machine_mode mode) -{ - return *mul_cost_ptr (speed, mode); -} - -/* Subroutine of {set_,}sdiv_cost. Not to be used otherwise. */ - -inline int * -sdiv_cost_ptr (bool speed, machine_mode mode) -{ - return expmed_op_cost_ptr (&this_target_expmed->x_sdiv_cost, speed, mode); -} - -/* Set the COST of doing a signed division in MODE when optimizing - for SPEED. */ - -inline void -set_sdiv_cost (bool speed, machine_mode mode, int cost) -{ - *sdiv_cost_ptr (speed, mode) = cost; -} - -/* Return the cost of doing a signed division in MODE when optimizing - for SPEED. */ - -inline int -sdiv_cost (bool speed, machine_mode mode) -{ - return *sdiv_cost_ptr (speed, mode); -} - -/* Subroutine of {set_,}udiv_cost. Not to be used otherwise. */ - -inline int * -udiv_cost_ptr (bool speed, machine_mode mode) -{ - return expmed_op_cost_ptr (&this_target_expmed->x_udiv_cost, speed, mode); -} - -/* Set the COST of doing an unsigned division in MODE when optimizing - for SPEED. */ - -inline void -set_udiv_cost (bool speed, machine_mode mode, int cost) -{ - *udiv_cost_ptr (speed, mode) = cost; -} - -/* Return the cost of doing an unsigned division in MODE when - optimizing for SPEED. */ - -inline int -udiv_cost (bool speed, machine_mode mode) -{ - return *udiv_cost_ptr (speed, mode); -} - -/* Subroutine of {set_,}mul_widen_cost. Not to be used otherwise. */ - -inline int * -mul_widen_cost_ptr (bool speed, machine_mode mode) -{ - gcc_assert (GET_MODE_CLASS (mode) == MODE_INT); - - return &this_target_expmed->x_mul_widen_cost[speed][mode - MIN_MODE_INT]; -} - -/* Set the COST for computing a widening multiplication in MODE when - optimizing for SPEED. */ - -inline void -set_mul_widen_cost (bool speed, machine_mode mode, int cost) -{ - *mul_widen_cost_ptr (speed, mode) = cost; -} - -/* Return the cost for computing a widening multiplication in MODE when - optimizing for SPEED. */ - -inline int -mul_widen_cost (bool speed, machine_mode mode) -{ - return *mul_widen_cost_ptr (speed, mode); -} - -/* Subroutine of {set_,}mul_highpart_cost. Not to be used otherwise. */ - -inline int * -mul_highpart_cost_ptr (bool speed, machine_mode mode) -{ - gcc_assert (GET_MODE_CLASS (mode) == MODE_INT); - int m = mode - MIN_MODE_INT; - gcc_assert (m < NUM_MODE_INT); - - return &this_target_expmed->x_mul_highpart_cost[speed][m]; -} - -/* Set the COST for computing the high part of a multiplication in MODE - when optimizing for SPEED. */ - -inline void -set_mul_highpart_cost (bool speed, machine_mode mode, int cost) -{ - *mul_highpart_cost_ptr (speed, mode) = cost; -} - -/* Return the cost for computing the high part of a multiplication in MODE - when optimizing for SPEED. */ - -inline int -mul_highpart_cost (bool speed, machine_mode mode) -{ - return *mul_highpart_cost_ptr (speed, mode); -} - -/* Subroutine of {set_,}convert_cost. Not to be used otherwise. */ - -inline int * -convert_cost_ptr (machine_mode to_mode, machine_mode from_mode, - bool speed) -{ - int to_idx = expmed_mode_index (to_mode); - int from_idx = expmed_mode_index (from_mode); - - gcc_assert (IN_RANGE (to_idx, 0, NUM_MODE_IP_INT - 1)); - gcc_assert (IN_RANGE (from_idx, 0, NUM_MODE_IP_INT - 1)); - - return &this_target_expmed->x_convert_cost[speed][to_idx][from_idx]; -} - -/* Set the COST for converting from FROM_MODE to TO_MODE when optimizing - for SPEED. */ - -inline void -set_convert_cost (machine_mode to_mode, machine_mode from_mode, - bool speed, int cost) -{ - *convert_cost_ptr (to_mode, from_mode, speed) = cost; -} - -/* Return the cost for converting from FROM_MODE to TO_MODE when optimizing - for SPEED. */ - -inline int -convert_cost (machine_mode to_mode, machine_mode from_mode, - bool speed) -{ - return *convert_cost_ptr (to_mode, from_mode, speed); -} - -extern int mult_by_coeff_cost (HOST_WIDE_INT, machine_mode, bool); -extern rtx emit_cstore (rtx target, enum insn_code icode, enum rtx_code code, - machine_mode mode, machine_mode compare_mode, - int unsignedp, rtx x, rtx y, int normalizep, - machine_mode target_mode); - -/* Arguments MODE, RTX: return an rtx for the negation of that value. - May emit insns. */ -extern rtx negate_rtx (machine_mode, rtx); - -/* Arguments MODE, RTX: return an rtx for the flipping of that value. - May emit insns. */ -extern rtx flip_storage_order (machine_mode, rtx); - -/* Expand a logical AND operation. */ -extern rtx expand_and (machine_mode, rtx, rtx, rtx); - -/* Emit a store-flag operation. */ -extern rtx emit_store_flag (rtx, enum rtx_code, rtx, rtx, machine_mode, - int, int); - -/* Like emit_store_flag, but always succeeds. */ -extern rtx emit_store_flag_force (rtx, enum rtx_code, rtx, rtx, - machine_mode, int, int); - -extern void canonicalize_comparison (machine_mode, enum rtx_code *, rtx *); - -/* Choose a minimal N + 1 bit approximation to 1/D that can be used to - replace division by D, and put the least significant N bits of the result - in *MULTIPLIER_PTR and return the most significant bit. */ -extern unsigned HOST_WIDE_INT choose_multiplier (unsigned HOST_WIDE_INT, int, - int, unsigned HOST_WIDE_INT *, - int *, int *); - -#ifdef TREE_CODE -extern rtx expand_variable_shift (enum tree_code, machine_mode, - rtx, tree, rtx, int); -extern rtx expand_shift (enum tree_code, machine_mode, rtx, poly_int64, rtx, - int); -extern rtx maybe_expand_shift (enum tree_code, machine_mode, rtx, int, rtx, - int); -#ifdef GCC_OPTABS_H -extern rtx expand_divmod (int, enum tree_code, machine_mode, rtx, rtx, - rtx, int, enum optab_methods = OPTAB_LIB_WIDEN); -#endif -#endif - -extern void store_bit_field (rtx, poly_uint64, poly_uint64, - poly_uint64, poly_uint64, - machine_mode, rtx, bool, bool); -extern rtx extract_bit_field (rtx, poly_uint64, poly_uint64, int, rtx, - machine_mode, machine_mode, bool, rtx *); -extern rtx extract_low_bits (machine_mode, machine_mode, rtx); -extern rtx expand_mult (machine_mode, rtx, rtx, rtx, int, bool = false); -extern rtx expand_mult_highpart_adjust (scalar_int_mode, rtx, rtx, rtx, - rtx, int); - -#endif // EXPMED_H diff --git a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/expr.h b/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/expr.h deleted file mode 100644 index 0c059ed9..00000000 --- a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/expr.h +++ /dev/null @@ -1,364 +0,0 @@ -/* Definitions for code generation pass of GNU compiler. - Copyright (C) 1987-2023 Free Software Foundation, Inc. - -This file is part of GCC. - -GCC is free software; you can redistribute it and/or modify it under -the terms of the GNU General Public License as published by the Free -Software Foundation; either version 3, or (at your option) any later -version. - -GCC is distributed in the hope that it will be useful, but WITHOUT ANY -WARRANTY; without even the implied warranty of MERCHANTABILITY or -FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -for more details. - -You should have received a copy of the GNU General Public License -along with GCC; see the file COPYING3. If not see -. */ - -#ifndef GCC_EXPR_H -#define GCC_EXPR_H - -/* This is the 4th arg to `expand_expr'. - EXPAND_STACK_PARM means we are possibly expanding a call param onto - the stack. - EXPAND_SUM means it is ok to return a PLUS rtx or MULT rtx. - EXPAND_INITIALIZER is similar but also record any labels on forced_labels. - EXPAND_CONST_ADDRESS means it is ok to return a MEM whose address - is a constant that is not a legitimate address. - EXPAND_WRITE means we are only going to write to the resulting rtx. - EXPAND_MEMORY means we are interested in a memory result, even if - the memory is constant and we could have propagated a constant value, - or the memory is unaligned on a STRICT_ALIGNMENT target. */ -enum expand_modifier {EXPAND_NORMAL = 0, EXPAND_STACK_PARM, EXPAND_SUM, - EXPAND_CONST_ADDRESS, EXPAND_INITIALIZER, EXPAND_WRITE, - EXPAND_MEMORY}; - -/* Prevent the compiler from deferring stack pops. See - inhibit_defer_pop for more information. */ -#define NO_DEFER_POP (inhibit_defer_pop += 1) - -/* Allow the compiler to defer stack pops. See inhibit_defer_pop for - more information. */ -#define OK_DEFER_POP (inhibit_defer_pop -= 1) - -/* This structure is used to pass around information about exploded - unary, binary and trinary expressions between expand_expr_real_1 and - friends. */ -typedef struct separate_ops -{ - enum tree_code code; - location_t location; - tree type; - tree op0, op1, op2; -} *sepops; - -/* This is run during target initialization to set up which modes can be - used directly in memory and to initialize the block move optab. */ -extern void init_expr_target (void); - -/* This is run at the start of compiling a function. */ -extern void init_expr (void); - -/* Emit some rtl insns to move data between rtx's, converting machine modes. - Both modes must be floating or both fixed. */ -extern void convert_move (rtx, rtx, int); - -/* Convert an rtx to specified machine mode and return the result. */ -extern rtx convert_to_mode (machine_mode, rtx, int); - -/* Convert an rtx to MODE from OLDMODE and return the result. */ -extern rtx convert_modes (machine_mode mode, machine_mode oldmode, - rtx x, int unsignedp); - -/* Variant of convert_modes for ABI parameter passing/return. */ -extern rtx convert_float_to_wider_int (machine_mode mode, machine_mode fmode, - rtx x); - -/* Variant of convert_modes for ABI parameter passing/return. */ -extern rtx convert_wider_int_to_float (machine_mode mode, machine_mode imode, - rtx x); - -/* Expand a call to memcpy or memmove or memcmp, and return the result. */ -extern rtx emit_block_op_via_libcall (enum built_in_function, rtx, rtx, rtx, - bool); - -inline rtx -emit_block_copy_via_libcall (rtx dst, rtx src, rtx size, bool tailcall = false) -{ - return emit_block_op_via_libcall (BUILT_IN_MEMCPY, dst, src, size, tailcall); -} - -inline rtx -emit_block_move_via_libcall (rtx dst, rtx src, rtx size, bool tailcall = false) -{ - return emit_block_op_via_libcall (BUILT_IN_MEMMOVE, dst, src, size, tailcall); -} - -inline rtx -emit_block_comp_via_libcall (rtx dst, rtx src, rtx size, bool tailcall = false) -{ - return emit_block_op_via_libcall (BUILT_IN_MEMCMP, dst, src, size, tailcall); -} - -/* Emit code to move a block Y to a block X. */ -enum block_op_methods -{ - BLOCK_OP_NORMAL, - BLOCK_OP_NO_LIBCALL, - BLOCK_OP_CALL_PARM, - /* Like BLOCK_OP_NORMAL, but the libcall can be tail call optimized. */ - BLOCK_OP_TAILCALL, - /* Like BLOCK_OP_NO_LIBCALL, but instead of emitting a libcall return - pc_rtx to indicate nothing has been emitted and let the caller handle - it. */ - BLOCK_OP_NO_LIBCALL_RET -}; - -typedef rtx (*by_pieces_constfn) (void *, void *, HOST_WIDE_INT, - fixed_size_mode); - -/* The second pointer passed to by_pieces_constfn. */ -struct by_pieces_prev -{ - rtx data; - fixed_size_mode mode; -}; - -extern rtx emit_block_move (rtx, rtx, rtx, enum block_op_methods); -extern rtx emit_block_move_hints (rtx, rtx, rtx, enum block_op_methods, - unsigned int, HOST_WIDE_INT, - unsigned HOST_WIDE_INT, - unsigned HOST_WIDE_INT, - unsigned HOST_WIDE_INT, - bool bail_out_libcall = false, - bool *is_move_done = NULL, - bool might_overlap = false); -extern rtx emit_block_cmp_hints (rtx, rtx, rtx, tree, rtx, bool, - by_pieces_constfn, void *); -extern bool emit_storent_insn (rtx to, rtx from); - -/* Copy all or part of a value X into registers starting at REGNO. - The number of registers to be filled is NREGS. */ -extern void move_block_to_reg (int, rtx, int, machine_mode); - -/* Copy all or part of a BLKmode value X out of registers starting at REGNO. - The number of registers to be filled is NREGS. */ -extern void move_block_from_reg (int, rtx, int); - -/* Generate a non-consecutive group of registers represented by a PARALLEL. */ -extern rtx gen_group_rtx (rtx); - -/* Load a BLKmode value into non-consecutive registers represented by a - PARALLEL. */ -extern void emit_group_load (rtx, rtx, tree, poly_int64); - -/* Similarly, but load into new temporaries. */ -extern rtx emit_group_load_into_temps (rtx, rtx, tree, poly_int64); - -/* Move a non-consecutive group of registers represented by a PARALLEL into - a non-consecutive group of registers represented by a PARALLEL. */ -extern void emit_group_move (rtx, rtx); - -/* Move a group of registers represented by a PARALLEL into pseudos. */ -extern rtx emit_group_move_into_temps (rtx); - -/* Store a BLKmode value from non-consecutive registers represented by a - PARALLEL. */ -extern void emit_group_store (rtx, rtx, tree, poly_int64); - -extern rtx maybe_emit_group_store (rtx, tree); - -/* Mark REG as holding a parameter for the next CALL_INSN. - Mode is TYPE_MODE of the non-promoted parameter, or VOIDmode. */ -extern void use_reg_mode (rtx *, rtx, machine_mode); -extern void clobber_reg_mode (rtx *, rtx, machine_mode); - -extern rtx copy_blkmode_to_reg (machine_mode, tree); - -/* Mark REG as holding a parameter for the next CALL_INSN. */ -inline void -use_reg (rtx *fusage, rtx reg) -{ - use_reg_mode (fusage, reg, VOIDmode); -} - -/* Mark REG as clobbered by the call with FUSAGE as CALL_INSN_FUNCTION_USAGE. */ -inline void -clobber_reg (rtx *fusage, rtx reg) -{ - clobber_reg_mode (fusage, reg, VOIDmode); -} - -/* Mark NREGS consecutive regs, starting at REGNO, as holding parameters - for the next CALL_INSN. */ -extern void use_regs (rtx *, int, int); - -/* Mark a PARALLEL as holding a parameter for the next CALL_INSN. */ -extern void use_group_regs (rtx *, rtx); - -#ifdef GCC_INSN_CODES_H -extern rtx expand_cmpstrn_or_cmpmem (insn_code, rtx, rtx, rtx, tree, rtx, - HOST_WIDE_INT); -#endif - -/* Write zeros through the storage of OBJECT. - If OBJECT has BLKmode, SIZE is its length in bytes. */ -extern rtx clear_storage (rtx, rtx, enum block_op_methods); -extern rtx clear_storage_hints (rtx, rtx, enum block_op_methods, - unsigned int, HOST_WIDE_INT, - unsigned HOST_WIDE_INT, - unsigned HOST_WIDE_INT, - unsigned HOST_WIDE_INT, - unsigned); -/* The same, but always output an library call. */ -extern rtx set_storage_via_libcall (rtx, rtx, rtx, bool = false); - -/* Expand a setmem pattern; return true if successful. */ -extern bool set_storage_via_setmem (rtx, rtx, rtx, unsigned int, - unsigned int, HOST_WIDE_INT, - unsigned HOST_WIDE_INT, - unsigned HOST_WIDE_INT, - unsigned HOST_WIDE_INT); - -/* Return nonzero if it is desirable to store LEN bytes generated by - CONSTFUN with several move instructions by store_by_pieces - function. CONSTFUNDATA is a pointer which will be passed as argument - in every CONSTFUN call. - ALIGN is maximum alignment we can assume. - MEMSETP is true if this is a real memset/bzero, not a copy - of a const string. */ -extern int can_store_by_pieces (unsigned HOST_WIDE_INT, - by_pieces_constfn, - void *, unsigned int, bool); - -/* Generate several move instructions to store LEN bytes generated by - CONSTFUN to block TO. (A MEM rtx with BLKmode). CONSTFUNDATA is a - pointer which will be passed as argument in every CONSTFUN call. - ALIGN is maximum alignment we can assume. - MEMSETP is true if this is a real memset/bzero, not a copy. - Returns TO + LEN. */ -extern rtx store_by_pieces (rtx, unsigned HOST_WIDE_INT, by_pieces_constfn, - void *, unsigned int, bool, memop_ret); - -/* If can_store_by_pieces passes for worst-case values near MAX_LEN, call - store_by_pieces within conditionals so as to handle variable LEN efficiently, - storing VAL, if non-NULL_RTX, or valc instead. */ -extern bool try_store_by_multiple_pieces (rtx to, rtx len, - unsigned int ctz_len, - unsigned HOST_WIDE_INT min_len, - unsigned HOST_WIDE_INT max_len, - rtx val, char valc, - unsigned int align); - -/* Emit insns to set X from Y. */ -extern rtx_insn *emit_move_insn (rtx, rtx); -extern rtx_insn *gen_move_insn (rtx, rtx); - -/* Emit insns to set X from Y, with no frills. */ -extern rtx_insn *emit_move_insn_1 (rtx, rtx); - -extern rtx_insn *emit_move_complex_push (machine_mode, rtx, rtx); -extern rtx_insn *emit_move_complex_parts (rtx, rtx); -extern rtx read_complex_part (rtx, bool); -extern void write_complex_part (rtx, rtx, bool, bool); -extern rtx read_complex_part (rtx, bool); -extern rtx emit_move_resolve_push (machine_mode, rtx); - -/* Push a block of length SIZE (perhaps variable) - and return an rtx to address the beginning of the block. */ -extern rtx push_block (rtx, poly_int64, int); - -/* Generate code to push something onto the stack, given its mode and type. */ -extern bool emit_push_insn (rtx, machine_mode, tree, rtx, unsigned int, - int, rtx, poly_int64, rtx, rtx, int, rtx, bool); - -/* Extract the accessible bit-range from a COMPONENT_REF. */ -extern void get_bit_range (poly_uint64_pod *, poly_uint64_pod *, tree, - poly_int64_pod *, tree *); - -/* Expand an assignment that stores the value of FROM into TO. */ -extern void expand_assignment (tree, tree, bool); - -/* Generate code for computing expression EXP, - and storing the value into TARGET. - If SUGGEST_REG is nonzero, copy the value through a register - and return that register, if that is possible. */ -extern rtx store_expr (tree, rtx, int, bool, bool); - -/* Given an rtx that may include add and multiply operations, - generate them as insns and return a pseudo-reg containing the value. - Useful after calling expand_expr with 1 as sum_ok. */ -extern rtx force_operand (rtx, rtx); - -/* Work horses for expand_expr. */ -extern rtx expand_expr_real (tree, rtx, machine_mode, - enum expand_modifier, rtx *, bool); -extern rtx expand_expr_real_1 (tree, rtx, machine_mode, - enum expand_modifier, rtx *, bool); -extern rtx expand_expr_real_2 (sepops, rtx, machine_mode, - enum expand_modifier); - -/* Generate code for computing expression EXP. - An rtx for the computed value is returned. The value is never null. - In the case of a void EXP, const0_rtx is returned. */ -inline rtx -expand_expr (tree exp, rtx target, machine_mode mode, - enum expand_modifier modifier) -{ - return expand_expr_real (exp, target, mode, modifier, NULL, false); -} - -inline rtx -expand_normal (tree exp) -{ - return expand_expr_real (exp, NULL_RTX, VOIDmode, EXPAND_NORMAL, NULL, false); -} - - -/* Return STRING_CST and set offset, size and decl, if the first - argument corresponds to a string constant. */ -extern tree string_constant (tree, tree *, tree *, tree *); -/* Similar to string_constant, return a STRING_CST corresponding - to the value representation of the first argument if it's - a constant. */ -extern tree byte_representation (tree, tree *, tree *, tree *); - -extern enum tree_code maybe_optimize_mod_cmp (enum tree_code, tree *, tree *); -extern void maybe_optimize_sub_cmp_0 (enum tree_code, tree *, tree *); - -/* Two different ways of generating switch statements. */ -extern int try_casesi (tree, tree, tree, tree, rtx, rtx, rtx, profile_probability); -extern int try_tablejump (tree, tree, tree, tree, rtx, rtx, profile_probability); - -extern int safe_from_p (const_rtx, tree, int); - -/* Get the personality libfunc for a function decl. */ -rtx get_personality_function (tree); - -/* Determine whether the LEN bytes can be moved by using several move - instructions. Return nonzero if a call to move_by_pieces should - succeed. */ -extern bool can_move_by_pieces (unsigned HOST_WIDE_INT, unsigned int); - -extern unsigned HOST_WIDE_INT highest_pow2_factor (const_tree); - -extern bool categorize_ctor_elements (const_tree, HOST_WIDE_INT *, - HOST_WIDE_INT *, HOST_WIDE_INT *, - bool *); -extern bool immediate_const_ctor_p (const_tree, unsigned int words = 1); -extern void store_constructor (tree, rtx, int, poly_int64, bool); -extern HOST_WIDE_INT int_expr_size (const_tree exp); - -extern void expand_operands (tree, tree, rtx, rtx*, rtx*, - enum expand_modifier); - -/* rtl.h and tree.h were included. */ -/* Return an rtx for the size in bytes of the value of an expr. */ -extern rtx expr_size (tree); - -extern bool mem_ref_refers_to_non_mem_p (tree); -extern bool non_mem_decl_p (tree); - -#endif /* GCC_EXPR_H */ diff --git a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/fibonacci_heap.h b/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/fibonacci_heap.h deleted file mode 100644 index 17c360ef..00000000 --- a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/fibonacci_heap.h +++ /dev/null @@ -1,684 +0,0 @@ -/* Fibonacci heap for GNU compiler. - Copyright (C) 1998-2023 Free Software Foundation, Inc. - Contributed by Daniel Berlin (dan@cgsoftware.com). - Re-implemented in C++ by Martin Liska - -This file is part of GCC. - -GCC is free software; you can redistribute it and/or modify it under -the terms of the GNU General Public License as published by the Free -Software Foundation; either version 3, or (at your option) any later -version. - -GCC is distributed in the hope that it will be useful, but WITHOUT ANY -WARRANTY; without even the implied warranty of MERCHANTABILITY or -FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -for more details. - -You should have received a copy of the GNU General Public License -along with GCC; see the file COPYING3. If not see -. */ - -/* Fibonacci heaps are somewhat complex, but, there's an article in - DDJ that explains them pretty well: - - http://www.ddj.com/articles/1997/9701/9701o/9701o.htm?topic=algoritms - - Introduction to algorithms by Corman and Rivest also goes over them. - - The original paper that introduced them is "Fibonacci heaps and their - uses in improved network optimization algorithms" by Tarjan and - Fredman (JACM 34(3), July 1987). - - Amortized and real worst case time for operations: - - ExtractMin: O(lg n) amortized. O(n) worst case. - DecreaseKey: O(1) amortized. O(lg n) worst case. - Insert: O(1) amortized. - Union: O(1) amortized. */ - -#ifndef GCC_FIBONACCI_HEAP_H -#define GCC_FIBONACCI_HEAP_H - -/* Forward definition. */ - -template -class fibonacci_heap; - -/* Fibonacci heap node class. */ - -template -class fibonacci_node -{ - typedef fibonacci_node fibonacci_node_t; - friend class fibonacci_heap; - -public: - /* Default constructor. */ - fibonacci_node (): m_parent (NULL), m_child (NULL), m_left (this), - m_right (this), m_data (NULL), m_degree (0), m_mark (0) - { - } - - /* Constructor for a node with given KEY. */ - fibonacci_node (K key, V *data = NULL): m_parent (NULL), m_child (NULL), - m_left (this), m_right (this), m_key (key), m_data (data), - m_degree (0), m_mark (0) - { - } - - /* Compare fibonacci node with OTHER node. */ - int compare (fibonacci_node_t *other) - { - if (m_key < other->m_key) - return -1; - if (m_key > other->m_key) - return 1; - return 0; - } - - /* Compare the node with a given KEY. */ - int compare_data (K key) - { - return fibonacci_node_t (key).compare (this); - } - - /* Remove fibonacci heap node. */ - fibonacci_node_t *remove (); - - /* Link the node with PARENT. */ - void link (fibonacci_node_t *parent); - - /* Return key associated with the node. */ - K get_key () - { - return m_key; - } - - /* Return data associated with the node. */ - V *get_data () - { - return m_data; - } - -private: - /* Put node B after this node. */ - void insert_after (fibonacci_node_t *b); - - /* Insert fibonacci node B after this node. */ - void insert_before (fibonacci_node_t *b) - { - m_left->insert_after (b); - } - - /* Parent node. */ - fibonacci_node *m_parent; - /* Child node. */ - fibonacci_node *m_child; - /* Left sibling. */ - fibonacci_node *m_left; - /* Right node. */ - fibonacci_node *m_right; - /* Key associated with node. */ - K m_key; - /* Data associated with node. */ - V *m_data; - -#if defined (__GNUC__) && (!defined (SIZEOF_INT) || SIZEOF_INT < 4) - /* Degree of the node. */ - __extension__ unsigned long int m_degree : 31; - /* Mark of the node. */ - __extension__ unsigned long int m_mark : 1; -#else - /* Degree of the node. */ - unsigned int m_degree : 31; - /* Mark of the node. */ - unsigned int m_mark : 1; -#endif -}; - -/* Fibonacci heap class. */ -template -class fibonacci_heap -{ - typedef fibonacci_node fibonacci_node_t; - friend class fibonacci_node; - -public: - /* Default constructor. ALLOCATOR is optional and is primarily useful - when heaps are going to be merged (in that case they need to be allocated - in same alloc pool). */ - fibonacci_heap (K global_min_key, pool_allocator *allocator = NULL): - m_nodes (0), m_min (NULL), m_root (NULL), - m_global_min_key (global_min_key), - m_allocator (allocator), m_own_allocator (false) - { - if (!m_allocator) - { - m_allocator = new pool_allocator ("Fibonacci heap", - sizeof (fibonacci_node_t)); - m_own_allocator = true; - } - } - - /* Destructor. */ - ~fibonacci_heap () - { - /* Actual memory will be released by the destructor of m_allocator. */ - if (need_finalization_p () || !m_own_allocator) - while (m_min != NULL) - { - fibonacci_node_t *n = extract_minimum_node (); - n->~fibonacci_node_t (); - if (!m_own_allocator) - m_allocator->remove (n); - } - if (m_own_allocator) - delete m_allocator; - } - - /* Insert new node given by KEY and DATA associated with the key. */ - fibonacci_node_t *insert (K key, V *data); - - /* Return true if no entry is present. */ - bool empty () const - { - return m_nodes == 0; - } - - /* Return the number of nodes. */ - size_t nodes () const - { - return m_nodes; - } - - /* Return minimal key presented in the heap. */ - K min_key () const - { - if (m_min == NULL) - gcc_unreachable (); - - return m_min->m_key; - } - - /* For given NODE, set new KEY value. */ - K replace_key (fibonacci_node_t *node, K key) - { - K okey = node->m_key; - - replace_key_data (node, key, node->m_data); - return okey; - } - - /* For given NODE, decrease value to new KEY. */ - K decrease_key (fibonacci_node_t *node, K key) - { - gcc_assert (key <= node->m_key); - return replace_key (node, key); - } - - /* For given NODE, set new KEY and DATA value. */ - V *replace_key_data (fibonacci_node_t *node, K key, V *data); - - /* Extract minimum node in the heap. If RELEASE is specified, - memory is released. */ - V *extract_min (bool release = true); - - /* Return value associated with minimum node in the heap. */ - V *min () const - { - if (m_min == NULL) - return NULL; - - return m_min->m_data; - } - - /* Replace data associated with NODE and replace it with DATA. */ - V *replace_data (fibonacci_node_t *node, V *data) - { - return replace_key_data (node, node->m_key, data); - } - - /* Delete NODE in the heap. */ - V *delete_node (fibonacci_node_t *node, bool release = true); - - /* Union the heap with HEAPB. */ - fibonacci_heap *union_with (fibonacci_heap *heapb); - -private: - /* Insert new NODE given by KEY and DATA associated with the key. */ - fibonacci_node_t *insert (fibonacci_node_t *node, K key, V *data); - - /* Insert new NODE that has already filled key and value. */ - fibonacci_node_t *insert_node (fibonacci_node_t *node); - - /* Insert it into the root list. */ - void insert_root (fibonacci_node_t *node); - - /* Remove NODE from PARENT's child list. */ - void cut (fibonacci_node_t *node, fibonacci_node_t *parent); - - /* Process cut of node Y and do it recursivelly. */ - void cascading_cut (fibonacci_node_t *y); - - /* Extract minimum node from the heap. */ - fibonacci_node_t * extract_minimum_node (); - - /* Remove root NODE from the heap. */ - void remove_root (fibonacci_node_t *node); - - /* Consolidate heap. */ - void consolidate (); - - /* Number of nodes. */ - size_t m_nodes; - /* Minimum node of the heap. */ - fibonacci_node_t *m_min; - /* Root node of the heap. */ - fibonacci_node_t *m_root; - /* Global minimum given in the heap construction. */ - K m_global_min_key; - - /* Allocator used to hold nodes. */ - pool_allocator *m_allocator; - /* True if alocator is owned by the current heap only. */ - bool m_own_allocator; -}; - -/* Remove fibonacci heap node. */ - -template -fibonacci_node * -fibonacci_node::remove () -{ - fibonacci_node *ret; - - if (this == m_left) - ret = NULL; - else - ret = m_left; - - if (m_parent != NULL && m_parent->m_child == this) - m_parent->m_child = ret; - - m_right->m_left = m_left; - m_left->m_right = m_right; - - m_parent = NULL; - m_left = this; - m_right = this; - - return ret; -} - -/* Link the node with PARENT. */ - -template -void -fibonacci_node::link (fibonacci_node *parent) -{ - if (parent->m_child == NULL) - parent->m_child = this; - else - parent->m_child->insert_before (this); - m_parent = parent; - parent->m_degree++; - m_mark = 0; -} - -/* Put node B after this node. */ - -template -void -fibonacci_node::insert_after (fibonacci_node *b) -{ - fibonacci_node *a = this; - - if (a == a->m_right) - { - a->m_right = b; - a->m_left = b; - b->m_right = a; - b->m_left = a; - } - else - { - b->m_right = a->m_right; - a->m_right->m_left = b; - a->m_right = b; - b->m_left = a; - } -} - -/* Insert new node given by KEY and DATA associated with the key. */ - -template -fibonacci_node* -fibonacci_heap::insert (K key, V *data) -{ - /* Create the new node. */ - fibonacci_node *node = new (m_allocator->allocate ()) - fibonacci_node_t (key, data); - - return insert_node (node); -} - -/* Insert new NODE given by DATA associated with the key. */ - -template -fibonacci_node* -fibonacci_heap::insert (fibonacci_node_t *node, K key, V *data) -{ - /* Set the node's data. */ - node->m_data = data; - node->m_key = key; - - return insert_node (node); -} - -/* Insert new NODE that has already filled key and value. */ - -template -fibonacci_node* -fibonacci_heap::insert_node (fibonacci_node_t *node) -{ - /* Insert it into the root list. */ - insert_root (node); - - /* If their was no minimum, or this key is less than the min, - it's the new min. */ - if (m_min == NULL || node->m_key < m_min->m_key) - m_min = node; - - m_nodes++; - - return node; -} - -/* For given NODE, set new KEY and DATA value. */ - -template -V* -fibonacci_heap::replace_key_data (fibonacci_node *node, K key, - V *data) -{ - K okey; - fibonacci_node *y; - V *odata = node->m_data; - - /* If we wanted to, we do a real increase by redeleting and - inserting. */ - if (node->compare_data (key) > 0) - { - delete_node (node, false); - - node = new (node) fibonacci_node_t (); - insert (node, key, data); - - return odata; - } - - okey = node->m_key; - node->m_data = data; - node->m_key = key; - y = node->m_parent; - - /* Short-circuit if the key is the same, as we then don't have to - do anything. Except if we're trying to force the new node to - be the new minimum for delete. */ - if (okey == key && okey != m_global_min_key) - return odata; - - /* These two compares are specifically <= 0 to make sure that in the case - of equality, a node we replaced the data on, becomes the new min. This - is needed so that delete's call to extractmin gets the right node. */ - if (y != NULL && node->compare (y) <= 0) - { - cut (node, y); - cascading_cut (y); - } - - if (node->compare (m_min) <= 0) - m_min = node; - - return odata; -} - -/* Extract minimum node in the heap. Delete fibonacci node if RELEASE - is true. */ - -template -V* -fibonacci_heap::extract_min (bool release) -{ - fibonacci_node *z; - V *ret = NULL; - - /* If we don't have a min set, it means we have no nodes. */ - if (m_min != NULL) - { - /* Otherwise, extract the min node, free the node, and return the - node's data. */ - z = extract_minimum_node (); - ret = z->m_data; - - if (release) - { - z->~fibonacci_node_t (); - m_allocator->remove (z); - } - } - - return ret; -} - -/* Delete NODE in the heap, if RELEASE is specified memory is released. */ - -template -V* -fibonacci_heap::delete_node (fibonacci_node *node, bool release) -{ - V *ret = node->m_data; - - /* To perform delete, we just make it the min key, and extract. */ - replace_key (node, m_global_min_key); - if (node != m_min) - { - fprintf (stderr, "Can't force minimum on fibheap.\n"); - abort (); - } - extract_min (release); - - return ret; -} - -/* Union the heap with HEAPB. One of the heaps is going to be deleted. */ - -template -fibonacci_heap* -fibonacci_heap::union_with (fibonacci_heap *heapb) -{ - fibonacci_heap *heapa = this; - - fibonacci_node *a_root, *b_root; - - /* Both heaps must share allocator. */ - gcc_checking_assert (m_allocator == heapb->m_allocator); - - /* If one of the heaps is empty, the union is just the other heap. */ - if ((a_root = heapa->m_root) == NULL) - { - delete (heapa); - return heapb; - } - if ((b_root = heapb->m_root) == NULL) - { - delete (heapb); - return heapa; - } - - /* Merge them to the next nodes on the opposite chain. */ - a_root->m_left->m_right = b_root; - b_root->m_left->m_right = a_root; - std::swap (a_root->m_left, b_root->m_left); - heapa->m_nodes += heapb->m_nodes; - - /* And set the new minimum, if it's changed. */ - if (heapb->m_min->compare (heapa->m_min) < 0) - heapa->m_min = heapb->m_min; - - /* Set m_min to NULL to not to delete live fibonacci nodes. */ - heapb->m_min = NULL; - delete (heapb); - - return heapa; -} - -/* Insert it into the root list. */ - -template -void -fibonacci_heap::insert_root (fibonacci_node_t *node) -{ - /* If the heap is currently empty, the new node becomes the singleton - circular root list. */ - if (m_root == NULL) - { - m_root = node; - node->m_left = node; - node->m_right = node; - return; - } - - /* Otherwise, insert it in the circular root list between the root - and it's right node. */ - m_root->insert_after (node); -} - -/* Remove NODE from PARENT's child list. */ - -template -void -fibonacci_heap::cut (fibonacci_node *node, - fibonacci_node *parent) -{ - node->remove (); - parent->m_degree--; - insert_root (node); - node->m_parent = NULL; - node->m_mark = 0; -} - -/* Process cut of node Y and do it recursivelly. */ - -template -void -fibonacci_heap::cascading_cut (fibonacci_node *y) -{ - fibonacci_node *z; - - while ((z = y->m_parent) != NULL) - { - if (y->m_mark == 0) - { - y->m_mark = 1; - return; - } - else - { - cut (y, z); - y = z; - } - } -} - -/* Extract minimum node from the heap. */ - -template -fibonacci_node* -fibonacci_heap::extract_minimum_node () -{ - fibonacci_node *ret = m_min; - fibonacci_node *x, *y, *orig; - - /* Attach the child list of the minimum node to the root list of the heap. - If there is no child list, we don't do squat. */ - for (x = ret->m_child, orig = NULL; x != orig && x != NULL; x = y) - { - if (orig == NULL) - orig = x; - y = x->m_right; - x->m_parent = NULL; - insert_root (x); - } - - /* Remove the old root. */ - remove_root (ret); - m_nodes--; - - /* If we are left with no nodes, then the min is NULL. */ - if (m_nodes == 0) - m_min = NULL; - else - { - /* Otherwise, consolidate to find new minimum, as well as do the reorg - work that needs to be done. */ - m_min = ret->m_right; - consolidate (); - } - - return ret; -} - -/* Remove root NODE from the heap. */ - -template -void -fibonacci_heap::remove_root (fibonacci_node *node) -{ - if (node->m_left == node) - m_root = NULL; - else - m_root = node->remove (); -} - -/* Consolidate heap. */ - -template -void fibonacci_heap::consolidate () -{ - const int D = 1 + 8 * sizeof (long); - fibonacci_node *a[D]; - fibonacci_node *w, *x, *y; - int i, d; - - memset (a, 0, sizeof (a)); - - while ((w = m_root) != NULL) - { - x = w; - remove_root (w); - d = x->m_degree; - gcc_checking_assert (d < D); - while (a[d] != NULL) - { - y = a[d]; - if (x->compare (y) > 0) - std::swap (x, y); - y->link (x); - a[d] = NULL; - d++; - } - a[d] = x; - } - m_min = NULL; - for (i = 0; i < D; i++) - if (a[i] != NULL) - { - insert_root (a[i]); - if (m_min == NULL || a[i]->compare (m_min) < 0) - m_min = a[i]; - } -} - -#endif // GCC_FIBONACCI_HEAP_H diff --git a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/file-find.h b/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/file-find.h deleted file mode 100644 index 95f2b3b2..00000000 --- a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/file-find.h +++ /dev/null @@ -1,47 +0,0 @@ -/* Prototypes and data structures used for implementing functions for - finding files relative to GCC binaries. - Copyright (C) 1992-2023 Free Software Foundation, Inc. - -This file is part of GCC. - -GCC is free software; you can redistribute it and/or modify it under -the terms of the GNU General Public License as published by the Free -Software Foundation; either version 3, or (at your option) any later -version. - -GCC is distributed in the hope that it will be useful, but WITHOUT ANY -WARRANTY; without even the implied warranty of MERCHANTABILITY or -FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -for more details. - -You should have received a copy of the GNU General Public License -along with GCC; see the file COPYING3. If not see -. */ - -#ifndef GCC_FILE_FIND_H -#define GCC_FILE_FIND_H - -/* Structure to hold all the directories in which to search for files to - execute. */ - -struct prefix_list -{ - const char *prefix; /* String to prepend to the path. */ - struct prefix_list *next; /* Next in linked list. */ -}; - -struct path_prefix -{ - struct prefix_list *plist; /* List of prefixes to try */ - int max_len; /* Max length of a prefix in PLIST */ - const char *name; /* Name of this list (used in config stuff) */ -}; - -extern void find_file_set_debug (bool); -extern char *find_a_file (struct path_prefix *, const char *, int); -extern void add_prefix (struct path_prefix *, const char *); -extern void add_prefix_begin (struct path_prefix *, const char *); -extern void prefix_from_env (const char *, struct path_prefix *); -extern void prefix_from_string (const char *, struct path_prefix *); - -#endif /* GCC_FILE_FIND_H */ diff --git a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/file-prefix-map.h b/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/file-prefix-map.h deleted file mode 100644 index 23dce0ca..00000000 --- a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/file-prefix-map.h +++ /dev/null @@ -1,31 +0,0 @@ -/* Declarations for file prefix remapping support (-f*-prefix-map options). - Copyright (C) 2017-2023 Free Software Foundation, Inc. - - This program is free software; you can redistribute it and/or modify it - under the terms of the GNU General Public License as published by the - Free Software Foundation; either version 3, or (at your option) any - later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; see the file COPYING3. If not see - . */ - -#ifndef GCC_FILE_PREFIX_MAP_H -#define GCC_FILE_PREFIX_MAP_H - -void add_macro_prefix_map (const char *); -void add_debug_prefix_map (const char *); -void add_file_prefix_map (const char *); -void add_profile_prefix_map (const char *); -extern bool flag_canon_prefix_map; - -const char *remap_macro_filename (const char *); -const char *remap_debug_filename (const char *); -const char *remap_profile_filename (const char *); - -#endif /* !GCC_FILE_PREFIX_MAP_H */ diff --git a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/filenames.h b/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/filenames.h deleted file mode 100644 index 444c5cc4..00000000 --- a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/filenames.h +++ /dev/null @@ -1,100 +0,0 @@ -/* Macros for taking apart, interpreting and processing file names. - - These are here because some non-Posix (a.k.a. DOSish) systems have - drive letter brain-damage at the beginning of an absolute file name, - use forward- and back-slash in path names interchangeably, and - some of them have case-insensitive file names. - - Copyright (C) 2000-2023 Free Software Foundation, Inc. - -This file is part of BFD, the Binary File Descriptor library. - -This program is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program; if not, write to the Free Software -Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */ - -#ifndef FILENAMES_H -#define FILENAMES_H - -#include "hashtab.h" /* for hashval_t */ - -#ifdef __cplusplus -extern "C" { -#endif - -#if defined(__MSDOS__) || (defined(_WIN32) && ! defined(__CYGWIN__)) || \ - defined(__OS2__) -# ifndef HAVE_DOS_BASED_FILE_SYSTEM -# define HAVE_DOS_BASED_FILE_SYSTEM 1 -# endif -# ifndef HAVE_CASE_INSENSITIVE_FILE_SYSTEM -# define HAVE_CASE_INSENSITIVE_FILE_SYSTEM 1 -# endif -# define HAS_DRIVE_SPEC(f) HAS_DOS_DRIVE_SPEC (f) -# define IS_DIR_SEPARATOR(c) IS_DOS_DIR_SEPARATOR (c) -# define IS_ABSOLUTE_PATH(f) IS_DOS_ABSOLUTE_PATH (f) -#else /* not DOSish */ -# if defined(__APPLE__) -# ifndef HAVE_CASE_INSENSITIVE_FILE_SYSTEM -# define HAVE_CASE_INSENSITIVE_FILE_SYSTEM 1 -# endif -# endif /* __APPLE__ */ -# define HAS_DRIVE_SPEC(f) (0) -# define IS_DIR_SEPARATOR(c) IS_UNIX_DIR_SEPARATOR (c) -# define IS_ABSOLUTE_PATH(f) IS_UNIX_ABSOLUTE_PATH (f) -#endif - -#define IS_DIR_SEPARATOR_1(dos_based, c) \ - (((c) == '/') \ - || (((c) == '\\') && (dos_based))) - -#define HAS_DRIVE_SPEC_1(dos_based, f) \ - ((f)[0] && ((f)[1] == ':') && (dos_based)) - -/* Remove the drive spec from F, assuming HAS_DRIVE_SPEC (f). - The result is a pointer to the remainder of F. */ -#define STRIP_DRIVE_SPEC(f) ((f) + 2) - -#define IS_DOS_DIR_SEPARATOR(c) IS_DIR_SEPARATOR_1 (1, c) -#define IS_DOS_ABSOLUTE_PATH(f) IS_ABSOLUTE_PATH_1 (1, f) -#define HAS_DOS_DRIVE_SPEC(f) HAS_DRIVE_SPEC_1 (1, f) - -#define IS_UNIX_DIR_SEPARATOR(c) IS_DIR_SEPARATOR_1 (0, c) -#define IS_UNIX_ABSOLUTE_PATH(f) IS_ABSOLUTE_PATH_1 (0, f) - -/* Note that when DOS_BASED is true, IS_ABSOLUTE_PATH accepts d:foo as - well, although it is only semi-absolute. This is because the users - of IS_ABSOLUTE_PATH want to know whether to prepend the current - working directory to a file name, which should not be done with a - name like d:foo. */ -#define IS_ABSOLUTE_PATH_1(dos_based, f) \ - (IS_DIR_SEPARATOR_1 (dos_based, (f)[0]) \ - || HAS_DRIVE_SPEC_1 (dos_based, f)) - -extern int filename_cmp (const char *s1, const char *s2); -#define FILENAME_CMP(s1, s2) filename_cmp(s1, s2) - -extern int filename_ncmp (const char *s1, const char *s2, - size_t n); - -extern hashval_t filename_hash (const void *s); - -extern int filename_eq (const void *s1, const void *s2); - -extern int canonical_filename_eq (const char *a, const char *b); - -#ifdef __cplusplus -} -#endif - -#endif /* FILENAMES_H */ diff --git a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/fixed-value.h b/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/fixed-value.h deleted file mode 100644 index 8d1002ac..00000000 --- a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/fixed-value.h +++ /dev/null @@ -1,111 +0,0 @@ -/* Fixed-point arithmetic support. - Copyright (C) 2006-2023 Free Software Foundation, Inc. - -This file is part of GCC. - -GCC is free software; you can redistribute it and/or modify it under -the terms of the GNU General Public License as published by the Free -Software Foundation; either version 3, or (at your option) any later -version. - -GCC is distributed in the hope that it will be useful, but WITHOUT ANY -WARRANTY; without even the implied warranty of MERCHANTABILITY or -FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -for more details. - -You should have received a copy of the GNU General Public License -along with GCC; see the file COPYING3. If not see -. */ - -#ifndef GCC_FIXED_VALUE_H -#define GCC_FIXED_VALUE_H - -struct GTY(()) fixed_value -{ - double_int data; /* Store data up to 2 wide integers. */ - scalar_mode_pod mode; /* Use machine mode to know IBIT and FBIT. */ -}; - -#define FIXED_VALUE_TYPE struct fixed_value - -#define MAX_FCONST0 18 /* For storing 18 fixed-point zeros per - fract, ufract, accum, and uaccum modes . */ -#define MAX_FCONST1 8 /* For storing 8 fixed-point ones per accum - and uaccum modes. */ -/* Constant fixed-point values 0 and 1. */ -extern FIXED_VALUE_TYPE fconst0[MAX_FCONST0]; -extern FIXED_VALUE_TYPE fconst1[MAX_FCONST1]; - -/* Macros to access fconst0 and fconst1 via machine modes. */ -#define FCONST0(mode) fconst0[mode - QQmode] -#define FCONST1(mode) fconst1[mode - HAmode] - -/* Return a CONST_FIXED with value R and mode M. */ -#define CONST_FIXED_FROM_FIXED_VALUE(r, m) \ - const_fixed_from_fixed_value (r, m) -extern rtx const_fixed_from_fixed_value (FIXED_VALUE_TYPE, machine_mode); - -/* Construct a FIXED_VALUE from a bit payload and machine mode MODE. - The bits in PAYLOAD are sign-extended/zero-extended according to MODE. */ -extern FIXED_VALUE_TYPE fixed_from_double_int (double_int, scalar_mode); - -/* Return a CONST_FIXED from a bit payload and machine mode MODE. - The bits in PAYLOAD are sign-extended/zero-extended according to MODE. */ -inline rtx -const_fixed_from_double_int (double_int payload, - scalar_mode mode) -{ - return - const_fixed_from_fixed_value (fixed_from_double_int (payload, mode), - mode); -} - -/* Initialize from a decimal or hexadecimal string. */ -extern void fixed_from_string (FIXED_VALUE_TYPE *, const char *, - scalar_mode); - -/* In tree.cc: wrap up a FIXED_VALUE_TYPE in a tree node. */ -extern tree build_fixed (tree, FIXED_VALUE_TYPE); - -/* Extend or truncate to a new mode. */ -extern bool fixed_convert (FIXED_VALUE_TYPE *, scalar_mode, - const FIXED_VALUE_TYPE *, bool); - -/* Convert to a fixed-point mode from an integer. */ -extern bool fixed_convert_from_int (FIXED_VALUE_TYPE *, scalar_mode, - double_int, bool, bool); - -/* Convert to a fixed-point mode from a real. */ -extern bool fixed_convert_from_real (FIXED_VALUE_TYPE *, scalar_mode, - const REAL_VALUE_TYPE *, bool); - -/* Convert to a real mode from a fixed-point. */ -extern void real_convert_from_fixed (REAL_VALUE_TYPE *, scalar_mode, - const FIXED_VALUE_TYPE *); - -/* Compare two fixed-point objects for bitwise identity. */ -extern bool fixed_identical (const FIXED_VALUE_TYPE *, const FIXED_VALUE_TYPE *); - -/* Calculate a hash value. */ -extern unsigned int fixed_hash (const FIXED_VALUE_TYPE *); - -#define FIXED_VALUES_IDENTICAL(x, y) fixed_identical (&(x), &(y)) - -/* Determine whether a fixed-point value X is negative. */ -#define FIXED_VALUE_NEGATIVE(x) fixed_isneg (&(x)) - -/* Render F as a decimal floating point constant. */ -extern void fixed_to_decimal (char *str, const FIXED_VALUE_TYPE *, size_t); - -/* Binary or unary arithmetic on tree_code. */ -extern bool fixed_arithmetic (FIXED_VALUE_TYPE *, int, const FIXED_VALUE_TYPE *, - const FIXED_VALUE_TYPE *, bool); - -/* Compare fixed-point values by tree_code. */ -extern bool fixed_compare (int, const FIXED_VALUE_TYPE *, - const FIXED_VALUE_TYPE *); - -/* Determine whether a fixed-point value X is negative. */ -extern bool fixed_isneg (const FIXED_VALUE_TYPE *); - -#endif /* GCC_FIXED_VALUE_H */ diff --git a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/flag-types.h b/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/flag-types.h deleted file mode 100644 index 78dbdbe9..00000000 --- a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/flag-types.h +++ /dev/null @@ -1,508 +0,0 @@ -/* Compilation switch flag type definitions for GCC. - Copyright (C) 1987-2023 Free Software Foundation, Inc. - -This file is part of GCC. - -GCC is free software; you can redistribute it and/or modify it under -the terms of the GNU General Public License as published by the Free -Software Foundation; either version 3, or (at your option) any later -version. - -GCC is distributed in the hope that it will be useful, but WITHOUT ANY -WARRANTY; without even the implied warranty of MERCHANTABILITY or -FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -for more details. - -You should have received a copy of the GNU General Public License -along with GCC; see the file COPYING3. If not see -. */ - -#ifndef GCC_FLAG_TYPES_H -#define GCC_FLAG_TYPES_H - -#if !defined(IN_LIBGCC2) && !defined(IN_TARGET_LIBS) && !defined(IN_RTS) - -enum debug_info_type -{ - DINFO_TYPE_NONE, /* No debug info. */ - DINFO_TYPE_DWARF2, /* Dwarf v2 debug info. */ - DINFO_TYPE_VMS, /* VMS debug info. */ - DINFO_TYPE_CTF, /* CTF debug info. */ - DINFO_TYPE_BTF, /* BTF debug info. */ - DINFO_TYPE_BTF_WITH_CORE, /* BTF debug info with CO-RE relocations. */ - DINFO_TYPE_MAX = DINFO_TYPE_BTF_WITH_CORE /* Marker only. */ -}; - -#define NO_DEBUG (0U) -/* Write DWARF2 debug info (using dwarf2out.cc). */ -#define DWARF2_DEBUG (1U << DINFO_TYPE_DWARF2) -/* Write VMS debug info (using vmsdbgout.cc). */ -#define VMS_DEBUG (1U << DINFO_TYPE_VMS) -/* Write CTF debug info (using ctfout.cc). */ -#define CTF_DEBUG (1U << DINFO_TYPE_CTF) -/* Write BTF debug info (using btfout.cc). */ -#define BTF_DEBUG (1U << DINFO_TYPE_BTF) -/* Write BTF debug info for BPF CO-RE usecase (using btfout.cc). */ -#define BTF_WITH_CORE_DEBUG (1U << DINFO_TYPE_BTF_WITH_CORE) - -/* Note: Adding new definitions to handle -combination- of debug formats, - like VMS_AND_DWARF2_DEBUG is not recommended. This definition remains - here for historical reasons. */ -/* Write VMS debug info (using vmsdbgout.cc) and DWARF v2 debug info (using - dwarf2out.cc). */ -#define VMS_AND_DWARF2_DEBUG ((VMS_DEBUG | DWARF2_DEBUG)) - -enum debug_info_levels -{ - DINFO_LEVEL_NONE, /* Write no debugging info. */ - DINFO_LEVEL_TERSE, /* Write minimal info to support tracebacks only. */ - DINFO_LEVEL_NORMAL, /* Write info for all declarations (and line table). */ - DINFO_LEVEL_VERBOSE /* Write normal info plus #define/#undef info. */ -}; - -/* CTF debug info levels. - CTF debug info levels are untied with DWARF debug info levels because CTF - may co-exist with DWARF. */ -enum ctf_debug_info_levels -{ - CTFINFO_LEVEL_NONE = 0, /* Write no CTF debug info. */ - CTFINFO_LEVEL_TERSE = 1, /* Write CTF information to support tracebacks - only. Not Implemented. */ - CTFINFO_LEVEL_NORMAL = 2 /* Write CTF type information for all entities - (functions, data objects, variables etc.) - at file-scope or global-scope only. */ -}; - -/* A major contribution to object and executable size is debug - information size. A major contribution to debug information - size is struct descriptions replicated in several object files. - The following function determines whether or not debug information - should be generated for a given struct. The indirect parameter - indicates that the struct is being handled indirectly, via - a pointer. See opts.cc for the implementation. */ - -enum debug_info_usage -{ - DINFO_USAGE_DFN, /* A struct definition. */ - DINFO_USAGE_DIR_USE, /* A direct use, such as the type of a variable. */ - DINFO_USAGE_IND_USE, /* An indirect use, such as through a pointer. */ - DINFO_USAGE_NUM_ENUMS /* The number of enumerators. */ -}; - -/* A major contribution to object and executable size is debug - information size. A major contribution to debug information size - is struct descriptions replicated in several object files. The - following flags attempt to reduce this information. The basic - idea is to not emit struct debugging information in the current - compilation unit when that information will be generated by - another compilation unit. - - Debug information for a struct defined in the current source - file should be generated in the object file. Likewise the - debug information for a struct defined in a header should be - generated in the object file of the corresponding source file. - Both of these case are handled when the base name of the file of - the struct definition matches the base name of the source file - of the current compilation unit. This matching emits minimal - struct debugging information. - - The base file name matching rule above will fail to emit debug - information for structs defined in system headers. So a second - category of files includes system headers in addition to files - with matching bases. - - The remaining types of files are library headers and application - headers. We cannot currently distinguish these two types. */ - -enum debug_struct_file -{ - DINFO_STRUCT_FILE_NONE, /* Debug no structs. */ - DINFO_STRUCT_FILE_BASE, /* Debug structs defined in files with the - same base name as the compilation unit. */ - DINFO_STRUCT_FILE_SYS, /* Also debug structs defined in system - header files. */ - DINFO_STRUCT_FILE_ANY /* Debug structs defined in all files. */ -}; - -/* Balance between GNAT encodings and standard DWARF to emit. */ - -enum dwarf_gnat_encodings -{ - DWARF_GNAT_ENCODINGS_ALL = 0, /* Emit all GNAT encodings, then emit as - much standard DWARF as possible so it - does not conflict with GNAT - encodings. */ - DWARF_GNAT_ENCODINGS_GDB = 1, /* Emit as much standard DWARF as possible - as long as GDB handles them. Emit GNAT - encodings for the rest. */ - DWARF_GNAT_ENCODINGS_MINIMAL = 2 /* Emit all the standard DWARF we can. - Emit GNAT encodings for the rest. */ -}; - -/* Enumerate Objective-c instance variable visibility settings. */ - -enum ivar_visibility -{ - IVAR_VISIBILITY_PRIVATE, - IVAR_VISIBILITY_PROTECTED, - IVAR_VISIBILITY_PUBLIC, - IVAR_VISIBILITY_PACKAGE -}; - -/* The stack reuse level. */ -enum stack_reuse_level -{ - SR_NONE, - SR_NAMED_VARS, - SR_ALL -}; - -/* The live patching level. */ -enum live_patching_level -{ - LIVE_PATCHING_NONE = 0, - LIVE_PATCHING_INLINE_ONLY_STATIC, - LIVE_PATCHING_INLINE_CLONE -}; - -/* The algorithm used for basic block reordering. */ -enum reorder_blocks_algorithm -{ - REORDER_BLOCKS_ALGORITHM_SIMPLE, - REORDER_BLOCKS_ALGORITHM_STC -}; - -/* The algorithm used for the integrated register allocator (IRA). */ -enum ira_algorithm -{ - IRA_ALGORITHM_CB, - IRA_ALGORITHM_PRIORITY -}; - -/* The regions used for the integrated register allocator (IRA). */ -enum ira_region -{ - IRA_REGION_ONE, - IRA_REGION_ALL, - IRA_REGION_MIXED, -}; - -/* The options for excess precision. */ -enum excess_precision -{ - EXCESS_PRECISION_DEFAULT, - EXCESS_PRECISION_FAST, - EXCESS_PRECISION_STANDARD, - EXCESS_PRECISION_FLOAT16 -}; - -/* The options for which values of FLT_EVAL_METHOD are permissible. */ -enum permitted_flt_eval_methods -{ - PERMITTED_FLT_EVAL_METHODS_DEFAULT, - PERMITTED_FLT_EVAL_METHODS_TS_18661, - PERMITTED_FLT_EVAL_METHODS_C11 -}; - -/* Type of stack check. - - Stack checking is designed to detect infinite recursion and stack - overflows for Ada programs. Furthermore stack checking tries to ensure - in that scenario that enough stack space is left to run a signal handler. - - -fstack-check= does not prevent stack-clash style attacks. For that - you want -fstack-clash-protection. */ -enum stack_check_type -{ - /* Do not check the stack. */ - NO_STACK_CHECK = 0, - - /* Check the stack generically, i.e. assume no specific support - from the target configuration files. */ - GENERIC_STACK_CHECK, - - /* Check the stack and rely on the target configuration files to - check the static frame of functions, i.e. use the generic - mechanism only for dynamic stack allocations. */ - STATIC_BUILTIN_STACK_CHECK, - - /* Check the stack and entirely rely on the target configuration - files, i.e. do not use the generic mechanism at all. */ - FULL_BUILTIN_STACK_CHECK -}; - -/* Type of callgraph information. */ -enum callgraph_info_type -{ - /* No information. */ - NO_CALLGRAPH_INFO = 0, - - /* Naked callgraph. */ - CALLGRAPH_INFO_NAKED = 1, - - /* Callgraph decorated with stack usage information. */ - CALLGRAPH_INFO_STACK_USAGE = 2, - - /* Callgraph decoration with dynamic allocation information. */ - CALLGRAPH_INFO_DYNAMIC_ALLOC = 4 -}; - -/* Floating-point contraction mode. */ -enum fp_contract_mode { - FP_CONTRACT_OFF = 0, - FP_CONTRACT_ON = 1, - FP_CONTRACT_FAST = 2 -}; - -/* Scalar storage order kind. */ -enum scalar_storage_order_kind { - SSO_NATIVE = 0, - SSO_BIG_ENDIAN, - SSO_LITTLE_ENDIAN -}; - -/* Vectorizer cost-model. Except for DEFAULT, the values are ordered from - the most conservative to the least conservative. */ -enum vect_cost_model { - VECT_COST_MODEL_VERY_CHEAP = -3, - VECT_COST_MODEL_CHEAP = -2, - VECT_COST_MODEL_DYNAMIC = -1, - VECT_COST_MODEL_UNLIMITED = 0, - VECT_COST_MODEL_DEFAULT = 1 -}; - -/* Automatic variable initialization type. */ -enum auto_init_type { - AUTO_INIT_UNINITIALIZED = 0, - AUTO_INIT_PATTERN = 1, - AUTO_INIT_ZERO = 2 -}; - -/* Different instrumentation modes. */ -enum sanitize_code { - /* AddressSanitizer. */ - SANITIZE_ADDRESS = 1UL << 0, - SANITIZE_USER_ADDRESS = 1UL << 1, - SANITIZE_KERNEL_ADDRESS = 1UL << 2, - /* ThreadSanitizer. */ - SANITIZE_THREAD = 1UL << 3, - /* LeakSanitizer. */ - SANITIZE_LEAK = 1UL << 4, - /* UndefinedBehaviorSanitizer. */ - SANITIZE_SHIFT_BASE = 1UL << 5, - SANITIZE_SHIFT_EXPONENT = 1UL << 6, - SANITIZE_DIVIDE = 1UL << 7, - SANITIZE_UNREACHABLE = 1UL << 8, - SANITIZE_VLA = 1UL << 9, - SANITIZE_NULL = 1UL << 10, - SANITIZE_RETURN = 1UL << 11, - SANITIZE_SI_OVERFLOW = 1UL << 12, - SANITIZE_BOOL = 1UL << 13, - SANITIZE_ENUM = 1UL << 14, - SANITIZE_FLOAT_DIVIDE = 1UL << 15, - SANITIZE_FLOAT_CAST = 1UL << 16, - SANITIZE_BOUNDS = 1UL << 17, - SANITIZE_ALIGNMENT = 1UL << 18, - SANITIZE_NONNULL_ATTRIBUTE = 1UL << 19, - SANITIZE_RETURNS_NONNULL_ATTRIBUTE = 1UL << 20, - SANITIZE_OBJECT_SIZE = 1UL << 21, - SANITIZE_VPTR = 1UL << 22, - SANITIZE_BOUNDS_STRICT = 1UL << 23, - SANITIZE_POINTER_OVERFLOW = 1UL << 24, - SANITIZE_BUILTIN = 1UL << 25, - SANITIZE_POINTER_COMPARE = 1UL << 26, - SANITIZE_POINTER_SUBTRACT = 1UL << 27, - SANITIZE_HWADDRESS = 1UL << 28, - SANITIZE_USER_HWADDRESS = 1UL << 29, - SANITIZE_KERNEL_HWADDRESS = 1UL << 30, - /* Shadow Call Stack. */ - SANITIZE_SHADOW_CALL_STACK = 1UL << 31, - SANITIZE_SHIFT = SANITIZE_SHIFT_BASE | SANITIZE_SHIFT_EXPONENT, - SANITIZE_UNDEFINED = SANITIZE_SHIFT | SANITIZE_DIVIDE | SANITIZE_UNREACHABLE - | SANITIZE_VLA | SANITIZE_NULL | SANITIZE_RETURN - | SANITIZE_SI_OVERFLOW | SANITIZE_BOOL | SANITIZE_ENUM - | SANITIZE_BOUNDS | SANITIZE_ALIGNMENT - | SANITIZE_NONNULL_ATTRIBUTE - | SANITIZE_RETURNS_NONNULL_ATTRIBUTE - | SANITIZE_OBJECT_SIZE | SANITIZE_VPTR - | SANITIZE_POINTER_OVERFLOW | SANITIZE_BUILTIN, - SANITIZE_UNDEFINED_NONDEFAULT = SANITIZE_FLOAT_DIVIDE | SANITIZE_FLOAT_CAST - | SANITIZE_BOUNDS_STRICT -}; - -/* Different settings for zeroing subset of registers. */ -namespace zero_regs_flags { - const unsigned int UNSET = 0; - const unsigned int SKIP = 1UL << 0; - const unsigned int ONLY_USED = 1UL << 1; - const unsigned int ONLY_GPR = 1UL << 2; - const unsigned int ONLY_ARG = 1UL << 3; - const unsigned int ENABLED = 1UL << 4; - const unsigned int USED_GPR_ARG = ENABLED | ONLY_USED | ONLY_GPR | ONLY_ARG; - const unsigned int USED_GPR = ENABLED | ONLY_USED | ONLY_GPR; - const unsigned int USED_ARG = ENABLED | ONLY_USED | ONLY_ARG; - const unsigned int USED = ENABLED | ONLY_USED; - const unsigned int ALL_GPR_ARG = ENABLED | ONLY_GPR | ONLY_ARG; - const unsigned int ALL_GPR = ENABLED | ONLY_GPR; - const unsigned int ALL_ARG = ENABLED | ONLY_ARG; - const unsigned int ALL = ENABLED; -} - -/* Settings of flag_incremental_link. */ -enum incremental_link { - INCREMENTAL_LINK_NONE, - /* Do incremental linking and produce binary. */ - INCREMENTAL_LINK_NOLTO, - /* Do incremental linking and produce IL. */ - INCREMENTAL_LINK_LTO -}; - -/* Different trace modes. */ -enum sanitize_coverage_code { - /* Trace PC. */ - SANITIZE_COV_TRACE_PC = 1 << 0, - /* Trace Comparison. */ - SANITIZE_COV_TRACE_CMP = 1 << 1 -}; - -/* flag_vtable_verify initialization levels. */ -enum vtv_priority { - VTV_NO_PRIORITY = 0, /* i.E. Do NOT do vtable verification. */ - VTV_STANDARD_PRIORITY = 1, - VTV_PREINIT_PRIORITY = 2 -}; - -/* flag_lto_partition initialization values. */ -enum lto_partition_model { - LTO_PARTITION_NONE = 0, - LTO_PARTITION_ONE = 1, - LTO_PARTITION_BALANCED = 2, - LTO_PARTITION_1TO1 = 3, - LTO_PARTITION_MAX = 4 -}; - -/* flag_lto_linker_output initialization values. */ -enum lto_linker_output { - LTO_LINKER_OUTPUT_UNKNOWN, - LTO_LINKER_OUTPUT_REL, - LTO_LINKER_OUTPUT_NOLTOREL, - LTO_LINKER_OUTPUT_DYN, - LTO_LINKER_OUTPUT_PIE, - LTO_LINKER_OUTPUT_EXEC -}; - -/* gfortran -finit-real= values. */ - -enum gfc_init_local_real -{ - GFC_INIT_REAL_OFF = 0, - GFC_INIT_REAL_ZERO, - GFC_INIT_REAL_NAN, - GFC_INIT_REAL_SNAN, - GFC_INIT_REAL_INF, - GFC_INIT_REAL_NEG_INF -}; - -/* gfortran -fcoarray= values. */ - -enum gfc_fcoarray -{ - GFC_FCOARRAY_NONE = 0, - GFC_FCOARRAY_SINGLE, - GFC_FCOARRAY_LIB -}; - - -/* gfortran -fconvert= values; used for unformatted I/O. - Keep in sync with GFC_CONVERT_* in gcc/fortran/libgfortran.h. */ -enum gfc_convert -{ - GFC_FLAG_CONVERT_NATIVE = 0, - GFC_FLAG_CONVERT_SWAP, - GFC_FLAG_CONVERT_BIG, - GFC_FLAG_CONVERT_LITTLE, - GFC_FLAG_CONVERT_R16_IEEE = 4, - GFC_FLAG_CONVERT_R16_IEEE_SWAP, - GFC_FLAG_CONVERT_R16_IEEE_BIG, - GFC_FLAG_CONVERT_R16_IEEE_LITTLE, - GFC_FLAG_CONVERT_R16_IBM = 8, - GFC_FLAG_CONVERT_R16_IBM_SWAP, - GFC_FLAG_CONVERT_R16_IBM_BIG, - GFC_FLAG_CONVERT_R16_IBM_LITTLE, -}; - - -/* Control-Flow Protection values. */ -enum cf_protection_level -{ - CF_NONE = 0, - CF_BRANCH = 1 << 0, - CF_RETURN = 1 << 1, - CF_FULL = CF_BRANCH | CF_RETURN, - CF_SET = 1 << 2, - CF_CHECK = 1 << 3 -}; - -/* Parloops schedule type. */ -enum parloops_schedule_type -{ - PARLOOPS_SCHEDULE_STATIC = 0, - PARLOOPS_SCHEDULE_DYNAMIC, - PARLOOPS_SCHEDULE_GUIDED, - PARLOOPS_SCHEDULE_AUTO, - PARLOOPS_SCHEDULE_RUNTIME -}; - -/* Ranger debug mode. */ -enum ranger_debug -{ - RANGER_DEBUG_NONE = 0, - RANGER_DEBUG_TRACE = 1, - RANGER_DEBUG_CACHE = 2, - RANGER_DEBUG_GORI = 4, - RANGER_DEBUG_TRACE_GORI = (RANGER_DEBUG_TRACE | RANGER_DEBUG_GORI), - RANGER_DEBUG_TRACE_CACHE = (RANGER_DEBUG_TRACE | RANGER_DEBUG_CACHE), - RANGER_DEBUG_ALL = (RANGER_DEBUG_GORI | RANGER_DEBUG_CACHE - | RANGER_DEBUG_TRACE) -}; - -/* Jump threader verbose dumps. */ -enum threader_debug -{ - THREADER_DEBUG_NONE = 0, - THREADER_DEBUG_ALL = 1 -}; - -/* VRP modes. */ -enum vrp_mode -{ - VRP_MODE_VRP, - VRP_MODE_RANGER -}; - -/* Modes of OpenACC 'kernels' constructs handling. */ -enum openacc_kernels -{ - OPENACC_KERNELS_DECOMPOSE, - OPENACC_KERNELS_PARLOOPS -}; - -/* Modes of OpenACC privatization diagnostics. */ -enum openacc_privatization -{ - OPENACC_PRIVATIZATION_QUIET, - OPENACC_PRIVATIZATION_NOISY -}; - -/* Targets for -fopenmp-target-simd-clone. */ -enum omp_target_simd_clone_device_kind -{ - OMP_TARGET_SIMD_CLONE_NONE = 0, - OMP_TARGET_SIMD_CLONE_HOST = 1, - OMP_TARGET_SIMD_CLONE_NOHOST = 2, - OMP_TARGET_SIMD_CLONE_ANY = 3 -}; - -#endif - -#endif /* ! GCC_FLAG_TYPES_H */ diff --git a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/flags.h b/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/flags.h deleted file mode 100644 index e4bafa31..00000000 --- a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/flags.h +++ /dev/null @@ -1,117 +0,0 @@ -/* Compilation switch flag definitions for GCC. - Copyright (C) 1987-2023 Free Software Foundation, Inc. - -This file is part of GCC. - -GCC is free software; you can redistribute it and/or modify it under -the terms of the GNU General Public License as published by the Free -Software Foundation; either version 3, or (at your option) any later -version. - -GCC is distributed in the hope that it will be useful, but WITHOUT ANY -WARRANTY; without even the implied warranty of MERCHANTABILITY or -FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -for more details. - -You should have received a copy of the GNU General Public License -along with GCC; see the file COPYING3. If not see -. */ - -#ifndef GCC_FLAGS_H -#define GCC_FLAGS_H - -#if !defined(IN_LIBGCC2) && !defined(IN_TARGET_LIBS) && !defined(IN_RTS) - -/* Names of fundamental debug info formats indexed by enum - debug_info_type. */ - -extern const char *const debug_type_names[]; - -/* Get enum debug_info_type of the specified debug format, for error messages. - Can be used only for individual debug format types. */ - -extern enum debug_info_type debug_set_to_format (uint32_t debug_info_set); - -/* Get the number of debug formats enabled for output. */ - -unsigned int debug_set_count (uint32_t w_symbols); - -/* Get the names of the debug formats enabled for output. */ - -const char * debug_set_names (uint32_t w_symbols); - -#ifndef GENERATOR_FILE -/* Return true iff BTF debug info is enabled. */ - -extern bool btf_debuginfo_p (); - -/* Return true iff BTF with CO-RE debug info is enabled. */ - -extern bool btf_with_core_debuginfo_p (); - -/* Return true iff CTF debug info is enabled. */ - -extern bool ctf_debuginfo_p (); - -/* Return true iff DWARF2 debug info is enabled. */ - -extern bool dwarf_debuginfo_p (struct gcc_options *opts = &global_options); - -/* Return true iff the debug info format is to be generated based on DWARF - DIEs (like CTF and BTF debug info formats). */ - -extern bool dwarf_based_debuginfo_p (); -#endif - -extern void strip_off_ending (char *, int); -extern int base_of_path (const char *path, const char **base_out); - -/* Return true iff flags are set as if -ffast-math. */ -extern bool fast_math_flags_set_p (const struct gcc_options *); -extern bool fast_math_flags_struct_set_p (struct cl_optimization *); - - -/* Now the symbols that are set with `-f' switches. */ - -/* True if printing into -fdump-final-insns= dump. */ - -extern bool final_insns_dump_p; - - -/* Other basic status info about current function. */ - -class target_flag_state -{ -public: - /* Each falign-foo can generate up to two levels of alignment: - -falign-foo=N:M[:N2:M2] */ - align_flags x_align_loops; - align_flags x_align_jumps; - align_flags x_align_labels; - align_flags x_align_functions; -}; - -extern class target_flag_state default_target_flag_state; -#if SWITCHABLE_TARGET -extern class target_flag_state *this_target_flag_state; -#else -#define this_target_flag_state (&default_target_flag_state) -#endif - -#define align_loops (this_target_flag_state->x_align_loops) -#define align_jumps (this_target_flag_state->x_align_jumps) -#define align_labels (this_target_flag_state->x_align_labels) -#define align_functions (this_target_flag_state->x_align_functions) - -/* Returns TRUE if generated code should match ABI version N or - greater is in use. */ - -#define abi_version_at_least(N) \ - (flag_abi_version == 0 || flag_abi_version >= (N)) - -/* Whether to emit an overflow warning whose code is C. */ -#define issue_strict_overflow_warning(c) (warn_strict_overflow >= (int) (c)) - -#endif /* ! in target library */ - -#endif /* ! GCC_FLAGS_H */ diff --git a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/fold-const-call.h b/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/fold-const-call.h deleted file mode 100644 index ccb8f6db..00000000 --- a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/fold-const-call.h +++ /dev/null @@ -1,28 +0,0 @@ -/* Fold calls to built-in and internal functions with constant arguments. - Copyright (C) 2015-2023 Free Software Foundation, Inc. - -This file is part of GCC. - -GCC is free software; you can redistribute it and/or modify it under -the terms of the GNU General Public License as published by the Free -Software Foundation; either version 3, or (at your option) any later -version. - -GCC is distributed in the hope that it will be useful, but WITHOUT ANY -WARRANTY; without even the implied warranty of MERCHANTABILITY or -FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -for more details. - -You should have received a copy of the GNU General Public License -along with GCC; see the file COPYING3. If not see -. */ - -#ifndef GCC_FOLD_CONST_CALL_H -#define GCC_FOLD_CONST_CALL_H - -tree fold_const_call (combined_fn, tree, tree); -tree fold_const_call (combined_fn, tree, tree, tree); -tree fold_const_call (combined_fn, tree, tree, tree, tree); -tree build_cmp_result (tree type, int res); - -#endif diff --git a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/fold-const.h b/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/fold-const.h deleted file mode 100644 index 56ecaa87..00000000 --- a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/fold-const.h +++ /dev/null @@ -1,276 +0,0 @@ -/* Fold a constant sub-tree into a single node for C-compiler - Copyright (C) 1987-2023 Free Software Foundation, Inc. - -This file is part of GCC. - -GCC is free software; you can redistribute it and/or modify it under -the terms of the GNU General Public License as published by the Free -Software Foundation; either version 3, or (at your option) any later -version. - -GCC is distributed in the hope that it will be useful, but WITHOUT ANY -WARRANTY; without even the implied warranty of MERCHANTABILITY or -FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -for more details. - -You should have received a copy of the GNU General Public License -along with GCC; see the file COPYING3. If not see -. */ - -#ifndef GCC_FOLD_CONST_H -#define GCC_FOLD_CONST_H - -/* Nonzero if we are folding constants inside an initializer or a C++ - manifestly-constant-evaluated context; zero otherwise. - Should be used when folding in initializer enables additional - optimizations. */ -extern int folding_initializer; -/* Nonzero if we are folding C++ manifestly-constant-evaluated context; zero - otherwise. - Should be used when certain constructs shouldn't be optimized - during folding in that context. */ -extern bool folding_cxx_constexpr; - -/* Convert between trees and native memory representation. */ -extern int native_encode_expr (const_tree, unsigned char *, int, int off = -1); -extern int native_encode_initializer (tree, unsigned char *, int, - int off = -1, unsigned char * = nullptr); -extern tree native_interpret_expr (tree, const unsigned char *, int); -extern tree native_interpret_real (tree, const unsigned char *, int); -extern bool can_native_interpret_type_p (tree); -extern tree native_interpret_aggregate (tree, const unsigned char *, int, int); -extern tree find_bitfield_repr_type (int, int); -extern void shift_bytes_in_array_left (unsigned char *, unsigned int, - unsigned int); -extern void shift_bytes_in_array_right (unsigned char *, unsigned int, - unsigned int); - -/* Fold constants as much as possible in an expression. - Returns the simplified expression. - Acts only on the top level of the expression; - if the argument itself cannot be simplified, its - subexpressions are not changed. */ - -extern tree fold (tree); -extern tree fold_init (tree); -#define fold_unary(CODE,T1,T2)\ - fold_unary_loc (UNKNOWN_LOCATION, CODE, T1, T2) -extern tree fold_unary_loc (location_t, enum tree_code, tree, tree); -#define fold_unary_ignore_overflow(CODE,T1,T2)\ - fold_unary_ignore_overflow_loc (UNKNOWN_LOCATION, CODE, T1, T2) -extern tree fold_unary_ignore_overflow_loc (location_t, enum tree_code, tree, tree); -#define fold_binary(CODE,T1,T2,T3)\ - fold_binary_loc (UNKNOWN_LOCATION, CODE, T1, T2, T3) -extern tree fold_binary_loc (location_t, enum tree_code, tree, tree, tree); -#define fold_ternary(CODE,T1,T2,T3,T4)\ - fold_ternary_loc (UNKNOWN_LOCATION, CODE, T1, T2, T3, T4) -extern tree fold_ternary_loc (location_t, enum tree_code, tree, tree, tree, tree); -#define fold_build1(c,t1,t2)\ - fold_build1_loc (UNKNOWN_LOCATION, c, t1, t2 MEM_STAT_INFO) -extern tree fold_build1_loc (location_t, enum tree_code, tree, - tree CXX_MEM_STAT_INFO); -#define fold_build2(c,t1,t2,t3)\ - fold_build2_loc (UNKNOWN_LOCATION, c, t1, t2, t3 MEM_STAT_INFO) -extern tree fold_build2_loc (location_t, enum tree_code, tree, tree, - tree CXX_MEM_STAT_INFO); -#define fold_build3(c,t1,t2,t3,t4)\ - fold_build3_loc (UNKNOWN_LOCATION, c, t1, t2, t3, t4 MEM_STAT_INFO) -extern tree fold_build3_loc (location_t, enum tree_code, tree, tree, tree, - tree CXX_MEM_STAT_INFO); -extern tree fold_build1_initializer_loc (location_t, enum tree_code, tree, tree); -extern tree fold_build2_initializer_loc (location_t, enum tree_code, tree, tree, tree); -#define fold_build_call_array(T1,T2,N,T4)\ - fold_build_call_array_loc (UNKNOWN_LOCATION, T1, T2, N, T4) -extern tree fold_build_call_array_loc (location_t, tree, tree, int, tree *); -#define fold_build_call_array_initializer(T1,T2,N,T4)\ - fold_build_call_array_initializer_loc (UNKNOWN_LOCATION, T1, T2, N, T4) -extern tree fold_build_call_array_initializer_loc (location_t, tree, tree, int, tree *); -extern tree fold_binary_initializer_loc (location_t, tree_code, tree, tree, tree); -extern tree get_array_ctor_element_at_index (tree, offset_int, - unsigned * = NULL); -extern bool fold_convertible_p (const_tree, const_tree); -#define fold_convert(T1,T2)\ - fold_convert_loc (UNKNOWN_LOCATION, T1, T2) -extern tree fold_convert_loc (location_t, tree, tree); -extern tree fold_single_bit_test (location_t, enum tree_code, tree, tree, tree); -extern tree fold_ignored_result (tree); -extern tree fold_abs_const (tree, tree); -extern tree fold_indirect_ref_1 (location_t, tree, tree); -extern void fold_defer_overflow_warnings (void); -extern void fold_undefer_overflow_warnings (bool, const gimple *, int); -extern void fold_undefer_and_ignore_overflow_warnings (void); -extern bool fold_deferring_overflow_warnings_p (void); -extern void fold_overflow_warning (const char*, enum warn_strict_overflow_code); -extern enum tree_code fold_div_compare (enum tree_code, tree, tree, - tree *, tree *, bool *); -extern bool operand_equal_p (const_tree, const_tree, unsigned int flags = 0); -extern int multiple_of_p (tree, const_tree, const_tree, bool = true); -#define omit_one_operand(T1,T2,T3)\ - omit_one_operand_loc (UNKNOWN_LOCATION, T1, T2, T3) -extern tree omit_one_operand_loc (location_t, tree, tree, tree); -#define omit_two_operands(T1,T2,T3,T4)\ - omit_two_operands_loc (UNKNOWN_LOCATION, T1, T2, T3, T4) -extern tree omit_two_operands_loc (location_t, tree, tree, tree, tree); -#define invert_truthvalue(T)\ - invert_truthvalue_loc (UNKNOWN_LOCATION, T) -extern tree invert_truthvalue_loc (location_t, tree); -extern tree fold_unary_to_constant (enum tree_code, tree, tree); -extern tree fold_binary_to_constant (enum tree_code, tree, tree, tree); -extern tree fold_bit_and_mask (tree, tree, enum tree_code, - tree, enum tree_code, tree, tree, - tree, enum tree_code, tree, tree, tree *); -extern tree fold_read_from_constant_string (tree); -extern tree fold_read_from_vector (tree, poly_uint64); -#if GCC_VEC_PERN_INDICES_H -extern tree fold_vec_perm (tree, tree, tree, const vec_perm_indices &); -#endif -extern bool wide_int_binop (wide_int &res, enum tree_code, - const wide_int &arg1, const wide_int &arg2, - signop, wi::overflow_type *); -extern tree int_const_binop (enum tree_code, const_tree, const_tree, int = 1); -#define build_fold_addr_expr(T)\ - build_fold_addr_expr_loc (UNKNOWN_LOCATION, (T)) -extern tree build_fold_addr_expr_loc (location_t, tree); -#define build_fold_addr_expr_with_type(T,TYPE)\ - build_fold_addr_expr_with_type_loc (UNKNOWN_LOCATION, (T), TYPE) -extern tree build_fold_addr_expr_with_type_loc (location_t, tree, tree); -extern tree fold_build_cleanup_point_expr (tree type, tree expr); -#define build_fold_indirect_ref(T)\ - build_fold_indirect_ref_loc (UNKNOWN_LOCATION, T) -extern tree build_fold_indirect_ref_loc (location_t, tree); -#define fold_indirect_ref(T)\ - fold_indirect_ref_loc (UNKNOWN_LOCATION, T) -extern tree fold_indirect_ref_loc (location_t, tree); -extern tree build_simple_mem_ref_loc (location_t, tree); -#define build_simple_mem_ref(T)\ - build_simple_mem_ref_loc (UNKNOWN_LOCATION, T) -extern poly_offset_int mem_ref_offset (const_tree); -extern tree build_invariant_address (tree, tree, poly_int64); -extern tree constant_boolean_node (bool, tree); -extern tree div_if_zero_remainder (const_tree, const_tree); - -extern bool tree_swap_operands_p (const_tree, const_tree); -extern enum tree_code swap_tree_comparison (enum tree_code); - -extern bool ptr_difference_const (tree, tree, poly_int64_pod *); -extern enum tree_code invert_tree_comparison (enum tree_code, bool); -extern bool inverse_conditions_p (const_tree, const_tree); - -extern bool tree_unary_nonzero_warnv_p (enum tree_code, tree, tree, bool *); -extern bool tree_binary_nonzero_warnv_p (enum tree_code, tree, tree, tree op1, - bool *); -extern bool tree_single_nonzero_warnv_p (tree, bool *); -extern bool tree_unary_nonnegative_warnv_p (enum tree_code, tree, tree, - bool *, int); -extern bool tree_binary_nonnegative_warnv_p (enum tree_code, tree, tree, tree, - bool *, int); -extern bool tree_single_nonnegative_warnv_p (tree, bool *, int); -extern bool tree_call_nonnegative_warnv_p (tree, combined_fn, tree, tree, - bool *, int); - -extern bool integer_valued_real_unary_p (tree_code, tree, int); -extern bool integer_valued_real_binary_p (tree_code, tree, tree, int); -extern bool integer_valued_real_call_p (combined_fn, tree, tree, int); -extern bool integer_valued_real_single_p (tree, int); -extern bool integer_valued_real_p (tree, int = 0); - -extern bool fold_real_zero_addition_p (const_tree, const_tree, const_tree, - int); -extern tree combine_comparisons (location_t, enum tree_code, enum tree_code, - enum tree_code, tree, tree, tree); -extern void debug_fold_checksum (const_tree); -extern bool may_negate_without_overflow_p (const_tree); -#define round_up(T,N) round_up_loc (UNKNOWN_LOCATION, T, N) -extern tree round_up_loc (location_t, tree, unsigned int); -#define round_down(T,N) round_down_loc (UNKNOWN_LOCATION, T, N) -extern tree round_down_loc (location_t, tree, int); -extern tree size_int_kind (poly_int64, enum size_type_kind); -#define size_binop(CODE,T1,T2)\ - size_binop_loc (UNKNOWN_LOCATION, CODE, T1, T2) -extern tree size_binop_loc (location_t, enum tree_code, tree, tree); -#define size_diffop(T1,T2)\ - size_diffop_loc (UNKNOWN_LOCATION, T1, T2) -extern tree size_diffop_loc (location_t, tree, tree); - -/* Return an expr equal to X but certainly not valid as an lvalue. */ -#define non_lvalue(T) non_lvalue_loc (UNKNOWN_LOCATION, T) -extern tree non_lvalue_loc (location_t, tree); - -extern bool tree_expr_nonzero_p (tree); -extern bool tree_expr_nonnegative_p (tree); -extern bool tree_expr_nonnegative_warnv_p (tree, bool *, int = 0); -extern bool tree_expr_finite_p (const_tree); -extern bool tree_expr_infinite_p (const_tree); -extern bool tree_expr_maybe_infinite_p (const_tree); -extern bool tree_expr_signaling_nan_p (const_tree); -extern bool tree_expr_maybe_signaling_nan_p (const_tree); -extern bool tree_expr_nan_p (const_tree); -extern bool tree_expr_maybe_nan_p (const_tree); -extern bool tree_expr_maybe_real_minus_zero_p (const_tree); -extern tree make_range (tree, int *, tree *, tree *, bool *); -extern tree make_range_step (location_t, enum tree_code, tree, tree, tree, - tree *, tree *, int *, bool *); -extern tree range_check_type (tree); -extern tree build_range_check (location_t, tree, tree, int, tree, tree); -extern bool merge_ranges (int *, tree *, tree *, int, tree, tree, int, - tree, tree); -extern tree sign_bit_p (tree, const_tree); -extern bool simple_condition_p (tree); -extern tree exact_inverse (tree, tree); -extern bool expr_not_equal_to (tree t, const wide_int &); -extern tree const_unop (enum tree_code, tree, tree); -extern tree const_binop (enum tree_code, tree, tree, tree); -extern bool negate_mathfn_p (combined_fn); -extern const char *getbyterep (tree, unsigned HOST_WIDE_INT *); -extern const char *c_getstr (tree); -extern wide_int tree_nonzero_bits (const_tree); -extern int address_compare (tree_code, tree, tree, tree, tree &, tree &, - poly_int64 &, poly_int64 &, bool); -extern tree ctor_single_nonzero_element (const_tree); - -/* Return OFF converted to a pointer offset type suitable as offset for - POINTER_PLUS_EXPR. Use location LOC for this conversion. */ -extern tree convert_to_ptrofftype_loc (location_t loc, tree off); - -#define convert_to_ptrofftype(t) convert_to_ptrofftype_loc (UNKNOWN_LOCATION, t) - -/* Build and fold a POINTER_PLUS_EXPR at LOC offsetting PTR by OFF. */ -extern tree fold_build_pointer_plus_loc (location_t loc, tree ptr, tree off); - -#define fold_build_pointer_plus(p,o) \ - fold_build_pointer_plus_loc (UNKNOWN_LOCATION, p, o) - -/* Build and fold a POINTER_PLUS_EXPR at LOC offsetting PTR by OFF. */ -extern tree fold_build_pointer_plus_hwi_loc (location_t loc, tree ptr, HOST_WIDE_INT off); - -#define fold_build_pointer_plus_hwi(p,o) \ - fold_build_pointer_plus_hwi_loc (UNKNOWN_LOCATION, p, o) - -/* In gimple-fold.cc. */ -extern void clear_type_padding_in_mask (tree, unsigned char *); -extern bool clear_padding_type_may_have_padding_p (tree); -extern bool arith_overflowed_p (enum tree_code, const_tree, const_tree, - const_tree); - -/* Class used to compare gimple operands. */ - -class operand_compare -{ -public: - /* Return true if two operands are equal. The flags fields can be used - to specify OEP flags described in tree-core.h. */ - virtual bool operand_equal_p (const_tree, const_tree, unsigned int flags); - - /* Generate a hash value for an expression. This can be used iteratively - by passing a previous result as the HSTATE argument. */ - virtual void hash_operand (const_tree, inchash::hash &, unsigned flags); - -protected: - /* Verify that when arguments (ARG0 and ARG1) are equal, then they have - an equal hash value. When the function knowns comparison return, - true is returned. Then RET is set to corresponding comparsion result. */ - bool verify_hash_value (const_tree arg0, const_tree arg1, unsigned int flags, - bool *ret); -}; - -#endif // GCC_FOLD_CONST_H diff --git a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/function-abi.h b/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/function-abi.h deleted file mode 100644 index 379e2351..00000000 --- a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/function-abi.h +++ /dev/null @@ -1,320 +0,0 @@ -/* Information about function binary interfaces. - Copyright (C) 2019-2023 Free Software Foundation, Inc. - -This file is part of GCC - -GCC is free software; you can redistribute it and/or modify it under -the terms of the GNU General Public License as published by the Free -Software Foundation; either version 3, or (at your option) any later -version. - -GCC is distributed in the hope that it will be useful, but WITHOUT ANY -WARRANTY; without even the implied warranty of MERCHANTABILITY or -FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -for more details. - -You should have received a copy of the GNU General Public License -along with GCC; see the file COPYING3. If not see -. */ - -#ifndef GCC_FUNCTION_ABI_H -#define GCC_FUNCTION_ABI_H - -/* Most targets use the same ABI for all functions in a translation - unit, but some targets support interoperability between several ABIs. - Each such ABI has a unique 0-based identifier, with 0 always being - the default choice of ABI. - - NUM_ABI_IDS is the maximum number of such ABIs that GCC can handle at once. - A bitfield with this number of bits can represent any combinaion of the - supported ABIs. */ -const size_t NUM_ABI_IDS = 8; - -/* Information about one of the target's predefined ABIs. */ -class predefined_function_abi -{ -public: - /* A target-specific identifier for this ABI. The value must be in - the range [0, NUM_ABI_IDS - 1]. */ - unsigned int id () const { return m_id; } - - /* True if this ABI has been initialized. */ - bool initialized_p () const { return m_initialized; } - - /* Return true if a function call is allowed to alter every bit of - register REGNO, so that the register contains an arbitrary value - on return. If so, the register cannot hold any part of a value - that is live across a call. */ - bool - clobbers_full_reg_p (unsigned int regno) const - { - return TEST_HARD_REG_BIT (m_full_reg_clobbers, regno); - } - - /* Return true if a function call is allowed to alter some or all bits - of register REGNO. - - This is true whenever clobbers_full_reg_p (REGNO) is true. It is - also true if, for example, the ABI says that a call must preserve the - low 32 or 64 bits of REGNO, but can clobber the upper bits of REGNO. - In the latter case, it is possible for REGNO to hold values that - are live across a call, provided that the value occupies only the - call-preserved part of the register. */ - bool - clobbers_at_least_part_of_reg_p (unsigned int regno) const - { - return TEST_HARD_REG_BIT (m_full_and_partial_reg_clobbers, regno); - } - - /* Return true if a function call is allowed to clobber at least part - of (reg:MODE REGNO). If so, it is not possible for the register - as a whole to be live across a call. */ - bool - clobbers_reg_p (machine_mode mode, unsigned int regno) const - { - return overlaps_hard_reg_set_p (m_mode_clobbers[mode], mode, regno); - } - - /* Return the set of registers that a function call is allowed to - alter completely, so that the registers contain arbitrary values - on return. This doesn't include registers that a call can only - partly clobber (as per TARGET_HARD_REGNO_CALL_PART_CLOBBERED). - - These registers cannot hold any part of a value that is live across - a call. */ - HARD_REG_SET full_reg_clobbers () const { return m_full_reg_clobbers; } - - /* Return the set of registers that a function call is allowed to alter - to some degree. For example, if an ABI says that a call must preserve - the low 32 or 64 bits of a register R, but can clobber the upper bits - of R, R would be in this set but not in full_reg_clobbers (). - - This set is a superset of full_reg_clobbers (). It is possible for a - register in full_and_partial_reg_clobbers () & ~full_reg_clobbers () - to contain values that are live across a call, provided that the live - value only occupies the call-preserved part of the register. */ - HARD_REG_SET - full_and_partial_reg_clobbers () const - { - return m_full_and_partial_reg_clobbers; - } - - /* Return the set of registers that cannot be used to hold a value of - mode MODE across a function call. That is: - - (reg:REGNO MODE) - - might be clobbered by a call whenever: - - overlaps_hard_reg_set (mode_clobbers (MODE), MODE, REGNO) - - In allocation terms, the registers in the returned set conflict - with any value of mode MODE that is live across a call. */ - HARD_REG_SET - mode_clobbers (machine_mode mode) const - { - return m_mode_clobbers[mode]; - } - - void initialize (unsigned int, const_hard_reg_set); - void add_full_reg_clobber (unsigned int); - -private: - unsigned int m_id : NUM_ABI_IDS; - unsigned int m_initialized : 1; - HARD_REG_SET m_full_reg_clobbers; - HARD_REG_SET m_full_and_partial_reg_clobbers; - HARD_REG_SET m_mode_clobbers[NUM_MACHINE_MODES]; -}; - -/* Describes either a predefined ABI or the ABI of a particular function. - In the latter case, the ABI might make use of extra function-specific - information, such as for -fipa-ra. */ -class function_abi -{ -public: - /* Initialize the structure for a general function with the given ABI. */ - function_abi (const predefined_function_abi &base_abi) - : m_base_abi (&base_abi), - m_mask (base_abi.full_and_partial_reg_clobbers ()) {} - - /* Initialize the structure for a function that has the given ABI and - that is known not to clobber registers outside MASK. */ - function_abi (const predefined_function_abi &base_abi, - const_hard_reg_set mask) - : m_base_abi (&base_abi), m_mask (mask) {} - - /* The predefined ABI from which this ABI is derived. */ - const predefined_function_abi &base_abi () const { return *m_base_abi; } - - /* The target-specific identifier of the predefined ABI. */ - unsigned int id () const { return m_base_abi->id (); } - - /* See the corresponding predefined_function_abi functions for - details about the following functions. */ - - HARD_REG_SET - full_reg_clobbers () const - { - return m_mask & m_base_abi->full_reg_clobbers (); - } - - HARD_REG_SET - full_and_partial_reg_clobbers () const - { - return m_mask & m_base_abi->full_and_partial_reg_clobbers (); - } - - HARD_REG_SET - mode_clobbers (machine_mode mode) const - { - return m_mask & m_base_abi->mode_clobbers (mode); - } - - bool - clobbers_full_reg_p (unsigned int regno) const - { - return (TEST_HARD_REG_BIT (m_mask, regno) - & m_base_abi->clobbers_full_reg_p (regno)); - } - - bool - clobbers_at_least_part_of_reg_p (unsigned int regno) const - { - return (TEST_HARD_REG_BIT (m_mask, regno) - & m_base_abi->clobbers_at_least_part_of_reg_p (regno)); - } - - bool - clobbers_reg_p (machine_mode mode, unsigned int regno) const - { - return overlaps_hard_reg_set_p (mode_clobbers (mode), mode, regno); - } - - bool - operator== (const function_abi &other) const - { - return m_base_abi == other.m_base_abi && m_mask == other.m_mask; - } - - bool - operator!= (const function_abi &other) const - { - return !operator== (other); - } - -protected: - const predefined_function_abi *m_base_abi; - HARD_REG_SET m_mask; -}; - -/* This class collects information about the ABIs of functions that are - called in a particular region of code. It is mostly intended to be - used as a local variable during an IR walk. */ -class function_abi_aggregator -{ -public: - function_abi_aggregator () : m_abi_clobbers () {} - - /* Record that the code region calls a function with the given ABI. */ - void - note_callee_abi (const function_abi &abi) - { - m_abi_clobbers[abi.id ()] |= abi.full_and_partial_reg_clobbers (); - } - - HARD_REG_SET caller_save_regs (const function_abi &) const; - -private: - HARD_REG_SET m_abi_clobbers[NUM_ABI_IDS]; -}; - -struct target_function_abi_info -{ - /* An array of all the target ABIs that are available in this - translation unit. Not all entries are used for all targets, - but the structures are relatively small, and using a fixed-size - array avoids extra indirection. - - There are various ways of getting an ABI descriptor: - - * fndecl_abi (FNDECL) is the ABI of function FNDECL. - - * fntype_abi (FNTYPE) is the ABI of a function with type FNTYPE. - - * crtl->abi is the ABI of the function that we are currently - compiling to rtl. - - * insn_callee_abi (INSN) is the ABI used by the target of call insn INSN. - - * eh_edge_abi is the "ABI" used when taking an EH edge from an - exception-throwing statement to an exception handler. Catching - exceptions from calls can be treated as an abnormal return from - those calls, and this ABI therefore describes the ABI of functions - on such an abnormal return. Statements that throw non-call - exceptions can be treated as being implicitly wrapped in a call - that has such an abnormal return. - - At present, no target needs to support more than one EH ABI. - - * function_abis[N] is the ABI with identifier N. This can be useful - when referring back to ABIs that have been collected by number in - a bitmask, such as after walking function calls in a particular - region of code. - - * default_function_abi refers specifically to the target's default - choice of ABI, regardless of which (if any) functions actually - use it. This ABI and data derived from it do *not* provide - globally conservatively-correct information, so it is only - useful in very specific circumstances. */ - predefined_function_abi x_function_abis[NUM_ABI_IDS]; -}; - -extern target_function_abi_info default_target_function_abi_info; -#if SWITCHABLE_TARGET -extern target_function_abi_info *this_target_function_abi_info; -#else -#define this_target_function_abi_info (&default_target_function_abi_info) -#endif - -/* See the comment above x_function_abis for when these macros should be used. - At present, eh_edge_abi is always the default ABI, but that could change - in future if a target needs it to. */ -#define function_abis \ - (this_target_function_abi_info->x_function_abis) -#define default_function_abi \ - (this_target_function_abi_info->x_function_abis[0]) -#define eh_edge_abi default_function_abi - -extern HARD_REG_SET call_clobbers_in_region (unsigned int, const_hard_reg_set, - machine_mode mode); - -/* Return true if (reg:MODE REGNO) might be clobbered by one of the - calls in a region described by ABIS and MASK, where: - - * Bit ID of ABIS is set if the region contains a call with - function_abi identifier ID. - - * MASK contains all the registers that are fully or partially - clobbered by calls in the region. - - This is not quite as accurate as testing each individual call, - but it's a close and conservatively-correct approximation. - It's much better for some targets than: - - overlaps_hard_reg_set_p (MASK, MODE, REGNO). */ - -inline bool -call_clobbered_in_region_p (unsigned int abis, const_hard_reg_set mask, - machine_mode mode, unsigned int regno) -{ - HARD_REG_SET clobbers = call_clobbers_in_region (abis, mask, mode); - return overlaps_hard_reg_set_p (clobbers, mode, regno); -} - -extern const predefined_function_abi &fntype_abi (const_tree); -extern function_abi fndecl_abi (const_tree); -extern function_abi insn_callee_abi (const rtx_insn *); -extern function_abi expr_callee_abi (const_tree); - -#endif diff --git a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/function.h b/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/function.h deleted file mode 100644 index d4ce8a7c..00000000 --- a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/function.h +++ /dev/null @@ -1,728 +0,0 @@ -/* Structure for saving state for a nested function. - Copyright (C) 1989-2023 Free Software Foundation, Inc. - -This file is part of GCC. - -GCC is free software; you can redistribute it and/or modify it under -the terms of the GNU General Public License as published by the Free -Software Foundation; either version 3, or (at your option) any later -version. - -GCC is distributed in the hope that it will be useful, but WITHOUT ANY -WARRANTY; without even the implied warranty of MERCHANTABILITY or -FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -for more details. - -You should have received a copy of the GNU General Public License -along with GCC; see the file COPYING3. If not see -. */ - -#ifndef GCC_FUNCTION_H -#define GCC_FUNCTION_H - - -/* Stack of pending (incomplete) sequences saved by `start_sequence'. - Each element describes one pending sequence. - The main insn-chain is saved in the last element of the chain, - unless the chain is empty. */ - -struct GTY(()) sequence_stack { - /* First and last insns in the chain of the saved sequence. */ - rtx_insn *first; - rtx_insn *last; - struct sequence_stack *next; -}; - -struct GTY(()) emit_status { - void ensure_regno_capacity (); - - /* This is reset to LAST_VIRTUAL_REGISTER + 1 at the start of each function. - After rtl generation, it is 1 plus the largest register number used. */ - int x_reg_rtx_no; - - /* Lowest label number in current function. */ - int x_first_label_num; - - /* seq.first and seq.last are the ends of the doubly-linked chain of - rtl for the current function. Both are reset to null at the - start of rtl generation for the function. - - start_sequence saves both of these on seq.next and then starts - a new, nested sequence of insns. - - seq.next is a stack of pending (incomplete) sequences saved by - start_sequence. Each element describes one pending sequence. - The main insn-chain is the last element of the chain. */ - struct sequence_stack seq; - - /* INSN_UID for next insn emitted. - Reset to 1 for each function compiled. */ - int x_cur_insn_uid; - - /* INSN_UID for next debug insn emitted. Only used if - --param min-nondebug-insn-uid= is given with nonzero value. */ - int x_cur_debug_insn_uid; - - /* The length of the regno_pointer_align, regno_decl, and x_regno_reg_rtx - vectors. Since these vectors are needed during the expansion phase when - the total number of registers in the function is not yet known, the - vectors are copied and made bigger when necessary. */ - int regno_pointer_align_length; - - /* Indexed by pseudo register number, if nonzero gives the known alignment - for that pseudo (if REG_POINTER is set in x_regno_reg_rtx). - Allocated in parallel with x_regno_reg_rtx. */ - unsigned char * GTY((skip)) regno_pointer_align; -}; - - -/* Indexed by register number, gives an rtx for that register (and only - that register). For pseudo registers, it is the unique rtx for - that pseudo. For hard registers, it is an rtx of the mode specified - by reg_raw_mode. - - FIXME: We could put it into emit_status struct, but gengtype is not - able to deal with length attribute nested in top level structures. */ - -extern GTY ((length ("crtl->emit.x_reg_rtx_no"))) rtx * regno_reg_rtx; - -/* For backward compatibility... eventually these should all go away. */ -#define reg_rtx_no (crtl->emit.x_reg_rtx_no) - -#define REGNO_POINTER_ALIGN(REGNO) (crtl->emit.regno_pointer_align[REGNO]) - -struct GTY(()) expr_status { - /* Number of units that we should eventually pop off the stack. - These are the arguments to function calls that have already returned. */ - poly_int64_pod x_pending_stack_adjust; - - /* Under some ABIs, it is the caller's responsibility to pop arguments - pushed for function calls. A naive implementation would simply pop - the arguments immediately after each call. However, if several - function calls are made in a row, it is typically cheaper to pop - all the arguments after all of the calls are complete since a - single pop instruction can be used. Therefore, GCC attempts to - defer popping the arguments until absolutely necessary. (For - example, at the end of a conditional, the arguments must be popped, - since code outside the conditional won't know whether or not the - arguments need to be popped.) - - When INHIBIT_DEFER_POP is nonzero, however, the compiler does not - attempt to defer pops. Instead, the stack is popped immediately - after each call. Rather then setting this variable directly, use - NO_DEFER_POP and OK_DEFER_POP. */ - int x_inhibit_defer_pop; - - /* If PREFERRED_STACK_BOUNDARY and PUSH_ROUNDING are defined, the stack - boundary can be momentarily unaligned while pushing the arguments. - Record the delta since last aligned boundary here in order to get - stack alignment in the nested function calls working right. */ - poly_int64_pod x_stack_pointer_delta; - - /* Nonzero means __builtin_saveregs has already been done in this function. - The value is the pseudoreg containing the value __builtin_saveregs - returned. */ - rtx x_saveregs_value; - - /* Similarly for __builtin_apply_args. */ - rtx x_apply_args_value; - - /* List of labels that must never be deleted. */ - vec *x_forced_labels; -}; - -typedef struct call_site_record_d *call_site_record; - -/* RTL representation of exception handling. */ -struct GTY(()) rtl_eh { - rtx ehr_stackadj; - rtx ehr_handler; - rtx_code_label *ehr_label; - - rtx sjlj_fc; - rtx_insn *sjlj_exit_after; - - vec *action_record_data; - - vec *call_site_record_v[2]; -}; - -#define pending_stack_adjust (crtl->expr.x_pending_stack_adjust) -#define inhibit_defer_pop (crtl->expr.x_inhibit_defer_pop) -#define saveregs_value (crtl->expr.x_saveregs_value) -#define apply_args_value (crtl->expr.x_apply_args_value) -#define forced_labels (crtl->expr.x_forced_labels) -#define stack_pointer_delta (crtl->expr.x_stack_pointer_delta) - -struct gimple_df; -struct call_site_record_d; -struct dw_fde_node; -class range_query; - -struct GTY(()) varasm_status { - /* If we're using a per-function constant pool, this is it. */ - struct rtx_constant_pool *pool; - - /* Number of tree-constants deferred during the expansion of this - function. */ - unsigned int deferred_constants; -}; - - -/* Data for function partitioning. */ -struct GTY(()) function_subsections { - /* Assembly labels for the hot and cold text sections, to - be used by debugger functions for determining the size of text - sections. */ - - const char *hot_section_label; - const char *cold_section_label; - const char *hot_section_end_label; - const char *cold_section_end_label; -}; - -/* Describe an empty area of space in the stack frame. These can be chained - into a list; this is used to keep track of space wasted for alignment - reasons. */ -class GTY(()) frame_space -{ -public: - class frame_space *next; - - poly_int64 start; - poly_int64 length; -}; - -/* Describe emitted calls for -fcallgraph-info. */ -struct GTY(()) callinfo_callee -{ - location_t location; - tree decl; -}; - -/* Describe dynamic allocation for -fcallgraph-info=da. */ -struct GTY(()) callinfo_dalloc -{ - location_t location; - char const *name; -}; - -class GTY(()) stack_usage -{ -public: - /* # of bytes of static stack space allocated by the function. */ - HOST_WIDE_INT static_stack_size; - - /* # of bytes of dynamic stack space allocated by the function. This is - meaningful only if has_unbounded_dynamic_stack_size is zero. */ - HOST_WIDE_INT dynamic_stack_size; - - /* Upper bound on the number of bytes pushed onto the stack after the - prologue. If !ACCUMULATE_OUTGOING_ARGS, it contains the outgoing - arguments. */ - poly_int64 pushed_stack_size; - - /* Nonzero if the amount of stack space allocated dynamically cannot - be bounded at compile-time. */ - unsigned int has_unbounded_dynamic_stack_size : 1; - - /* Functions called within the function, if callgraph is enabled. */ - vec *callees; - - /* Dynamic allocations encountered within the function, if callgraph - da is enabled. */ - vec *dallocs; -}; - -#define current_function_static_stack_size (cfun->su->static_stack_size) -#define current_function_dynamic_stack_size (cfun->su->dynamic_stack_size) -#define current_function_pushed_stack_size (cfun->su->pushed_stack_size) -#define current_function_has_unbounded_dynamic_stack_size \ - (cfun->su->has_unbounded_dynamic_stack_size) -#define current_function_allocates_dynamic_stack_space \ - (current_function_dynamic_stack_size != 0 \ - || current_function_has_unbounded_dynamic_stack_size) - -/* This structure can save all the important global and static variables - describing the status of the current function. */ - -struct GTY(()) function { - struct eh_status *eh; - - /* The control flow graph for this function. */ - struct control_flow_graph *cfg; - - /* GIMPLE body for this function. */ - gimple_seq gimple_body; - - /* SSA and dataflow information. */ - struct gimple_df *gimple_df; - - /* The loops in this function. */ - struct loops *x_current_loops; - - /* Filled by the GIMPLE and RTL FEs, pass to start compilation with. */ - char *pass_startwith; - - /* The stack usage of this function. */ - class stack_usage *su; - - /* Value histograms attached to particular statements. */ - htab_t GTY((skip)) value_histograms; - - /* For function.cc. */ - - /* Points to the FUNCTION_DECL of this function. */ - tree decl; - - /* A PARM_DECL that should contain the static chain for this function. - It will be initialized at the beginning of the function. */ - tree static_chain_decl; - - /* An expression that contains the non-local goto save area. The first - word is the saved frame pointer and the second is the saved stack - pointer. */ - tree nonlocal_goto_save_area; - - /* Vector of function local variables, functions, types and constants. */ - vec *local_decls; - - /* For md files. */ - - /* tm.h can use this to store whatever it likes. */ - struct machine_function * GTY ((maybe_undef)) machine; - - /* Language-specific code can use this to store whatever it likes. */ - struct language_function * language; - - /* Used types hash table. */ - hash_set *GTY (()) used_types_hash; - - /* Dwarf2 Frame Description Entry, containing the Call Frame Instructions - used for unwinding. Only set when either dwarf2 unwinding or dwarf2 - debugging is enabled. */ - struct dw_fde_node *fde; - - /* Range query mechanism for functions. The default is to pick up - global ranges. If a pass wants on-demand ranges OTOH, it must - call enable/disable_ranger(). The pointer is never null. It - should be queried by calling get_range_query(). */ - range_query * GTY ((skip)) x_range_query; - - /* Last statement uid. */ - int last_stmt_uid; - - /* Debug marker counter. Count begin stmt markers. We don't have - to keep it exact, it's more of a rough estimate to enable us to - decide whether they are too many to copy during inlining, or when - expanding to RTL. */ - int debug_marker_count; - - /* Function sequence number for profiling, debugging, etc. */ - int funcdef_no; - - /* Line number of the start of the function for debugging purposes. */ - location_t function_start_locus; - - /* Line number of the end of the function. */ - location_t function_end_locus; - - /* Properties used by the pass manager. */ - unsigned int curr_properties; - unsigned int last_verified; - - /* Different from normal TODO_flags which are handled right at the - beginning or the end of one pass execution, the pending_TODOs - are passed down in the pipeline until one of its consumers can - perform the requested action. Consumers should then clear the - flags for the actions that they have taken. */ - unsigned int pending_TODOs; - - /* Non-null if the function does something that would prevent it from - being copied; this applies to both versioning and inlining. Set to - a string describing the reason for failure. */ - const char * GTY((skip)) cannot_be_copied_reason; - - /* Last assigned dependence info clique. */ - unsigned short last_clique; - - /* Collected bit flags. */ - - /* Number of units of general registers that need saving in stdarg - function. What unit is depends on the backend, either it is number - of bytes, or it can be number of registers. */ - unsigned int va_list_gpr_size : 8; - - /* Number of units of floating point registers that need saving in stdarg - function. */ - unsigned int va_list_fpr_size : 8; - - /* Nonzero if function being compiled can call setjmp. */ - unsigned int calls_setjmp : 1; - - /* Nonzero if function being compiled can call alloca, - either as a subroutine or builtin. */ - unsigned int calls_alloca : 1; - - /* Nonzero if function being compiled can call __builtin_eh_return. */ - unsigned int calls_eh_return : 1; - - /* Nonzero if function being compiled receives nonlocal gotos - from nested functions. */ - unsigned int has_nonlocal_label : 1; - - /* Nonzero if function being compiled has a forced label - placed into static storage. */ - unsigned int has_forced_label_in_static : 1; - - /* Nonzero if we've set cannot_be_copied_reason. I.e. if - (cannot_be_copied_set && !cannot_be_copied_reason), the function - can in fact be copied. */ - unsigned int cannot_be_copied_set : 1; - - /* Nonzero if current function uses stdarg.h or equivalent. */ - unsigned int stdarg : 1; - - unsigned int after_inlining : 1; - unsigned int always_inline_functions_inlined : 1; - - /* Nonzero if function being compiled can throw synchronous non-call - exceptions. */ - unsigned int can_throw_non_call_exceptions : 1; - - /* Nonzero if instructions that may throw exceptions but don't otherwise - contribute to the execution of the program can be deleted. */ - unsigned int can_delete_dead_exceptions : 1; - - /* Fields below this point are not set for abstract functions; see - allocate_struct_function. */ - - /* Nonzero if function being compiled needs to be given an address - where the value should be stored. */ - unsigned int returns_struct : 1; - - /* Nonzero if function being compiled needs to - return the address of where it has put a structure value. */ - unsigned int returns_pcc_struct : 1; - - /* Nonzero if this function has local DECL_HARD_REGISTER variables. - In this case code motion has to be done more carefully. */ - unsigned int has_local_explicit_reg_vars : 1; - - /* Nonzero if the current function is a thunk, i.e., a lightweight - function implemented by the output_mi_thunk hook) that just - adjusts one of its arguments and forwards to another - function. */ - unsigned int is_thunk : 1; - - /* Nonzero if the current function contains any loops with - loop->force_vectorize set. */ - unsigned int has_force_vectorize_loops : 1; - - /* Nonzero if the current function contains any loops with - nonzero value in loop->simduid. */ - unsigned int has_simduid_loops : 1; - - /* Nonzero when the tail call has been identified. */ - unsigned int tail_call_marked : 1; - - /* Nonzero if the current function contains a #pragma GCC unroll. */ - unsigned int has_unroll : 1; - - /* Set when the function was compiled with generation of debug - (begin stmt, inline entry, ...) markers enabled. */ - unsigned int debug_nonbind_markers : 1; - - /* Set if this is a coroutine-related function. */ - unsigned int coroutine_component : 1; - - /* Set if there are any OMP_TARGET regions in the function. */ - unsigned int has_omp_target : 1; - - /* Set for artificial function created for [[assume (cond)]]. - These should be GIMPLE optimized, but not expanded to RTL. */ - unsigned int assume_function : 1; -}; - -/* Add the decl D to the local_decls list of FUN. */ - -void add_local_decl (struct function *fun, tree d); - -#define FOR_EACH_LOCAL_DECL(FUN, I, D) \ - FOR_EACH_VEC_SAFE_ELT_REVERSE ((FUN)->local_decls, I, D) - -/* Record a final call to CALLEE at LOCATION. */ -void record_final_call (tree callee, location_t location); - -/* Record a dynamic allocation made for DECL_OR_EXP. */ -void record_dynamic_alloc (tree decl_or_exp); - -/* If va_list_[gf]pr_size is set to this, it means we don't know how - many units need to be saved. */ -#define VA_LIST_MAX_GPR_SIZE 255 -#define VA_LIST_MAX_FPR_SIZE 255 - -/* The function currently being compiled. */ -extern GTY(()) struct function *cfun; - -/* In order to ensure that cfun is not set directly, we redefine it so - that it is not an lvalue. Rather than assign to cfun, use - push_cfun or set_cfun. */ -#define cfun (cfun + 0) - -/* Nonzero if we've already converted virtual regs to hard regs. */ -extern int virtuals_instantiated; - -/* Nonzero if at least one trampoline has been created. */ -extern int trampolines_created; - -struct GTY((for_user)) types_used_by_vars_entry { - tree type; - tree var_decl; -}; - -struct used_type_hasher : ggc_ptr_hash -{ - static hashval_t hash (types_used_by_vars_entry *); - static bool equal (types_used_by_vars_entry *, types_used_by_vars_entry *); -}; - -/* Hash table making the relationship between a global variable - and the types it references in its initializer. The key of the - entry is a referenced type, and the value is the DECL of the global - variable. types_use_by_vars_do_hash and types_used_by_vars_eq below are - the hash and equality functions to use for this hash table. */ -extern GTY(()) hash_table *types_used_by_vars_hash; - -void types_used_by_var_decl_insert (tree type, tree var_decl); - -/* During parsing of a global variable, this vector contains the types - referenced by the global variable. */ -extern GTY(()) vec *types_used_by_cur_var_decl; - - -/* Return the loop tree of FN. */ - -inline struct loops * -loops_for_fn (struct function *fn) -{ - return fn->x_current_loops; -} - -/* Set the loop tree of FN to LOOPS. */ - -inline void -set_loops_for_fn (struct function *fn, struct loops *loops) -{ - gcc_checking_assert (fn->x_current_loops == NULL || loops == NULL); - fn->x_current_loops = loops; -} - -/* For backward compatibility... eventually these should all go away. */ -#define current_function_funcdef_no (cfun->funcdef_no) - -#define current_loops (cfun->x_current_loops) -#define dom_computed (cfun->cfg->x_dom_computed) -#define n_bbs_in_dom_tree (cfun->cfg->x_n_bbs_in_dom_tree) -#define VALUE_HISTOGRAMS(fun) (fun)->value_histograms - -/* A pointer to a function to create target specific, per-function - data structures. */ -extern struct machine_function * (*init_machine_status) (void); - -/* Structure to record the size of a sequence of arguments - as the sum of a tree-expression and a constant. This structure is - also used to store offsets from the stack, which might be negative, - so the variable part must be ssizetype, not sizetype. */ - -struct args_size -{ - poly_int64_pod constant; - tree var; -}; - -/* Package up various arg related fields of struct args for - locate_and_pad_parm. */ -struct locate_and_pad_arg_data -{ - /* Size of this argument on the stack, rounded up for any padding it - gets. If REG_PARM_STACK_SPACE is defined, then register parms are - counted here, otherwise they aren't. */ - struct args_size size; - /* Offset of this argument from beginning of stack-args. */ - struct args_size offset; - /* Offset to the start of the stack slot. Different from OFFSET - if this arg pads downward. */ - struct args_size slot_offset; - /* The amount that the stack pointer needs to be adjusted to - force alignment for the next argument. */ - struct args_size alignment_pad; - /* Which way we should pad this arg. */ - pad_direction where_pad; - /* slot_offset is at least this aligned. */ - unsigned int boundary; -}; - -/* Add the value of the tree INC to the `struct args_size' TO. */ - -#define ADD_PARM_SIZE(TO, INC) \ -do { \ - tree inc = (INC); \ - if (tree_fits_shwi_p (inc)) \ - (TO).constant += tree_to_shwi (inc); \ - else if ((TO).var == 0) \ - (TO).var = fold_convert (ssizetype, inc); \ - else \ - (TO).var = size_binop (PLUS_EXPR, (TO).var, \ - fold_convert (ssizetype, inc)); \ -} while (0) - -#define SUB_PARM_SIZE(TO, DEC) \ -do { \ - tree dec = (DEC); \ - if (tree_fits_shwi_p (dec)) \ - (TO).constant -= tree_to_shwi (dec); \ - else if ((TO).var == 0) \ - (TO).var = size_binop (MINUS_EXPR, ssize_int (0), \ - fold_convert (ssizetype, dec)); \ - else \ - (TO).var = size_binop (MINUS_EXPR, (TO).var, \ - fold_convert (ssizetype, dec)); \ -} while (0) - -/* Convert the implicit sum in a `struct args_size' into a tree - of type ssizetype. */ -#define ARGS_SIZE_TREE(SIZE) \ -((SIZE).var == 0 ? ssize_int ((SIZE).constant) \ - : size_binop (PLUS_EXPR, fold_convert (ssizetype, (SIZE).var), \ - ssize_int ((SIZE).constant))) - -/* Convert the implicit sum in a `struct args_size' into an rtx. */ -#define ARGS_SIZE_RTX(SIZE) \ -((SIZE).var == 0 ? gen_int_mode ((SIZE).constant, Pmode) \ - : expand_normal (ARGS_SIZE_TREE (SIZE))) - -#define ASLK_REDUCE_ALIGN 1 -#define ASLK_RECORD_PAD 2 - -/* If pointers to member functions use the least significant bit to - indicate whether a function is virtual, ensure a pointer - to this function will have that bit clear. */ -#define MINIMUM_METHOD_BOUNDARY \ - ((TARGET_PTRMEMFUNC_VBIT_LOCATION == ptrmemfunc_vbit_in_pfn) \ - ? MAX (FUNCTION_BOUNDARY, 2 * BITS_PER_UNIT) : FUNCTION_BOUNDARY) - -enum stack_clash_probes { - NO_PROBE_NO_FRAME, - NO_PROBE_SMALL_FRAME, - PROBE_INLINE, - PROBE_LOOP -}; - -extern void dump_stack_clash_frame_info (enum stack_clash_probes, bool); - - -extern void push_function_context (void); -extern void pop_function_context (void); - -/* Save and restore status information for a nested function. */ -extern void free_after_parsing (struct function *); -extern void free_after_compilation (struct function *); - -/* Return size needed for stack frame based on slots so far allocated. - This size counts from zero. It is not rounded to STACK_BOUNDARY; - the caller may have to do that. */ -extern poly_int64 get_frame_size (void); - -/* Issue an error message and return TRUE if frame OFFSET overflows in - the signed target pointer arithmetics for function FUNC. Otherwise - return FALSE. */ -extern bool frame_offset_overflow (poly_int64, tree); - -extern unsigned int spill_slot_alignment (machine_mode); - -extern rtx assign_stack_local_1 (machine_mode, poly_int64, int, int); -extern rtx assign_stack_local (machine_mode, poly_int64, int); -extern rtx assign_stack_temp_for_type (machine_mode, poly_int64, tree); -extern rtx assign_stack_temp (machine_mode, poly_int64); -extern rtx assign_temp (tree, int, int); -extern void update_temp_slot_address (rtx, rtx); -extern void preserve_temp_slots (rtx); -extern void free_temp_slots (void); -extern void push_temp_slots (void); -extern void pop_temp_slots (void); -extern void init_temp_slots (void); -extern rtx get_hard_reg_initial_reg (rtx); -extern rtx get_hard_reg_initial_val (machine_mode, unsigned int); -extern rtx has_hard_reg_initial_val (machine_mode, unsigned int); - -/* Called from gimple_expand_cfg. */ -extern unsigned int emit_initial_value_sets (void); - -extern bool initial_value_entry (int i, rtx *, rtx *); -extern void instantiate_decl_rtl (rtx x); -extern int aggregate_value_p (const_tree, const_tree); -extern bool use_register_for_decl (const_tree); -extern gimple_seq gimplify_parameters (gimple_seq *); -extern void locate_and_pad_parm (machine_mode, tree, int, int, int, - tree, struct args_size *, - struct locate_and_pad_arg_data *); -extern void generate_setjmp_warnings (void); - -/* Identify BLOCKs referenced by more than one NOTE_INSN_BLOCK_{BEG,END}, - and create duplicate blocks. */ -extern void reorder_blocks (void); -extern void clear_block_marks (tree); -extern tree blocks_nreverse (tree); -extern tree block_chainon (tree, tree); - -/* Set BLOCK_NUMBER for all the blocks in FN. */ -extern void number_blocks (tree); - -/* cfun shouldn't be set directly; use one of these functions instead. */ -extern void set_cfun (struct function *new_cfun, bool force = false); -extern void push_cfun (struct function *new_cfun); -extern void pop_cfun (void); - -extern int get_next_funcdef_no (void); -extern int get_last_funcdef_no (void); -extern void allocate_struct_function (tree, bool); -extern void push_struct_function (tree fndecl, bool = false); -extern void push_dummy_function (bool); -extern void pop_dummy_function (void); -extern void init_dummy_function_start (void); -extern void init_function_start (tree); -extern void stack_protect_epilogue (void); -extern void expand_function_start (tree); -extern void expand_dummy_function_end (void); - -extern void thread_prologue_and_epilogue_insns (void); -extern void diddle_return_value (void (*)(rtx, void*), void*); -extern void clobber_return_register (void); -extern void expand_function_end (void); -extern rtx get_arg_pointer_save_area (void); -extern void maybe_copy_prologue_epilogue_insn (rtx, rtx); -extern int prologue_contains (const rtx_insn *); -extern int epilogue_contains (const rtx_insn *); -extern int prologue_epilogue_contains (const rtx_insn *); -extern void record_prologue_seq (rtx_insn *); -extern void record_epilogue_seq (rtx_insn *); -extern void emit_return_into_block (bool simple_p, basic_block bb); -extern void set_return_jump_label (rtx_insn *); -extern bool active_insn_between (rtx_insn *head, rtx_insn *tail); -extern vec convert_jumps_to_returns (basic_block last_bb, bool simple_p, - vec unconverted); -extern basic_block emit_return_for_exit (edge exit_fallthru_edge, - bool simple_p); -extern void reposition_prologue_and_epilogue_notes (void); - -/* Returns the name of the current function. */ -extern const char *fndecl_name (tree); -extern const char *function_name (struct function *); -extern const char *current_function_name (void); - -extern void used_types_insert (tree); - -extern bool currently_expanding_function_start; - -#endif /* GCC_FUNCTION_H */ diff --git a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/gcc-plugin.h b/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/gcc-plugin.h deleted file mode 100644 index 730aae7e..00000000 --- a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/gcc-plugin.h +++ /dev/null @@ -1,47 +0,0 @@ -/* Public header file for plugins to include. - Copyright (C) 2009-2023 Free Software Foundation, Inc. - -This file is part of GCC. - -GCC is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 3, or (at your option) -any later version. - -GCC is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GCC; see the file COPYING3. If not see -. */ - -#ifndef GCC_PLUGIN_H -#define GCC_PLUGIN_H - -#ifndef IN_GCC -#define IN_GCC -#endif - -#include "config.h" -#include "system.h" -#include "coretypes.h" -#include "backend.h" -#include "cfghooks.h" -#include "hard-reg-set.h" -#include "cfgrtl.h" -#include "cfganal.h" -#include "lcm.h" -#include "cfgbuild.h" -#include "cfgcleanup.h" -#include "plugin-api.h" -#include "ipa-ref.h" -#include "alias.h" -#include "flags.h" -#include "tree-core.h" -#include "fold-const.h" -#include "tree-check.h" -#include "plugin.h" - -#endif /* GCC_PLUGIN_H */ diff --git a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/gcc-rich-location.h b/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/gcc-rich-location.h deleted file mode 100644 index ffba4b8a..00000000 --- a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/gcc-rich-location.h +++ /dev/null @@ -1,226 +0,0 @@ -/* Declarations relating to class gcc_rich_location - Copyright (C) 2014-2023 Free Software Foundation, Inc. - -This file is part of GCC. - -GCC is free software; you can redistribute it and/or modify it under -the terms of the GNU General Public License as published by the Free -Software Foundation; either version 3, or (at your option) any later -version. - -GCC is distributed in the hope that it will be useful, but WITHOUT ANY -WARRANTY; without even the implied warranty of MERCHANTABILITY or -FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -for more details. - -You should have received a copy of the GNU General Public License -along with GCC; see the file COPYING3. If not see -. */ - -#ifndef GCC_RICH_LOCATION_H -#define GCC_RICH_LOCATION_H - -/* A gcc_rich_location is libcpp's rich_location with additional - helper methods for working with gcc's types. The class is not - copyable or assignable because rich_location isn't. */ - -class gcc_rich_location : public rich_location -{ - public: - /* Constructors. */ - - /* Constructing from a location. */ - explicit gcc_rich_location (location_t loc, const range_label *label = NULL) - : rich_location (line_table, loc, label) - { - } - - /* Methods for adding ranges via gcc entities. */ - void - add_expr (tree expr, range_label *label); - - void - maybe_add_expr (tree t, range_label *label); - - void add_fixit_misspelled_id (location_t misspelled_token_loc, - tree hint_id); - - /* If LOC is within the spans of lines that will already be printed for - this gcc_rich_location, then add it as a secondary location - and return true. - - Otherwise return false. - - This allows for a diagnostic to compactly print secondary locations - in one diagnostic when these are near enough the primary locations for - diagnostics-show-locus.c to cope with them, and to fall back to - printing them via a note otherwise e.g.: - - gcc_rich_location richloc (primary_loc); - bool added secondary = richloc.add_location_if_nearby (secondary_loc); - error_at (&richloc, "main message"); - if (!added secondary) - inform (secondary_loc, "message for secondary"); - - Implemented in diagnostic-show-locus.cc. */ - - bool add_location_if_nearby (location_t loc, - bool restrict_to_current_line_spans = true, - const range_label *label = NULL); - - /* Add a fix-it hint suggesting the insertion of CONTENT before - INSERTION_POINT. - - Attempt to handle formatting: if INSERTION_POINT is the first thing on - its line, and INDENT is sufficiently sane, then add CONTENT on its own - line, using the indentation of INDENT. - Otherwise, add CONTENT directly before INSERTION_POINT. - - For example, adding "CONTENT;" with the closing brace as the insertion - point and using "INDENT;" for indentation: - - if () - { - INDENT; - } - - would lead to: - - if () - { - INDENT; - CONTENT; - } - - but adding it to: - - if () {INDENT;} - - would lead to: - - if () {INDENT;CONTENT;} - */ - void add_fixit_insert_formatted (const char *content, - location_t insertion_point, - location_t indent); -}; - -/* Concrete subclass of libcpp's range_label. - Simple implementation using a string literal. */ - -class text_range_label : public range_label -{ - public: - text_range_label (const char *text) : m_text (text) {} - - label_text get_text (unsigned /*range_idx*/) const final override - { - return label_text::borrow (m_text); - } - - private: - const char *m_text; -}; - -/* Concrete subclass of libcpp's range_label for use in - diagnostics involving mismatched types. - - Each frontend that uses this should supply its own implementation. - - Generate a label describing LABELLED_TYPE. The frontend may use - OTHER_TYPE where appropriate for highlighting the differences between - the two types (analogous to C++'s use of %H and %I with - template types). - - Either or both of LABELLED_TYPE and OTHER_TYPE may be NULL_TREE. - If LABELLED_TYPE is NULL_TREE, then there is no label. - - For example, this rich_location could use two instances of - range_label_for_type_mismatch: - - printf ("arg0: %i arg1: %s arg2: %i", - ^~ - | - const char * - 100, 101, 102); - ~~~ - | - int - - (a) the label for "%s" with LABELLED_TYPE for "const char*" and - (b) the label for "101" with LABELLED TYPE for "int" - where each one uses the other's type as OTHER_TYPE. */ - -class range_label_for_type_mismatch : public range_label -{ - public: - range_label_for_type_mismatch (tree labelled_type, tree other_type) - : m_labelled_type (labelled_type), m_other_type (other_type) - { - } - - label_text get_text (unsigned range_idx) const override; - - protected: - tree m_labelled_type; - tree m_other_type; -}; - -/* Subclass of range_label for labelling the type of EXPR when reporting - a type mismatch between EXPR and OTHER_EXPR. - Either or both of EXPR and OTHER_EXPR could be NULL. */ - -class maybe_range_label_for_tree_type_mismatch : public range_label -{ - public: - maybe_range_label_for_tree_type_mismatch (tree expr, tree other_expr) - : m_expr (expr), m_other_expr (other_expr) - { - } - - label_text get_text (unsigned range_idx) const final override; - - private: - tree m_expr; - tree m_other_expr; -}; - -class op_location_t; - -/* A subclass of rich_location for showing problems with binary operations. - - If enough location information is available, the ctor will make a - 3-location rich_location of the form: - - arg_0 op arg_1 - ~~~~~ ^~ ~~~~~ - | | - | arg1 type - arg0 type - - labelling the types of the arguments if SHOW_TYPES is true. - - Otherwise, it will fall back to a 1-location rich_location using the - compound location within LOC: - - arg_0 op arg_1 - ~~~~~~^~~~~~~~ - - for which we can't label the types. */ - -class binary_op_rich_location : public gcc_rich_location -{ - public: - binary_op_rich_location (const op_location_t &loc, - tree arg0, tree arg1, - bool show_types); - - private: - static bool use_operator_loc_p (const op_location_t &loc, - tree arg0, tree arg1); - - maybe_range_label_for_tree_type_mismatch m_label_for_arg0; - maybe_range_label_for_tree_type_mismatch m_label_for_arg1; -}; - -#endif /* GCC_RICH_LOCATION_H */ diff --git a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/gcc-symtab.h b/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/gcc-symtab.h deleted file mode 100644 index 3602ad68..00000000 --- a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/gcc-symtab.h +++ /dev/null @@ -1,28 +0,0 @@ -/* Declarations for symtab.cc. - FIXME - This file should be named symtab.h, but that name conflicts - with libcpp's symtab.h. - - Copyright (C) 2013-2023 Free Software Foundation, Inc. - -This file is part of GCC. - -GCC is free software; you can redistribute it and/or modify it under -the terms of the GNU General Public License as published by the Free -Software Foundation; either version 3, or (at your option) any later -version. - -GCC is distributed in the hope that it will be useful, but WITHOUT ANY -WARRANTY; without even the implied warranty of MERCHANTABILITY or -FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -for more details. - -You should have received a copy of the GNU General Public License -along with GCC; see the file COPYING3. If not see -. */ - -#ifndef GCC_SYMTAB_H -#define GCC_SYMTAB_H - -extern void change_decl_assembler_name (tree, tree); - -#endif // GCC_SYMTAB_H diff --git a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/gcc.h b/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/gcc.h deleted file mode 100644 index 19a61b37..00000000 --- a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/gcc.h +++ /dev/null @@ -1,100 +0,0 @@ -/* Header file for modules that link with gcc.cc - Copyright (C) 1999-2023 Free Software Foundation, Inc. - -This file is part of GCC. - -GCC is free software; you can redistribute it and/or modify it under -the terms of the GNU General Public License as published by the Free -Software Foundation; either version 3, or (at your option) any later -version. - -GCC is distributed in the hope that it will be useful, but WITHOUT ANY -WARRANTY; without even the implied warranty of MERCHANTABILITY or -FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -for more details. - -You should have received a copy of the GNU General Public License -along with GCC; see the file COPYING3. If not see -. */ - -#ifndef GCC_GCC_H -#define GCC_GCC_H - -#include "version.h" -#include "diagnostic-core.h" - -/* The top-level "main" within the driver would be ~1000 lines long. - This class breaks it up into smaller functions and contains some - state shared by them. */ - -class driver -{ - public: - driver (bool can_finalize, bool debug); - ~driver (); - int main (int argc, char **argv); - void finalize (); - - private: - void set_progname (const char *argv0) const; - void expand_at_files (int *argc, char ***argv) const; - void decode_argv (int argc, const char **argv); - void global_initializations (); - void build_multilib_strings () const; - void set_up_specs () const; - void putenv_COLLECT_GCC (const char *argv0) const; - void maybe_putenv_COLLECT_LTO_WRAPPER () const; - void maybe_putenv_OFFLOAD_TARGETS () const; - void handle_unrecognized_options (); - int maybe_print_and_exit () const; - bool prepare_infiles (); - void do_spec_on_infiles () const; - void maybe_run_linker (const char *argv0) const; - void final_actions () const; - void detect_jobserver () const; - int get_exit_code () const; - - private: - char *explicit_link_files; - struct cl_decoded_option *decoded_options; - unsigned int decoded_options_count; - option_proposer m_option_proposer; -}; - -/* The mapping of a spec function name to the C function that - implements it. */ -struct spec_function -{ - const char *name; - const char *(*func) (int, const char **); -}; - -/* These are exported by gcc.cc. */ -extern int do_spec (const char *); -extern void record_temp_file (const char *, int, int); -extern void set_input (const char *); - -/* Spec files linked with gcc.cc must provide definitions for these. */ - -/* Called before processing to change/add/remove arguments. */ -extern void lang_specific_driver (struct cl_decoded_option **, - unsigned int *, int *); - -/* Called before linking. Returns 0 on success and -1 on failure. */ -extern int lang_specific_pre_link (void); - -extern int n_infiles; - -/* Number of extra output files that lang_specific_pre_link may generate. */ -extern int lang_specific_extra_outfiles; - -/* A vector of corresponding output files is made up later. */ - -extern const char **outfiles; - -extern void -driver_get_configure_time_options (void (*cb)(const char *option, - void *user_data), - void *user_data); - -#endif /* ! GCC_GCC_H */ diff --git a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/gcov-counter.def b/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/gcov-counter.def deleted file mode 100644 index 727ef424..00000000 --- a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/gcov-counter.def +++ /dev/null @@ -1,51 +0,0 @@ -/* Definitions for the gcov counters in the GNU compiler. - Copyright (C) 2001-2023 Free Software Foundation, Inc. - -This file is part of GCC. - -GCC is free software; you can redistribute it and/or modify it under -the terms of the GNU General Public License as published by the Free -Software Foundation; either version 3, or (at your option) any later -version. - -GCC is distributed in the hope that it will be useful, but WITHOUT ANY -WARRANTY; without even the implied warranty of MERCHANTABILITY or -FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -for more details. - -You should have received a copy of the GNU General Public License -along with GCC; see the file COPYING3. If not see -. */ - -/* Before including this file, define a macro: - - DEF_GCOV_COUNTER(COUNTER, NAME, FN_TYPE) - - This macro will be expanded to all supported gcov counters, their - names, or the type of handler functions. FN_TYPE will be - expanded to a handler function, like in gcov_merge, it is - expanded to __gcov_merge ## FN_TYPE. */ - -/* Arc transitions. */ -DEF_GCOV_COUNTER(GCOV_COUNTER_ARCS, "arcs", _add) - -/* Histogram of value inside an interval. */ -DEF_GCOV_COUNTER(GCOV_COUNTER_V_INTERVAL, "interval", _add) - -/* Histogram of exact power2 logarithm of a value. */ -DEF_GCOV_COUNTER(GCOV_COUNTER_V_POW2, "pow2", _add) - -/* The most common value of expression. */ -DEF_GCOV_COUNTER(GCOV_COUNTER_V_TOPN, "topn", _topn) - -/* The most common indirect address. */ -DEF_GCOV_COUNTER(GCOV_COUNTER_V_INDIR, "indirect_call", _topn) - -/* Compute average value passed to the counter. */ -DEF_GCOV_COUNTER(GCOV_COUNTER_AVERAGE, "average", _add) - -/* IOR of the all values passed to counter. */ -DEF_GCOV_COUNTER(GCOV_COUNTER_IOR, "ior", _ior) - -/* Time profile collecting first run of a function */ -DEF_GCOV_COUNTER(GCOV_TIME_PROFILER, "time_profiler", _time_profile) diff --git a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/gcov-io.h b/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/gcov-io.h deleted file mode 100644 index bfe4439d..00000000 --- a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/gcov-io.h +++ /dev/null @@ -1,394 +0,0 @@ -/* File format for coverage information - Copyright (C) 1996-2023 Free Software Foundation, Inc. - Contributed by Bob Manson . - Completely remangled by Nathan Sidwell . - -This file is part of GCC. - -GCC is free software; you can redistribute it and/or modify it under -the terms of the GNU General Public License as published by the Free -Software Foundation; either version 3, or (at your option) any later -version. - -GCC is distributed in the hope that it will be useful, but WITHOUT ANY -WARRANTY; without even the implied warranty of MERCHANTABILITY or -FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -for more details. - -Under Section 7 of GPL version 3, you are granted additional -permissions described in the GCC Runtime Library Exception, version -3.1, as published by the Free Software Foundation. - -You should have received a copy of the GNU General Public License and -a copy of the GCC Runtime Library Exception along with this program; -see the files COPYING3 and COPYING.RUNTIME respectively. If not, see -. */ - - -/* CAVEAT: Coverage information files should not be parsed directly, - instead use `gcov --json-format`, which provides - machine-readable coverage information. - - Note that the following file format documentation might be outdated. - - Coverage information is held in two files. A notes file, which is - generated by the compiler, and a data file, which is generated by - the program under test. Both files use a similar structure. We do - not attempt to make these files backwards compatible with previous - versions, as you only need coverage information when developing a - program. We do hold version information, so that mismatches can be - detected, and we use a format that allows tools to skip information - they do not understand or are not interested in. - - Numbers are recorded in the 32 bit unsigned binary form of the - endianness of the machine generating the file. 64 bit numbers are - stored as two 32 bit numbers, the low part first. - The number of bytes is stored, followed by the - string. Zero length and NULL strings are simply stored as a length - of zero (they have no trailing NUL). - - int32: byte3 byte2 byte1 byte0 | byte0 byte1 byte2 byte3 - int64: int32:low int32:high - string: int32:0 | int32:length char* char:0 - item: int32 | int64 | string - - The basic format of the notes file is - - file : int32:magic int32:version int32:stamp int32:support_unexecuted_blocks record* - - The basic format of the data file is - - file : int32:magic int32:version int32:stamp record* - - A filename header may be used to provide a filename for the data in - a stream of data to support gcov in freestanding environments. This - header is used by the merge-stream subcommand of the gcov-tool. The - format of the filename header is - - filename-header : int32:magic int32:version string - - The magic ident is different for the notes and the data files as - well as the filename header. The magic ident is used to determine - the endianness of the file, when reading. The version is the same - for both files and is derived from gcc's version number. The stamp - value is used to synchronize note and data files and to synchronize - merging within a data file. It need not be an absolute time stamp, - merely a ticker that increments fast enough and cycles slow enough - to distinguish different compile/run/compile cycles. - - Although the ident and version are formally 32 bit numbers, they - are derived from 4 character ASCII strings. The version number - consists of a two character major version number - (first digit starts from 'A' letter to not to clash with the older - numbering scheme), the single character minor version number, - and a single character indicating the status of the release. - That will be 'e' experimental, 'p' prerelease and 'r' for release. - Because, by good fortune, these are in alphabetical order, string - collating can be used to compare version strings. Be aware that - the 'e' designation will (naturally) be unstable and might be - incompatible with itself. For gcc 17.0 experimental, it would be - 'B70e' (0x42373065). As we currently do not release more than 5 minor - releases, the single character should be always fine. Major number - is currently changed roughly every year, which gives us space - for next 250 years (maximum allowed number would be 259.9). - - A record has a tag, length and variable amount of data. - - record: header data - header: int32:tag int32:length - data: item* - - Records are not nested, but there is a record hierarchy. Tag - numbers reflect this hierarchy. Tags are unique across note and - data files. Some record types have a varying amount of data. The - LENGTH is the number of 4bytes that follow and is usually used to - determine how much data. The tag value is split into 4 8-bit - fields, one for each of four possible levels. The most significant - is allocated first. Unused levels are zero. Active levels are - odd-valued, so that the LSB of the level is one. A sub-level - incorporates the values of its superlevels. This formatting allows - you to determine the tag hierarchy, without understanding the tags - themselves, and is similar to the standard section numbering used - in technical documents. Level values [1..3f] are used for common - tags, values [41..9f] for the notes file and [a1..ff] for the data - file. - - The notes file contains the following records - note: unit function-graph* - unit: header int32:checksum string:source - function-graph: announce_function basic_blocks {arcs | lines}* - announce_function: header int32:ident - int32:lineno_checksum int32:cfg_checksum - string:name string:source int32:start_lineno int32:start_column int32:end_lineno - basic_block: header int32:flags* - arcs: header int32:block_no arc* - arc: int32:dest_block int32:flags - lines: header int32:block_no line* - int32:0 string:NULL - line: int32:line_no | int32:0 string:filename - - The BASIC_BLOCK record holds per-bb flags. The number of blocks - can be inferred from its data length. There is one ARCS record per - basic block. The number of arcs from a bb is implicit from the - data length. It enumerates the destination bb and per-arc flags. - There is one LINES record per basic block, it enumerates the source - lines which belong to that basic block. Source file names are - introduced by a line number of 0, following lines are from the new - source file. The initial source file for the function is NULL, but - the current source file should be remembered from one LINES record - to the next. The end of a block is indicated by an empty filename - - this does not reset the current source file. Note there is no - ordering of the ARCS and LINES records: they may be in any order, - interleaved in any manner. The current filename follows the order - the LINES records are stored in the file, *not* the ordering of the - blocks they are for. - - The data file contains the following records. - data: {unit summary:object function-data*}* - unit: header int32:checksum - function-data: announce_function present counts - announce_function: header int32:ident - int32:lineno_checksum int32:cfg_checksum - present: header int32:present - counts: header int64:count* - summary: int32:checksum int32:runs int32:sum_max - - The ANNOUNCE_FUNCTION record is the same as that in the note file, - but without the source location. The COUNTS gives the - counter values for instrumented features. The about the whole - program. The checksum is used for whole program summaries, and - disambiguates different programs which include the same - instrumented object file. There may be several program summaries, - each with a unique checksum. The object summary's checksum is - zero. Note that the data file might contain information from - several runs concatenated, or the data might be merged. - - This file is included by both the compiler, gcov tools and the - runtime support library libgcov. IN_LIBGCOV and IN_GCOV are used to - distinguish which case is which. If IN_LIBGCOV is nonzero, - libgcov is being built. If IN_GCOV is nonzero, the gcov tools are - being built. Otherwise the compiler is being built. IN_GCOV may be - positive or negative. If positive, we are compiling a tool that - requires additional functions (see the code for knowledge of what - those functions are). */ - -#ifndef GCC_GCOV_IO_H -#define GCC_GCOV_IO_H - -/* GCOV key-value pair linked list type. */ - -struct gcov_kvp; - -struct gcov_kvp -{ - gcov_type value; - gcov_type count; - struct gcov_kvp *next; -}; - -#ifndef IN_LIBGCOV -/* About the host */ - -typedef unsigned gcov_unsigned_t; -typedef unsigned gcov_position_t; -/* gcov_type is typedef'd elsewhere for the compiler */ -#if IN_GCOV -#define GCOV_LINKAGE static -typedef int64_t gcov_type; -typedef uint64_t gcov_type_unsigned; -#if IN_GCOV > 0 -#include -#endif -#endif - -#if defined (HOST_HAS_F_SETLKW) -#define GCOV_LOCKED 1 -#else -#define GCOV_LOCKED 0 -#endif - -#if defined (HOST_HAS_LK_LOCK) -#define GCOV_LOCKED_WITH_LOCKING 1 -#else -#define GCOV_LOCKED_WITH_LOCKING 0 -#endif - -#define ATTRIBUTE_HIDDEN - -#endif /* !IN_LIBGCOV */ - -#ifndef GCOV_LINKAGE -#define GCOV_LINKAGE extern -#endif - -#if IN_LIBGCOV -#define gcov_nonruntime_assert(EXPR) ((void)(0 && (EXPR))) -#else -#define gcov_nonruntime_assert(EXPR) gcc_assert (EXPR) -#define gcov_error(...) fatal_error (input_location, __VA_ARGS__) -#endif - -/* File suffixes. */ -#define GCOV_DATA_SUFFIX ".gcda" -#define GCOV_NOTE_SUFFIX ".gcno" - -/* File magic. Must not be palindromes. */ -#define GCOV_DATA_MAGIC ((gcov_unsigned_t)0x67636461) /* "gcda" */ -#define GCOV_NOTE_MAGIC ((gcov_unsigned_t)0x67636e6f) /* "gcno" */ -#define GCOV_FILENAME_MAGIC ((gcov_unsigned_t)0x6763666e) /* "gcfn" */ - -#include "version.h" - -/* Convert a magic or version number to a 4 character string. */ -#define GCOV_UNSIGNED2STRING(ARRAY,VALUE) \ - ((ARRAY)[0] = (char)((VALUE) >> 24), \ - (ARRAY)[1] = (char)((VALUE) >> 16), \ - (ARRAY)[2] = (char)((VALUE) >> 8), \ - (ARRAY)[3] = (char)((VALUE) >> 0)) - -/* The record tags. Values [1..3f] are for tags which may be in either - file. Values [41..9f] for those in the note file and [a1..ff] for - the data file. The tag value zero is used as an explicit end of - file marker -- it is not required to be present. - All length values are in bytes. */ - -#define GCOV_WORD_SIZE 4 - -#define GCOV_TAG_FUNCTION ((gcov_unsigned_t)0x01000000) -#define GCOV_TAG_FUNCTION_LENGTH (3 * GCOV_WORD_SIZE) -#define GCOV_TAG_BLOCKS ((gcov_unsigned_t)0x01410000) -#define GCOV_TAG_BLOCKS_LENGTH(NUM) (NUM) -#define GCOV_TAG_ARCS ((gcov_unsigned_t)0x01430000) -#define GCOV_TAG_ARCS_LENGTH(NUM) (1 + (NUM) * 2 * GCOV_WORD_SIZE) -#define GCOV_TAG_ARCS_NUM(LENGTH) (((LENGTH / GCOV_WORD_SIZE) - 1) / 2) -#define GCOV_TAG_LINES ((gcov_unsigned_t)0x01450000) -#define GCOV_TAG_COUNTER_BASE ((gcov_unsigned_t)0x01a10000) -#define GCOV_TAG_COUNTER_LENGTH(NUM) ((NUM) * 2 * GCOV_WORD_SIZE) -#define GCOV_TAG_COUNTER_NUM(LENGTH) ((LENGTH / GCOV_WORD_SIZE) / 2) -#define GCOV_TAG_OBJECT_SUMMARY ((gcov_unsigned_t)0xa1000000) -#define GCOV_TAG_OBJECT_SUMMARY_LENGTH (2 * GCOV_WORD_SIZE) -#define GCOV_TAG_PROGRAM_SUMMARY ((gcov_unsigned_t)0xa3000000) /* Obsolete */ -#define GCOV_TAG_AFDO_FILE_NAMES ((gcov_unsigned_t)0xaa000000) -#define GCOV_TAG_AFDO_FUNCTION ((gcov_unsigned_t)0xac000000) -#define GCOV_TAG_AFDO_WORKING_SET ((gcov_unsigned_t)0xaf000000) - - -/* Counters that are collected. */ - -#define DEF_GCOV_COUNTER(COUNTER, NAME, MERGE_FN) COUNTER, -enum { -#include "gcov-counter.def" -GCOV_COUNTERS -}; -#undef DEF_GCOV_COUNTER - -/* The first of counters used for value profiling. They must form a - consecutive interval and their order must match the order of - HIST_TYPEs in value-prof.h. */ -#define GCOV_FIRST_VALUE_COUNTER GCOV_COUNTER_V_INTERVAL - -/* The last of counters used for value profiling. */ -#define GCOV_LAST_VALUE_COUNTER (GCOV_COUNTERS - 1) - -/* Number of counters used for value profiling. */ -#define GCOV_N_VALUE_COUNTERS \ - (GCOV_LAST_VALUE_COUNTER - GCOV_FIRST_VALUE_COUNTER + 1) - -/* Number of top N counters when being in memory. */ -#define GCOV_TOPN_MEM_COUNTERS 3 - -/* Number of top N counters in disk representation. */ -#define GCOV_TOPN_DISK_COUNTERS 2 - -/* Maximum number of tracked TOP N value profiles. */ -#define GCOV_TOPN_MAXIMUM_TRACKED_VALUES 32 - -/* Convert a counter index to a tag. */ -#define GCOV_TAG_FOR_COUNTER(COUNT) \ - (GCOV_TAG_COUNTER_BASE + ((gcov_unsigned_t)(COUNT) << 17)) -/* Convert a tag to a counter. */ -#define GCOV_COUNTER_FOR_TAG(TAG) \ - ((unsigned)(((TAG) - GCOV_TAG_COUNTER_BASE) >> 17)) -/* Check whether a tag is a counter tag. */ -#define GCOV_TAG_IS_COUNTER(TAG) \ - (!((TAG) & 0xFFFF) && GCOV_COUNTER_FOR_TAG (TAG) < GCOV_COUNTERS) - -/* The tag level mask has 1's in the position of the inner levels, & - the lsb of the current level, and zero on the current and outer - levels. */ -#define GCOV_TAG_MASK(TAG) (((TAG) - 1) ^ (TAG)) - -/* Return nonzero if SUB is an immediate subtag of TAG. */ -#define GCOV_TAG_IS_SUBTAG(TAG,SUB) \ - (GCOV_TAG_MASK (TAG) >> 8 == GCOV_TAG_MASK (SUB) \ - && !(((SUB) ^ (TAG)) & ~GCOV_TAG_MASK (TAG))) - -/* Return nonzero if SUB is at a sublevel to TAG. */ -#define GCOV_TAG_IS_SUBLEVEL(TAG,SUB) \ - (GCOV_TAG_MASK (TAG) > GCOV_TAG_MASK (SUB)) - -/* Basic block flags. */ -#define GCOV_BLOCK_UNEXPECTED (1 << 1) - -/* Arc flags. */ -#define GCOV_ARC_ON_TREE (1 << 0) -#define GCOV_ARC_FAKE (1 << 1) -#define GCOV_ARC_FALLTHROUGH (1 << 2) - -/* Object & program summary record. */ - -struct gcov_summary -{ - gcov_unsigned_t runs; /* Number of program runs. */ - gcov_type sum_max; /* Sum of individual run max values. */ -}; - -#if !defined(inhibit_libc) - -/* Functions for reading and writing gcov files. In libgcov you can - open the file for reading then writing. Elsewhere you can open the - file either for reading or for writing. When reading a file you may - use the gcov_read_* functions, gcov_sync, gcov_position, and - gcov_error. When writing a file you may use the gcov_write* - functions and gcov_error. When a file is to be rewritten - you use the functions for reading, then gcov_rewrite then the - functions for writing. Your file may become corrupted if you break - these invariants. */ - -#if !IN_LIBGCOV || defined (IN_GCOV_TOOL) -GCOV_LINKAGE int gcov_magic (gcov_unsigned_t, gcov_unsigned_t); -#endif - -/* Available everywhere. */ -GCOV_LINKAGE int gcov_open (const char *, int) ATTRIBUTE_HIDDEN; -GCOV_LINKAGE int gcov_close (void) ATTRIBUTE_HIDDEN; -GCOV_LINKAGE gcov_unsigned_t gcov_read_unsigned (void) ATTRIBUTE_HIDDEN; -GCOV_LINKAGE gcov_type gcov_read_counter (void) ATTRIBUTE_HIDDEN; -GCOV_LINKAGE void gcov_read_summary (struct gcov_summary *) ATTRIBUTE_HIDDEN; -GCOV_LINKAGE const char *gcov_read_string (void); -GCOV_LINKAGE void gcov_sync (gcov_position_t /*base*/, - gcov_unsigned_t /*length */); -char *mangle_path (char const *base); - -#if !IN_GCOV -/* Available outside gcov */ -GCOV_LINKAGE void gcov_write (const void *, unsigned) ATTRIBUTE_HIDDEN; -GCOV_LINKAGE void gcov_write_unsigned (gcov_unsigned_t) ATTRIBUTE_HIDDEN; -#endif - -#if !IN_GCOV && !IN_LIBGCOV -/* Available only in compiler */ -GCOV_LINKAGE void gcov_write_string (const char *); -GCOV_LINKAGE void gcov_write_filename (const char *); -GCOV_LINKAGE gcov_position_t gcov_write_tag (gcov_unsigned_t); -GCOV_LINKAGE void gcov_write_length (gcov_position_t /*position*/); -#endif - -#if IN_GCOV > 0 -/* Available in gcov */ -GCOV_LINKAGE time_t gcov_time (void); -#endif - -#endif /* !inhibit_libc */ - -#endif /* GCC_GCOV_IO_H */ diff --git a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/gcse-common.h b/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/gcse-common.h deleted file mode 100644 index 21018800..00000000 --- a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/gcse-common.h +++ /dev/null @@ -1,47 +0,0 @@ -/* Structures and prototypes common across the normal GCSE - implementation and the post-reload implementation. - Copyright (C) 1997-2023 Free Software Foundation, Inc. - -This file is part of GCC. - -GCC is free software; you can redistribute it and/or modify it under -the terms of the GNU General Public License as published by the Free -Software Foundation; either version 3, or (at your option) any later -version. - -GCC is distributed in the hope that it will be useful, but WITHOUT ANY -WARRANTY; without even the implied warranty of MERCHANTABILITY or -FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -for more details. - -You should have received a copy of the GNU General Public License -along with GCC; see the file COPYING3. If not see -. */ - -#ifndef GCC_GCSE_COMMON_H -#define GCC_GCSE_COMMON_H - -typedef vec vec_rtx_heap; -struct modify_pair -{ - rtx dest; /* A MEM. */ - rtx dest_addr; /* The canonical address of `dest'. */ -}; - -typedef vec vec_modify_pair_heap; - -struct gcse_note_stores_info -{ - rtx_insn *insn; - vec *canon_mem_list; -}; - -extern void compute_transp (const_rtx, int, sbitmap *, bitmap, - bitmap, vec *); -extern void record_last_mem_set_info_common (rtx_insn *, - vec *, - vec *, - bitmap, bitmap); - - -#endif diff --git a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/gcse.h b/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/gcse.h deleted file mode 100644 index 5582b29e..00000000 --- a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/gcse.h +++ /dev/null @@ -1,45 +0,0 @@ -/* Global common subexpression elimination/Partial redundancy elimination - and global constant/copy propagation for GNU compiler. - Copyright (C) 1997-2023 Free Software Foundation, Inc. - -This file is part of GCC. - -GCC is free software; you can redistribute it and/or modify it under -the terms of the GNU General Public License as published by the Free -Software Foundation; either version 3, or (at your option) any later -version. - -GCC is distributed in the hope that it will be useful, but WITHOUT ANY -WARRANTY; without even the implied warranty of MERCHANTABILITY or -FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -for more details. - -You should have received a copy of the GNU General Public License -along with GCC; see the file COPYING3. If not see -. */ - -#ifndef GCC_GCSE_H -#define GCC_GCSE_H - -/* Target-dependent globals. */ -struct target_gcse { - /* Nonzero for each mode that supports (set (reg) (reg)). - This is trivially true for integer and floating point values. - It may or may not be true for condition codes. */ - char x_can_copy[(int) NUM_MACHINE_MODES]; - - /* True if the previous field has been initialized. */ - bool x_can_copy_init_p; -}; - -extern struct target_gcse default_target_gcse; -#if SWITCHABLE_TARGET -extern struct target_gcse *this_target_gcse; -#else -#define this_target_gcse (&default_target_gcse) -#endif - -void gcse_cc_finalize (void); -extern bool gcse_or_cprop_is_too_expensive (const char *); - -#endif diff --git a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/generic-match.h b/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/generic-match.h deleted file mode 100644 index 8b1f9259..00000000 --- a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/generic-match.h +++ /dev/null @@ -1,33 +0,0 @@ -/* Generic simplify definitions. - - Copyright (C) 2011-2023 Free Software Foundation, Inc. - Contributed by Richard Guenther - -This file is part of GCC. - -GCC is free software; you can redistribute it and/or modify it under -the terms of the GNU General Public License as published by the Free -Software Foundation; either version 3, or (at your option) any later -version. - -GCC is distributed in the hope that it will be useful, but WITHOUT ANY -WARRANTY; without even the implied warranty of MERCHANTABILITY or -FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -for more details. - -You should have received a copy of the GNU General Public License -along with GCC; see the file COPYING3. If not see -. */ - -#ifndef GCC_GENERIC_MATCH_H -#define GCC_GENERIC_MATCH_H - -/* Note the following functions are supposed to be only used from - fold_unary_loc, fold_binary_loc and fold_ternary_loc respectively. - They are not considered a public API. */ - -tree generic_simplify (location_t, enum tree_code, tree, tree); -tree generic_simplify (location_t, enum tree_code, tree, tree, tree); -tree generic_simplify (location_t, enum tree_code, tree, tree, tree, tree); - -#endif /* GCC_GENERIC_MATCH_H */ diff --git a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/gengtype.h b/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/gengtype.h deleted file mode 100644 index 4e5df544..00000000 --- a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/gengtype.h +++ /dev/null @@ -1,521 +0,0 @@ -/* Process source files and output type information. - Copyright (C) 2002-2023 Free Software Foundation, Inc. - - This file is part of GCC. - - GCC is free software; you can redistribute it and/or modify it under - the terms of the GNU General Public License as published by the Free - Software Foundation; either version 3, or (at your option) any later - version. - - GCC is distributed in the hope that it will be useful, but WITHOUT ANY - WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - for more details. - - You should have received a copy of the GNU General Public License - along with GCC; see the file COPYING3. If not see - . */ - -#ifndef GCC_GENGTYPE_H -#define GCC_GENGTYPE_H - -#define obstack_chunk_alloc xmalloc -#define obstack_chunk_free free -#define OBSTACK_CHUNK_SIZE 0 - -/* Sets of accepted source languages like C, C++, Ada... are - represented by a bitmap. */ -typedef unsigned lang_bitmap; - -/* Variable length structure representing an input file. A hash table - ensure uniqueness for a given input file name. The only function - allocating input_file-s is input_file_by_name. */ -struct input_file_st -{ - struct outf* inpoutf; /* Cached corresponding output file, computed - in get_output_file_with_visibility. */ - lang_bitmap inpbitmap; /* The set of languages using this file. */ - bool inpisplugin; /* Flag set for plugin input files. */ - char inpname[1]; /* A variable-length array, ended by a null - char. */ -}; -typedef struct input_file_st input_file; - -/* A file position, mostly for error messages. - The FILE element may be compared using pointer equality. */ -struct fileloc -{ - const input_file *file; - int line; -}; - - -/* Table of all input files and its size. */ -extern const input_file** gt_files; -extern size_t num_gt_files; - -/* Table of headers to be included in gtype-desc.cc that are generated - during the build. These are identified as "./.h". */ -extern const char **build_headers; -extern size_t num_build_headers; - -/* A number of places use the name of this "gengtype.cc" file for a - location for things that we can't rely on the source to define. We - also need to refer to the "system.h" file specifically. These two - pointers are initialized early in main. */ -extern input_file* this_file; -extern input_file* system_h_file; - -/* Retrieve or create the input_file for a given name, which is a file - path. This is the only function allocating input_file-s and it is - hash-consing them. */ -input_file* input_file_by_name (const char* name); - -/* For F an input_file, return the relative path to F from $(srcdir) - if the latter is a prefix in F, NULL otherwise. */ -const char *get_file_srcdir_relative_path (const input_file *inpf); - -/* Get the name of an input file. */ -inline const char* -get_input_file_name (const input_file *inpf) -{ - if (inpf) - return inpf->inpname; - return NULL; -} - -/* Return a bitmap which has bit `1 << BASE_FILE_' set iff - INPUT_FILE is used by . - - This function should be written to assume that a file _is_ used - if the situation is unclear. If it wrongly assumes a file _is_ used, - a linker error will result. If it wrongly assumes a file _is not_ used, - some GC roots may be missed, which is a much harder-to-debug problem. - */ - -inline lang_bitmap -get_lang_bitmap (const input_file* inpf) -{ - if (inpf == NULL) - return 0; - return inpf->inpbitmap; -} - -/* Set the bitmap returned by get_lang_bitmap. The only legitimate - callers of this function are read_input_list & read_state_*. */ -inline void -set_lang_bitmap (input_file* inpf, lang_bitmap n) -{ - gcc_assert (inpf); - inpf->inpbitmap = n; -} - -/* Vector of per-language directories. */ -extern const char **lang_dir_names; -extern size_t num_lang_dirs; - -/* Data types handed around within, but opaque to, the lexer and parser. */ -typedef struct pair *pair_p; -typedef struct type *type_p; -typedef const struct type *const_type_p; -typedef struct options *options_p; - -/* Variables used to communicate between the lexer and the parser. */ -extern int lexer_toplevel_done; -extern struct fileloc lexer_line; - -/* Various things, organized as linked lists, needed both in - gengtype.cc & in gengtype-state.cc files. */ -extern pair_p typedefs; -extern type_p structures; -extern pair_p variables; - -/* An enum for distinguishing GGC vs PCH. */ - -enum write_types_kinds -{ - WTK_GGC, - WTK_PCH, - - NUM_WTK -}; - -/* Discrimating kind of types we can understand. */ - -enum typekind { - TYPE_NONE=0, /* Never used, so zeroed memory is invalid. */ - TYPE_UNDEFINED, /* We have not yet seen a definition for this type. - If a type is still undefined when generating code, - an error will be generated. */ - TYPE_SCALAR, /* Scalar types like char. */ - TYPE_STRING, /* The string type. */ - TYPE_STRUCT, /* Type for GTY-ed structs. */ - TYPE_UNION, /* Type for GTY-ed discriminated unions. */ - TYPE_POINTER, /* Pointer type to GTY-ed type. */ - TYPE_ARRAY, /* Array of GTY-ed types. */ - TYPE_CALLBACK, /* A function pointer that needs relocation if - the executable has been loaded at a different - address. */ - TYPE_LANG_STRUCT, /* GCC front-end language specific structs. - Various languages may have homonymous but - different structs. */ - TYPE_USER_STRUCT /* User defined type. Walkers and markers for - this type are assumed to be provided by the - user. */ -}; - -/* Discriminating kind for options. */ -enum option_kind { - OPTION_NONE=0, /* Never used, so zeroed memory is invalid. */ - OPTION_STRING, /* A string-valued option. Most options are - strings. */ - OPTION_TYPE, /* A type-valued option. */ - OPTION_NESTED /* Option data for 'nested_ptr'. */ -}; - - -/* A way to pass data through to the output end. */ -struct options { - struct options *next; /* next option of the same pair. */ - const char *name; /* GTY option name. */ - enum option_kind kind; /* discriminating option kind. */ - union { - const char* string; /* When OPTION_STRING. */ - type_p type; /* When OPTION_TYPE. */ - struct nested_ptr_data* nested; /* when OPTION_NESTED. */ - } info; -}; - - -/* Option data for the 'nested_ptr' option. */ -struct nested_ptr_data { - type_p type; - const char *convert_to; - const char *convert_from; -}; - -/* Some functions to create various options structures with name NAME - and info INFO. NEXT is the next option in the chain. */ - -/* Create a string option. */ -options_p create_string_option (options_p next, const char* name, - const char* info); - -/* Create a type option. */ -options_p create_type_option (options_p next, const char* name, - type_p info); - -/* Create a nested option. */ -options_p create_nested_option (options_p next, const char* name, - struct nested_ptr_data* info); - -/* Create a nested pointer option. */ -options_p create_nested_ptr_option (options_p next, type_p t, - const char *to, const char *from); - -/* A name and a type. */ -struct pair { - pair_p next; /* The next pair in the linked list. */ - const char *name; /* The defined name. */ - type_p type; /* Its GTY-ed type. */ - struct fileloc line; /* The file location. */ - options_p opt; /* GTY options, as a linked list. */ -}; - -/* Usage information for GTY-ed types. Gengtype has to care only of - used GTY-ed types. Types are initially unused, and their usage is - computed by set_gc_used_type and set_gc_used functions. */ - -enum gc_used_enum { - - /* We need that zeroed types are initially unused. */ - GC_UNUSED=0, - - /* The GTY-ed type is used, e.g by a GTY-ed variable or a field - inside a GTY-ed used type. */ - GC_USED, - - /* For GTY-ed structures whose definitions we haven't seen so far - when we encounter a pointer to it that is annotated with - ``maybe_undef''. If after reading in everything we don't have - source file information for it, we assume that it never has been - defined. */ - GC_MAYBE_POINTED_TO, - - /* For known GTY-ed structures which are pointed to by GTY-ed - variables or fields. */ - GC_POINTED_TO -}; - -/* Our type structure describes all types handled by gengtype. */ -struct type { - /* Discriminating kind, cannot be TYPE_NONE. */ - enum typekind kind; - - /* For top-level structs or unions, the 'next' field links the - global list 'structures'; for lang_structs, their homonymous structs are - linked using this 'next' field. The homonymous list starts at the - s.lang_struct field of the lang_struct. See the new_structure function - for details. This is tricky! */ - type_p next; - - /* State number used when writing & reading the persistent state. A - type with a positive number has already been written. For ease - of debugging, newly allocated types have a unique negative - number. */ - int state_number; - - /* Each GTY-ed type which is pointed to by some GTY-ed type knows - the GTY pointer type pointing to it. See create_pointer - function. */ - type_p pointer_to; - - /* Type usage information, computed by set_gc_used_type and - set_gc_used functions. */ - enum gc_used_enum gc_used; - - /* The following union is discriminated by the 'kind' field above. */ - union { - /* TYPE__NONE is impossible. */ - - /* when TYPE_POINTER: */ - type_p p; - - /* when TYPE_STRUCT or TYPE_UNION or TYPE_LANG_STRUCT, we have an - aggregate type containing fields: */ - struct { - const char *tag; /* the aggregate tag, if any. */ - struct fileloc line; /* the source location. */ - pair_p fields; /* the linked list of fields. */ - options_p opt; /* the GTY options if any. */ - lang_bitmap bitmap; /* the set of front-end languages - using that GTY-ed aggregate. */ - /* For TYPE_LANG_STRUCT, the lang_struct field gives the first - element of a linked list of homonymous struct or union types. - Within this list, each homonymous type has as its lang_struct - field the original TYPE_LANG_STRUCT type. This is a dirty - trick, see the new_structure function for details. */ - type_p lang_struct; - - type_p base_class; /* the parent class, if any. */ - - /* The following two fields are not serialized in state files, and - are instead reconstructed on load. */ - - /* The head of a singly-linked list of immediate descendents in - the inheritance hierarchy. */ - type_p first_subclass; - /* The next in that list. */ - type_p next_sibling_class; - - /* Have we already written ggc/pch user func for ptr to this? - (in write_user_func_for_structure_ptr). */ - bool wrote_user_func_for_ptr[NUM_WTK]; - } s; - - /* when TYPE_SCALAR: */ - bool scalar_is_char; - - /* when TYPE_ARRAY: */ - struct { - type_p p; /* The array component type. */ - const char *len; /* The string if any giving its length. */ - } a; - - } u; -}; - -/* The one and only TYPE_STRING. */ -extern struct type string_type; - -/* The two and only TYPE_SCALARs. Their u.scalar_is_char flags are - set early in main. */ -extern struct type scalar_nonchar; -extern struct type scalar_char; - -/* The one and only TYPE_CALLBACK. */ -extern struct type callback_type; - -/* Test if a type is a union, either a plain one or a language - specific one. */ -#define UNION_P(x) \ - ((x)->kind == TYPE_UNION \ - || ((x)->kind == TYPE_LANG_STRUCT \ - && (x)->u.s.lang_struct->kind == TYPE_UNION)) - -/* Test if a type is a union or a structure, perhaps a language - specific one. */ -inline bool -union_or_struct_p (enum typekind kind) -{ - return (kind == TYPE_UNION - || kind == TYPE_STRUCT - || kind == TYPE_LANG_STRUCT - || kind == TYPE_USER_STRUCT); -} - -inline bool -union_or_struct_p (const_type_p x) -{ - return union_or_struct_p (x->kind); -} - -/* Give the file location of a type, if any. */ -inline struct fileloc* -type_fileloc (type_p t) -{ - if (!t) - return NULL; - if (union_or_struct_p (t)) - return &t->u.s.line; - return NULL; -} - -/* Structure representing an output file. */ -struct outf -{ - struct outf *next; - const char *name; - size_t buflength; - size_t bufused; - char *buf; -}; -typedef struct outf *outf_p; - -/* The list of output files. */ -extern outf_p output_files; - -/* The output header file that is included into pretty much every - source file. */ -extern outf_p header_file; - -/* Print, like fprintf, to O. No-op if O is NULL. */ -void -oprintf (outf_p o, const char *S, ...) - ATTRIBUTE_PRINTF_2; - -/* An output file, suitable for definitions, that can see declarations - made in INPF and is linked into every language that uses INPF. May - return NULL in plugin mode. The INPF argument is almost const, but - since the result is cached in its inpoutf field it cannot be - declared const. */ -outf_p get_output_file_with_visibility (input_file* inpf); - -/* The name of an output file, suitable for definitions, that can see - declarations made in INPF and is linked into every language that - uses INPF. May return NULL. */ -const char *get_output_file_name (input_file *inpf); - - -/* Source directory. */ -extern const char *srcdir; /* (-S) program argument. */ - -/* Length of srcdir name. */ -extern size_t srcdir_len; - -/* Variable used for reading and writing the state. */ -extern const char *read_state_filename; /* (-r) program argument. */ -extern const char *write_state_filename; /* (-w) program argument. */ - -/* Functions reading and writing the entire gengtype state, called from - main, and implemented in file gengtype-state.cc. */ -void read_state (const char* path); -/* Write the state, and update the state_number field in types. */ -void write_state (const char* path); - - -/* Print an error message. */ -extern void error_at_line -(const struct fileloc *pos, const char *msg, ...) ATTRIBUTE_PRINTF_2; - -/* Constructor routines for types. */ -extern void do_typedef (const char *s, type_p t, struct fileloc *pos); -extern void do_scalar_typedef (const char *s, struct fileloc *pos); -extern type_p resolve_typedef (const char *s, struct fileloc *pos); -extern void add_subclass (type_p base, type_p subclass); -extern type_p new_structure (const char *name, enum typekind kind, - struct fileloc *pos, pair_p fields, - options_p o, type_p base); -type_p create_user_defined_type (const char *, struct fileloc *); -extern type_p find_structure (const char *s, enum typekind kind); -extern type_p create_scalar_type (const char *name); -extern type_p create_pointer (type_p t); -extern type_p create_array (type_p t, const char *len); -extern pair_p create_field_at (pair_p next, type_p type, - const char *name, options_p opt, - struct fileloc *pos); -extern pair_p nreverse_pairs (pair_p list); -extern type_p adjust_field_type (type_p, options_p); -extern void note_variable (const char *s, type_p t, options_p o, - struct fileloc *pos); - -/* Lexer and parser routines. */ -extern int yylex (const char **yylval); -extern void yybegin (const char *fname); -extern void yyend (void); -extern void parse_file (const char *name); -extern bool hit_error; - -/* Token codes. */ -enum gty_token -{ - EOF_TOKEN = 0, - - /* Per standard convention, codes in the range (0, UCHAR_MAX] - represent single characters with those character codes. */ - CHAR_TOKEN_OFFSET = UCHAR_MAX + 1, - GTY_TOKEN = CHAR_TOKEN_OFFSET, - TYPEDEF, - EXTERN, - STATIC, - UNION, - STRUCT, - ENUM, - ELLIPSIS, - PTR_ALIAS, - NESTED_PTR, - USER_GTY, - NUM, - SCALAR, - ID, - STRING, - CHAR, - ARRAY, - IGNORABLE_CXX_KEYWORD, - - /* print_token assumes that any token >= FIRST_TOKEN_WITH_VALUE may have - a meaningful value to be printed. */ - FIRST_TOKEN_WITH_VALUE = USER_GTY -}; - - -/* Level for verbose messages, e.g. output file generation... */ -extern int verbosity_level; /* (-v) program argument. */ - -/* For debugging purposes we provide two flags. */ - -/* Dump everything to understand gengtype's state. Might be useful to - gengtype users. */ -extern int do_dump; /* (-d) program argument. */ - -/* Trace the execution by many DBGPRINTF (with the position inside - gengtype source code). Only useful to debug gengtype itself. */ -extern int do_debug; /* (-D) program argument. */ - -#define DBGPRINTF(Fmt,...) do {if (do_debug) \ - fprintf (stderr, "%s:%d: " Fmt "\n", \ - lbasename (__FILE__),__LINE__, ##__VA_ARGS__);} while (0) -void dbgprint_count_type_at (const char *, int, const char *, type_p); -#define DBGPRINT_COUNT_TYPE(Msg,Ty) do {if (do_debug) \ - dbgprint_count_type_at (__FILE__, __LINE__, Msg, Ty);}while (0) - -#define FOR_ALL_INHERITED_FIELDS(TYPE, FIELD_VAR) \ - for (type_p sub = (TYPE); sub; sub = sub->u.s.base_class) \ - for (FIELD_VAR = sub->u.s.fields; FIELD_VAR; FIELD_VAR = FIELD_VAR->next) - -extern bool -opts_have (options_p opts, const char *str); - - -#endif diff --git a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/genrtl.h b/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/genrtl.h deleted file mode 100644 index a425e24b..00000000 --- a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/genrtl.h +++ /dev/null @@ -1,1678 +0,0 @@ -/* Generated automatically by gengenrtl from rtl.def. */ - -#ifndef GCC_GENRTL_H -#define GCC_GENRTL_H - -#include "statistics.h" - -static inline rtx -init_rtx_fmt_0 (rtx rt, machine_mode mode) -{ - PUT_MODE_RAW (rt, mode); - X0EXP (rt, 0) = NULL_RTX; - return rt; -} - -static inline rtx -gen_rtx_fmt_0_stat (RTX_CODE code, machine_mode mode MEM_STAT_DECL) -{ - rtx rt; - - rt = rtx_alloc (code PASS_MEM_STAT); - return init_rtx_fmt_0 (rt, mode); -} - -#define gen_rtx_fmt_0(c, m) \ - gen_rtx_fmt_0_stat ((c), (m) MEM_STAT_INFO) - -#define alloca_rtx_fmt_0(c, m) \ - init_rtx_fmt_0 (rtx_alloca ((c)), (m)) - -static inline rtx -init_rtx_fmt_ee (rtx rt, machine_mode mode, - rtx arg0, - rtx arg1) -{ - PUT_MODE_RAW (rt, mode); - XEXP (rt, 0) = arg0; - XEXP (rt, 1) = arg1; - return rt; -} - -static inline rtx -gen_rtx_fmt_ee_stat (RTX_CODE code, machine_mode mode, - rtx arg0, - rtx arg1 MEM_STAT_DECL) -{ - rtx rt; - - rt = rtx_alloc (code PASS_MEM_STAT); - return init_rtx_fmt_ee (rt, mode, arg0, arg1); -} - -#define gen_rtx_fmt_ee(c, m, arg0, arg1) \ - gen_rtx_fmt_ee_stat ((c), (m), (arg0), (arg1) MEM_STAT_INFO) - -#define alloca_rtx_fmt_ee(c, m, arg0, arg1) \ - init_rtx_fmt_ee (rtx_alloca ((c)), (m), (arg0), (arg1)) - -static inline rtx -init_rtx_fmt_ue (rtx rt, machine_mode mode, - rtx arg0, - rtx arg1) -{ - PUT_MODE_RAW (rt, mode); - XEXP (rt, 0) = arg0; - XEXP (rt, 1) = arg1; - return rt; -} - -static inline rtx -gen_rtx_fmt_ue_stat (RTX_CODE code, machine_mode mode, - rtx arg0, - rtx arg1 MEM_STAT_DECL) -{ - rtx rt; - - rt = rtx_alloc (code PASS_MEM_STAT); - return init_rtx_fmt_ue (rt, mode, arg0, arg1); -} - -#define gen_rtx_fmt_ue(c, m, arg0, arg1) \ - gen_rtx_fmt_ue_stat ((c), (m), (arg0), (arg1) MEM_STAT_INFO) - -#define alloca_rtx_fmt_ue(c, m, arg0, arg1) \ - init_rtx_fmt_ue (rtx_alloca ((c)), (m), (arg0), (arg1)) - -static inline rtx -init_rtx_fmt_ie (rtx rt, machine_mode mode, - int arg0, - rtx arg1) -{ - PUT_MODE_RAW (rt, mode); - XINT (rt, 0) = arg0; - XEXP (rt, 1) = arg1; - return rt; -} - -static inline rtx -gen_rtx_fmt_ie_stat (RTX_CODE code, machine_mode mode, - int arg0, - rtx arg1 MEM_STAT_DECL) -{ - rtx rt; - - rt = rtx_alloc (code PASS_MEM_STAT); - return init_rtx_fmt_ie (rt, mode, arg0, arg1); -} - -#define gen_rtx_fmt_ie(c, m, arg0, arg1) \ - gen_rtx_fmt_ie_stat ((c), (m), (arg0), (arg1) MEM_STAT_INFO) - -#define alloca_rtx_fmt_ie(c, m, arg0, arg1) \ - init_rtx_fmt_ie (rtx_alloca ((c)), (m), (arg0), (arg1)) - -static inline rtx -init_rtx_fmt_E (rtx rt, machine_mode mode, - rtvec arg0) -{ - PUT_MODE_RAW (rt, mode); - XVEC (rt, 0) = arg0; - return rt; -} - -static inline rtx -gen_rtx_fmt_E_stat (RTX_CODE code, machine_mode mode, - rtvec arg0 MEM_STAT_DECL) -{ - rtx rt; - - rt = rtx_alloc (code PASS_MEM_STAT); - return init_rtx_fmt_E (rt, mode, arg0); -} - -#define gen_rtx_fmt_E(c, m, arg0) \ - gen_rtx_fmt_E_stat ((c), (m), (arg0) MEM_STAT_INFO) - -#define alloca_rtx_fmt_E(c, m, arg0) \ - init_rtx_fmt_E (rtx_alloca ((c)), (m), (arg0)) - -static inline rtx -init_rtx_fmt_i (rtx rt, machine_mode mode, - int arg0) -{ - PUT_MODE_RAW (rt, mode); - XINT (rt, 0) = arg0; - return rt; -} - -static inline rtx -gen_rtx_fmt_i_stat (RTX_CODE code, machine_mode mode, - int arg0 MEM_STAT_DECL) -{ - rtx rt; - - rt = rtx_alloc (code PASS_MEM_STAT); - return init_rtx_fmt_i (rt, mode, arg0); -} - -#define gen_rtx_fmt_i(c, m, arg0) \ - gen_rtx_fmt_i_stat ((c), (m), (arg0) MEM_STAT_INFO) - -#define alloca_rtx_fmt_i(c, m, arg0) \ - init_rtx_fmt_i (rtx_alloca ((c)), (m), (arg0)) - -static inline rtx -init_rtx_fmt_uuBeiie (rtx rt, machine_mode mode, - rtx arg0, - rtx arg1, - basic_block arg2, - rtx arg3, - int arg4, - int arg5, - rtx arg6) -{ - PUT_MODE_RAW (rt, mode); - XEXP (rt, 0) = arg0; - XEXP (rt, 1) = arg1; - XBBDEF (rt, 2) = arg2; - XEXP (rt, 3) = arg3; - XINT (rt, 4) = arg4; - XINT (rt, 5) = arg5; - XEXP (rt, 6) = arg6; - return rt; -} - -static inline rtx -gen_rtx_fmt_uuBeiie_stat (RTX_CODE code, machine_mode mode, - rtx arg0, - rtx arg1, - basic_block arg2, - rtx arg3, - int arg4, - int arg5, - rtx arg6 MEM_STAT_DECL) -{ - rtx rt; - - rt = rtx_alloc (code PASS_MEM_STAT); - return init_rtx_fmt_uuBeiie (rt, mode, arg0, arg1, arg2, arg3, arg4, arg5, arg6); -} - -#define gen_rtx_fmt_uuBeiie(c, m, arg0, arg1, arg2, arg3, arg4, arg5, arg6) \ - gen_rtx_fmt_uuBeiie_stat ((c), (m), (arg0), (arg1), (arg2), (arg3), (arg4), (arg5), (arg6) MEM_STAT_INFO) - -#define alloca_rtx_fmt_uuBeiie(c, m, arg0, arg1, arg2, arg3, arg4, arg5, arg6) \ - init_rtx_fmt_uuBeiie (rtx_alloca ((c)), (m), (arg0), (arg1), (arg2), (arg3), (arg4), (arg5), (arg6)) - -static inline rtx -init_rtx_fmt_uuBeiie0 (rtx rt, machine_mode mode, - rtx arg0, - rtx arg1, - basic_block arg2, - rtx arg3, - int arg4, - int arg5, - rtx arg6) -{ - PUT_MODE_RAW (rt, mode); - XEXP (rt, 0) = arg0; - XEXP (rt, 1) = arg1; - XBBDEF (rt, 2) = arg2; - XEXP (rt, 3) = arg3; - XINT (rt, 4) = arg4; - XINT (rt, 5) = arg5; - XEXP (rt, 6) = arg6; - X0EXP (rt, 7) = NULL_RTX; - return rt; -} - -static inline rtx -gen_rtx_fmt_uuBeiie0_stat (RTX_CODE code, machine_mode mode, - rtx arg0, - rtx arg1, - basic_block arg2, - rtx arg3, - int arg4, - int arg5, - rtx arg6 MEM_STAT_DECL) -{ - rtx rt; - - rt = rtx_alloc (code PASS_MEM_STAT); - return init_rtx_fmt_uuBeiie0 (rt, mode, arg0, arg1, arg2, arg3, arg4, arg5, arg6); -} - -#define gen_rtx_fmt_uuBeiie0(c, m, arg0, arg1, arg2, arg3, arg4, arg5, arg6) \ - gen_rtx_fmt_uuBeiie0_stat ((c), (m), (arg0), (arg1), (arg2), (arg3), (arg4), (arg5), (arg6) MEM_STAT_INFO) - -#define alloca_rtx_fmt_uuBeiie0(c, m, arg0, arg1, arg2, arg3, arg4, arg5, arg6) \ - init_rtx_fmt_uuBeiie0 (rtx_alloca ((c)), (m), (arg0), (arg1), (arg2), (arg3), (arg4), (arg5), (arg6)) - -static inline rtx -init_rtx_fmt_uuBeiiee (rtx rt, machine_mode mode, - rtx arg0, - rtx arg1, - basic_block arg2, - rtx arg3, - int arg4, - int arg5, - rtx arg6, - rtx arg7) -{ - PUT_MODE_RAW (rt, mode); - XEXP (rt, 0) = arg0; - XEXP (rt, 1) = arg1; - XBBDEF (rt, 2) = arg2; - XEXP (rt, 3) = arg3; - XINT (rt, 4) = arg4; - XINT (rt, 5) = arg5; - XEXP (rt, 6) = arg6; - XEXP (rt, 7) = arg7; - return rt; -} - -static inline rtx -gen_rtx_fmt_uuBeiiee_stat (RTX_CODE code, machine_mode mode, - rtx arg0, - rtx arg1, - basic_block arg2, - rtx arg3, - int arg4, - int arg5, - rtx arg6, - rtx arg7 MEM_STAT_DECL) -{ - rtx rt; - - rt = rtx_alloc (code PASS_MEM_STAT); - return init_rtx_fmt_uuBeiiee (rt, mode, arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7); -} - -#define gen_rtx_fmt_uuBeiiee(c, m, arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7) \ - gen_rtx_fmt_uuBeiiee_stat ((c), (m), (arg0), (arg1), (arg2), (arg3), (arg4), (arg5), (arg6), (arg7) MEM_STAT_INFO) - -#define alloca_rtx_fmt_uuBeiiee(c, m, arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7) \ - init_rtx_fmt_uuBeiiee (rtx_alloca ((c)), (m), (arg0), (arg1), (arg2), (arg3), (arg4), (arg5), (arg6), (arg7)) - -static inline rtx -init_rtx_fmt_uuBe0000 (rtx rt, machine_mode mode, - rtx arg0, - rtx arg1, - basic_block arg2, - rtx arg3) -{ - PUT_MODE_RAW (rt, mode); - XEXP (rt, 0) = arg0; - XEXP (rt, 1) = arg1; - XBBDEF (rt, 2) = arg2; - XEXP (rt, 3) = arg3; - X0EXP (rt, 4) = NULL_RTX; - X0EXP (rt, 5) = NULL_RTX; - X0EXP (rt, 6) = NULL_RTX; - X0EXP (rt, 7) = NULL_RTX; - return rt; -} - -static inline rtx -gen_rtx_fmt_uuBe0000_stat (RTX_CODE code, machine_mode mode, - rtx arg0, - rtx arg1, - basic_block arg2, - rtx arg3 MEM_STAT_DECL) -{ - rtx rt; - - rt = rtx_alloc (code PASS_MEM_STAT); - return init_rtx_fmt_uuBe0000 (rt, mode, arg0, arg1, arg2, arg3); -} - -#define gen_rtx_fmt_uuBe0000(c, m, arg0, arg1, arg2, arg3) \ - gen_rtx_fmt_uuBe0000_stat ((c), (m), (arg0), (arg1), (arg2), (arg3) MEM_STAT_INFO) - -#define alloca_rtx_fmt_uuBe0000(c, m, arg0, arg1, arg2, arg3) \ - init_rtx_fmt_uuBe0000 (rtx_alloca ((c)), (m), (arg0), (arg1), (arg2), (arg3)) - -static inline rtx -init_rtx_fmt_uu00000 (rtx rt, machine_mode mode, - rtx arg0, - rtx arg1) -{ - PUT_MODE_RAW (rt, mode); - XEXP (rt, 0) = arg0; - XEXP (rt, 1) = arg1; - X0EXP (rt, 2) = NULL_RTX; - X0EXP (rt, 3) = NULL_RTX; - X0EXP (rt, 4) = NULL_RTX; - X0EXP (rt, 5) = NULL_RTX; - X0EXP (rt, 6) = NULL_RTX; - return rt; -} - -static inline rtx -gen_rtx_fmt_uu00000_stat (RTX_CODE code, machine_mode mode, - rtx arg0, - rtx arg1 MEM_STAT_DECL) -{ - rtx rt; - - rt = rtx_alloc (code PASS_MEM_STAT); - return init_rtx_fmt_uu00000 (rt, mode, arg0, arg1); -} - -#define gen_rtx_fmt_uu00000(c, m, arg0, arg1) \ - gen_rtx_fmt_uu00000_stat ((c), (m), (arg0), (arg1) MEM_STAT_INFO) - -#define alloca_rtx_fmt_uu00000(c, m, arg0, arg1) \ - init_rtx_fmt_uu00000 (rtx_alloca ((c)), (m), (arg0), (arg1)) - -static inline rtx -init_rtx_fmt_uuB00is (rtx rt, machine_mode mode, - rtx arg0, - rtx arg1, - basic_block arg2, - int arg3, - const char *arg4) -{ - PUT_MODE_RAW (rt, mode); - XEXP (rt, 0) = arg0; - XEXP (rt, 1) = arg1; - XBBDEF (rt, 2) = arg2; - X0EXP (rt, 3) = NULL_RTX; - X0EXP (rt, 4) = NULL_RTX; - XINT (rt, 5) = arg3; - XSTR (rt, 6) = arg4; - return rt; -} - -static inline rtx -gen_rtx_fmt_uuB00is_stat (RTX_CODE code, machine_mode mode, - rtx arg0, - rtx arg1, - basic_block arg2, - int arg3, - const char *arg4 MEM_STAT_DECL) -{ - rtx rt; - - rt = rtx_alloc (code PASS_MEM_STAT); - return init_rtx_fmt_uuB00is (rt, mode, arg0, arg1, arg2, arg3, arg4); -} - -#define gen_rtx_fmt_uuB00is(c, m, arg0, arg1, arg2, arg3, arg4) \ - gen_rtx_fmt_uuB00is_stat ((c), (m), (arg0), (arg1), (arg2), (arg3), (arg4) MEM_STAT_INFO) - -#define alloca_rtx_fmt_uuB00is(c, m, arg0, arg1, arg2, arg3, arg4) \ - init_rtx_fmt_uuB00is (rtx_alloca ((c)), (m), (arg0), (arg1), (arg2), (arg3), (arg4)) - -static inline rtx -init_rtx_fmt_si (rtx rt, machine_mode mode, - const char *arg0, - int arg1) -{ - PUT_MODE_RAW (rt, mode); - XSTR (rt, 0) = arg0; - XINT (rt, 1) = arg1; - return rt; -} - -static inline rtx -gen_rtx_fmt_si_stat (RTX_CODE code, machine_mode mode, - const char *arg0, - int arg1 MEM_STAT_DECL) -{ - rtx rt; - - rt = rtx_alloc (code PASS_MEM_STAT); - return init_rtx_fmt_si (rt, mode, arg0, arg1); -} - -#define gen_rtx_fmt_si(c, m, arg0, arg1) \ - gen_rtx_fmt_si_stat ((c), (m), (arg0), (arg1) MEM_STAT_INFO) - -#define alloca_rtx_fmt_si(c, m, arg0, arg1) \ - init_rtx_fmt_si (rtx_alloca ((c)), (m), (arg0), (arg1)) - -static inline rtx -init_rtx_fmt_ssiEEEi (rtx rt, machine_mode mode, - const char *arg0, - const char *arg1, - int arg2, - rtvec arg3, - rtvec arg4, - rtvec arg5, - int arg6) -{ - PUT_MODE_RAW (rt, mode); - XSTR (rt, 0) = arg0; - XSTR (rt, 1) = arg1; - XINT (rt, 2) = arg2; - XVEC (rt, 3) = arg3; - XVEC (rt, 4) = arg4; - XVEC (rt, 5) = arg5; - XINT (rt, 6) = arg6; - return rt; -} - -static inline rtx -gen_rtx_fmt_ssiEEEi_stat (RTX_CODE code, machine_mode mode, - const char *arg0, - const char *arg1, - int arg2, - rtvec arg3, - rtvec arg4, - rtvec arg5, - int arg6 MEM_STAT_DECL) -{ - rtx rt; - - rt = rtx_alloc (code PASS_MEM_STAT); - return init_rtx_fmt_ssiEEEi (rt, mode, arg0, arg1, arg2, arg3, arg4, arg5, arg6); -} - -#define gen_rtx_fmt_ssiEEEi(c, m, arg0, arg1, arg2, arg3, arg4, arg5, arg6) \ - gen_rtx_fmt_ssiEEEi_stat ((c), (m), (arg0), (arg1), (arg2), (arg3), (arg4), (arg5), (arg6) MEM_STAT_INFO) - -#define alloca_rtx_fmt_ssiEEEi(c, m, arg0, arg1, arg2, arg3, arg4, arg5, arg6) \ - init_rtx_fmt_ssiEEEi (rtx_alloca ((c)), (m), (arg0), (arg1), (arg2), (arg3), (arg4), (arg5), (arg6)) - -static inline rtx -init_rtx_fmt_Ei (rtx rt, machine_mode mode, - rtvec arg0, - int arg1) -{ - PUT_MODE_RAW (rt, mode); - XVEC (rt, 0) = arg0; - XINT (rt, 1) = arg1; - return rt; -} - -static inline rtx -gen_rtx_fmt_Ei_stat (RTX_CODE code, machine_mode mode, - rtvec arg0, - int arg1 MEM_STAT_DECL) -{ - rtx rt; - - rt = rtx_alloc (code PASS_MEM_STAT); - return init_rtx_fmt_Ei (rt, mode, arg0, arg1); -} - -#define gen_rtx_fmt_Ei(c, m, arg0, arg1) \ - gen_rtx_fmt_Ei_stat ((c), (m), (arg0), (arg1) MEM_STAT_INFO) - -#define alloca_rtx_fmt_Ei(c, m, arg0, arg1) \ - init_rtx_fmt_Ei (rtx_alloca ((c)), (m), (arg0), (arg1)) - -static inline rtx -init_rtx_fmt_eEee0 (rtx rt, machine_mode mode, - rtx arg0, - rtvec arg1, - rtx arg2, - rtx arg3) -{ - PUT_MODE_RAW (rt, mode); - XEXP (rt, 0) = arg0; - XVEC (rt, 1) = arg1; - XEXP (rt, 2) = arg2; - XEXP (rt, 3) = arg3; - X0EXP (rt, 4) = NULL_RTX; - return rt; -} - -static inline rtx -gen_rtx_fmt_eEee0_stat (RTX_CODE code, machine_mode mode, - rtx arg0, - rtvec arg1, - rtx arg2, - rtx arg3 MEM_STAT_DECL) -{ - rtx rt; - - rt = rtx_alloc (code PASS_MEM_STAT); - return init_rtx_fmt_eEee0 (rt, mode, arg0, arg1, arg2, arg3); -} - -#define gen_rtx_fmt_eEee0(c, m, arg0, arg1, arg2, arg3) \ - gen_rtx_fmt_eEee0_stat ((c), (m), (arg0), (arg1), (arg2), (arg3) MEM_STAT_INFO) - -#define alloca_rtx_fmt_eEee0(c, m, arg0, arg1, arg2, arg3) \ - init_rtx_fmt_eEee0 (rtx_alloca ((c)), (m), (arg0), (arg1), (arg2), (arg3)) - -static inline rtx -init_rtx_fmt_eee (rtx rt, machine_mode mode, - rtx arg0, - rtx arg1, - rtx arg2) -{ - PUT_MODE_RAW (rt, mode); - XEXP (rt, 0) = arg0; - XEXP (rt, 1) = arg1; - XEXP (rt, 2) = arg2; - return rt; -} - -static inline rtx -gen_rtx_fmt_eee_stat (RTX_CODE code, machine_mode mode, - rtx arg0, - rtx arg1, - rtx arg2 MEM_STAT_DECL) -{ - rtx rt; - - rt = rtx_alloc (code PASS_MEM_STAT); - return init_rtx_fmt_eee (rt, mode, arg0, arg1, arg2); -} - -#define gen_rtx_fmt_eee(c, m, arg0, arg1, arg2) \ - gen_rtx_fmt_eee_stat ((c), (m), (arg0), (arg1), (arg2) MEM_STAT_INFO) - -#define alloca_rtx_fmt_eee(c, m, arg0, arg1, arg2) \ - init_rtx_fmt_eee (rtx_alloca ((c)), (m), (arg0), (arg1), (arg2)) - -static inline rtx -init_rtx_fmt_e (rtx rt, machine_mode mode, - rtx arg0) -{ - PUT_MODE_RAW (rt, mode); - XEXP (rt, 0) = arg0; - return rt; -} - -static inline rtx -gen_rtx_fmt_e_stat (RTX_CODE code, machine_mode mode, - rtx arg0 MEM_STAT_DECL) -{ - rtx rt; - - rt = rtx_alloc (code PASS_MEM_STAT); - return init_rtx_fmt_e (rt, mode, arg0); -} - -#define gen_rtx_fmt_e(c, m, arg0) \ - gen_rtx_fmt_e_stat ((c), (m), (arg0) MEM_STAT_INFO) - -#define alloca_rtx_fmt_e(c, m, arg0) \ - init_rtx_fmt_e (rtx_alloca ((c)), (m), (arg0)) - -static inline rtx -init_rtx_fmt_ (rtx rt, machine_mode mode) -{ - PUT_MODE_RAW (rt, mode); - return rt; -} - -static inline rtx -gen_rtx_fmt__stat (RTX_CODE code, machine_mode mode MEM_STAT_DECL) -{ - rtx rt; - - rt = rtx_alloc (code PASS_MEM_STAT); - return init_rtx_fmt_ (rt, mode); -} - -#define gen_rtx_fmt_(c, m) \ - gen_rtx_fmt__stat ((c), (m) MEM_STAT_INFO) - -#define alloca_rtx_fmt_(c, m) \ - init_rtx_fmt_ (rtx_alloca ((c)), (m)) - -static inline rtx -init_rtx_fmt_w (rtx rt, machine_mode mode, - HOST_WIDE_INT arg0) -{ - PUT_MODE_RAW (rt, mode); - XWINT (rt, 0) = arg0; - return rt; -} - -static inline rtx -gen_rtx_fmt_w_stat (RTX_CODE code, machine_mode mode, - HOST_WIDE_INT arg0 MEM_STAT_DECL) -{ - rtx rt; - - rt = rtx_alloc (code PASS_MEM_STAT); - return init_rtx_fmt_w (rt, mode, arg0); -} - -#define gen_rtx_fmt_w(c, m, arg0) \ - gen_rtx_fmt_w_stat ((c), (m), (arg0) MEM_STAT_INFO) - -#define alloca_rtx_fmt_w(c, m, arg0) \ - init_rtx_fmt_w (rtx_alloca ((c)), (m), (arg0)) - -static inline rtx -init_rtx_fmt_www (rtx rt, machine_mode mode, - HOST_WIDE_INT arg0, - HOST_WIDE_INT arg1, - HOST_WIDE_INT arg2) -{ - PUT_MODE_RAW (rt, mode); - XWINT (rt, 0) = arg0; - XWINT (rt, 1) = arg1; - XWINT (rt, 2) = arg2; - return rt; -} - -static inline rtx -gen_rtx_fmt_www_stat (RTX_CODE code, machine_mode mode, - HOST_WIDE_INT arg0, - HOST_WIDE_INT arg1, - HOST_WIDE_INT arg2 MEM_STAT_DECL) -{ - rtx rt; - - rt = rtx_alloc (code PASS_MEM_STAT); - return init_rtx_fmt_www (rt, mode, arg0, arg1, arg2); -} - -#define gen_rtx_fmt_www(c, m, arg0, arg1, arg2) \ - gen_rtx_fmt_www_stat ((c), (m), (arg0), (arg1), (arg2) MEM_STAT_INFO) - -#define alloca_rtx_fmt_www(c, m, arg0, arg1, arg2) \ - init_rtx_fmt_www (rtx_alloca ((c)), (m), (arg0), (arg1), (arg2)) - -static inline rtx -init_rtx_fmt_s (rtx rt, machine_mode mode, - const char *arg0) -{ - PUT_MODE_RAW (rt, mode); - XSTR (rt, 0) = arg0; - return rt; -} - -static inline rtx -gen_rtx_fmt_s_stat (RTX_CODE code, machine_mode mode, - const char *arg0 MEM_STAT_DECL) -{ - rtx rt; - - rt = rtx_alloc (code PASS_MEM_STAT); - return init_rtx_fmt_s (rt, mode, arg0); -} - -#define gen_rtx_fmt_s(c, m, arg0) \ - gen_rtx_fmt_s_stat ((c), (m), (arg0) MEM_STAT_INFO) - -#define alloca_rtx_fmt_s(c, m, arg0) \ - init_rtx_fmt_s (rtx_alloca ((c)), (m), (arg0)) - -static inline rtx -init_rtx_fmt_ep (rtx rt, machine_mode mode, - rtx arg0, - poly_uint16 arg1) -{ - PUT_MODE_RAW (rt, mode); - XEXP (rt, 0) = arg0; - SUBREG_BYTE (rt) = arg1; - return rt; -} - -static inline rtx -gen_rtx_fmt_ep_stat (RTX_CODE code, machine_mode mode, - rtx arg0, - poly_uint16 arg1 MEM_STAT_DECL) -{ - rtx rt; - - rt = rtx_alloc (code PASS_MEM_STAT); - return init_rtx_fmt_ep (rt, mode, arg0, arg1); -} - -#define gen_rtx_fmt_ep(c, m, arg0, arg1) \ - gen_rtx_fmt_ep_stat ((c), (m), (arg0), (arg1) MEM_STAT_INFO) - -#define alloca_rtx_fmt_ep(c, m, arg0, arg1) \ - init_rtx_fmt_ep (rtx_alloca ((c)), (m), (arg0), (arg1)) - -static inline rtx -init_rtx_fmt_e0 (rtx rt, machine_mode mode, - rtx arg0) -{ - PUT_MODE_RAW (rt, mode); - XEXP (rt, 0) = arg0; - X0EXP (rt, 1) = NULL_RTX; - return rt; -} - -static inline rtx -gen_rtx_fmt_e0_stat (RTX_CODE code, machine_mode mode, - rtx arg0 MEM_STAT_DECL) -{ - rtx rt; - - rt = rtx_alloc (code PASS_MEM_STAT); - return init_rtx_fmt_e0 (rt, mode, arg0); -} - -#define gen_rtx_fmt_e0(c, m, arg0) \ - gen_rtx_fmt_e0_stat ((c), (m), (arg0) MEM_STAT_INFO) - -#define alloca_rtx_fmt_e0(c, m, arg0) \ - init_rtx_fmt_e0 (rtx_alloca ((c)), (m), (arg0)) - -static inline rtx -init_rtx_fmt_u (rtx rt, machine_mode mode, - rtx arg0) -{ - PUT_MODE_RAW (rt, mode); - XEXP (rt, 0) = arg0; - return rt; -} - -static inline rtx -gen_rtx_fmt_u_stat (RTX_CODE code, machine_mode mode, - rtx arg0 MEM_STAT_DECL) -{ - rtx rt; - - rt = rtx_alloc (code PASS_MEM_STAT); - return init_rtx_fmt_u (rt, mode, arg0); -} - -#define gen_rtx_fmt_u(c, m, arg0) \ - gen_rtx_fmt_u_stat ((c), (m), (arg0) MEM_STAT_INFO) - -#define alloca_rtx_fmt_u(c, m, arg0) \ - init_rtx_fmt_u (rtx_alloca ((c)), (m), (arg0)) - -static inline rtx -init_rtx_fmt_s0 (rtx rt, machine_mode mode, - const char *arg0) -{ - PUT_MODE_RAW (rt, mode); - XSTR (rt, 0) = arg0; - X0EXP (rt, 1) = NULL_RTX; - return rt; -} - -static inline rtx -gen_rtx_fmt_s0_stat (RTX_CODE code, machine_mode mode, - const char *arg0 MEM_STAT_DECL) -{ - rtx rt; - - rt = rtx_alloc (code PASS_MEM_STAT); - return init_rtx_fmt_s0 (rt, mode, arg0); -} - -#define gen_rtx_fmt_s0(c, m, arg0) \ - gen_rtx_fmt_s0_stat ((c), (m), (arg0) MEM_STAT_INFO) - -#define alloca_rtx_fmt_s0(c, m, arg0) \ - init_rtx_fmt_s0 (rtx_alloca ((c)), (m), (arg0)) - -static inline rtx -init_rtx_fmt_te (rtx rt, machine_mode mode, - tree arg0, - rtx arg1) -{ - PUT_MODE_RAW (rt, mode); - XTREE (rt, 0) = arg0; - XEXP (rt, 1) = arg1; - return rt; -} - -static inline rtx -gen_rtx_fmt_te_stat (RTX_CODE code, machine_mode mode, - tree arg0, - rtx arg1 MEM_STAT_DECL) -{ - rtx rt; - - rt = rtx_alloc (code PASS_MEM_STAT); - return init_rtx_fmt_te (rt, mode, arg0, arg1); -} - -#define gen_rtx_fmt_te(c, m, arg0, arg1) \ - gen_rtx_fmt_te_stat ((c), (m), (arg0), (arg1) MEM_STAT_INFO) - -#define alloca_rtx_fmt_te(c, m, arg0, arg1) \ - init_rtx_fmt_te (rtx_alloca ((c)), (m), (arg0), (arg1)) - -static inline rtx -init_rtx_fmt_t (rtx rt, machine_mode mode, - tree arg0) -{ - PUT_MODE_RAW (rt, mode); - XTREE (rt, 0) = arg0; - return rt; -} - -static inline rtx -gen_rtx_fmt_t_stat (RTX_CODE code, machine_mode mode, - tree arg0 MEM_STAT_DECL) -{ - rtx rt; - - rt = rtx_alloc (code PASS_MEM_STAT); - return init_rtx_fmt_t (rt, mode, arg0); -} - -#define gen_rtx_fmt_t(c, m, arg0) \ - gen_rtx_fmt_t_stat ((c), (m), (arg0) MEM_STAT_INFO) - -#define alloca_rtx_fmt_t(c, m, arg0) \ - init_rtx_fmt_t (rtx_alloca ((c)), (m), (arg0)) - -static inline rtx -init_rtx_fmt_iss (rtx rt, machine_mode mode, - int arg0, - const char *arg1, - const char *arg2) -{ - PUT_MODE_RAW (rt, mode); - XINT (rt, 0) = arg0; - XSTR (rt, 1) = arg1; - XSTR (rt, 2) = arg2; - return rt; -} - -static inline rtx -gen_rtx_fmt_iss_stat (RTX_CODE code, machine_mode mode, - int arg0, - const char *arg1, - const char *arg2 MEM_STAT_DECL) -{ - rtx rt; - - rt = rtx_alloc (code PASS_MEM_STAT); - return init_rtx_fmt_iss (rt, mode, arg0, arg1, arg2); -} - -#define gen_rtx_fmt_iss(c, m, arg0, arg1, arg2) \ - gen_rtx_fmt_iss_stat ((c), (m), (arg0), (arg1), (arg2) MEM_STAT_INFO) - -#define alloca_rtx_fmt_iss(c, m, arg0, arg1, arg2) \ - init_rtx_fmt_iss (rtx_alloca ((c)), (m), (arg0), (arg1), (arg2)) - -static inline rtx -init_rtx_fmt_is (rtx rt, machine_mode mode, - int arg0, - const char *arg1) -{ - PUT_MODE_RAW (rt, mode); - XINT (rt, 0) = arg0; - XSTR (rt, 1) = arg1; - return rt; -} - -static inline rtx -gen_rtx_fmt_is_stat (RTX_CODE code, machine_mode mode, - int arg0, - const char *arg1 MEM_STAT_DECL) -{ - rtx rt; - - rt = rtx_alloc (code PASS_MEM_STAT); - return init_rtx_fmt_is (rt, mode, arg0, arg1); -} - -#define gen_rtx_fmt_is(c, m, arg0, arg1) \ - gen_rtx_fmt_is_stat ((c), (m), (arg0), (arg1) MEM_STAT_INFO) - -#define alloca_rtx_fmt_is(c, m, arg0, arg1) \ - init_rtx_fmt_is (rtx_alloca ((c)), (m), (arg0), (arg1)) - -static inline rtx -init_rtx_fmt_isE (rtx rt, machine_mode mode, - int arg0, - const char *arg1, - rtvec arg2) -{ - PUT_MODE_RAW (rt, mode); - XINT (rt, 0) = arg0; - XSTR (rt, 1) = arg1; - XVEC (rt, 2) = arg2; - return rt; -} - -static inline rtx -gen_rtx_fmt_isE_stat (RTX_CODE code, machine_mode mode, - int arg0, - const char *arg1, - rtvec arg2 MEM_STAT_DECL) -{ - rtx rt; - - rt = rtx_alloc (code PASS_MEM_STAT); - return init_rtx_fmt_isE (rt, mode, arg0, arg1, arg2); -} - -#define gen_rtx_fmt_isE(c, m, arg0, arg1, arg2) \ - gen_rtx_fmt_isE_stat ((c), (m), (arg0), (arg1), (arg2) MEM_STAT_INFO) - -#define alloca_rtx_fmt_isE(c, m, arg0, arg1, arg2) \ - init_rtx_fmt_isE (rtx_alloca ((c)), (m), (arg0), (arg1), (arg2)) - -static inline rtx -init_rtx_fmt_iE (rtx rt, machine_mode mode, - int arg0, - rtvec arg1) -{ - PUT_MODE_RAW (rt, mode); - XINT (rt, 0) = arg0; - XVEC (rt, 1) = arg1; - return rt; -} - -static inline rtx -gen_rtx_fmt_iE_stat (RTX_CODE code, machine_mode mode, - int arg0, - rtvec arg1 MEM_STAT_DECL) -{ - rtx rt; - - rt = rtx_alloc (code PASS_MEM_STAT); - return init_rtx_fmt_iE (rt, mode, arg0, arg1); -} - -#define gen_rtx_fmt_iE(c, m, arg0, arg1) \ - gen_rtx_fmt_iE_stat ((c), (m), (arg0), (arg1) MEM_STAT_INFO) - -#define alloca_rtx_fmt_iE(c, m, arg0, arg1) \ - init_rtx_fmt_iE (rtx_alloca ((c)), (m), (arg0), (arg1)) - -static inline rtx -init_rtx_fmt_ss (rtx rt, machine_mode mode, - const char *arg0, - const char *arg1) -{ - PUT_MODE_RAW (rt, mode); - XSTR (rt, 0) = arg0; - XSTR (rt, 1) = arg1; - return rt; -} - -static inline rtx -gen_rtx_fmt_ss_stat (RTX_CODE code, machine_mode mode, - const char *arg0, - const char *arg1 MEM_STAT_DECL) -{ - rtx rt; - - rt = rtx_alloc (code PASS_MEM_STAT); - return init_rtx_fmt_ss (rt, mode, arg0, arg1); -} - -#define gen_rtx_fmt_ss(c, m, arg0, arg1) \ - gen_rtx_fmt_ss_stat ((c), (m), (arg0), (arg1) MEM_STAT_INFO) - -#define alloca_rtx_fmt_ss(c, m, arg0, arg1) \ - init_rtx_fmt_ss (rtx_alloca ((c)), (m), (arg0), (arg1)) - -static inline rtx -init_rtx_fmt_eE (rtx rt, machine_mode mode, - rtx arg0, - rtvec arg1) -{ - PUT_MODE_RAW (rt, mode); - XEXP (rt, 0) = arg0; - XVEC (rt, 1) = arg1; - return rt; -} - -static inline rtx -gen_rtx_fmt_eE_stat (RTX_CODE code, machine_mode mode, - rtx arg0, - rtvec arg1 MEM_STAT_DECL) -{ - rtx rt; - - rt = rtx_alloc (code PASS_MEM_STAT); - return init_rtx_fmt_eE (rt, mode, arg0, arg1); -} - -#define gen_rtx_fmt_eE(c, m, arg0, arg1) \ - gen_rtx_fmt_eE_stat ((c), (m), (arg0), (arg1) MEM_STAT_INFO) - -#define alloca_rtx_fmt_eE(c, m, arg0, arg1) \ - init_rtx_fmt_eE (rtx_alloca ((c)), (m), (arg0), (arg1)) - -static inline rtx -init_rtx_fmt_ses (rtx rt, machine_mode mode, - const char *arg0, - rtx arg1, - const char *arg2) -{ - PUT_MODE_RAW (rt, mode); - XSTR (rt, 0) = arg0; - XEXP (rt, 1) = arg1; - XSTR (rt, 2) = arg2; - return rt; -} - -static inline rtx -gen_rtx_fmt_ses_stat (RTX_CODE code, machine_mode mode, - const char *arg0, - rtx arg1, - const char *arg2 MEM_STAT_DECL) -{ - rtx rt; - - rt = rtx_alloc (code PASS_MEM_STAT); - return init_rtx_fmt_ses (rt, mode, arg0, arg1, arg2); -} - -#define gen_rtx_fmt_ses(c, m, arg0, arg1, arg2) \ - gen_rtx_fmt_ses_stat ((c), (m), (arg0), (arg1), (arg2) MEM_STAT_INFO) - -#define alloca_rtx_fmt_ses(c, m, arg0, arg1, arg2) \ - init_rtx_fmt_ses (rtx_alloca ((c)), (m), (arg0), (arg1), (arg2)) - -static inline rtx -init_rtx_fmt_sss (rtx rt, machine_mode mode, - const char *arg0, - const char *arg1, - const char *arg2) -{ - PUT_MODE_RAW (rt, mode); - XSTR (rt, 0) = arg0; - XSTR (rt, 1) = arg1; - XSTR (rt, 2) = arg2; - return rt; -} - -static inline rtx -gen_rtx_fmt_sss_stat (RTX_CODE code, machine_mode mode, - const char *arg0, - const char *arg1, - const char *arg2 MEM_STAT_DECL) -{ - rtx rt; - - rt = rtx_alloc (code PASS_MEM_STAT); - return init_rtx_fmt_sss (rt, mode, arg0, arg1, arg2); -} - -#define gen_rtx_fmt_sss(c, m, arg0, arg1, arg2) \ - gen_rtx_fmt_sss_stat ((c), (m), (arg0), (arg1), (arg2) MEM_STAT_INFO) - -#define alloca_rtx_fmt_sss(c, m, arg0, arg1, arg2) \ - init_rtx_fmt_sss (rtx_alloca ((c)), (m), (arg0), (arg1), (arg2)) - -static inline rtx -init_rtx_fmt_sse (rtx rt, machine_mode mode, - const char *arg0, - const char *arg1, - rtx arg2) -{ - PUT_MODE_RAW (rt, mode); - XSTR (rt, 0) = arg0; - XSTR (rt, 1) = arg1; - XEXP (rt, 2) = arg2; - return rt; -} - -static inline rtx -gen_rtx_fmt_sse_stat (RTX_CODE code, machine_mode mode, - const char *arg0, - const char *arg1, - rtx arg2 MEM_STAT_DECL) -{ - rtx rt; - - rt = rtx_alloc (code PASS_MEM_STAT); - return init_rtx_fmt_sse (rt, mode, arg0, arg1, arg2); -} - -#define gen_rtx_fmt_sse(c, m, arg0, arg1, arg2) \ - gen_rtx_fmt_sse_stat ((c), (m), (arg0), (arg1), (arg2) MEM_STAT_INFO) - -#define alloca_rtx_fmt_sse(c, m, arg0, arg1, arg2) \ - init_rtx_fmt_sse (rtx_alloca ((c)), (m), (arg0), (arg1), (arg2)) - -static inline rtx -init_rtx_fmt_sies (rtx rt, machine_mode mode, - const char *arg0, - int arg1, - rtx arg2, - const char *arg3) -{ - PUT_MODE_RAW (rt, mode); - XSTR (rt, 0) = arg0; - XINT (rt, 1) = arg1; - XEXP (rt, 2) = arg2; - XSTR (rt, 3) = arg3; - return rt; -} - -static inline rtx -gen_rtx_fmt_sies_stat (RTX_CODE code, machine_mode mode, - const char *arg0, - int arg1, - rtx arg2, - const char *arg3 MEM_STAT_DECL) -{ - rtx rt; - - rt = rtx_alloc (code PASS_MEM_STAT); - return init_rtx_fmt_sies (rt, mode, arg0, arg1, arg2, arg3); -} - -#define gen_rtx_fmt_sies(c, m, arg0, arg1, arg2, arg3) \ - gen_rtx_fmt_sies_stat ((c), (m), (arg0), (arg1), (arg2), (arg3) MEM_STAT_INFO) - -#define alloca_rtx_fmt_sies(c, m, arg0, arg1, arg2, arg3) \ - init_rtx_fmt_sies (rtx_alloca ((c)), (m), (arg0), (arg1), (arg2), (arg3)) - -static inline rtx -init_rtx_fmt_sE (rtx rt, machine_mode mode, - const char *arg0, - rtvec arg1) -{ - PUT_MODE_RAW (rt, mode); - XSTR (rt, 0) = arg0; - XVEC (rt, 1) = arg1; - return rt; -} - -static inline rtx -gen_rtx_fmt_sE_stat (RTX_CODE code, machine_mode mode, - const char *arg0, - rtvec arg1 MEM_STAT_DECL) -{ - rtx rt; - - rt = rtx_alloc (code PASS_MEM_STAT); - return init_rtx_fmt_sE (rt, mode, arg0, arg1); -} - -#define gen_rtx_fmt_sE(c, m, arg0, arg1) \ - gen_rtx_fmt_sE_stat ((c), (m), (arg0), (arg1) MEM_STAT_INFO) - -#define alloca_rtx_fmt_sE(c, m, arg0, arg1) \ - init_rtx_fmt_sE (rtx_alloca ((c)), (m), (arg0), (arg1)) - -static inline rtx -init_rtx_fmt_ww (rtx rt, machine_mode mode, - HOST_WIDE_INT arg0, - HOST_WIDE_INT arg1) -{ - PUT_MODE_RAW (rt, mode); - XWINT (rt, 0) = arg0; - XWINT (rt, 1) = arg1; - return rt; -} - -static inline rtx -gen_rtx_fmt_ww_stat (RTX_CODE code, machine_mode mode, - HOST_WIDE_INT arg0, - HOST_WIDE_INT arg1 MEM_STAT_DECL) -{ - rtx rt; - - rt = rtx_alloc (code PASS_MEM_STAT); - return init_rtx_fmt_ww (rt, mode, arg0, arg1); -} - -#define gen_rtx_fmt_ww(c, m, arg0, arg1) \ - gen_rtx_fmt_ww_stat ((c), (m), (arg0), (arg1) MEM_STAT_INFO) - -#define alloca_rtx_fmt_ww(c, m, arg0, arg1) \ - init_rtx_fmt_ww (rtx_alloca ((c)), (m), (arg0), (arg1)) - -static inline rtx -init_rtx_fmt_Ee (rtx rt, machine_mode mode, - rtvec arg0, - rtx arg1) -{ - PUT_MODE_RAW (rt, mode); - XVEC (rt, 0) = arg0; - XEXP (rt, 1) = arg1; - return rt; -} - -static inline rtx -gen_rtx_fmt_Ee_stat (RTX_CODE code, machine_mode mode, - rtvec arg0, - rtx arg1 MEM_STAT_DECL) -{ - rtx rt; - - rt = rtx_alloc (code PASS_MEM_STAT); - return init_rtx_fmt_Ee (rt, mode, arg0, arg1); -} - -#define gen_rtx_fmt_Ee(c, m, arg0, arg1) \ - gen_rtx_fmt_Ee_stat ((c), (m), (arg0), (arg1) MEM_STAT_INFO) - -#define alloca_rtx_fmt_Ee(c, m, arg0, arg1) \ - init_rtx_fmt_Ee (rtx_alloca ((c)), (m), (arg0), (arg1)) - -static inline rtx -init_rtx_fmt_sEsE (rtx rt, machine_mode mode, - const char *arg0, - rtvec arg1, - const char *arg2, - rtvec arg3) -{ - PUT_MODE_RAW (rt, mode); - XSTR (rt, 0) = arg0; - XVEC (rt, 1) = arg1; - XSTR (rt, 2) = arg2; - XVEC (rt, 3) = arg3; - return rt; -} - -static inline rtx -gen_rtx_fmt_sEsE_stat (RTX_CODE code, machine_mode mode, - const char *arg0, - rtvec arg1, - const char *arg2, - rtvec arg3 MEM_STAT_DECL) -{ - rtx rt; - - rt = rtx_alloc (code PASS_MEM_STAT); - return init_rtx_fmt_sEsE (rt, mode, arg0, arg1, arg2, arg3); -} - -#define gen_rtx_fmt_sEsE(c, m, arg0, arg1, arg2, arg3) \ - gen_rtx_fmt_sEsE_stat ((c), (m), (arg0), (arg1), (arg2), (arg3) MEM_STAT_INFO) - -#define alloca_rtx_fmt_sEsE(c, m, arg0, arg1, arg2, arg3) \ - init_rtx_fmt_sEsE (rtx_alloca ((c)), (m), (arg0), (arg1), (arg2), (arg3)) - -static inline rtx -init_rtx_fmt_ssss (rtx rt, machine_mode mode, - const char *arg0, - const char *arg1, - const char *arg2, - const char *arg3) -{ - PUT_MODE_RAW (rt, mode); - XSTR (rt, 0) = arg0; - XSTR (rt, 1) = arg1; - XSTR (rt, 2) = arg2; - XSTR (rt, 3) = arg3; - return rt; -} - -static inline rtx -gen_rtx_fmt_ssss_stat (RTX_CODE code, machine_mode mode, - const char *arg0, - const char *arg1, - const char *arg2, - const char *arg3 MEM_STAT_DECL) -{ - rtx rt; - - rt = rtx_alloc (code PASS_MEM_STAT); - return init_rtx_fmt_ssss (rt, mode, arg0, arg1, arg2, arg3); -} - -#define gen_rtx_fmt_ssss(c, m, arg0, arg1, arg2, arg3) \ - gen_rtx_fmt_ssss_stat ((c), (m), (arg0), (arg1), (arg2), (arg3) MEM_STAT_INFO) - -#define alloca_rtx_fmt_ssss(c, m, arg0, arg1, arg2, arg3) \ - init_rtx_fmt_ssss (rtx_alloca ((c)), (m), (arg0), (arg1), (arg2), (arg3)) - - -#define gen_rtx_VALUE(MODE) \ - gen_rtx_fmt_0 (VALUE, (MODE)) -#define gen_rtx_DEBUG_EXPR(MODE) \ - gen_rtx_fmt_0 (DEBUG_EXPR, (MODE)) -#define gen_rtx_raw_EXPR_LIST(MODE, ARG0, ARG1) \ - gen_rtx_fmt_ee (EXPR_LIST, (MODE), (ARG0), (ARG1)) -#define gen_rtx_raw_INSN_LIST(MODE, ARG0, ARG1) \ - gen_rtx_fmt_ue (INSN_LIST, (MODE), (ARG0), (ARG1)) -#define gen_rtx_INT_LIST(MODE, ARG0, ARG1) \ - gen_rtx_fmt_ie (INT_LIST, (MODE), (ARG0), (ARG1)) -#define gen_rtx_SEQUENCE(MODE, ARG0) \ - gen_rtx_fmt_E (SEQUENCE, (MODE), (ARG0)) -#define gen_rtx_ADDRESS(MODE, ARG0) \ - gen_rtx_fmt_i (ADDRESS, (MODE), (ARG0)) -#define gen_rtx_DEBUG_INSN(MODE, ARG0, ARG1, ARG2, ARG3, ARG4, ARG5, ARG6) \ - gen_rtx_fmt_uuBeiie (DEBUG_INSN, (MODE), (ARG0), (ARG1), (ARG2), (ARG3), (ARG4), (ARG5), (ARG6)) -#define gen_rtx_raw_INSN(MODE, ARG0, ARG1, ARG2, ARG3, ARG4, ARG5, ARG6) \ - gen_rtx_fmt_uuBeiie (INSN, (MODE), (ARG0), (ARG1), (ARG2), (ARG3), (ARG4), (ARG5), (ARG6)) -#define gen_rtx_JUMP_INSN(MODE, ARG0, ARG1, ARG2, ARG3, ARG4, ARG5, ARG6) \ - gen_rtx_fmt_uuBeiie0 (JUMP_INSN, (MODE), (ARG0), (ARG1), (ARG2), (ARG3), (ARG4), (ARG5), (ARG6)) -#define gen_rtx_CALL_INSN(MODE, ARG0, ARG1, ARG2, ARG3, ARG4, ARG5, ARG6, ARG7) \ - gen_rtx_fmt_uuBeiiee (CALL_INSN, (MODE), (ARG0), (ARG1), (ARG2), (ARG3), (ARG4), (ARG5), (ARG6), (ARG7)) -#define gen_rtx_JUMP_TABLE_DATA(MODE, ARG0, ARG1, ARG2, ARG3) \ - gen_rtx_fmt_uuBe0000 (JUMP_TABLE_DATA, (MODE), (ARG0), (ARG1), (ARG2), (ARG3)) -#define gen_rtx_BARRIER(MODE, ARG0, ARG1) \ - gen_rtx_fmt_uu00000 (BARRIER, (MODE), (ARG0), (ARG1)) -#define gen_rtx_CODE_LABEL(MODE, ARG0, ARG1, ARG2, ARG3, ARG4) \ - gen_rtx_fmt_uuB00is (CODE_LABEL, (MODE), (ARG0), (ARG1), (ARG2), (ARG3), (ARG4)) -#define gen_rtx_COND_EXEC(MODE, ARG0, ARG1) \ - gen_rtx_fmt_ee (COND_EXEC, (MODE), (ARG0), (ARG1)) -#define gen_rtx_PARALLEL(MODE, ARG0) \ - gen_rtx_fmt_E (PARALLEL, (MODE), (ARG0)) -#define gen_rtx_ASM_INPUT(MODE, ARG0, ARG1) \ - gen_rtx_fmt_si (ASM_INPUT, (MODE), (ARG0), (ARG1)) -#define gen_rtx_ASM_OPERANDS(MODE, ARG0, ARG1, ARG2, ARG3, ARG4, ARG5, ARG6) \ - gen_rtx_fmt_ssiEEEi (ASM_OPERANDS, (MODE), (ARG0), (ARG1), (ARG2), (ARG3), (ARG4), (ARG5), (ARG6)) -#define gen_rtx_UNSPEC(MODE, ARG0, ARG1) \ - gen_rtx_fmt_Ei (UNSPEC, (MODE), (ARG0), (ARG1)) -#define gen_rtx_UNSPEC_VOLATILE(MODE, ARG0, ARG1) \ - gen_rtx_fmt_Ei (UNSPEC_VOLATILE, (MODE), (ARG0), (ARG1)) -#define gen_rtx_ADDR_VEC(MODE, ARG0) \ - gen_rtx_fmt_E (ADDR_VEC, (MODE), (ARG0)) -#define gen_rtx_ADDR_DIFF_VEC(MODE, ARG0, ARG1, ARG2, ARG3) \ - gen_rtx_fmt_eEee0 (ADDR_DIFF_VEC, (MODE), (ARG0), (ARG1), (ARG2), (ARG3)) -#define gen_rtx_PREFETCH(MODE, ARG0, ARG1, ARG2) \ - gen_rtx_fmt_eee (PREFETCH, (MODE), (ARG0), (ARG1), (ARG2)) -#define gen_rtx_SET(ARG0, ARG1) \ - gen_rtx_fmt_ee (SET, VOIDmode, (ARG0), (ARG1)) -#define gen_rtx_USE(MODE, ARG0) \ - gen_rtx_fmt_e (USE, (MODE), (ARG0)) -#define gen_rtx_CLOBBER(MODE, ARG0) \ - gen_rtx_fmt_e (CLOBBER, (MODE), (ARG0)) -#define gen_rtx_CALL(MODE, ARG0, ARG1) \ - gen_rtx_fmt_ee (CALL, (MODE), (ARG0), (ARG1)) -#define gen_rtx_raw_RETURN(MODE) \ - gen_rtx_fmt_ (RETURN, (MODE)) -#define gen_rtx_raw_SIMPLE_RETURN(MODE) \ - gen_rtx_fmt_ (SIMPLE_RETURN, (MODE)) -#define gen_rtx_EH_RETURN(MODE) \ - gen_rtx_fmt_ (EH_RETURN, (MODE)) -#define gen_rtx_TRAP_IF(MODE, ARG0, ARG1) \ - gen_rtx_fmt_ee (TRAP_IF, (MODE), (ARG0), (ARG1)) -#define gen_rtx_raw_CONST_INT(MODE, ARG0) \ - gen_rtx_fmt_w (CONST_INT, (MODE), (ARG0)) -#define gen_rtx_raw_CONST_VECTOR(MODE, ARG0) \ - gen_rtx_fmt_E (CONST_VECTOR, (MODE), (ARG0)) -#define gen_rtx_CONST_STRING(MODE, ARG0) \ - gen_rtx_fmt_s (CONST_STRING, (MODE), (ARG0)) -#define gen_rtx_CONST(MODE, ARG0) \ - gen_rtx_fmt_e (CONST, (MODE), (ARG0)) -#define gen_rtx_raw_PC(MODE) \ - gen_rtx_fmt_ (PC, (MODE)) -#define gen_rtx_SCRATCH(MODE) \ - gen_rtx_fmt_ (SCRATCH, (MODE)) -#define gen_rtx_raw_SUBREG(MODE, ARG0, ARG1) \ - gen_rtx_fmt_ep (SUBREG, (MODE), (ARG0), (ARG1)) -#define gen_rtx_STRICT_LOW_PART(MODE, ARG0) \ - gen_rtx_fmt_e (STRICT_LOW_PART, (MODE), (ARG0)) -#define gen_rtx_CONCAT(MODE, ARG0, ARG1) \ - gen_rtx_fmt_ee (CONCAT, (MODE), (ARG0), (ARG1)) -#define gen_rtx_CONCATN(MODE, ARG0) \ - gen_rtx_fmt_E (CONCATN, (MODE), (ARG0)) -#define gen_rtx_raw_MEM(MODE, ARG0) \ - gen_rtx_fmt_e0 (MEM, (MODE), (ARG0)) -#define gen_rtx_LABEL_REF(MODE, ARG0) \ - gen_rtx_fmt_u (LABEL_REF, (MODE), (ARG0)) -#define gen_rtx_SYMBOL_REF(MODE, ARG0) \ - gen_rtx_fmt_s0 (SYMBOL_REF, (MODE), (ARG0)) -#define gen_rtx_IF_THEN_ELSE(MODE, ARG0, ARG1, ARG2) \ - gen_rtx_fmt_eee (IF_THEN_ELSE, (MODE), (ARG0), (ARG1), (ARG2)) -#define gen_rtx_COMPARE(MODE, ARG0, ARG1) \ - gen_rtx_fmt_ee (COMPARE, (MODE), (ARG0), (ARG1)) -#define gen_rtx_PLUS(MODE, ARG0, ARG1) \ - gen_rtx_fmt_ee (PLUS, (MODE), (ARG0), (ARG1)) -#define gen_rtx_MINUS(MODE, ARG0, ARG1) \ - gen_rtx_fmt_ee (MINUS, (MODE), (ARG0), (ARG1)) -#define gen_rtx_NEG(MODE, ARG0) \ - gen_rtx_fmt_e (NEG, (MODE), (ARG0)) -#define gen_rtx_MULT(MODE, ARG0, ARG1) \ - gen_rtx_fmt_ee (MULT, (MODE), (ARG0), (ARG1)) -#define gen_rtx_SS_MULT(MODE, ARG0, ARG1) \ - gen_rtx_fmt_ee (SS_MULT, (MODE), (ARG0), (ARG1)) -#define gen_rtx_US_MULT(MODE, ARG0, ARG1) \ - gen_rtx_fmt_ee (US_MULT, (MODE), (ARG0), (ARG1)) -#define gen_rtx_SMUL_HIGHPART(MODE, ARG0, ARG1) \ - gen_rtx_fmt_ee (SMUL_HIGHPART, (MODE), (ARG0), (ARG1)) -#define gen_rtx_UMUL_HIGHPART(MODE, ARG0, ARG1) \ - gen_rtx_fmt_ee (UMUL_HIGHPART, (MODE), (ARG0), (ARG1)) -#define gen_rtx_DIV(MODE, ARG0, ARG1) \ - gen_rtx_fmt_ee (DIV, (MODE), (ARG0), (ARG1)) -#define gen_rtx_SS_DIV(MODE, ARG0, ARG1) \ - gen_rtx_fmt_ee (SS_DIV, (MODE), (ARG0), (ARG1)) -#define gen_rtx_US_DIV(MODE, ARG0, ARG1) \ - gen_rtx_fmt_ee (US_DIV, (MODE), (ARG0), (ARG1)) -#define gen_rtx_MOD(MODE, ARG0, ARG1) \ - gen_rtx_fmt_ee (MOD, (MODE), (ARG0), (ARG1)) -#define gen_rtx_UDIV(MODE, ARG0, ARG1) \ - gen_rtx_fmt_ee (UDIV, (MODE), (ARG0), (ARG1)) -#define gen_rtx_UMOD(MODE, ARG0, ARG1) \ - gen_rtx_fmt_ee (UMOD, (MODE), (ARG0), (ARG1)) -#define gen_rtx_AND(MODE, ARG0, ARG1) \ - gen_rtx_fmt_ee (AND, (MODE), (ARG0), (ARG1)) -#define gen_rtx_IOR(MODE, ARG0, ARG1) \ - gen_rtx_fmt_ee (IOR, (MODE), (ARG0), (ARG1)) -#define gen_rtx_XOR(MODE, ARG0, ARG1) \ - gen_rtx_fmt_ee (XOR, (MODE), (ARG0), (ARG1)) -#define gen_rtx_NOT(MODE, ARG0) \ - gen_rtx_fmt_e (NOT, (MODE), (ARG0)) -#define gen_rtx_ASHIFT(MODE, ARG0, ARG1) \ - gen_rtx_fmt_ee (ASHIFT, (MODE), (ARG0), (ARG1)) -#define gen_rtx_ROTATE(MODE, ARG0, ARG1) \ - gen_rtx_fmt_ee (ROTATE, (MODE), (ARG0), (ARG1)) -#define gen_rtx_ASHIFTRT(MODE, ARG0, ARG1) \ - gen_rtx_fmt_ee (ASHIFTRT, (MODE), (ARG0), (ARG1)) -#define gen_rtx_LSHIFTRT(MODE, ARG0, ARG1) \ - gen_rtx_fmt_ee (LSHIFTRT, (MODE), (ARG0), (ARG1)) -#define gen_rtx_ROTATERT(MODE, ARG0, ARG1) \ - gen_rtx_fmt_ee (ROTATERT, (MODE), (ARG0), (ARG1)) -#define gen_rtx_SMIN(MODE, ARG0, ARG1) \ - gen_rtx_fmt_ee (SMIN, (MODE), (ARG0), (ARG1)) -#define gen_rtx_SMAX(MODE, ARG0, ARG1) \ - gen_rtx_fmt_ee (SMAX, (MODE), (ARG0), (ARG1)) -#define gen_rtx_UMIN(MODE, ARG0, ARG1) \ - gen_rtx_fmt_ee (UMIN, (MODE), (ARG0), (ARG1)) -#define gen_rtx_UMAX(MODE, ARG0, ARG1) \ - gen_rtx_fmt_ee (UMAX, (MODE), (ARG0), (ARG1)) -#define gen_rtx_PRE_DEC(MODE, ARG0) \ - gen_rtx_fmt_e (PRE_DEC, (MODE), (ARG0)) -#define gen_rtx_PRE_INC(MODE, ARG0) \ - gen_rtx_fmt_e (PRE_INC, (MODE), (ARG0)) -#define gen_rtx_POST_DEC(MODE, ARG0) \ - gen_rtx_fmt_e (POST_DEC, (MODE), (ARG0)) -#define gen_rtx_POST_INC(MODE, ARG0) \ - gen_rtx_fmt_e (POST_INC, (MODE), (ARG0)) -#define gen_rtx_PRE_MODIFY(MODE, ARG0, ARG1) \ - gen_rtx_fmt_ee (PRE_MODIFY, (MODE), (ARG0), (ARG1)) -#define gen_rtx_POST_MODIFY(MODE, ARG0, ARG1) \ - gen_rtx_fmt_ee (POST_MODIFY, (MODE), (ARG0), (ARG1)) -#define gen_rtx_NE(MODE, ARG0, ARG1) \ - gen_rtx_fmt_ee (NE, (MODE), (ARG0), (ARG1)) -#define gen_rtx_EQ(MODE, ARG0, ARG1) \ - gen_rtx_fmt_ee (EQ, (MODE), (ARG0), (ARG1)) -#define gen_rtx_GE(MODE, ARG0, ARG1) \ - gen_rtx_fmt_ee (GE, (MODE), (ARG0), (ARG1)) -#define gen_rtx_GT(MODE, ARG0, ARG1) \ - gen_rtx_fmt_ee (GT, (MODE), (ARG0), (ARG1)) -#define gen_rtx_LE(MODE, ARG0, ARG1) \ - gen_rtx_fmt_ee (LE, (MODE), (ARG0), (ARG1)) -#define gen_rtx_LT(MODE, ARG0, ARG1) \ - gen_rtx_fmt_ee (LT, (MODE), (ARG0), (ARG1)) -#define gen_rtx_LTGT(MODE, ARG0, ARG1) \ - gen_rtx_fmt_ee (LTGT, (MODE), (ARG0), (ARG1)) -#define gen_rtx_GEU(MODE, ARG0, ARG1) \ - gen_rtx_fmt_ee (GEU, (MODE), (ARG0), (ARG1)) -#define gen_rtx_GTU(MODE, ARG0, ARG1) \ - gen_rtx_fmt_ee (GTU, (MODE), (ARG0), (ARG1)) -#define gen_rtx_LEU(MODE, ARG0, ARG1) \ - gen_rtx_fmt_ee (LEU, (MODE), (ARG0), (ARG1)) -#define gen_rtx_LTU(MODE, ARG0, ARG1) \ - gen_rtx_fmt_ee (LTU, (MODE), (ARG0), (ARG1)) -#define gen_rtx_UNORDERED(MODE, ARG0, ARG1) \ - gen_rtx_fmt_ee (UNORDERED, (MODE), (ARG0), (ARG1)) -#define gen_rtx_ORDERED(MODE, ARG0, ARG1) \ - gen_rtx_fmt_ee (ORDERED, (MODE), (ARG0), (ARG1)) -#define gen_rtx_UNEQ(MODE, ARG0, ARG1) \ - gen_rtx_fmt_ee (UNEQ, (MODE), (ARG0), (ARG1)) -#define gen_rtx_UNGE(MODE, ARG0, ARG1) \ - gen_rtx_fmt_ee (UNGE, (MODE), (ARG0), (ARG1)) -#define gen_rtx_UNGT(MODE, ARG0, ARG1) \ - gen_rtx_fmt_ee (UNGT, (MODE), (ARG0), (ARG1)) -#define gen_rtx_UNLE(MODE, ARG0, ARG1) \ - gen_rtx_fmt_ee (UNLE, (MODE), (ARG0), (ARG1)) -#define gen_rtx_UNLT(MODE, ARG0, ARG1) \ - gen_rtx_fmt_ee (UNLT, (MODE), (ARG0), (ARG1)) -#define gen_rtx_SIGN_EXTEND(MODE, ARG0) \ - gen_rtx_fmt_e (SIGN_EXTEND, (MODE), (ARG0)) -#define gen_rtx_ZERO_EXTEND(MODE, ARG0) \ - gen_rtx_fmt_e (ZERO_EXTEND, (MODE), (ARG0)) -#define gen_rtx_TRUNCATE(MODE, ARG0) \ - gen_rtx_fmt_e (TRUNCATE, (MODE), (ARG0)) -#define gen_rtx_FLOAT_EXTEND(MODE, ARG0) \ - gen_rtx_fmt_e (FLOAT_EXTEND, (MODE), (ARG0)) -#define gen_rtx_FLOAT_TRUNCATE(MODE, ARG0) \ - gen_rtx_fmt_e (FLOAT_TRUNCATE, (MODE), (ARG0)) -#define gen_rtx_FLOAT(MODE, ARG0) \ - gen_rtx_fmt_e (FLOAT, (MODE), (ARG0)) -#define gen_rtx_FIX(MODE, ARG0) \ - gen_rtx_fmt_e (FIX, (MODE), (ARG0)) -#define gen_rtx_UNSIGNED_FLOAT(MODE, ARG0) \ - gen_rtx_fmt_e (UNSIGNED_FLOAT, (MODE), (ARG0)) -#define gen_rtx_UNSIGNED_FIX(MODE, ARG0) \ - gen_rtx_fmt_e (UNSIGNED_FIX, (MODE), (ARG0)) -#define gen_rtx_FRACT_CONVERT(MODE, ARG0) \ - gen_rtx_fmt_e (FRACT_CONVERT, (MODE), (ARG0)) -#define gen_rtx_UNSIGNED_FRACT_CONVERT(MODE, ARG0) \ - gen_rtx_fmt_e (UNSIGNED_FRACT_CONVERT, (MODE), (ARG0)) -#define gen_rtx_SAT_FRACT(MODE, ARG0) \ - gen_rtx_fmt_e (SAT_FRACT, (MODE), (ARG0)) -#define gen_rtx_UNSIGNED_SAT_FRACT(MODE, ARG0) \ - gen_rtx_fmt_e (UNSIGNED_SAT_FRACT, (MODE), (ARG0)) -#define gen_rtx_ABS(MODE, ARG0) \ - gen_rtx_fmt_e (ABS, (MODE), (ARG0)) -#define gen_rtx_SQRT(MODE, ARG0) \ - gen_rtx_fmt_e (SQRT, (MODE), (ARG0)) -#define gen_rtx_BSWAP(MODE, ARG0) \ - gen_rtx_fmt_e (BSWAP, (MODE), (ARG0)) -#define gen_rtx_FFS(MODE, ARG0) \ - gen_rtx_fmt_e (FFS, (MODE), (ARG0)) -#define gen_rtx_CLRSB(MODE, ARG0) \ - gen_rtx_fmt_e (CLRSB, (MODE), (ARG0)) -#define gen_rtx_CLZ(MODE, ARG0) \ - gen_rtx_fmt_e (CLZ, (MODE), (ARG0)) -#define gen_rtx_CTZ(MODE, ARG0) \ - gen_rtx_fmt_e (CTZ, (MODE), (ARG0)) -#define gen_rtx_POPCOUNT(MODE, ARG0) \ - gen_rtx_fmt_e (POPCOUNT, (MODE), (ARG0)) -#define gen_rtx_PARITY(MODE, ARG0) \ - gen_rtx_fmt_e (PARITY, (MODE), (ARG0)) -#define gen_rtx_SIGN_EXTRACT(MODE, ARG0, ARG1, ARG2) \ - gen_rtx_fmt_eee (SIGN_EXTRACT, (MODE), (ARG0), (ARG1), (ARG2)) -#define gen_rtx_ZERO_EXTRACT(MODE, ARG0, ARG1, ARG2) \ - gen_rtx_fmt_eee (ZERO_EXTRACT, (MODE), (ARG0), (ARG1), (ARG2)) -#define gen_rtx_HIGH(MODE, ARG0) \ - gen_rtx_fmt_e (HIGH, (MODE), (ARG0)) -#define gen_rtx_LO_SUM(MODE, ARG0, ARG1) \ - gen_rtx_fmt_ee (LO_SUM, (MODE), (ARG0), (ARG1)) -#define gen_rtx_VEC_MERGE(MODE, ARG0, ARG1, ARG2) \ - gen_rtx_fmt_eee (VEC_MERGE, (MODE), (ARG0), (ARG1), (ARG2)) -#define gen_rtx_VEC_SELECT(MODE, ARG0, ARG1) \ - gen_rtx_fmt_ee (VEC_SELECT, (MODE), (ARG0), (ARG1)) -#define gen_rtx_VEC_CONCAT(MODE, ARG0, ARG1) \ - gen_rtx_fmt_ee (VEC_CONCAT, (MODE), (ARG0), (ARG1)) -#define gen_rtx_VEC_DUPLICATE(MODE, ARG0) \ - gen_rtx_fmt_e (VEC_DUPLICATE, (MODE), (ARG0)) -#define gen_rtx_VEC_SERIES(MODE, ARG0, ARG1) \ - gen_rtx_fmt_ee (VEC_SERIES, (MODE), (ARG0), (ARG1)) -#define gen_rtx_SS_PLUS(MODE, ARG0, ARG1) \ - gen_rtx_fmt_ee (SS_PLUS, (MODE), (ARG0), (ARG1)) -#define gen_rtx_US_PLUS(MODE, ARG0, ARG1) \ - gen_rtx_fmt_ee (US_PLUS, (MODE), (ARG0), (ARG1)) -#define gen_rtx_SS_MINUS(MODE, ARG0, ARG1) \ - gen_rtx_fmt_ee (SS_MINUS, (MODE), (ARG0), (ARG1)) -#define gen_rtx_SS_NEG(MODE, ARG0) \ - gen_rtx_fmt_e (SS_NEG, (MODE), (ARG0)) -#define gen_rtx_US_NEG(MODE, ARG0) \ - gen_rtx_fmt_e (US_NEG, (MODE), (ARG0)) -#define gen_rtx_SS_ABS(MODE, ARG0) \ - gen_rtx_fmt_e (SS_ABS, (MODE), (ARG0)) -#define gen_rtx_SS_ASHIFT(MODE, ARG0, ARG1) \ - gen_rtx_fmt_ee (SS_ASHIFT, (MODE), (ARG0), (ARG1)) -#define gen_rtx_US_ASHIFT(MODE, ARG0, ARG1) \ - gen_rtx_fmt_ee (US_ASHIFT, (MODE), (ARG0), (ARG1)) -#define gen_rtx_US_MINUS(MODE, ARG0, ARG1) \ - gen_rtx_fmt_ee (US_MINUS, (MODE), (ARG0), (ARG1)) -#define gen_rtx_SS_TRUNCATE(MODE, ARG0) \ - gen_rtx_fmt_e (SS_TRUNCATE, (MODE), (ARG0)) -#define gen_rtx_US_TRUNCATE(MODE, ARG0) \ - gen_rtx_fmt_e (US_TRUNCATE, (MODE), (ARG0)) -#define gen_rtx_FMA(MODE, ARG0, ARG1, ARG2) \ - gen_rtx_fmt_eee (FMA, (MODE), (ARG0), (ARG1), (ARG2)) -#define gen_rtx_DEBUG_IMPLICIT_PTR(MODE, ARG0) \ - gen_rtx_fmt_t (DEBUG_IMPLICIT_PTR, (MODE), (ARG0)) -#define gen_rtx_ENTRY_VALUE(MODE) \ - gen_rtx_fmt_0 (ENTRY_VALUE, (MODE)) -#define gen_rtx_DEBUG_PARAMETER_REF(MODE, ARG0) \ - gen_rtx_fmt_t (DEBUG_PARAMETER_REF, (MODE), (ARG0)) -#define gen_rtx_DEBUG_MARKER(MODE) \ - gen_rtx_fmt_ (DEBUG_MARKER, (MODE)) -#define gen_rtx_MATCH_OPERAND(MODE, ARG0, ARG1, ARG2) \ - gen_rtx_fmt_iss (MATCH_OPERAND, (MODE), (ARG0), (ARG1), (ARG2)) -#define gen_rtx_MATCH_SCRATCH(MODE, ARG0, ARG1) \ - gen_rtx_fmt_is (MATCH_SCRATCH, (MODE), (ARG0), (ARG1)) -#define gen_rtx_MATCH_OPERATOR(MODE, ARG0, ARG1, ARG2) \ - gen_rtx_fmt_isE (MATCH_OPERATOR, (MODE), (ARG0), (ARG1), (ARG2)) -#define gen_rtx_MATCH_PARALLEL(MODE, ARG0, ARG1, ARG2) \ - gen_rtx_fmt_isE (MATCH_PARALLEL, (MODE), (ARG0), (ARG1), (ARG2)) -#define gen_rtx_MATCH_DUP(MODE, ARG0) \ - gen_rtx_fmt_i (MATCH_DUP, (MODE), (ARG0)) -#define gen_rtx_MATCH_OP_DUP(MODE, ARG0, ARG1) \ - gen_rtx_fmt_iE (MATCH_OP_DUP, (MODE), (ARG0), (ARG1)) -#define gen_rtx_MATCH_PAR_DUP(MODE, ARG0, ARG1) \ - gen_rtx_fmt_iE (MATCH_PAR_DUP, (MODE), (ARG0), (ARG1)) -#define gen_rtx_MATCH_CODE(MODE, ARG0, ARG1) \ - gen_rtx_fmt_ss (MATCH_CODE, (MODE), (ARG0), (ARG1)) -#define gen_rtx_MATCH_TEST(MODE, ARG0) \ - gen_rtx_fmt_s (MATCH_TEST, (MODE), (ARG0)) -#define gen_rtx_DEFINE_DELAY(MODE, ARG0, ARG1) \ - gen_rtx_fmt_eE (DEFINE_DELAY, (MODE), (ARG0), (ARG1)) -#define gen_rtx_DEFINE_PREDICATE(MODE, ARG0, ARG1, ARG2) \ - gen_rtx_fmt_ses (DEFINE_PREDICATE, (MODE), (ARG0), (ARG1), (ARG2)) -#define gen_rtx_DEFINE_SPECIAL_PREDICATE(MODE, ARG0, ARG1, ARG2) \ - gen_rtx_fmt_ses (DEFINE_SPECIAL_PREDICATE, (MODE), (ARG0), (ARG1), (ARG2)) -#define gen_rtx_DEFINE_REGISTER_CONSTRAINT(MODE, ARG0, ARG1, ARG2) \ - gen_rtx_fmt_sss (DEFINE_REGISTER_CONSTRAINT, (MODE), (ARG0), (ARG1), (ARG2)) -#define gen_rtx_DEFINE_CONSTRAINT(MODE, ARG0, ARG1, ARG2) \ - gen_rtx_fmt_sse (DEFINE_CONSTRAINT, (MODE), (ARG0), (ARG1), (ARG2)) -#define gen_rtx_DEFINE_MEMORY_CONSTRAINT(MODE, ARG0, ARG1, ARG2) \ - gen_rtx_fmt_sse (DEFINE_MEMORY_CONSTRAINT, (MODE), (ARG0), (ARG1), (ARG2)) -#define gen_rtx_DEFINE_SPECIAL_MEMORY_CONSTRAINT(MODE, ARG0, ARG1, ARG2) \ - gen_rtx_fmt_sse (DEFINE_SPECIAL_MEMORY_CONSTRAINT, (MODE), (ARG0), (ARG1), (ARG2)) -#define gen_rtx_DEFINE_RELAXED_MEMORY_CONSTRAINT(MODE, ARG0, ARG1, ARG2) \ - gen_rtx_fmt_sse (DEFINE_RELAXED_MEMORY_CONSTRAINT, (MODE), (ARG0), (ARG1), (ARG2)) -#define gen_rtx_DEFINE_ADDRESS_CONSTRAINT(MODE, ARG0, ARG1, ARG2) \ - gen_rtx_fmt_sse (DEFINE_ADDRESS_CONSTRAINT, (MODE), (ARG0), (ARG1), (ARG2)) -#define gen_rtx_EXCLUSION_SET(MODE, ARG0, ARG1) \ - gen_rtx_fmt_ss (EXCLUSION_SET, (MODE), (ARG0), (ARG1)) -#define gen_rtx_PRESENCE_SET(MODE, ARG0, ARG1) \ - gen_rtx_fmt_ss (PRESENCE_SET, (MODE), (ARG0), (ARG1)) -#define gen_rtx_FINAL_PRESENCE_SET(MODE, ARG0, ARG1) \ - gen_rtx_fmt_ss (FINAL_PRESENCE_SET, (MODE), (ARG0), (ARG1)) -#define gen_rtx_ABSENCE_SET(MODE, ARG0, ARG1) \ - gen_rtx_fmt_ss (ABSENCE_SET, (MODE), (ARG0), (ARG1)) -#define gen_rtx_FINAL_ABSENCE_SET(MODE, ARG0, ARG1) \ - gen_rtx_fmt_ss (FINAL_ABSENCE_SET, (MODE), (ARG0), (ARG1)) -#define gen_rtx_DEFINE_AUTOMATON(MODE, ARG0) \ - gen_rtx_fmt_s (DEFINE_AUTOMATON, (MODE), (ARG0)) -#define gen_rtx_AUTOMATA_OPTION(MODE, ARG0) \ - gen_rtx_fmt_s (AUTOMATA_OPTION, (MODE), (ARG0)) -#define gen_rtx_DEFINE_RESERVATION(MODE, ARG0, ARG1) \ - gen_rtx_fmt_ss (DEFINE_RESERVATION, (MODE), (ARG0), (ARG1)) -#define gen_rtx_DEFINE_INSN_RESERVATION(MODE, ARG0, ARG1, ARG2, ARG3) \ - gen_rtx_fmt_sies (DEFINE_INSN_RESERVATION, (MODE), (ARG0), (ARG1), (ARG2), (ARG3)) -#define gen_rtx_DEFINE_ATTR(MODE, ARG0, ARG1, ARG2) \ - gen_rtx_fmt_sse (DEFINE_ATTR, (MODE), (ARG0), (ARG1), (ARG2)) -#define gen_rtx_DEFINE_ENUM_ATTR(MODE, ARG0, ARG1, ARG2) \ - gen_rtx_fmt_sse (DEFINE_ENUM_ATTR, (MODE), (ARG0), (ARG1), (ARG2)) -#define gen_rtx_ATTR(MODE, ARG0) \ - gen_rtx_fmt_s (ATTR, (MODE), (ARG0)) -#define gen_rtx_SET_ATTR(MODE, ARG0, ARG1) \ - gen_rtx_fmt_ss (SET_ATTR, (MODE), (ARG0), (ARG1)) -#define gen_rtx_SET_ATTR_ALTERNATIVE(MODE, ARG0, ARG1) \ - gen_rtx_fmt_sE (SET_ATTR_ALTERNATIVE, (MODE), (ARG0), (ARG1)) -#define gen_rtx_EQ_ATTR(MODE, ARG0, ARG1) \ - gen_rtx_fmt_ss (EQ_ATTR, (MODE), (ARG0), (ARG1)) -#define gen_rtx_EQ_ATTR_ALT(MODE, ARG0, ARG1) \ - gen_rtx_fmt_ww (EQ_ATTR_ALT, (MODE), (ARG0), (ARG1)) -#define gen_rtx_ATTR_FLAG(MODE, ARG0) \ - gen_rtx_fmt_s (ATTR_FLAG, (MODE), (ARG0)) -#define gen_rtx_COND(MODE, ARG0, ARG1) \ - gen_rtx_fmt_Ee (COND, (MODE), (ARG0), (ARG1)) -#define gen_rtx_DEFINE_SUBST(MODE, ARG0, ARG1, ARG2, ARG3) \ - gen_rtx_fmt_sEsE (DEFINE_SUBST, (MODE), (ARG0), (ARG1), (ARG2), (ARG3)) -#define gen_rtx_DEFINE_SUBST_ATTR(MODE, ARG0, ARG1, ARG2, ARG3) \ - gen_rtx_fmt_ssss (DEFINE_SUBST_ATTR, (MODE), (ARG0), (ARG1), (ARG2), (ARG3)) - -#endif /* GCC_GENRTL_H */ diff --git a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/gensupport.h b/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/gensupport.h deleted file mode 100644 index a1edfbd7..00000000 --- a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/gensupport.h +++ /dev/null @@ -1,228 +0,0 @@ -/* Declarations for rtx-reader support for gen* routines. - Copyright (C) 2000-2023 Free Software Foundation, Inc. - -This file is part of GCC. - -GCC is free software; you can redistribute it and/or modify it under -the terms of the GNU General Public License as published by the Free -Software Foundation; either version 3, or (at your option) any later -version. - -GCC is distributed in the hope that it will be useful, but WITHOUT ANY -WARRANTY; without even the implied warranty of MERCHANTABILITY or -FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -for more details. - -You should have received a copy of the GNU General Public License -along with GCC; see the file COPYING3. If not see -. */ - -#ifndef GCC_GENSUPPORT_H -#define GCC_GENSUPPORT_H - -#include "read-md.h" - -struct obstack; -extern struct obstack *rtl_obstack; - -/* Information about an .md define_* rtx. */ -class md_rtx_info { -public: - /* The rtx itself. */ - rtx def; - - /* The location of the first line of the rtx. */ - file_location loc; - - /* The unique number attached to the rtx. Currently all define_insns, - define_expands, define_splits, define_peepholes and define_peephole2s - share the same insn_code index space. */ - int index; -}; - -#define OPTAB_CL(name, pat, c, b, l) name, -#define OPTAB_CX(name, pat) -#define OPTAB_CD(name, pat) name, -#define OPTAB_NL(name, pat, c, b, s, l) name, -#define OPTAB_NC(name, pat, c) name, -#define OPTAB_NX(name, pat) -#define OPTAB_VL(name, pat, c, b, s, l) name, -#define OPTAB_VC(name, pat, c) name, -#define OPTAB_VX(name, pat) -#define OPTAB_DC(name, pat, c) name, -#define OPTAB_D(name, pat) name, - -/* Enumerates all optabs. */ -typedef enum optab_tag { - unknown_optab, -#include "optabs.def" - NUM_OPTABS -} optab; - -#undef OPTAB_CL -#undef OPTAB_CX -#undef OPTAB_CD -#undef OPTAB_NL -#undef OPTAB_NC -#undef OPTAB_NX -#undef OPTAB_VL -#undef OPTAB_VC -#undef OPTAB_VX -#undef OPTAB_DC -#undef OPTAB_D - -/* Describes one entry in optabs.def. */ -struct optab_def -{ - /* The name of the optab (e.g. "add_optab"). */ - const char *name; - - /* The pattern that matching define_expands and define_insns have. - See the comment at the head of optabs.def for details. */ - const char *pattern; - - /* The initializers (in the form of C code) for the libcall_basename, - libcall_suffix and libcall_gen fields of (convert_)optab_libcall_d. */ - const char *base; - const char *suffix; - const char *libcall; - - /* The optab's enum value. */ - unsigned int op; - - /* The value returned by optab_to_code (OP). */ - enum rtx_code fcode; - - /* CODE if code_to_optab (CODE) should return OP, otherwise UNKNOWN. */ - enum rtx_code rcode; - - /* 1: conversion optabs with libcall data, - 2: conversion optabs without libcall data, - 3: non-conversion optabs with libcall data ("normal" and "overflow" - optabs in the optabs.def comment) - 4: non-conversion optabs without libcall data ("direct" optabs). */ - unsigned int kind; -}; - -extern optab_def optabs[]; -extern unsigned int num_optabs; - -/* Information about an instruction name that matches an optab pattern. */ -struct optab_pattern -{ - /* The name of the instruction. */ - const char *name; - - /* The matching optab. */ - unsigned int op; - - /* The optab modes. M2 is only significant for conversion optabs; - it is zero otherwise. */ - unsigned int m1, m2; - - /* An index that provides a lexicographical sort of (OP, M2, M1). - Used by genopinit.cc. */ - unsigned int sort_num; -}; - -extern rtx add_implicit_parallel (rtvec); -extern rtx_reader *init_rtx_reader_args_cb (int, const char **, - bool (*)(const char *)); -extern rtx_reader *init_rtx_reader_args (int, const char **); -extern bool read_md_rtx (md_rtx_info *); -extern unsigned int get_num_insn_codes (); - -/* Set this to 0 to disable automatic elision of insn patterns which - can never be used in this configuration. See genconditions.cc. - Must be set before calling init_md_reader. */ -extern int insn_elision; - -/* Return the C test that says whether a definition rtx can be used, - or "" if it can be used unconditionally. */ -extern const char *get_c_test (rtx); - -/* If the C test passed as the argument can be evaluated at compile - time, return its truth value; else return -1. The test must have - appeared somewhere in the machine description when genconditions - was run. */ -extern int maybe_eval_c_test (const char *); - -/* Add an entry to the table of conditions. Used by genconditions and - by read-rtl.cc. */ -extern void add_c_test (const char *, int); - -/* This structure is used internally by gensupport.cc and genconditions.cc. */ -struct c_test -{ - const char *expr; - int value; -}; - -#ifdef __HASHTAB_H__ -extern hashval_t hash_c_test (const void *); -extern int cmp_c_test (const void *, const void *); -extern void traverse_c_tests (htab_trav, void *); -#endif - -/* Predicate handling: helper functions and data structures. */ - -struct pred_data -{ - struct pred_data *next; /* for iterating over the set of all preds */ - const char *name; /* predicate name */ - bool special; /* special handling of modes? */ - - /* data used primarily by genpreds.cc */ - const char *c_block; /* C test block */ - rtx exp; /* RTL test expression */ - - /* data used primarily by genrecog.cc */ - enum rtx_code singleton; /* if pred takes only one code, that code */ - int num_codes; /* number of codes accepted */ - bool allows_non_lvalue; /* if pred allows non-lvalue expressions */ - bool allows_non_const; /* if pred allows non-const expressions */ - bool codes[NUM_RTX_CODE]; /* set of codes accepted */ -}; - -extern struct pred_data *first_predicate; -extern struct pred_data *lookup_predicate (const char *); -extern void add_predicate_code (struct pred_data *, enum rtx_code); -extern void add_predicate (struct pred_data *); - -#define FOR_ALL_PREDICATES(p) for (p = first_predicate; p; p = p->next) - -struct pattern_stats -{ - /* The largest match_operand, match_operator or match_parallel - number found. */ - int max_opno; - - /* The largest match_dup, match_op_dup or match_par_dup number found. */ - int max_dup_opno; - - /* The smallest and largest match_scratch number found. */ - int min_scratch_opno; - int max_scratch_opno; - - /* The number of times match_dup, match_op_dup or match_par_dup appears - in the pattern. */ - int num_dups; - - /* The number of rtx arguments to the generator function. */ - int num_generator_args; - - /* The number of rtx operands in an insn. */ - int num_insn_operands; - - /* The number of operand variables that are needed. */ - int num_operand_vars; -}; - -extern void get_pattern_stats (struct pattern_stats *ranges, rtvec vec); -extern void compute_test_codes (rtx, file_location, char *); -extern file_location get_file_location (rtx); -extern const char *get_emit_function (rtx); -extern bool needs_barrier_p (rtx); -extern bool find_optab (optab_pattern *, const char *); - -#endif /* GCC_GENSUPPORT_H */ diff --git a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/ggc-internal.h b/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/ggc-internal.h deleted file mode 100644 index 25e6ce66..00000000 --- a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/ggc-internal.h +++ /dev/null @@ -1,115 +0,0 @@ -/* Garbage collection for the GNU compiler. Internal definitions - for ggc-*.c and stringpool.cc. - - Copyright (C) 2009-2023 Free Software Foundation, Inc. - -This file is part of GCC. - -GCC is free software; you can redistribute it and/or modify it under -the terms of the GNU General Public License as published by the Free -Software Foundation; either version 3, or (at your option) any later -version. - -GCC is distributed in the hope that it will be useful, but WITHOUT ANY -WARRANTY; without even the implied warranty of MERCHANTABILITY or -FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -for more details. - -You should have received a copy of the GNU General Public License -along with GCC; see the file COPYING3. If not see -. */ - -#ifndef GCC_GGC_INTERNAL_H -#define GCC_GGC_INTERNAL_H - - -/* Call ggc_set_mark on all the roots. */ -extern void ggc_mark_roots (void); - -/* Stringpool. */ - -/* Mark the entries in the string pool. */ -extern void ggc_mark_stringpool (void); - -/* Purge the entries in the string pool. */ -extern void ggc_purge_stringpool (void); - -/* Save and restore the string pool entries for PCH. */ - -extern void gt_pch_save_stringpool (void); -extern void gt_pch_fixup_stringpool (void); -extern void gt_pch_restore_stringpool (void); - -/* PCH and GGC handling for strings, mostly trivial. */ -extern void gt_pch_p_S (void *, void *, gt_pointer_operator, void *); - -/* PCH. */ - -struct ggc_pch_data; - -/* Return a new ggc_pch_data structure. */ -extern struct ggc_pch_data *init_ggc_pch (void); - -/* The second parameter and third parameters give the address and size - of an object. Update the ggc_pch_data structure with as much of - that information as is necessary. The bool argument should be true - if the object is a string. */ -extern void ggc_pch_count_object (struct ggc_pch_data *, void *, size_t, bool); - -/* Return the total size of the data to be written to hold all - the objects previously passed to ggc_pch_count_object. */ -extern size_t ggc_pch_total_size (struct ggc_pch_data *); - -/* The objects, when read, will most likely be at the address - in the second parameter. */ -extern void ggc_pch_this_base (struct ggc_pch_data *, void *); - -/* Assuming that the objects really do end up at the address - passed to ggc_pch_this_base, return the address of this object. - The bool argument should be true if the object is a string. */ -extern char *ggc_pch_alloc_object (struct ggc_pch_data *, void *, size_t, bool); - -/* Write out any initial information required. */ -extern void ggc_pch_prepare_write (struct ggc_pch_data *, FILE *); - -/* Write out this object, including any padding. The last argument should be - true if the object is a string. */ -extern void ggc_pch_write_object (struct ggc_pch_data *, FILE *, void *, - void *, size_t, bool); - -/* All objects have been written, write out any final information - required. */ -extern void ggc_pch_finish (struct ggc_pch_data *, FILE *); - -/* A PCH file has just been read in at the address specified second - parameter. Set up the GC implementation for the new objects. */ -extern void ggc_pch_read (FILE *, void *); - - -/* Allocation and collection. */ - -extern void ggc_record_overhead (size_t, size_t, void * FINAL_MEM_STAT_DECL); - -extern void ggc_free_overhead (void *); - -extern void ggc_prune_overhead_list (void); - -/* Return the number of bytes allocated at the indicated address. */ -extern size_t ggc_get_size (const void *); - - -/* Statistics. */ - -/* This structure contains the statistics common to all collectors. - Particular collectors can extend this structure. */ -struct ggc_statistics -{ - /* At present, we don't really gather any interesting statistics. */ - int unused; -}; - -/* Used by the various collectors to gather and print statistics that - do not depend on the collector in use. */ -extern void ggc_print_common_statistics (FILE *, ggc_statistics *); - -#endif diff --git a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/ggc.h b/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/ggc.h deleted file mode 100644 index 78eab7ea..00000000 --- a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/ggc.h +++ /dev/null @@ -1,371 +0,0 @@ -/* Garbage collection for the GNU compiler. - - Copyright (C) 1998-2023 Free Software Foundation, Inc. - -This file is part of GCC. - -GCC is free software; you can redistribute it and/or modify it under -the terms of the GNU General Public License as published by the Free -Software Foundation; either version 3, or (at your option) any later -version. - -GCC is distributed in the hope that it will be useful, but WITHOUT ANY -WARRANTY; without even the implied warranty of MERCHANTABILITY or -FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -for more details. - -You should have received a copy of the GNU General Public License -along with GCC; see the file COPYING3. If not see -. */ - -#ifndef GCC_GGC_H -#define GCC_GGC_H - -/* Symbols are marked with `ggc' for `gcc gc' so as not to interfere with - an external gc library that might be linked in. */ - -/* Internal functions and data structures used by the GTY - machinery, including the generated gt*.[hc] files. */ - -#include "gtype-desc.h" - -/* One of these applies its third parameter (with cookie in the fourth - parameter) to each pointer in the object pointed to by the first - parameter, using the second parameter. */ -typedef void (*gt_note_pointers) (void *, void *, gt_pointer_operator, - void *); - -/* One of these is called before objects are re-ordered in memory. - The first parameter is the original object, the second is the - subobject that has had its pointers reordered, the third parameter - can compute the new values of a pointer when given the cookie in - the fourth parameter. */ -typedef void (*gt_handle_reorder) (void *, void *, gt_pointer_operator, - void *); - -/* Used by the gt_pch_n_* routines. Register an object in the hash table. */ -extern int gt_pch_note_object (void *, void *, gt_note_pointers, - size_t length_override = (size_t)-1); - -/* Used by the gt_pch_p_* routines. Register address of a callback - pointer. */ -extern void gt_pch_note_callback (void *, void *); - -/* Used by the gt_pch_n_* routines. Register that an object has a reorder - function. */ -extern void gt_pch_note_reorder (void *, void *, gt_handle_reorder); - -/* generated function to clear caches in gc memory. */ -extern void gt_clear_caches (); - -/* Mark the object in the first parameter and anything it points to. */ -typedef void (*gt_pointer_walker) (void *); - -/* Structures for the easy way to mark roots. - In an array, terminated by having base == NULL. */ -struct ggc_root_tab { - void *base; - size_t nelt; - size_t stride; - gt_pointer_walker cb; - gt_pointer_walker pchw; -}; -#define LAST_GGC_ROOT_TAB { NULL, 0, 0, NULL, NULL } -/* Pointers to arrays of ggc_root_tab, terminated by NULL. */ -extern const struct ggc_root_tab * const gt_ggc_rtab[]; -extern const struct ggc_root_tab * const gt_ggc_deletable_rtab[]; -extern const struct ggc_root_tab * const gt_pch_scalar_rtab[]; - -/* If EXPR is not NULL and previously unmarked, mark it and evaluate - to true. Otherwise evaluate to false. */ -#define ggc_test_and_set_mark(EXPR) \ - ((EXPR) != NULL && ((void *) (EXPR)) != (void *) 1 && ! ggc_set_mark (EXPR)) - -#define ggc_mark(EXPR) \ - do { \ - const void *const a__ = (EXPR); \ - if (a__ != NULL && a__ != (void *) 1) \ - ggc_set_mark (a__); \ - } while (0) - -/* Actually set the mark on a particular region of memory, but don't - follow pointers. This function is called by ggc_mark_*. It - returns zero if the object was not previously marked; nonzero if - the object was already marked, or if, for any other reason, - pointers in this data structure should not be traversed. */ -extern int ggc_set_mark (const void *); - -/* Return 1 if P has been marked, zero otherwise. - P must have been allocated by the GC allocator; it mustn't point to - static objects, stack variables, or memory allocated with malloc. */ -extern int ggc_marked_p (const void *); - -/* PCH and GGC handling for strings, mostly trivial. */ -extern void gt_pch_n_S (const void *); -extern void gt_pch_n_S2 (const void *, size_t); -extern void gt_ggc_m_S (const void *); - -/* End of GTY machinery API. */ - -/* Initialize the string pool. */ -extern void init_stringpool (void); - -/* Initialize the garbage collector. */ -extern void init_ggc (void); - -/* When true, identifier nodes are considered as GC roots. When - false, identifier nodes are treated like any other GC-allocated - object, and the identifier hash table is treated as a weak - hash. */ -extern bool ggc_protect_identifiers; - -/* Write out all GCed objects to F. */ -extern void gt_pch_save (FILE *f); - - -/* Allocation. */ - -/* The internal primitive. */ -extern void *ggc_internal_alloc (size_t, void (*)(void *), size_t, - size_t CXX_MEM_STAT_INFO) - ATTRIBUTE_MALLOC; - -inline void * -ggc_internal_alloc (size_t s CXX_MEM_STAT_INFO) -{ - return ggc_internal_alloc (s, NULL, 0, 1 PASS_MEM_STAT); -} - -extern size_t ggc_round_alloc_size (size_t requested_size); - -/* Allocates cleared memory. */ -extern void *ggc_internal_cleared_alloc (size_t, void (*)(void *), - size_t, size_t - CXX_MEM_STAT_INFO) ATTRIBUTE_MALLOC; - -inline void * -ggc_internal_cleared_alloc (size_t s CXX_MEM_STAT_INFO) -{ - return ggc_internal_cleared_alloc (s, NULL, 0, 1 PASS_MEM_STAT); -} - -/* Resize a block. */ -extern void *ggc_realloc (void *, size_t CXX_MEM_STAT_INFO); - -/* Free a block. To be used when known for certain it's not reachable. */ -extern void ggc_free (void *); - -extern void dump_ggc_loc_statistics (); - -/* Reallocator. */ -#define GGC_RESIZEVEC(T, P, N) \ - ((T *) ggc_realloc ((P), (N) * sizeof (T) MEM_STAT_INFO)) - -template -void -finalize (void *p) -{ - static_cast (p)->~T (); -} - -template -inline bool -need_finalization_p () -{ -#if GCC_VERSION >= 4003 - return !__has_trivial_destructor (T); -#else - return true; -#endif -} - -template -inline T * -ggc_alloc (ALONE_CXX_MEM_STAT_INFO) -{ - if (need_finalization_p ()) - return static_cast (ggc_internal_alloc (sizeof (T), finalize, 0, 1 - PASS_MEM_STAT)); - else - return static_cast (ggc_internal_alloc (sizeof (T), NULL, 0, 1 - PASS_MEM_STAT)); -} - -/* GGC allocation function that does not call finalizer for type - that have need_finalization_p equal to true. User is responsible - for calling of the destructor. */ - -template -inline T * -ggc_alloc_no_dtor (ALONE_CXX_MEM_STAT_INFO) -{ - return static_cast (ggc_internal_alloc (sizeof (T), NULL, 0, 1 - PASS_MEM_STAT)); -} - -template -inline T * -ggc_cleared_alloc (ALONE_CXX_MEM_STAT_INFO) -{ - if (need_finalization_p ()) - return static_cast (ggc_internal_cleared_alloc (sizeof (T), - finalize, 0, 1 - PASS_MEM_STAT)); - else - return static_cast (ggc_internal_cleared_alloc (sizeof (T), NULL, 0, 1 - PASS_MEM_STAT)); -} - -template -inline T * -ggc_vec_alloc (size_t c CXX_MEM_STAT_INFO) -{ - if (need_finalization_p ()) - return static_cast (ggc_internal_alloc (c * sizeof (T), finalize, - sizeof (T), c PASS_MEM_STAT)); - else - return static_cast (ggc_internal_alloc (c * sizeof (T), NULL, 0, 0 - PASS_MEM_STAT)); -} - -template -inline T * -ggc_cleared_vec_alloc (size_t c CXX_MEM_STAT_INFO) -{ - if (need_finalization_p ()) - return static_cast (ggc_internal_cleared_alloc (c * sizeof (T), - finalize, - sizeof (T), c - PASS_MEM_STAT)); - else - return static_cast (ggc_internal_cleared_alloc (c * sizeof (T), NULL, - 0, 0 PASS_MEM_STAT)); -} - -inline void * -ggc_alloc_atomic (size_t s CXX_MEM_STAT_INFO) -{ - return ggc_internal_alloc (s PASS_MEM_STAT); -} - -/* Call destructor and free the garbage collected memory. */ - -template -inline void -ggc_delete (T *ptr) -{ - ptr->~T (); - ggc_free (ptr); -} - -/* Allocate a gc-able string, and fill it with LENGTH bytes from CONTENTS. - If LENGTH is -1, then CONTENTS is assumed to be a - null-terminated string and the memory sized accordingly. */ -extern const char *ggc_alloc_string (const char *contents, int length - CXX_MEM_STAT_INFO); - -/* Make a copy of S, in GC-able memory. */ -#define ggc_strdup(S) ggc_alloc_string ((S), -1 MEM_STAT_INFO) - -/* Invoke the collector. Garbage collection occurs only when this - function is called, not during allocations. */ -enum ggc_collect { - GGC_COLLECT_HEURISTIC, - GGC_COLLECT_FORCE -}; -extern void ggc_collect (enum ggc_collect mode = GGC_COLLECT_HEURISTIC); - -/* Return unused memory pages to the system. */ -extern void ggc_trim (void); - -/* Assume that all GGC memory is reachable and grow the limits for next collection. */ -extern void ggc_grow (void); - -/* Register an additional root table. This can be useful for some - plugins. Does nothing if the passed pointer is NULL. */ -extern void ggc_register_root_tab (const struct ggc_root_tab *); - -/* Read objects previously saved with gt_pch_save from F. */ -extern void gt_pch_restore (FILE *f); - -/* Statistics. */ - -/* Print allocation statistics. */ -extern void ggc_print_statistics (void); - -extern void stringpool_statistics (void); - -/* Heuristics. */ -extern void init_ggc_heuristics (void); - -/* Report current heap memory use to stderr. */ -extern void report_heap_memory_use (void); - -#define ggc_alloc_rtvec_sized(NELT) \ - (rtvec_def *) ggc_internal_alloc (sizeof (struct rtvec_def) \ - + ((NELT) - 1) * sizeof (rtx)) \ - -/* Memory statistics passing versions of some allocators. Too few of them to - make gengtype produce them, so just define the needed ones here. */ -inline struct rtx_def * -ggc_alloc_rtx_def_stat (size_t s CXX_MEM_STAT_INFO) -{ - return (struct rtx_def *) ggc_internal_alloc (s PASS_MEM_STAT); -} - -inline union tree_node * -ggc_alloc_tree_node_stat (size_t s CXX_MEM_STAT_INFO) -{ - return (union tree_node *) ggc_internal_alloc (s PASS_MEM_STAT); -} - -inline union tree_node * -ggc_alloc_cleared_tree_node_stat (size_t s CXX_MEM_STAT_INFO) -{ - return (union tree_node *) ggc_internal_cleared_alloc (s PASS_MEM_STAT); -} - -inline gimple * -ggc_alloc_cleared_gimple_statement_stat (size_t s CXX_MEM_STAT_INFO) -{ - return (gimple *) ggc_internal_cleared_alloc (s PASS_MEM_STAT); -} - -inline void -gt_ggc_mx (const char *s) -{ - ggc_test_and_set_mark (const_cast (s)); -} - -inline void -gt_pch_nx (const char *) -{ -} - -inline void gt_pch_nx (bool) { } -inline void gt_pch_nx (char) { } -inline void gt_pch_nx (signed char) { } -inline void gt_pch_nx (unsigned char) { } -inline void gt_pch_nx (short) { } -inline void gt_pch_nx (unsigned short) { } -inline void gt_pch_nx (int) { } -inline void gt_pch_nx (unsigned int) { } -inline void gt_pch_nx (long int) { } -inline void gt_pch_nx (unsigned long int) { } -inline void gt_pch_nx (long long int) { } -inline void gt_pch_nx (unsigned long long int) { } - -inline void gt_ggc_mx (bool) { } -inline void gt_ggc_mx (char) { } -inline void gt_ggc_mx (signed char) { } -inline void gt_ggc_mx (unsigned char) { } -inline void gt_ggc_mx (short) { } -inline void gt_ggc_mx (unsigned short) { } -inline void gt_ggc_mx (int) { } -inline void gt_ggc_mx (unsigned int) { } -inline void gt_ggc_mx (long int) { } -inline void gt_ggc_mx (unsigned long int) { } -inline void gt_ggc_mx (long long int) { } -inline void gt_ggc_mx (unsigned long long int) { } - -#endif diff --git a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/gimple-array-bounds.h b/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/gimple-array-bounds.h deleted file mode 100644 index 13e5f29d..00000000 --- a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/gimple-array-bounds.h +++ /dev/null @@ -1,49 +0,0 @@ -/* Array bounds checking. - Copyright (C) 2020-2023 Free Software Foundation, Inc. - -This file is part of GCC. - -GCC is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 3, or (at your option) -any later version. - -GCC is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GCC; see the file COPYING3. If not see -. */ - -#ifndef GCC_GIMPLE_ARRAY_BOUNDS_H -#define GCC_GIMPLE_ARRAY_BOUNDS_H - -#include "pointer-query.h" - -class array_bounds_checker -{ - friend class check_array_bounds_dom_walker; - -public: - array_bounds_checker (struct function *, range_query *); - void check (); - -private: - static tree check_array_bounds (tree *tp, int *walk_subtree, void *data); - bool check_array_ref (location_t, tree, gimple *, bool ignore_off_by_one); - bool check_mem_ref (location_t, tree, bool ignore_off_by_one); - void check_addr_expr (location_t, tree, gimple *); - const value_range *get_value_range (const_tree op, gimple *); - - /* Current function. */ - struct function *fun; - /* A pointer_query object to store information about pointers and - their targets in. */ - pointer_query m_ptr_qry; - /* Current statement. */ - gimple *m_stmt; -}; - -#endif // GCC_GIMPLE_ARRAY_BOUNDS_H diff --git a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/gimple-builder.h b/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/gimple-builder.h deleted file mode 100644 index f9dd9fb8..00000000 --- a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/gimple-builder.h +++ /dev/null @@ -1,36 +0,0 @@ -/* Header file for high level statement building routines. - Copyright (C) 2013-2023 Free Software Foundation, Inc. - -This file is part of GCC. - -GCC is free software; you can redistribute it and/or modify it under -the terms of the GNU General Public License as published by the Free -Software Foundation; either version 3, or (at your option) any later -version. - -GCC is distributed in the hope that it will be useful, but WITHOUT ANY -WARRANTY; without even the implied warranty of MERCHANTABILITY or -FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - for more details. - -You should have received a copy of the GNU General Public License -along with GCC; see the file COPYING3. If not see -. */ - - -#ifndef GCC_GIMPLE_BUILDER_H -#define GCC_GIMPLE_BUILDER_H - -/* ??? This API is legacy and should not be used in new code. */ - -gassign *build_assign (enum tree_code, tree, int, tree lhs = NULL_TREE); -gassign *build_assign (enum tree_code, gimple *, int, tree lhs = NULL_TREE); -gassign *build_assign (enum tree_code, tree, tree, tree lhs = NULL_TREE); -gassign *build_assign (enum tree_code, gimple *, tree, tree lhs = NULL_TREE); -gassign *build_assign (enum tree_code, tree, gimple *, tree lhs = NULL_TREE); -gassign *build_assign (enum tree_code, gimple *, gimple *, - tree lhs = NULL_TREE); -gassign *build_type_cast (tree, tree, tree lhs = NULL_TREE); -gassign *build_type_cast (tree, gimple *, tree lhs = NULL_TREE); - -#endif /* GCC_GIMPLE_BUILDER_H */ diff --git a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/gimple-expr.h b/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/gimple-expr.h deleted file mode 100644 index e89f7e20..00000000 --- a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/gimple-expr.h +++ /dev/null @@ -1,179 +0,0 @@ -/* Header file for gimple decl, type and expressions. - Copyright (C) 2013-2023 Free Software Foundation, Inc. - -This file is part of GCC. - -GCC is free software; you can redistribute it and/or modify it under -the terms of the GNU General Public License as published by the Free -Software Foundation; either version 3, or (at your option) any later -version. - -GCC is distributed in the hope that it will be useful, but WITHOUT ANY -WARRANTY; without even the implied warranty of MERCHANTABILITY or -FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - for more details. - -You should have received a copy of the GNU General Public License -along with GCC; see the file COPYING3. If not see -. */ - -#ifndef GCC_GIMPLE_EXPR_H -#define GCC_GIMPLE_EXPR_H - -extern bool useless_type_conversion_p (tree, tree); - - -extern void gimple_set_body (tree, gimple_seq); -extern gimple_seq gimple_body (tree); -extern bool gimple_has_body_p (tree); -extern const char *gimple_decl_printable_name (tree, int); -extern tree copy_var_decl (tree, tree, tree); -extern tree create_tmp_var_name (const char *); -extern tree create_tmp_var_raw (tree, const char * = NULL); -extern tree create_tmp_var (tree, const char * = NULL); -extern tree create_tmp_reg (tree, const char * = NULL); -extern tree create_tmp_reg_fn (struct function *, tree, const char *); - - -extern void extract_ops_from_tree (tree, enum tree_code *, tree *, tree *, - tree *); -extern void gimple_cond_get_ops_from_tree (tree, enum tree_code *, tree *, - tree *); -extern bool is_gimple_lvalue (tree); -extern bool is_gimple_condexpr_for_cond (tree); -extern bool is_gimple_address (const_tree); -extern bool is_gimple_invariant_address (const_tree); -extern bool is_gimple_ip_invariant_address (const_tree); -extern bool is_gimple_min_invariant (const_tree); -extern bool is_gimple_ip_invariant (const_tree); -extern bool is_gimple_reg (tree); -extern bool is_gimple_val (tree); -extern bool is_gimple_asm_val (tree); -extern bool is_gimple_min_lval (tree); -extern bool is_gimple_call_addr (tree); -extern bool is_gimple_mem_ref_addr (tree); -extern void flush_mark_addressable_queue (void); -extern void mark_addressable (tree); -extern bool is_gimple_reg_rhs (tree); -extern tree canonicalize_cond_expr_cond (tree); - -/* Return true if a conversion from either type of TYPE1 and TYPE2 - to the other is not required. Otherwise return false. */ - -inline bool -types_compatible_p (tree type1, tree type2) -{ - return (type1 == type2 - || (useless_type_conversion_p (type1, type2) - && useless_type_conversion_p (type2, type1))); -} - -/* Return true if TYPE is a suitable type for a scalar register variable. */ - -inline bool -is_gimple_reg_type (tree type) -{ - return !AGGREGATE_TYPE_P (type); -} - -/* Return true if T is a variable. */ - -inline bool -is_gimple_variable (tree t) -{ - return (TREE_CODE (t) == VAR_DECL - || TREE_CODE (t) == PARM_DECL - || TREE_CODE (t) == RESULT_DECL - || TREE_CODE (t) == SSA_NAME); -} - -/* Return true if T is a GIMPLE identifier (something with an address). */ - -inline bool -is_gimple_id (tree t) -{ - return (is_gimple_variable (t) - || TREE_CODE (t) == FUNCTION_DECL - || TREE_CODE (t) == LABEL_DECL - || TREE_CODE (t) == CONST_DECL - /* Allow string constants, since they are addressable. */ - || TREE_CODE (t) == STRING_CST); -} - -/* Return true if OP, an SSA name or a DECL is a virtual operand. */ - -inline bool -virtual_operand_p (tree op) -{ - if (TREE_CODE (op) == SSA_NAME) - return SSA_NAME_IS_VIRTUAL_OPERAND (op); - - if (TREE_CODE (op) == VAR_DECL) - return VAR_DECL_IS_VIRTUAL_OPERAND (op); - - return false; -} - -/* Return true if T is something whose address can be taken. */ - -inline bool -is_gimple_addressable (tree t) -{ - return (is_gimple_id (t) || handled_component_p (t) - || TREE_CODE (t) == TARGET_MEM_REF - || TREE_CODE (t) == MEM_REF); -} - -/* Return true if T is a valid gimple constant. */ - -inline bool -is_gimple_constant (const_tree t) -{ - switch (TREE_CODE (t)) - { - case INTEGER_CST: - case POLY_INT_CST: - case REAL_CST: - case FIXED_CST: - case COMPLEX_CST: - case VECTOR_CST: - case STRING_CST: - return true; - - default: - return false; - } -} - -/* A wrapper around extract_ops_from_tree with 3 ops, for callers which - expect to see only a maximum of two operands. */ - -inline void -extract_ops_from_tree (tree expr, enum tree_code *code, tree *op0, - tree *op1) -{ - tree op2; - extract_ops_from_tree (expr, code, op0, op1, &op2); - gcc_assert (op2 == NULL_TREE); -} - -/* Given a valid GIMPLE_CALL function address return the FUNCTION_DECL - associated with the callee if known. Otherwise return NULL_TREE. */ - -inline tree -gimple_call_addr_fndecl (const_tree fn) -{ - if (fn && TREE_CODE (fn) == ADDR_EXPR) - { - tree fndecl = TREE_OPERAND (fn, 0); - if (TREE_CODE (fndecl) == MEM_REF - && TREE_CODE (TREE_OPERAND (fndecl, 0)) == ADDR_EXPR - && integer_zerop (TREE_OPERAND (fndecl, 1))) - fndecl = TREE_OPERAND (TREE_OPERAND (fndecl, 0), 0); - if (TREE_CODE (fndecl) == FUNCTION_DECL) - return fndecl; - } - return NULL_TREE; -} - -#endif /* GCC_GIMPLE_EXPR_H */ diff --git a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/gimple-fold.h b/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/gimple-fold.h deleted file mode 100644 index 2fd58db9..00000000 --- a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/gimple-fold.h +++ /dev/null @@ -1,281 +0,0 @@ -/* Gimple folding definitions. - - Copyright (C) 2011-2023 Free Software Foundation, Inc. - Contributed by Richard Guenther - -This file is part of GCC. - -GCC is free software; you can redistribute it and/or modify it under -the terms of the GNU General Public License as published by the Free -Software Foundation; either version 3, or (at your option) any later -version. - -GCC is distributed in the hope that it will be useful, but WITHOUT ANY -WARRANTY; without even the implied warranty of MERCHANTABILITY or -FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -for more details. - -You should have received a copy of the GNU General Public License -along with GCC; see the file COPYING3. If not see -. */ - -#ifndef GCC_GIMPLE_FOLD_H -#define GCC_GIMPLE_FOLD_H - -extern tree create_tmp_reg_or_ssa_name (tree, gimple *stmt = NULL); -extern tree canonicalize_constructor_val (tree, tree); -extern tree get_symbol_constant_value (tree); -struct c_strlen_data; -extern bool get_range_strlen (tree, c_strlen_data *, unsigned eltsize); -extern void gimplify_and_update_call_from_tree (gimple_stmt_iterator *, tree); -extern bool update_gimple_call (gimple_stmt_iterator *, tree, int, ...); -extern bool fold_stmt (gimple_stmt_iterator *); -extern bool fold_stmt (gimple_stmt_iterator *, tree (*) (tree)); -extern bool fold_stmt_inplace (gimple_stmt_iterator *); -extern tree maybe_fold_and_comparisons (tree, enum tree_code, tree, tree, - enum tree_code, tree, tree, - basic_block = nullptr); -extern tree maybe_fold_or_comparisons (tree, enum tree_code, tree, tree, - enum tree_code, tree, tree, - basic_block = nullptr); -extern bool optimize_atomic_compare_exchange_p (gimple *); -extern void fold_builtin_atomic_compare_exchange (gimple_stmt_iterator *); -extern tree no_follow_ssa_edges (tree); -extern tree follow_single_use_edges (tree); -extern tree follow_all_ssa_edges (tree); -extern tree gimple_fold_stmt_to_constant_1 (gimple *, tree (*) (tree), - tree (*) (tree) = no_follow_ssa_edges); -extern tree gimple_fold_stmt_to_constant (gimple *, tree (*) (tree)); -extern tree fold_ctor_reference (tree, tree, const poly_uint64&, - const poly_uint64&, tree, - unsigned HOST_WIDE_INT * = NULL); -extern tree fold_const_aggregate_ref_1 (tree, tree (*) (tree)); -extern tree fold_const_aggregate_ref (tree); -extern tree gimple_get_virt_method_for_binfo (HOST_WIDE_INT, tree, - bool *can_refer = NULL); -extern tree gimple_get_virt_method_for_vtable (HOST_WIDE_INT, tree, - unsigned HOST_WIDE_INT, - bool *can_refer = NULL); -extern tree gimple_fold_indirect_ref (tree); -extern bool gimple_fold_builtin_sprintf (gimple_stmt_iterator *); -extern bool gimple_fold_builtin_snprintf (gimple_stmt_iterator *); -extern bool arith_code_with_undefined_signed_overflow (tree_code); -extern gimple_seq rewrite_to_defined_overflow (gimple *, bool = false); -extern void replace_call_with_value (gimple_stmt_iterator *, tree); -extern tree tree_vec_extract (gimple_stmt_iterator *, tree, tree, tree, tree); -extern void gsi_replace_with_seq_vops (gimple_stmt_iterator *, gimple_seq); - -/* gimple_build, functionally matching fold_buildN, outputs stmts - int the provided sequence, matching and simplifying them on-the-fly. - Supposed to replace force_gimple_operand (fold_buildN (...), ...). */ -extern tree gimple_build (gimple_stmt_iterator *, bool, - enum gsi_iterator_update, - location_t, enum tree_code, tree, tree); -extern tree gimple_build (gimple_stmt_iterator *, bool, - enum gsi_iterator_update, - location_t, enum tree_code, tree, tree, tree); -extern tree gimple_build (gimple_stmt_iterator *, bool, - enum gsi_iterator_update, - location_t, enum tree_code, tree, tree, tree, tree); -template -inline tree -gimple_build (gimple_seq *seq, location_t loc, - enum tree_code code, tree type, Args ...ops) -{ - static_assert (sizeof...(ops) > 0 && sizeof...(ops) <= 3, - "Number of operands must be from one to three"); - gimple_stmt_iterator gsi = gsi_last (*seq); - return gimple_build (&gsi, false, GSI_CONTINUE_LINKING, - loc, code, type, ops...); -} -template -inline tree -gimple_build (gimple_seq *seq, enum tree_code code, tree type, Args ...ops) -{ - static_assert (sizeof...(ops) > 0 && sizeof...(ops) <= 3, - "Number of operands must be from one to three"); - gimple_stmt_iterator gsi = gsi_last (*seq); - return gimple_build (&gsi, false, GSI_CONTINUE_LINKING, - UNKNOWN_LOCATION, code, type, ops...); -} - -extern tree gimple_build (gimple_stmt_iterator *, bool, - enum gsi_iterator_update, - location_t, combined_fn, tree); -extern tree gimple_build (gimple_stmt_iterator *, bool, - enum gsi_iterator_update, - location_t, combined_fn, tree, tree); -extern tree gimple_build (gimple_stmt_iterator *, bool, - enum gsi_iterator_update, - location_t, combined_fn, tree, tree, tree); -extern tree gimple_build (gimple_stmt_iterator *, bool, - enum gsi_iterator_update, - location_t, combined_fn, tree, tree, tree, tree); -template -inline tree -gimple_build (gimple_seq *seq, location_t loc, - combined_fn fn, tree type, Args ...args) -{ - static_assert (sizeof...(args) < 4, - "Number of arguments must be less than four"); - gimple_stmt_iterator gsi = gsi_last (*seq); - return gimple_build (&gsi, false, GSI_CONTINUE_LINKING, - loc, fn, type, args...); -} -template -inline tree -gimple_build (gimple_seq *seq, combined_fn fn, tree type, Args ...args) -{ - static_assert (sizeof...(args) < 4, - "Number of arguments must be less than four"); - gimple_stmt_iterator gsi = gsi_last (*seq); - return gimple_build (&gsi, false, GSI_CONTINUE_LINKING, - UNKNOWN_LOCATION, fn, type, args...); -} - -extern tree gimple_build (gimple_stmt_iterator *, bool, - enum gsi_iterator_update, - location_t, code_helper, tree, tree); -extern tree gimple_build (gimple_stmt_iterator *, bool, - enum gsi_iterator_update, - location_t, code_helper, tree, tree, tree); -extern tree gimple_build (gimple_stmt_iterator *, bool, - enum gsi_iterator_update, - location_t, code_helper, tree, tree, tree, tree); - -template -inline tree -gimple_build (gimple_seq *seq, location_t loc, - code_helper code, tree type, Args ...ops) -{ - static_assert (sizeof...(ops) < 4, - "Number of operands must be less than four"); - gimple_stmt_iterator gsi = gsi_last (*seq); - return gimple_build (&gsi, false, GSI_CONTINUE_LINKING, - loc, code, type, ops...); -} -template -inline tree -gimple_build (gimple_seq *seq, - code_helper code, tree type, Args ...ops) -{ - static_assert (sizeof...(ops) < 4, - "Number of operands must be less than four"); - gimple_stmt_iterator gsi = gsi_last (*seq); - return gimple_build (&gsi, false, GSI_CONTINUE_LINKING, - UNKNOWN_LOCATION, code, type, ops...); -} - -extern tree gimple_convert (gimple_stmt_iterator *, bool, - enum gsi_iterator_update, - location_t, tree, tree); -inline tree -gimple_convert (gimple_seq *seq, location_t loc, tree type, tree op) -{ - gimple_stmt_iterator gsi = gsi_last (*seq); - return gimple_convert (&gsi, false, GSI_CONTINUE_LINKING, loc, type, op); -} -inline tree -gimple_convert (gimple_seq *seq, tree type, tree op) -{ - gimple_stmt_iterator gsi = gsi_last (*seq); - return gimple_convert (&gsi, false, GSI_CONTINUE_LINKING, - UNKNOWN_LOCATION, type, op); -} - -extern tree gimple_convert_to_ptrofftype (gimple_stmt_iterator *, bool, - enum gsi_iterator_update, - location_t, tree); -inline tree -gimple_convert_to_ptrofftype (gimple_seq *seq, location_t loc, tree op) -{ - gimple_stmt_iterator gsi = gsi_last (*seq); - return gimple_convert_to_ptrofftype (&gsi, false, GSI_CONTINUE_LINKING, - loc, op); -} -inline tree -gimple_convert_to_ptrofftype (gimple_seq *seq, tree op) -{ - gimple_stmt_iterator gsi = gsi_last (*seq); - return gimple_convert_to_ptrofftype (&gsi, false, GSI_CONTINUE_LINKING, - UNKNOWN_LOCATION, op); -} - -extern tree gimple_build_vector_from_val (gimple_stmt_iterator *, bool, - enum gsi_iterator_update, - location_t, tree, tree); -inline tree -gimple_build_vector_from_val (gimple_seq *seq, location_t loc, - tree type, tree op) -{ - gimple_stmt_iterator gsi = gsi_last (*seq); - return gimple_build_vector_from_val (&gsi, false, GSI_CONTINUE_LINKING, - loc, type, op); -} -inline tree -gimple_build_vector_from_val (gimple_seq *seq, tree type, tree op) -{ - gimple_stmt_iterator gsi = gsi_last (*seq); - return gimple_build_vector_from_val (&gsi, false, GSI_CONTINUE_LINKING, - UNKNOWN_LOCATION, type, op); -} - -class tree_vector_builder; -extern tree gimple_build_vector (gimple_stmt_iterator *, bool, - enum gsi_iterator_update, - location_t, tree_vector_builder *); -inline tree -gimple_build_vector (gimple_seq *seq, location_t loc, - tree_vector_builder *builder) -{ - gimple_stmt_iterator gsi = gsi_last (*seq); - return gimple_build_vector (&gsi, false, GSI_CONTINUE_LINKING, - loc, builder); -} -inline tree -gimple_build_vector (gimple_seq *seq, tree_vector_builder *builder) -{ - gimple_stmt_iterator gsi = gsi_last (*seq); - return gimple_build_vector (&gsi, false, GSI_CONTINUE_LINKING, - UNKNOWN_LOCATION, builder); -} - -extern tree gimple_build_round_up (gimple_stmt_iterator *, bool, - enum gsi_iterator_update, - location_t, tree, tree, - unsigned HOST_WIDE_INT); -inline tree -gimple_build_round_up (gimple_seq *seq, location_t loc, - tree type, tree old_size, unsigned HOST_WIDE_INT align) -{ - gimple_stmt_iterator gsi = gsi_last (*seq); - return gimple_build_round_up (&gsi, false, GSI_CONTINUE_LINKING, - loc, type, old_size, align); -} -inline tree -gimple_build_round_up (gimple_seq *seq, tree type, tree old_size, - unsigned HOST_WIDE_INT align) -{ - gimple_stmt_iterator gsi = gsi_last (*seq); - return gimple_build_round_up (&gsi, false, GSI_CONTINUE_LINKING, - UNKNOWN_LOCATION, type, old_size, align); -} - -extern bool gimple_stmt_nonnegative_warnv_p (gimple *, bool *, int = 0); -extern bool gimple_stmt_integer_valued_real_p (gimple *, int = 0); - -/* In gimple-match.cc. */ -extern tree gimple_simplify (enum tree_code, tree, tree, - gimple_seq *, tree (*)(tree)); -extern tree gimple_simplify (enum tree_code, tree, tree, tree, - gimple_seq *, tree (*)(tree)); -extern tree gimple_simplify (enum tree_code, tree, tree, tree, tree, - gimple_seq *, tree (*)(tree)); -extern tree gimple_simplify (combined_fn, tree, tree, - gimple_seq *, tree (*)(tree)); -extern tree gimple_simplify (combined_fn, tree, tree, tree, - gimple_seq *, tree (*)(tree)); -extern tree gimple_simplify (combined_fn, tree, tree, tree, tree, - gimple_seq *, tree (*)(tree)); - -#endif /* GCC_GIMPLE_FOLD_H */ diff --git a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/gimple-iterator.h b/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/gimple-iterator.h deleted file mode 100644 index 38352aa9..00000000 --- a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/gimple-iterator.h +++ /dev/null @@ -1,415 +0,0 @@ -/* Header file for gimple iterators. - Copyright (C) 2013-2023 Free Software Foundation, Inc. - -This file is part of GCC. - -GCC is free software; you can redistribute it and/or modify it under -the terms of the GNU General Public License as published by the Free -Software Foundation; either version 3, or (at your option) any later -version. - -GCC is distributed in the hope that it will be useful, but WITHOUT ANY -WARRANTY; without even the implied warranty of MERCHANTABILITY or -FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - for more details. - -You should have received a copy of the GNU General Public License -along with GCC; see the file COPYING3. If not see -. */ - -#ifndef GCC_GIMPLE_ITERATOR_H -#define GCC_GIMPLE_ITERATOR_H - -/* Iterator object for GIMPLE statement sequences. */ - -struct gimple_stmt_iterator -{ - /* Sequence node holding the current statement. */ - gimple_seq_node ptr; - - /* Sequence and basic block holding the statement. These fields - are necessary to handle edge cases such as when statement is - added to an empty basic block or when the last statement of a - block/sequence is removed. */ - gimple_seq *seq; - basic_block bb; -}; - -/* Iterator over GIMPLE_PHI statements. */ -struct gphi_iterator : public gimple_stmt_iterator -{ - gphi *phi () const - { - return as_a (ptr); - } -}; - -enum gsi_iterator_update -{ - GSI_NEW_STMT = 2, /* Move the iterator to the first statement added. */ - GSI_LAST_NEW_STMT, /* Move the iterator to the last statement added. */ - GSI_SAME_STMT, /* Leave the iterator at the same statement. */ - GSI_CONTINUE_LINKING /* Move iterator to whatever position is suitable - for linking other statements in the same - direction. */ -}; - -extern void gsi_insert_seq_before_without_update (gimple_stmt_iterator *, - gimple_seq, - enum gsi_iterator_update); -extern void gsi_insert_seq_before (gimple_stmt_iterator *, gimple_seq, - enum gsi_iterator_update); -extern void gsi_insert_seq_after_without_update (gimple_stmt_iterator *, - gimple_seq, - enum gsi_iterator_update); -extern void gsi_insert_seq_after (gimple_stmt_iterator *, gimple_seq, - enum gsi_iterator_update); -extern gimple_seq gsi_split_seq_after (gimple_stmt_iterator); -extern void gsi_set_stmt (gimple_stmt_iterator *, gimple *); -extern void gsi_split_seq_before (gimple_stmt_iterator *, gimple_seq *); -extern bool gsi_replace (gimple_stmt_iterator *, gimple *, bool); -extern void gsi_replace_with_seq (gimple_stmt_iterator *, gimple_seq, bool); -extern void gsi_insert_before_without_update (gimple_stmt_iterator *, gimple *, - enum gsi_iterator_update); -extern void gsi_insert_before (gimple_stmt_iterator *, gimple *, - enum gsi_iterator_update); -extern void gsi_insert_after_without_update (gimple_stmt_iterator *, gimple *, - enum gsi_iterator_update); -extern void gsi_insert_after (gimple_stmt_iterator *, gimple *, - enum gsi_iterator_update); -extern bool gsi_remove (gimple_stmt_iterator *, bool); -extern gimple_stmt_iterator gsi_for_stmt (gimple *); -extern gimple_stmt_iterator gsi_for_stmt (gimple *, gimple_seq *); -extern gphi_iterator gsi_for_phi (gphi *); -extern void gsi_move_after (gimple_stmt_iterator *, gimple_stmt_iterator *); -extern void gsi_move_before (gimple_stmt_iterator *, gimple_stmt_iterator *); -extern void gsi_move_to_bb_end (gimple_stmt_iterator *, basic_block); -extern void gsi_insert_on_edge (edge, gimple *); -extern void gsi_insert_seq_on_edge (edge, gimple_seq); -extern basic_block gsi_insert_on_edge_immediate (edge, gimple *); -extern basic_block gsi_insert_seq_on_edge_immediate (edge, gimple_seq); -extern void gsi_commit_edge_inserts (void); -extern void gsi_commit_one_edge_insert (edge, basic_block *); -extern gphi_iterator gsi_start_phis (basic_block); -extern void update_modified_stmts (gimple_seq); - -/* Return a new iterator pointing to GIMPLE_SEQ's first statement. */ - -inline gimple_stmt_iterator -gsi_start (gimple_seq &seq) -{ - gimple_stmt_iterator i; - - i.ptr = gimple_seq_first (seq); - i.seq = &seq; - i.bb = i.ptr ? gimple_bb (i.ptr) : NULL; - - return i; -} - -inline gimple_stmt_iterator -gsi_none (void) -{ - gimple_stmt_iterator i; - i.ptr = NULL; - i.seq = NULL; - i.bb = NULL; - return i; -} - -/* Return a new iterator pointing to the first statement in basic block BB. */ - -inline gimple_stmt_iterator -gsi_start_bb (basic_block bb) -{ - gimple_stmt_iterator i; - gimple_seq *seq; - - seq = bb_seq_addr (bb); - i.ptr = gimple_seq_first (*seq); - i.seq = seq; - i.bb = bb; - - return i; -} - -gimple_stmt_iterator gsi_start_edge (edge e); - -/* Return a new iterator initially pointing to GIMPLE_SEQ's last statement. */ - -inline gimple_stmt_iterator -gsi_last (gimple_seq &seq) -{ - gimple_stmt_iterator i; - - i.ptr = gimple_seq_last (seq); - i.seq = &seq; - i.bb = i.ptr ? gimple_bb (i.ptr) : NULL; - - return i; -} - -/* Return a new iterator pointing to the last statement in basic block BB. */ - -inline gimple_stmt_iterator -gsi_last_bb (basic_block bb) -{ - gimple_stmt_iterator i; - gimple_seq *seq; - - seq = bb_seq_addr (bb); - i.ptr = gimple_seq_last (*seq); - i.seq = seq; - i.bb = bb; - - return i; -} - -/* Return true if I is at the end of its sequence. */ - -inline bool -gsi_end_p (gimple_stmt_iterator i) -{ - return i.ptr == NULL; -} - -/* Return true if I is one statement before the end of its sequence. */ - -inline bool -gsi_one_before_end_p (gimple_stmt_iterator i) -{ - return i.ptr != NULL && i.ptr->next == NULL; -} - -/* Advance the iterator to the next gimple statement. */ - -inline void -gsi_next (gimple_stmt_iterator *i) -{ - i->ptr = i->ptr->next; -} - -/* Advance the iterator to the previous gimple statement. */ - -inline void -gsi_prev (gimple_stmt_iterator *i) -{ - gimple *prev = i->ptr->prev; - if (prev->next) - i->ptr = prev; - else - i->ptr = NULL; -} - -/* Return the current stmt. */ - -inline gimple * -gsi_stmt (gimple_stmt_iterator i) -{ - return i.ptr; -} - -/* Return a block statement iterator that points to the first - non-label statement in block BB. */ - -inline gimple_stmt_iterator -gsi_after_labels (basic_block bb) -{ - gimple_stmt_iterator gsi = gsi_start_bb (bb); - - for (; !gsi_end_p (gsi); ) - { - if (gimple_code (gsi_stmt (gsi)) == GIMPLE_LABEL) - gsi_next (&gsi); - else - break; - } - - return gsi; -} - -/* Return a statement iterator that points to the first - non-label statement in sequence SEQ. */ - -inline gimple_stmt_iterator -gsi_after_labels (gimple_seq &seq) -{ - gimple_stmt_iterator gsi = gsi_start (seq); - - for (; !gsi_end_p (gsi); ) - { - if (gimple_code (gsi_stmt (gsi)) == GIMPLE_LABEL) - gsi_next (&gsi); - else - break; - } - - return gsi; -} - -/* Advance the iterator to the next non-debug gimple statement. */ - -inline void -gsi_next_nondebug (gimple_stmt_iterator *i) -{ - do - { - gsi_next (i); - } - while (!gsi_end_p (*i) && is_gimple_debug (gsi_stmt (*i))); -} - -/* Advance the iterator to the previous non-debug gimple statement. */ - -inline void -gsi_prev_nondebug (gimple_stmt_iterator *i) -{ - do - { - gsi_prev (i); - } - while (!gsi_end_p (*i) && is_gimple_debug (gsi_stmt (*i))); -} - -/* Return a new iterator pointing to the first non-debug statement in - SEQ. */ - -inline gimple_stmt_iterator -gsi_start_nondebug (gimple_seq seq) -{ - gimple_stmt_iterator gsi = gsi_start (seq); - if (!gsi_end_p (gsi) && is_gimple_debug (gsi_stmt (gsi))) - gsi_next_nondebug (&gsi); - - return gsi; -} - -/* Return a new iterator pointing to the first non-debug statement in - basic block BB. */ - -inline gimple_stmt_iterator -gsi_start_nondebug_bb (basic_block bb) -{ - gimple_stmt_iterator i = gsi_start_bb (bb); - - if (!gsi_end_p (i) && is_gimple_debug (gsi_stmt (i))) - gsi_next_nondebug (&i); - - return i; -} - -/* Return a new iterator pointing to the first non-debug non-label statement in - basic block BB. */ - -inline gimple_stmt_iterator -gsi_start_nondebug_after_labels_bb (basic_block bb) -{ - gimple_stmt_iterator i = gsi_after_labels (bb); - - if (!gsi_end_p (i) && is_gimple_debug (gsi_stmt (i))) - gsi_next_nondebug (&i); - - return i; -} - -/* Return a new iterator pointing to the last non-debug statement in - basic block BB. */ - -inline gimple_stmt_iterator -gsi_last_nondebug_bb (basic_block bb) -{ - gimple_stmt_iterator i = gsi_last_bb (bb); - - if (!gsi_end_p (i) && is_gimple_debug (gsi_stmt (i))) - gsi_prev_nondebug (&i); - - return i; -} - -/* Return true if I is followed only by debug statements in its - sequence. */ - -inline bool -gsi_one_nondebug_before_end_p (gimple_stmt_iterator i) -{ - if (gsi_one_before_end_p (i)) - return true; - if (gsi_end_p (i)) - return false; - gsi_next_nondebug (&i); - return gsi_end_p (i); -} - -/* Advance I statement iterator to the next non-virtual GIMPLE_PHI - statement. */ - -inline void -gsi_next_nonvirtual_phi (gphi_iterator *i) -{ - do - { - gsi_next (i); - } - while (!gsi_end_p (*i) && virtual_operand_p (gimple_phi_result (i->phi ()))); -} - -/* Return a new iterator pointing to the first non-virtual phi statement in - basic block BB. */ - -inline gphi_iterator -gsi_start_nonvirtual_phis (basic_block bb) -{ - gphi_iterator i = gsi_start_phis (bb); - - if (!gsi_end_p (i) && virtual_operand_p (gimple_phi_result (i.phi ()))) - gsi_next_nonvirtual_phi (&i); - - return i; -} - -/* Return the basic block associated with this iterator. */ - -inline basic_block -gsi_bb (gimple_stmt_iterator i) -{ - return i.bb; -} - -/* Return the sequence associated with this iterator. */ - -inline gimple_seq -gsi_seq (gimple_stmt_iterator i) -{ - return *i.seq; -} - -/* Determine whether SEQ is a nondebug singleton. */ - -inline bool -gimple_seq_nondebug_singleton_p (gimple_seq seq) -{ - gimple_stmt_iterator gsi; - - /* Find a nondebug gimple. */ - gsi.ptr = gimple_seq_first (seq); - gsi.seq = &seq; - gsi.bb = NULL; - while (!gsi_end_p (gsi) - && is_gimple_debug (gsi_stmt (gsi))) - gsi_next (&gsi); - - /* No nondebug gimple found, not a singleton. */ - if (gsi_end_p (gsi)) - return false; - - /* Find a next nondebug gimple. */ - gsi_next (&gsi); - while (!gsi_end_p (gsi) - && is_gimple_debug (gsi_stmt (gsi))) - gsi_next (&gsi); - - /* Only a singleton if there's no next nondebug gimple. */ - return gsi_end_p (gsi); -} - -#endif /* GCC_GIMPLE_ITERATOR_H */ diff --git a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/gimple-low.h b/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/gimple-low.h deleted file mode 100644 index 8587c288..00000000 --- a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/gimple-low.h +++ /dev/null @@ -1,28 +0,0 @@ -/* Header file for gimple lowering pass. - Copyright (C) 2013-2023 Free Software Foundation, Inc. - -This file is part of GCC. - -GCC is free software; you can redistribute it and/or modify it under -the terms of the GNU General Public License as published by the Free -Software Foundation; either version 3, or (at your option) any later -version. - -GCC is distributed in the hope that it will be useful, but WITHOUT ANY -WARRANTY; without even the implied warranty of MERCHANTABILITY or -FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - for more details. - -You should have received a copy of the GNU General Public License -along with GCC; see the file COPYING3. If not see -. */ - -#ifndef GCC_GIMPLE_LOW_H -#define GCC_GIMPLE_LOW_H - -extern bool gimple_stmt_may_fallthru (gimple *); -extern bool gimple_seq_may_fallthru (gimple_seq); -extern void record_vars_into (tree, tree); -extern void record_vars (tree); - -#endif /* GCC_GIMPLE_LOW_H */ diff --git a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/gimple-match.h b/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/gimple-match.h deleted file mode 100644 index b20585dc..00000000 --- a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/gimple-match.h +++ /dev/null @@ -1,338 +0,0 @@ -/* Gimple simplify definitions. - - Copyright (C) 2011-2023 Free Software Foundation, Inc. - Contributed by Richard Guenther - -This file is part of GCC. - -GCC is free software; you can redistribute it and/or modify it under -the terms of the GNU General Public License as published by the Free -Software Foundation; either version 3, or (at your option) any later -version. - -GCC is distributed in the hope that it will be useful, but WITHOUT ANY -WARRANTY; without even the implied warranty of MERCHANTABILITY or -FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -for more details. - -You should have received a copy of the GNU General Public License -along with GCC; see the file COPYING3. If not see -. */ - -#ifndef GCC_GIMPLE_MATCH_H -#define GCC_GIMPLE_MATCH_H - - -/* Represents the condition under which an operation should happen, - and the value to use otherwise. The condition applies elementwise - (as for VEC_COND_EXPR) if the values are vectors. */ -class gimple_match_cond -{ -public: - enum uncond { UNCOND }; - - /* Build an unconditional op. */ - gimple_match_cond (uncond) : cond (NULL_TREE), else_value (NULL_TREE) {} - gimple_match_cond (tree, tree); - - gimple_match_cond any_else () const; - - /* The condition under which the operation occurs, or NULL_TREE - if the operation is unconditional. */ - tree cond; - - /* The value to use when the condition is false. This is NULL_TREE if - the operation is unconditional or if the value doesn't matter. */ - tree else_value; -}; - -inline -gimple_match_cond::gimple_match_cond (tree cond_in, tree else_value_in) - : cond (cond_in), else_value (else_value_in) -{ -} - -/* Return a gimple_match_cond with the same condition but with an - arbitrary ELSE_VALUE. */ - -inline gimple_match_cond -gimple_match_cond::any_else () const -{ - return gimple_match_cond (cond, NULL_TREE); -} - -/* Represents an operation to be simplified, or the result of the - simplification. */ -class gimple_match_op -{ -public: - gimple_match_op (); - gimple_match_op (const gimple_match_cond &, code_helper, tree, unsigned int); - gimple_match_op (const gimple_match_cond &, - code_helper, tree, tree); - gimple_match_op (const gimple_match_cond &, - code_helper, tree, tree, tree); - gimple_match_op (const gimple_match_cond &, - code_helper, tree, tree, tree, tree); - gimple_match_op (const gimple_match_cond &, - code_helper, tree, tree, tree, tree, tree); - gimple_match_op (const gimple_match_cond &, - code_helper, tree, tree, tree, tree, tree, tree); - - void set_op (code_helper, tree, unsigned int); - void set_op (code_helper, tree, tree); - void set_op (code_helper, tree, tree, tree); - void set_op (code_helper, tree, tree, tree, tree); - void set_op (code_helper, tree, tree, tree, tree, bool); - void set_op (code_helper, tree, tree, tree, tree, tree); - void set_op (code_helper, tree, tree, tree, tree, tree, tree); - void set_value (tree); - - tree op_or_null (unsigned int) const; - - bool resimplify (gimple_seq *, tree (*)(tree)); - - /* The maximum value of NUM_OPS. */ - static const unsigned int MAX_NUM_OPS = 5; - - /* The conditions under which the operation is performed, and the value to - use as a fallback. */ - gimple_match_cond cond; - - /* The operation being performed. */ - code_helper code; - - /* The type of the result. */ - tree type; - - /* For a BIT_FIELD_REF, whether the group of bits is stored in reverse order - from the target order. */ - bool reverse; - - /* The number of operands to CODE. */ - unsigned int num_ops; - - /* The operands to CODE. Only the first NUM_OPS entries are meaningful. */ - tree ops[MAX_NUM_OPS]; -}; - -inline -gimple_match_op::gimple_match_op () - : cond (gimple_match_cond::UNCOND), type (NULL_TREE), reverse (false), - num_ops (0) -{ -} - -/* Constructor that takes the condition, code, type and number of - operands, but leaves the caller to fill in the operands. */ - -inline -gimple_match_op::gimple_match_op (const gimple_match_cond &cond_in, - code_helper code_in, tree type_in, - unsigned int num_ops_in) - : cond (cond_in), code (code_in), type (type_in), reverse (false), - num_ops (num_ops_in) -{ -} - -/* Constructors for various numbers of operands. */ - -inline -gimple_match_op::gimple_match_op (const gimple_match_cond &cond_in, - code_helper code_in, tree type_in, - tree op0) - : cond (cond_in), code (code_in), type (type_in), reverse (false), - num_ops (1) -{ - ops[0] = op0; -} - -inline -gimple_match_op::gimple_match_op (const gimple_match_cond &cond_in, - code_helper code_in, tree type_in, - tree op0, tree op1) - : cond (cond_in), code (code_in), type (type_in), reverse (false), - num_ops (2) -{ - ops[0] = op0; - ops[1] = op1; -} - -inline -gimple_match_op::gimple_match_op (const gimple_match_cond &cond_in, - code_helper code_in, tree type_in, - tree op0, tree op1, tree op2) - : cond (cond_in), code (code_in), type (type_in), reverse (false), - num_ops (3) -{ - ops[0] = op0; - ops[1] = op1; - ops[2] = op2; -} - -inline -gimple_match_op::gimple_match_op (const gimple_match_cond &cond_in, - code_helper code_in, tree type_in, - tree op0, tree op1, tree op2, tree op3) - : cond (cond_in), code (code_in), type (type_in), reverse (false), - num_ops (4) -{ - ops[0] = op0; - ops[1] = op1; - ops[2] = op2; - ops[3] = op3; -} - -inline -gimple_match_op::gimple_match_op (const gimple_match_cond &cond_in, - code_helper code_in, tree type_in, - tree op0, tree op1, tree op2, tree op3, - tree op4) - : cond (cond_in), code (code_in), type (type_in), reverse (false), - num_ops (5) -{ - ops[0] = op0; - ops[1] = op1; - ops[2] = op2; - ops[3] = op3; - ops[4] = op4; -} - -/* Change the operation performed to CODE_IN, the type of the result to - TYPE_IN, and the number of operands to NUM_OPS_IN. The caller needs - to set the operands itself. */ - -inline void -gimple_match_op::set_op (code_helper code_in, tree type_in, - unsigned int num_ops_in) -{ - code = code_in; - type = type_in; - num_ops = num_ops_in; -} - -/* Functions for changing the operation performed, for various numbers - of operands. */ - -inline void -gimple_match_op::set_op (code_helper code_in, tree type_in, tree op0) -{ - code = code_in; - type = type_in; - num_ops = 1; - ops[0] = op0; -} - -inline void -gimple_match_op::set_op (code_helper code_in, tree type_in, tree op0, tree op1) -{ - code = code_in; - type = type_in; - num_ops = 2; - ops[0] = op0; - ops[1] = op1; -} - -inline void -gimple_match_op::set_op (code_helper code_in, tree type_in, - tree op0, tree op1, tree op2) -{ - code = code_in; - type = type_in; - num_ops = 3; - ops[0] = op0; - ops[1] = op1; - ops[2] = op2; -} - -inline void -gimple_match_op::set_op (code_helper code_in, tree type_in, - tree op0, tree op1, tree op2, bool reverse_in) -{ - code = code_in; - type = type_in; - reverse = reverse_in; - num_ops = 3; - ops[0] = op0; - ops[1] = op1; - ops[2] = op2; -} - -inline void -gimple_match_op::set_op (code_helper code_in, tree type_in, - tree op0, tree op1, tree op2, tree op3) -{ - code = code_in; - type = type_in; - num_ops = 4; - ops[0] = op0; - ops[1] = op1; - ops[2] = op2; - ops[3] = op3; -} - -inline void -gimple_match_op::set_op (code_helper code_in, tree type_in, - tree op0, tree op1, tree op2, tree op3, tree op4) -{ - code = code_in; - type = type_in; - num_ops = 5; - ops[0] = op0; - ops[1] = op1; - ops[2] = op2; - ops[3] = op3; - ops[4] = op4; -} - -/* Set the "operation" to be the single value VALUE, such as a constant - or SSA_NAME. */ - -inline void -gimple_match_op::set_value (tree value) -{ - set_op (TREE_CODE (value), TREE_TYPE (value), value); -} - -/* Return the value of operand I, or null if there aren't that many - operands. */ - -inline tree -gimple_match_op::op_or_null (unsigned int i) const -{ - return i < num_ops ? ops[i] : NULL_TREE; -} - -/* Return whether OP is a non-expression result and a gimple value. */ - -inline bool -gimple_simplified_result_is_gimple_val (const gimple_match_op *op) -{ - return (op->code.is_tree_code () - && (TREE_CODE_LENGTH ((tree_code) op->code) == 0 - || ((tree_code) op->code) == ADDR_EXPR) - && is_gimple_val (op->ops[0])); -} - -extern tree (*mprts_hook) (gimple_match_op *); - -bool gimple_extract_op (gimple *, gimple_match_op *); -bool gimple_simplify (gimple *, gimple_match_op *, gimple_seq *, - tree (*)(tree), tree (*)(tree)); -tree maybe_push_res_to_seq (gimple_match_op *, gimple_seq *, - tree res = NULL_TREE); -void maybe_build_generic_op (gimple_match_op *); - -bool commutative_binary_op_p (code_helper, tree); -bool commutative_ternary_op_p (code_helper, tree); -int first_commutative_argument (code_helper, tree); -bool associative_binary_op_p (code_helper, tree); -code_helper canonicalize_code (code_helper, tree); - -#ifdef GCC_OPTABS_TREE_H -bool directly_supported_p (code_helper, tree, optab_subtype = optab_default); -#endif - -internal_fn get_conditional_internal_fn (code_helper, tree); - -#endif /* GCC_GIMPLE_MATCH_H */ diff --git a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/gimple-predicate-analysis.h b/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/gimple-predicate-analysis.h deleted file mode 100644 index 09ceebc5..00000000 --- a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/gimple-predicate-analysis.h +++ /dev/null @@ -1,175 +0,0 @@ -/* Support for simple predicate analysis. - - Copyright (C) 2021-2023 Free Software Foundation, Inc. - Contributed by Martin Sebor - - This file is part of GCC. - - GCC is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 3, or (at your option) - any later version. - - GCC is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with GCC; see the file COPYING3. If not see - . */ - -#ifndef GIMPLE_PREDICATE_ANALYSIS_H_INCLUDED -#define GIMPLE_PREDICATE_ANALYSIS_H_INCLUDED - - -/* Represents a simple Boolean predicate. */ -struct pred_info -{ - tree pred_lhs; - tree pred_rhs; - enum tree_code cond_code; - bool invert; -}; - -/* The type to represent a sequence of predicates grouped - with .AND. operation. */ -typedef vec pred_chain; - -/* The type to represent a sequence of pred_chains grouped - with .OR. operation. */ -typedef vec pred_chain_union; - -/* Represents a complex Boolean predicate expression. */ -class predicate -{ - public: - /* Construct with the specified EVAL object. */ - predicate (bool empty_val) : m_preds (vNULL), m_cval (empty_val) { } - - /* Copy. */ - predicate (const predicate &rhs) : m_preds (vNULL) { *this = rhs; } - - ~predicate (); - - /* Assign. */ - predicate& operator= (const predicate &); - - bool is_empty () const - { - return m_preds.is_empty (); - } - - bool is_true () const - { - return is_empty () && m_cval; - } - - bool is_false () const - { - return is_empty () && !m_cval; - } - - bool empty_val () const - { - return m_cval; - } - - const pred_chain_union chain () const - { - return m_preds; - } - - void init_from_control_deps (const vec *, unsigned, bool); - - void dump (FILE *) const; - void dump (FILE *, gimple *, const char *) const; - void debug () const; - - void normalize (gimple * = NULL, bool = false); - void simplify (gimple * = NULL, bool = false); - - bool superset_of (const predicate &) const; - -private: - - bool includes (const pred_chain &) const; - void push_pred (const pred_info &); - - /* Normalization functions. */ - void normalize (pred_chain *, pred_info, tree_code, pred_chain *, - hash_set *); - void normalize (const pred_info &); - void normalize (const pred_chain &); - - /* Simplification functions. */ - bool simplify_2 (); - bool simplify_3 (); - bool simplify_4 (); - - /* Representation of the predicate expression(s). The predicate is - m_cval || m_preds[0] || ... */ - pred_chain_union m_preds; - bool m_cval; -}; - -/* Represents a complex Boolean predicate expression. */ -class uninit_analysis -{ - public: - /* Base function object type used to determine whether an expression - is of interest. */ - struct func_t - { - typedef unsigned phi_arg_set_t; - - /* Return a bitset of PHI arguments of interest. By default returns - bitset with a bit set for each argument. Should be called in - the overriden function first and, if nonzero, the result then - refined as appropriate. */ - virtual phi_arg_set_t phi_arg_set (gphi *); - - /* Maximum number of PHI arguments supported by phi_arg_set(). */ - static constexpr unsigned max_phi_args = - sizeof (phi_arg_set_t) * CHAR_BIT; - }; - - /* Construct with the specified EVAL object. */ - uninit_analysis (func_t &eval) - : m_phi_def_preds (false), m_eval (eval) { } - - /* Copy. */ - uninit_analysis (const uninit_analysis &rhs) = delete; - - /* Assign. */ - uninit_analysis& operator= (const uninit_analysis&) = delete; - - /* Return true if the use by a statement in the basic block of - a PHI operand is ruled out (i.e., guarded) by *THIS. */ - bool is_use_guarded (gimple *, basic_block, gphi *, unsigned); - -private: - bool is_use_guarded (gimple *, basic_block, gphi *, unsigned, - hash_set *); - bool prune_phi_opnds (gphi *, unsigned, gphi *, tree, tree_code, - hash_set *, bitmap *); - bool overlap (gphi *, unsigned, hash_set *, const predicate &); - - void collect_phi_def_edges (gphi *, basic_block, vec *, - hash_set *); - bool init_from_phi_def (gphi *); - bool init_use_preds (predicate &, basic_block, basic_block); - - - /* Representation of the predicate expression(s). */ - predicate m_phi_def_preds; - /* Callback to evaluate an operand. Return true if it's interesting. */ - func_t &m_eval; -}; - -/* Bit mask handling macros. */ -#define MASK_SET_BIT(mask, pos) mask |= (1 << pos) -#define MASK_TEST_BIT(mask, pos) (mask & (1 << pos)) -#define MASK_EMPTY(mask) (mask == 0) - -#endif // GIMPLE_PREDICATE_ANALYSIS_H_INCLUDED diff --git a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/gimple-predict.h b/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/gimple-predict.h deleted file mode 100644 index 6c085a93..00000000 --- a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/gimple-predict.h +++ /dev/null @@ -1,91 +0,0 @@ -/* Gimple prediction routines. - - Copyright (C) 2007-2023 Free Software Foundation, Inc. - -This file is part of GCC. - -GCC is free software; you can redistribute it and/or modify it under -the terms of the GNU General Public License as published by the Free -Software Foundation; either version 3, or (at your option) any later -version. - -GCC is distributed in the hope that it will be useful, but WITHOUT ANY -WARRANTY; without even the implied warranty of MERCHANTABILITY or -FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -for more details. - -You should have received a copy of the GNU General Public License -along with GCC; see the file COPYING3. If not see -. */ - -#ifndef GCC_GIMPLE_PREDICT_H -#define GCC_GIMPLE_PREDICT_H - -#include "predict.h" - -/* Return the predictor of GIMPLE_PREDICT statement GS. */ - -inline enum br_predictor -gimple_predict_predictor (const gimple *gs) -{ - GIMPLE_CHECK (gs, GIMPLE_PREDICT); - return (enum br_predictor) (gs->subcode & ~GF_PREDICT_TAKEN); -} - - -/* Set the predictor of GIMPLE_PREDICT statement GS to PREDICT. */ - -inline void -gimple_predict_set_predictor (gimple *gs, enum br_predictor predictor) -{ - GIMPLE_CHECK (gs, GIMPLE_PREDICT); - gs->subcode = (gs->subcode & GF_PREDICT_TAKEN) - | (unsigned) predictor; -} - - -/* Return the outcome of GIMPLE_PREDICT statement GS. */ - -inline enum prediction -gimple_predict_outcome (const gimple *gs) -{ - GIMPLE_CHECK (gs, GIMPLE_PREDICT); - return (gs->subcode & GF_PREDICT_TAKEN) ? TAKEN : NOT_TAKEN; -} - - -/* Set the outcome of GIMPLE_PREDICT statement GS to OUTCOME. */ - -inline void -gimple_predict_set_outcome (gimple *gs, enum prediction outcome) -{ - GIMPLE_CHECK (gs, GIMPLE_PREDICT); - if (outcome == TAKEN) - gs->subcode |= GF_PREDICT_TAKEN; - else - gs->subcode &= ~GF_PREDICT_TAKEN; -} - -/* Build a GIMPLE_PREDICT statement. PREDICT is one of the predictors from - predict.def, OUTCOME is NOT_TAKEN or TAKEN. */ - -inline gimple * -gimple_build_predict (enum br_predictor predictor, enum prediction outcome) -{ - gimple *p = gimple_alloc (GIMPLE_PREDICT, 0); - /* Ensure all the predictors fit into the lower bits of the subcode. */ - gcc_assert ((int) END_PREDICTORS <= GF_PREDICT_TAKEN); - gimple_predict_set_predictor (p, predictor); - gimple_predict_set_outcome (p, outcome); - return p; -} - -/* Return true if GS is a GIMPLE_PREDICT statement. */ - -inline bool -is_gimple_predict (const gimple *gs) -{ - return gimple_code (gs) == GIMPLE_PREDICT; -} - -#endif /* GCC_GIMPLE_PREDICT_H */ diff --git a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/gimple-pretty-print.h b/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/gimple-pretty-print.h deleted file mode 100644 index dd7c4a3a..00000000 --- a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/gimple-pretty-print.h +++ /dev/null @@ -1,41 +0,0 @@ -/* Various declarations for pretty formatting of GIMPLE statements and - expressions. - Copyright (C) 2000-2023 Free Software Foundation, Inc. - -This file is part of GCC. - -GCC is free software; you can redistribute it and/or modify it under -the terms of the GNU General Public License as published by the Free -Software Foundation; either version 3, or (at your option) any later -version. - -GCC is distributed in the hope that it will be useful, but WITHOUT ANY -WARRANTY; without even the implied warranty of MERCHANTABILITY or -FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -for more details. - -You should have received a copy of the GNU General Public License -along with GCC; see the file COPYING3. If not see -. */ - -#ifndef GCC_GIMPLE_PRETTY_PRINT_H -#define GCC_GIMPLE_PRETTY_PRINT_H - -#include "tree-pretty-print.h" - -/* In gimple-pretty-print.cc */ -extern void debug_gimple_stmt (gimple *); -extern void debug_gimple_seq (gimple_seq); -extern void print_gimple_seq (FILE *, gimple_seq, int, dump_flags_t); -extern void print_gimple_stmt (FILE *, gimple *, int, dump_flags_t = TDF_NONE); -extern void debug (gimple &ref); -extern void debug (gimple *ptr); -extern void print_gimple_expr (FILE *, gimple *, int, dump_flags_t = TDF_NONE); -extern void pp_gimple_stmt_1 (pretty_printer *, const gimple *, int, - dump_flags_t); -extern void gimple_dump_bb (FILE *, basic_block, int, dump_flags_t); -extern void gimple_dump_bb_for_graph (pretty_printer *, basic_block); -extern void dump_ssaname_info_to_file (FILE *, tree, int); -extern void percent_G_format (text_info *); - -#endif /* ! GCC_GIMPLE_PRETTY_PRINT_H */ diff --git a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/gimple-range-cache.h b/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/gimple-range-cache.h deleted file mode 100644 index 4ff435dc..00000000 --- a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/gimple-range-cache.h +++ /dev/null @@ -1,121 +0,0 @@ -/* Header file for gimple ranger SSA cache. - Copyright (C) 2017-2023 Free Software Foundation, Inc. - Contributed by Andrew MacLeod . - -This file is part of GCC. - -GCC is free software; you can redistribute it and/or modify it under -the terms of the GNU General Public License as published by the Free -Software Foundation; either version 3, or (at your option) any later -version. - -GCC is distributed in the hope that it will be useful, but WITHOUT ANY -WARRANTY; without even the implied warranty of MERCHANTABILITY or -FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - for more details. - -You should have received a copy of the GNU General Public License -along with GCC; see the file COPYING3. If not see -. */ - -#ifndef GCC_SSA_RANGE_CACHE_H -#define GCC_SSA_RANGE_CACHE_H - -#include "gimple-range-gori.h" -#include "gimple-range-infer.h" - -// This class manages a vector of pointers to ssa_block ranges. It -// provides the basis for the "range on entry" cache for all -// SSA names. - -class block_range_cache -{ -public: - block_range_cache (); - ~block_range_cache (); - - bool set_bb_range (tree name, const_basic_block bb, const vrange &v); - bool get_bb_range (vrange &v, tree name, const_basic_block bb); - bool bb_range_p (tree name, const_basic_block bb); - - void dump (FILE *f); - void dump (FILE *f, basic_block bb, bool print_varying = true); -private: - vec m_ssa_ranges; - ssa_block_ranges &get_block_ranges (tree name); - ssa_block_ranges *query_block_ranges (tree name); - class vrange_allocator *m_range_allocator; - bitmap_obstack m_bitmaps; -}; - -// This global cache is used with the range engine as markers for what -// has been visited during this incarnation. Once the ranger evaluates -// a name, it is typically not re-evaluated again. - -class ssa_global_cache -{ -public: - ssa_global_cache (); - ~ssa_global_cache (); - bool get_global_range (vrange &r, tree name) const; - bool set_global_range (tree name, const vrange &r); - void clear_global_range (tree name); - void clear (); - void dump (FILE *f = stderr); -private: - vec m_tab; - vrange_allocator *m_range_allocator; -}; - -// This class provides all the caches a global ranger may need, and makes -// them available for gori-computes to query so outgoing edges can be -// properly calculated. - -class ranger_cache : public range_query -{ -public: - ranger_cache (int not_executable_flag, bool use_imm_uses); - ~ranger_cache (); - - bool range_of_expr (vrange &r, tree name, gimple *stmt) final override; - bool range_on_edge (vrange &r, edge e, tree expr) final override; - bool block_range (vrange &r, basic_block bb, tree name, bool calc = true); - - bool get_global_range (vrange &r, tree name) const; - bool get_global_range (vrange &r, tree name, bool ¤t_p); - void set_global_range (tree name, const vrange &r); - - void propagate_updated_value (tree name, basic_block bb); - - void register_inferred_value (const vrange &r, tree name, basic_block bb); - void apply_inferred_ranges (gimple *s); - gori_compute m_gori; - infer_range_manager m_exit; - - void dump_bb (FILE *f, basic_block bb); - virtual void dump (FILE *f) override; -private: - ssa_global_cache m_globals; - block_range_cache m_on_entry; - class temporal_cache *m_temporal; - void fill_block_cache (tree name, basic_block bb, basic_block def_bb); - void propagate_cache (tree name); - - enum rfd_mode - { - RFD_NONE, // Only look at current block cache. - RFD_READ_ONLY, // Scan DOM tree, do not write to cache. - RFD_FILL // Scan DOM tree, updating important nodes. - }; - bool range_from_dom (vrange &r, tree name, basic_block bb, enum rfd_mode); - void resolve_dom (vrange &r, tree name, basic_block bb); - void range_of_def (vrange &r, tree name, basic_block bb = NULL); - void entry_range (vrange &r, tree expr, basic_block bb, enum rfd_mode); - void exit_range (vrange &r, tree expr, basic_block bb, enum rfd_mode); - bool edge_range (vrange &r, edge e, tree name, enum rfd_mode); - - vec m_workback; - class update_list *m_update; -}; - -#endif // GCC_SSA_RANGE_CACHE_H diff --git a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/gimple-range-edge.h b/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/gimple-range-edge.h deleted file mode 100644 index bb0de1b1..00000000 --- a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/gimple-range-edge.h +++ /dev/null @@ -1,58 +0,0 @@ -/* Gimple range edge header file. - Copyright (C) 2020-2023 Free Software Foundation, Inc. - Contributed by Andrew MacLeod - and Aldy Hernandez . - -This file is part of GCC. - -GCC is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 3, or (at your option) -any later version. - -GCC is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GCC; see the file COPYING3. If not see -. */ - -#ifndef GIMPLE_RANGE_EDGE_H -#define GIMPLE_RANGE_EDGE_H - -// This class is used to query ranges on constant edges in GIMPLE. -// -// For a COND_EXPR, the TRUE edge will return [1,1] and the false edge a [0,0]. -// -// For SWITCH_EXPR, it is awkward to calculate ranges. When a request -// is made, the entire switch is evaluated and the results cached. -// Any future requests to that switch will use the cached value, providing -// dramatic decrease in computation time. -// -// The API is simple, just ask for the range on the edge. -// The return value is NULL for no range, or the branch statement which the -// edge gets the range from, along with the range. - -class gimple_outgoing_range -{ -public: - gimple_outgoing_range (int max_sw_edges = INT_MAX); - ~gimple_outgoing_range (); - gimple *edge_range_p (irange &r, edge e); -private: - void calc_switch_ranges (gswitch *sw); - bool switch_edge_range (irange &r, gswitch *sw, edge e); - - int m_max_edges; - hash_map *m_edge_table; - class obstack_vrange_allocator *m_range_allocator; -}; - -// If there is a range control statement at the end of block BB, return it. -gimple *gimple_outgoing_range_stmt_p (basic_block bb); -// Return the range on edge E if it is from a GCOND. Either TRUE or FALSE. -void gcond_edge_range (irange &r, edge e); - -#endif // GIMPLE_RANGE_EDGE_H diff --git a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/gimple-range-fold.h b/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/gimple-range-fold.h deleted file mode 100644 index 68c6d774..00000000 --- a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/gimple-range-fold.h +++ /dev/null @@ -1,173 +0,0 @@ -/* Header file for the GIMPLE fold_using_range interface. - Copyright (C) 2019-2023 Free Software Foundation, Inc. - Contributed by Andrew MacLeod - and Aldy Hernandez . - -This file is part of GCC. - -GCC is free software; you can redistribute it and/or modify it under -the terms of the GNU General Public License as published by the Free -Software Foundation; either version 3, or (at your option) any later -version. - -GCC is distributed in the hope that it will be useful, but WITHOUT ANY -WARRANTY; without even the implied warranty of MERCHANTABILITY or -FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - for more details. - -You should have received a copy of the GNU General Public License -along with GCC; see the file COPYING3. If not see -. */ - -#ifndef GCC_GIMPLE_RANGE_FOLD_H -#define GCC_GIMPLE_RANGE_FOLD_H - -// This file is the main include point for gimple range folding. -// These routines will fold stmt S into the result range R. -// Any ssa_names on the stmt will be calculated using the range_query -// parameter via a call to range_of_expr. -// If no range_query is provided, current global range info will be used. -// The second variation specifies an edge, and stmt S is recalculated as if -// it appeared on that edge. - -// Fold stmt S into range R using range query Q. -bool fold_range (vrange &r, gimple *s, range_query *q = NULL); -// Recalculate stmt S into R using range query Q as if it were on edge ON_EDGE. -bool fold_range (vrange &v, gimple *s, edge on_edge, range_query *q = NULL); - -// These routines the operands to be specified when manually folding. -// Any excess queries will be drawn from the current range_query. -bool fold_range (vrange &r, gimple *s, vrange &r1); -bool fold_range (vrange &r, gimple *s, vrange &r1, vrange &r2); -bool fold_range (vrange &r, gimple *s, unsigned num_elements, vrange **vector); - -// Return the type of range which statement S calculates. If the type is -// unsupported or no type can be determined, return NULL_TREE. - -inline tree -gimple_range_type (const gimple *s) -{ - tree lhs = gimple_get_lhs (s); - tree type = NULL_TREE; - if (lhs) - type = TREE_TYPE (lhs); - else - { - enum gimple_code code = gimple_code (s); - if (code == GIMPLE_COND) - type = boolean_type_node; - else if (code == GIMPLE_PHI) - type = TREE_TYPE (gimple_phi_result (s)); - else if (code == GIMPLE_CALL) - { - type = gimple_call_fntype (s); - // If it has a type, get the return type. - if (type) - type = TREE_TYPE (type); - } - } - if (type && Value_Range::supports_type_p (type)) - return type; - return NULL_TREE; -} - -// Return EXP if it is an SSA_NAME with a type supported by gimple ranges. - -inline tree -gimple_range_ssa_p (tree exp) -{ - if (exp && TREE_CODE (exp) == SSA_NAME && - !SSA_NAME_IS_VIRTUAL_OPERAND (exp) && - !SSA_NAME_OCCURS_IN_ABNORMAL_PHI (exp) && - Value_Range::supports_type_p (TREE_TYPE (exp))) - return exp; - return NULL_TREE; -} - -// Return true if TYPE1 and TYPE2 are compatible range types. - -inline bool -range_compatible_p (tree type1, tree type2) -{ - // types_compatible_p requires conversion in both directions to be useless. - // GIMPLE only requires a cast one way in order to be compatible. - // Ranges really only need the sign and precision to be the same. - return (TYPE_PRECISION (type1) == TYPE_PRECISION (type2) - && TYPE_SIGN (type1) == TYPE_SIGN (type2)); -} - -// Source of all operands for fold_using_range and gori_compute. -// It abstracts out the source of an operand so it can come from a stmt or -// and edge or anywhere a derived class of fur_source wants. -// The default simply picks up ranges from the current range_query. - -class fur_source -{ -public: - fur_source (range_query *q = NULL); - inline range_query *query () { return m_query; } - inline class gori_compute *gori () { return m_gori; }; - virtual bool get_operand (vrange &r, tree expr); - virtual bool get_phi_operand (vrange &r, tree expr, edge e); - virtual relation_kind query_relation (tree op1, tree op2); - virtual void register_relation (gimple *stmt, relation_kind k, tree op1, - tree op2); - virtual void register_relation (edge e, relation_kind k, tree op1, - tree op2); - void register_outgoing_edges (gcond *, irange &lhs_range, edge e0, edge e1); -protected: - range_query *m_query; - gori_compute *m_gori; -}; - -// fur_stmt is the specification for drawing an operand from range_query Q -// via a range_of_Expr call on stmt S. - -class fur_stmt : public fur_source -{ -public: - fur_stmt (gimple *s, range_query *q = NULL); - virtual bool get_operand (vrange &r, tree expr) override; - virtual bool get_phi_operand (vrange &r, tree expr, edge e) override; - virtual relation_kind query_relation (tree op1, tree op2) override; -private: - gimple *m_stmt; -}; - -// This version of fur_source will pick a range from a stmt, and also register -// dependencies via a gori_compute object. This is mostly an internal API. - -class fur_depend : public fur_stmt -{ -public: - fur_depend (gimple *s, gori_compute *gori, range_query *q = NULL); - virtual void register_relation (gimple *stmt, relation_kind k, tree op1, - tree op2) override; - virtual void register_relation (edge e, relation_kind k, tree op1, - tree op2) override; -protected: - relation_oracle *m_oracle; -}; - -// This class uses ranges to fold a gimple statement producing a range for -// the LHS. The source of all operands is supplied via the fur_source class -// which provides a range_query as well as a source location and any other -// required information. - -class fold_using_range -{ -public: - bool fold_stmt (vrange &r, gimple *s, class fur_source &src, - tree name = NULL_TREE); -protected: - bool range_of_range_op (vrange &r, gimple_range_op_handler &handler, - fur_source &src); - bool range_of_call (vrange &r, gcall *call, fur_source &src); - bool range_of_cond_expr (vrange &r, gassign* cond, fur_source &src); - bool range_of_address (irange &r, gimple *s, fur_source &src); - bool range_of_phi (vrange &r, gphi *phi, fur_source &src); - void range_of_ssa_name_with_loop_info (vrange &, tree, class loop *, gphi *, - fur_source &src); - void relation_fold_and_or (irange& lhs_range, gimple *s, fur_source &src); -}; -#endif // GCC_GIMPLE_RANGE_FOLD_H diff --git a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/gimple-range-gori.h b/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/gimple-range-gori.h deleted file mode 100644 index 3ea4b455..00000000 --- a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/gimple-range-gori.h +++ /dev/null @@ -1,229 +0,0 @@ -/* Header file for gimple range GORI structures. - Copyright (C) 2017-2023 Free Software Foundation, Inc. - Contributed by Andrew MacLeod - and Aldy Hernandez . - -This file is part of GCC. - -GCC is free software; you can redistribute it and/or modify it under -the terms of the GNU General Public License as published by the Free -Software Foundation; either version 3, or (at your option) any later -version. - -GCC is distributed in the hope that it will be useful, but WITHOUT ANY -WARRANTY; without even the implied warranty of MERCHANTABILITY or -FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - for more details. - -You should have received a copy of the GNU General Public License -along with GCC; see the file COPYING3. If not see -. */ - -#ifndef GCC_GIMPLE_RANGE_GORI_H -#define GCC_GIMPLE_RANGE_GORI_H - -// RANGE_DEF_CHAIN is used to determine which SSA names in a block can -// have range information calculated for them, and what the -// dependencies on each other are. - -class range_def_chain -{ -public: - range_def_chain (); - ~range_def_chain (); - tree depend1 (tree name) const; - tree depend2 (tree name) const; - bool in_chain_p (tree name, tree def); - bool chain_import_p (tree name, tree import); - void register_dependency (tree name, tree ssa1, basic_block bb = NULL); - void dump (FILE *f, basic_block bb, const char *prefix = NULL); -protected: - bool has_def_chain (tree name); - bool def_chain_in_bitmap_p (tree name, bitmap b); - void add_def_chain_to_bitmap (bitmap b, tree name); - bitmap get_def_chain (tree name); - bitmap get_imports (tree name); - bitmap_obstack m_bitmaps; -private: - struct rdc { - tree ssa1; // First direct dependency - tree ssa2; // Second direct dependency - bitmap bm; // All dependencies - bitmap m_import; - }; - vec m_def_chain; // SSA_NAME : def chain components. - void set_import (struct rdc &data, tree imp, bitmap b); - int m_logical_depth; -}; - -// Return the first direct dependency for NAME, if there is one. -// Direct dependencies are those which occur on the definition statement. -// Only the first 2 such names are cached. - -inline tree -range_def_chain::depend1 (tree name) const -{ - unsigned v = SSA_NAME_VERSION (name); - if (v >= m_def_chain.length ()) - return NULL_TREE; - return m_def_chain[v].ssa1; -} - -// Return the second direct dependency for NAME, if there is one. - -inline tree -range_def_chain::depend2 (tree name) const -{ - unsigned v = SSA_NAME_VERSION (name); - if (v >= m_def_chain.length ()) - return NULL_TREE; - return m_def_chain[v].ssa2; -} - -// GORI_MAP is used to accumulate what SSA names in a block can -// generate range information, and provides tools for the block ranger -// to enable it to efficiently calculate these ranges. - -class gori_map : public range_def_chain -{ -public: - gori_map (); - ~gori_map (); - - bool is_export_p (tree name, basic_block bb = NULL); - bool is_import_p (tree name, basic_block bb); - bitmap exports (basic_block bb); - bitmap imports (basic_block bb); - void set_range_invariant (tree name, bool invariant = true); - - void dump (FILE *f); - void dump (FILE *f, basic_block bb, bool verbose = true); -private: - vec m_outgoing; // BB: Outgoing ranges calculable on edges - vec m_incoming; // BB: Incoming ranges which can affect exports. - bitmap m_maybe_variant; // Names which might have outgoing ranges. - void maybe_add_gori (tree name, basic_block bb); - void calculate_gori (basic_block bb); -}; - - -// This class is used to determine which SSA_NAMES can have ranges -// calculated for them on outgoing edges from basic blocks. This represents -// ONLY the effect of the basic block edge->src on a range. -// -// There are 2 primary entry points: -// -// has_edge_range_p (tree name, edge e) -// returns true if the outgoing edge *may* be able to produce range -// information for ssa_name NAME on edge E. -// FALSE is returned if this edge does not affect the range of NAME. -// if no edge is specified, return TRUE if name may have a value calculated -// on *ANY* edge that has been seen. FALSE indicates that the global value -// is applicable everywhere that has been processed. -// -// outgoing_edge_range_p (vrange &range, edge e, tree name) -// Actually does the calculation of RANGE for name on E -// This represents application of whatever static range effect edge E -// may have on NAME, not any cumulative effect. - -// There are also some internal APIs -// -// ssa_range_in_bb () is an internal routine which is used to start any -// calculation chain using SSA_NAMES which come from outside the block. ie -// a_2 = b_4 - 8 -// if (a_2 < 30) -// on the true edge, a_2 is known to be [0, 29] -// b_4 can be calculated as [8, 37] -// during this calculation, b_4 is considered an "import" and ssa_range_in_bb -// is queried for a starting range which is used in the calculation. -// A default value of VARYING provides the raw static info for the edge. -// -// If there is any known range for b_4 coming into this block, it can refine -// the results. This allows for cascading results to be propagated. -// if b_4 is [100, 200] on entry to the block, feeds into the calculation -// of a_2 = [92, 192], and finally on the true edge the range would be -// an empty range [] because it is not possible for the true edge to be taken. -// -// expr_range_in_bb is simply a wrapper which calls ssa_range_in_bb for -// SSA_NAMES and otherwise simply calculates the range of the expression. -// -// The constructor takes a flag value to use on edges to check for the -// NON_EXECUTABLE_EDGE property. The zero default means no flag is checked. -// All value requests from NON_EXECUTABLE_EDGE edges are returned UNDEFINED. -// -// The remaining routines are internal use only. - -class value_relation; - -class gori_compute : public gori_map -{ -public: - gori_compute (int not_executable_flag = 0); - bool outgoing_edge_range_p (vrange &r, edge e, tree name, range_query &q); - bool condexpr_adjust (vrange &r1, vrange &r2, gimple *s, tree cond, tree op1, - tree op2, fur_source &src); - bool has_edge_range_p (tree name, basic_block bb = NULL); - bool has_edge_range_p (tree name, edge e); - void dump (FILE *f); - bool compute_operand_range (vrange &r, gimple *stmt, const vrange &lhs, - tree name, class fur_source &src, - value_relation *rel = NULL); -private: - bool refine_using_relation (tree op1, vrange &op1_range, - tree op2, vrange &op2_range, - fur_source &src, relation_kind k); - bool may_recompute_p (tree name, edge e, int depth = -1); - bool may_recompute_p (tree name, basic_block bb = NULL, int depth = -1); - bool compute_operand_range_switch (vrange &r, gswitch *s, const vrange &lhs, - tree name, fur_source &src); - bool compute_operand1_range (vrange &r, gimple_range_op_handler &handler, - const vrange &lhs, tree name, fur_source &src, - value_relation *rel = NULL); - bool compute_operand2_range (vrange &r, gimple_range_op_handler &handler, - const vrange &lhs, tree name, fur_source &src, - value_relation *rel = NULL); - bool compute_operand1_and_operand2_range (vrange &r, - gimple_range_op_handler &handler, - const vrange &lhs, tree name, - fur_source &src, - value_relation *rel = NULL); - void compute_logical_operands (vrange &true_range, vrange &false_range, - gimple_range_op_handler &handler, - const irange &lhs, tree name, fur_source &src, - tree op, bool op_in_chain); - bool logical_combine (vrange &r, enum tree_code code, const irange &lhs, - const vrange &op1_true, const vrange &op1_false, - const vrange &op2_true, const vrange &op2_false); - int_range<2> m_bool_zero; // Boolean false cached. - int_range<2> m_bool_one; // Boolean true cached. - - gimple_outgoing_range outgoing; // Edge values for COND_EXPR & SWITCH_EXPR. - range_tracer tracer; - int m_not_executable_flag; -}; - -// For each name that is an import into BB's exports.. -#define FOR_EACH_GORI_IMPORT_NAME(gori, bb, name) \ - for (gori_export_iterator iter ((gori).imports ((bb))); \ - ((name) = iter.get_name ()); \ - iter.next ()) - -// For each name possibly exported from block BB. -#define FOR_EACH_GORI_EXPORT_NAME(gori, bb, name) \ - for (gori_export_iterator iter ((gori).exports ((bb))); \ - ((name) = iter.get_name ()); \ - iter.next ()) - -// Used to assist with iterating over the GORI export list in various ways -class gori_export_iterator { -public: - gori_export_iterator (bitmap b); - void next (); - tree get_name (); -protected: - bitmap bm; - bitmap_iterator bi; - unsigned y; -}; - -#endif // GCC_GIMPLE_RANGE_GORI_H diff --git a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/gimple-range-infer.h b/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/gimple-range-infer.h deleted file mode 100644 index 3c85e29c..00000000 --- a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/gimple-range-infer.h +++ /dev/null @@ -1,86 +0,0 @@ -/* Header file for gimple range inference. - Copyright (C) 2022-2023 Free Software Foundation, Inc. - Contributed by Andrew MacLeod . - -This file is part of GCC. - -GCC is free software; you can redistribute it and/or modify it under -the terms of the GNU General Public License as published by the Free -Software Foundation; either version 3, or (at your option) any later -version. - -GCC is distributed in the hope that it will be useful, but WITHOUT ANY -WARRANTY; without even the implied warranty of MERCHANTABILITY or -FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - for more details. - -You should have received a copy of the GNU General Public License -along with GCC; see the file COPYING3. If not see -. */ - -#ifndef GCC_GIMPLE_RANGE_SIDE_H -#define GCC_GIMPLE_RANGE_SIDE_H - -// Inferred ranges are ranges which are applied to use operands as a by product -// of executing an operation. - -// This class manages an on-demand summary of inferred ranges for a statement. -// It can be instantiated as required and provides a list of inferred ranges. -// New inferred ranges should be added in the constructor of this class. - -class gimple_infer_range -{ -public: - gimple_infer_range (gimple *s); - inline unsigned num () const { return num_args; } - inline tree name (unsigned index) const - { gcc_checking_assert (index < num_args); return m_names[index]; } - inline const vrange& range (unsigned index) const - { gcc_checking_assert (index < num_args); return m_ranges[index]; } - void add_range (tree name, vrange &range); - void add_nonzero (tree name); -private: - void check_assume_func (gcall *call); - unsigned num_args; - static const int size_limit = 10; - tree m_names[size_limit]; - Value_Range m_ranges[size_limit]; - inline void bump_index () { if (num_args < size_limit - 1) num_args++; } -}; - -// This class manages a list of inferred ranges for each basic block. -// As inferences are made, they can be registered to a block and later -// queried. When constructed with a TRUE flag, immediate uses chains are -// followed the first time a name is referenced and block populated if -// there are any inferred ranges. - -class infer_range_manager -{ -public: - infer_range_manager (bool do_search); - ~infer_range_manager (); - void add_range (tree name, basic_block bb, const vrange &r); - void add_nonzero (tree name, basic_block bb); - bool has_range_p (tree name, basic_block bb); - bool has_range_p (basic_block bb); - bool maybe_adjust_range (vrange &r, tree name, basic_block bb); -private: - class exit_range_head - { - public: - bitmap m_names; // list of names with an outgoing range. - class exit_range *head; - int m_num_ranges; - exit_range *find_ptr (tree name); - }; - void register_all_uses (tree name); - vec m_on_exit; - const vrange &get_nonzero (tree name); - vec m_nonzero; - bitmap m_seen; - bitmap_obstack m_bitmaps; - struct obstack m_list_obstack; - class obstack_vrange_allocator *m_range_allocator; -}; - -#endif // GCC_GIMPLE_RANGE_SIDE_H diff --git a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/gimple-range-op.h b/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/gimple-range-op.h deleted file mode 100644 index 1bf63c5c..00000000 --- a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/gimple-range-op.h +++ /dev/null @@ -1,55 +0,0 @@ -/* Header file for the GIMPLE range-op interface. - Copyright (C) 2022-2023 Free Software Foundation, Inc. - Contributed by Andrew MacLeod - and Aldy Hernandez . - -This file is part of GCC. - -GCC is free software; you can redistribute it and/or modify it under -the terms of the GNU General Public License as published by the Free -Software Foundation; either version 3, or (at your option) any later -version. - -GCC is distributed in the hope that it will be useful, but WITHOUT ANY -WARRANTY; without even the implied warranty of MERCHANTABILITY or -FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - for more details. - -You should have received a copy of the GNU General Public License -along with GCC; see the file COPYING3. If not see -. */ - -#ifndef GCC_GIMPLE_RANGE_OP_H -#define GCC_GIMPLE_RANGE_OP_H - -#include "range-op.h" - - -class gimple_range_op_handler : public range_op_handler -{ -public: - static bool supported_p (gimple *s); - gimple_range_op_handler (gimple *s); - inline gimple *stmt () const { return m_stmt; } - inline tree lhs () const { return gimple_get_lhs (m_stmt); } - tree operand1 () const { gcc_checking_assert (m_valid); return m_op1; } - tree operand2 () const { gcc_checking_assert (m_valid); return m_op2; } - bool calc_op1 (vrange &r, const vrange &lhs_range); - bool calc_op1 (vrange &r, const vrange &lhs_range, const vrange &op2_range, - relation_trio = TRIO_VARYING); - bool calc_op2 (vrange &r, const vrange &lhs_range, const vrange &op1_range, - relation_trio = TRIO_VARYING); -private: - void maybe_builtin_call (); - void maybe_non_standard (); - gimple *m_stmt; - tree m_op1, m_op2; -}; - -// Given stmt S, fill VEC, up to VEC_SIZE elements, with relevant ssa-names -// on the statement. For efficiency, it is an error to not pass in enough -// elements for the vector. Return the number of ssa-names. - -unsigned gimple_range_ssa_names (tree *vec, unsigned vec_size, gimple *stmt); - -#endif // GCC_GIMPLE_RANGE_OP_H diff --git a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/gimple-range-path.h b/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/gimple-range-path.h deleted file mode 100644 index e8b06b60..00000000 --- a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/gimple-range-path.h +++ /dev/null @@ -1,115 +0,0 @@ -/* Header file for jump threading path solver. - Copyright (C) 2021-2023 Free Software Foundation, Inc. - Contributed by Aldy Hernandez . - -This file is part of GCC. - -GCC is free software; you can redistribute it and/or modify it under -the terms of the GNU General Public License as published by the Free -Software Foundation; either version 3, or (at your option) any later -version. - -GCC is distributed in the hope that it will be useful, but WITHOUT ANY -WARRANTY; without even the implied warranty of MERCHANTABILITY or -FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - for more details. - -You should have received a copy of the GNU General Public License -along with GCC; see the file COPYING3. If not see -. */ - -#ifndef GCC_TREE_SSA_THREADSOLVER_H -#define GCC_TREE_SSA_THREADSOLVER_H - -// This class is a basic block path solver. Given a set of BBs -// indicating a path through the CFG, range_of_expr and range_of_stmt -// will calculate the range of an SSA or STMT as if the BBs in the -// path would have been executed in order. -// -// Note that the blocks are in reverse order, thus the exit block is -// path[0]. - -class path_range_query : public range_query -{ -public: - path_range_query (class gimple_ranger &ranger, - const vec &path, - const bitmap_head *dependencies = NULL, - bool resolve = true); - path_range_query (gimple_ranger &ranger, bool resolve = true); - virtual ~path_range_query (); - void reset_path (const vec &, const bitmap_head *dependencies); - bool range_of_expr (vrange &r, tree name, gimple * = NULL) override; - bool range_of_stmt (vrange &r, gimple *, tree name = NULL) override; - bool unreachable_path_p (); - void dump (FILE *) override; - void debug (); - -private: - bool internal_range_of_expr (vrange &r, tree name, gimple *); - void compute_ranges (const bitmap_head *dependencies); - void compute_exit_dependencies (bitmap_head *dependencies); - bool defined_outside_path (tree name); - void range_on_path_entry (vrange &r, tree name); - path_oracle *get_path_oracle () { return (path_oracle *)m_oracle; } - - // Cache manipulation. - void set_cache (const vrange &r, tree name); - bool get_cache (vrange &r, tree name); - void clear_cache (tree name); - - // Methods to compute ranges for the given path. - bool range_defined_in_block (vrange &, tree name, basic_block bb); - void compute_ranges_in_block (basic_block bb); - void compute_ranges_in_phis (basic_block bb); - void adjust_for_non_null_uses (basic_block bb); - void ssa_range_in_phi (vrange &r, gphi *phi); - void compute_outgoing_relations (basic_block bb, basic_block next); - void compute_phi_relations (basic_block bb, basic_block prev); - void maybe_register_phi_relation (gphi *, edge e); - bool add_to_exit_dependencies (tree name, bitmap dependencies); - bool exit_dependency_p (tree name); - bool ssa_defined_in_bb (tree name, basic_block bb); - bool relations_may_be_invalidated (edge); - - // Path navigation. - basic_block entry_bb () { return m_path[m_path.length () - 1]; } - basic_block exit_bb () { return m_path[0]; } - basic_block curr_bb () { return m_path[m_pos]; } - basic_block prev_bb () { return m_path[m_pos + 1]; } - basic_block next_bb () { return m_path[m_pos - 1]; } - bool at_entry () { return m_pos == m_path.length () - 1; } - bool at_exit () { return m_pos == 0; } - void move_next () { --m_pos; } - - // Range cache for SSA names. - ssa_global_cache *m_cache; - - // Set for each SSA that has an active entry in the cache. - bitmap m_has_cache_entry; - - // Path being analyzed. - auto_vec m_path; - - // This is a list of SSA names that may have relevant context - // information for solving the final conditional along the path. - // Ranges for these SSA names are pre-calculated and cached during a - // top-down traversal of the path, and are then used to answer - // questions at the path exit. - auto_bitmap m_exit_dependencies; - - // A ranger used to resolve ranges for SSA names whose values come - // from outside the path. - gimple_ranger &m_ranger; - - // Current path position. - unsigned m_pos; - - // Use ranger to resolve anything not known on entry. - bool m_resolve; - - // Set if there were any undefined expressions while pre-calculating path. - bool m_undefined_path; -}; - -#endif // GCC_TREE_SSA_THREADSOLVER_H diff --git a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/gimple-range-trace.h b/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/gimple-range-trace.h deleted file mode 100644 index 625d0be9..00000000 --- a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/gimple-range-trace.h +++ /dev/null @@ -1,78 +0,0 @@ -/* Header file for the GIMPLE range tracing/debugging facilities. - Copyright (C) 2021-2023 Free Software Foundation, Inc. - Contributed by Andrew MacLeod - and Aldy Hernandez . - -This file is part of GCC. - -GCC is free software; you can redistribute it and/or modify it under -the terms of the GNU General Public License as published by the Free -Software Foundation; either version 3, or (at your option) any later -version. - -GCC is distributed in the hope that it will be useful, but WITHOUT ANY -WARRANTY; without even the implied warranty of MERCHANTABILITY or -FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - for more details. - -You should have received a copy of the GNU General Public License -along with GCC; see the file COPYING3. If not see -. */ - -#ifndef GCC_GIMPLE_RANGE_TRACE_H -#define GCC_GIMPLE_RANGE_TRACE_H - -// This class manages range tracing for the ranger and gori components. -// Tracing will provide a unique integer index whenever a new trace -// is started. This can be used to identify where a calculation has gone wrong. - -class range_tracer -{ -public: - range_tracer (const char *name = ""); - unsigned header (const char *str); - void trailer (unsigned counter, const char *caller, bool result, tree name, - const vrange &r); - void print (unsigned counter, const char *str); - inline void enable_trace () { tracing = true; } - inline void disable_trace () { tracing = false; } - virtual void breakpoint (unsigned index); -private: - unsigned do_header (const char *str); - void print_prefix (unsigned idx, bool blanks); - static const unsigned bump = 2; - unsigned indent; - static const unsigned name_len = 100; - char component[name_len]; - bool tracing; -}; - - -// If tracing is enabled, start a new trace header, returning the trace index. -// Otherwise return 0. - -inline unsigned -range_tracer::header (const char *str) -{ - if (tracing) - return do_header (str); - return 0; -} - -// RAII class to change current dump_file and dump_flags, and restore -// when the object goes out of scope. - -class push_dump_file -{ -public: - push_dump_file (FILE *, dump_flags_t); - ~push_dump_file (); -private: - FILE *old_dump_file; - dump_flags_t old_dump_flags; -}; - -void dump_ranger (FILE *); -void dump_ranger (FILE *, const vec &path); - -#endif // GCC_GIMPLE_RANGE_TRACE_H diff --git a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/gimple-range.h b/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/gimple-range.h deleted file mode 100644 index 7ed4d387..00000000 --- a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/gimple-range.h +++ /dev/null @@ -1,103 +0,0 @@ -/* Header file for the GIMPLE range interface. - Copyright (C) 2019-2023 Free Software Foundation, Inc. - Contributed by Andrew MacLeod - and Aldy Hernandez . - -This file is part of GCC. - -GCC is free software; you can redistribute it and/or modify it under -the terms of the GNU General Public License as published by the Free -Software Foundation; either version 3, or (at your option) any later -version. - -GCC is distributed in the hope that it will be useful, but WITHOUT ANY -WARRANTY; without even the implied warranty of MERCHANTABILITY or -FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - for more details. - -You should have received a copy of the GNU General Public License -along with GCC; see the file COPYING3. If not see -. */ - -#ifndef GCC_GIMPLE_RANGE_H -#define GCC_GIMPLE_RANGE_H - -#include "range.h" -#include "value-query.h" -#include "gimple-range-op.h" -#include "gimple-range-trace.h" -#include "gimple-range-edge.h" -#include "gimple-range-fold.h" -#include "gimple-range-gori.h" -#include "gimple-range-cache.h" - -// This is the basic range generator interface. -// -// This base class provides all the API entry points, but only provides -// functionality at the statement level. Ie, it can calculate ranges on -// statements, but does no additional lookup. -// -// All the range_of_* methods will return a range if the types is -// supported by the range engine. It may be the full range for the -// type, AKA varying_p or it may be a refined range. If the range -// type is not supported, then false is returned. Non-statement -// related methods return whatever the current global value is. - -class gimple_ranger : public range_query -{ -public: - gimple_ranger (bool use_imm_uses = true); - ~gimple_ranger (); - virtual bool range_of_stmt (vrange &r, gimple *, tree name = NULL) override; - virtual bool range_of_expr (vrange &r, tree name, gimple * = NULL) override; - virtual bool range_on_edge (vrange &r, edge e, tree name) override; - virtual void update_stmt (gimple *) override; - void range_on_entry (vrange &r, basic_block bb, tree name); - void range_on_exit (vrange &r, basic_block bb, tree name); - void export_global_ranges (); - inline gori_compute &gori () { return m_cache.m_gori; } - virtual void dump (FILE *f) override; - void debug (); - void dump_bb (FILE *f, basic_block bb); - auto_edge_flag non_executable_edge_flag; - bool fold_stmt (gimple_stmt_iterator *gsi, tree (*) (tree)); - void register_inferred_ranges (gimple *s); - void register_transitive_inferred_ranges (basic_block bb); -protected: - bool fold_range_internal (vrange &r, gimple *s, tree name); - void prefill_name (vrange &r, tree name); - void prefill_stmt_dependencies (tree ssa); - ranger_cache m_cache; - range_tracer tracer; - basic_block current_bb; - vec m_stmt_list; - friend class path_range_query; -}; - -/* Create a new ranger instance and associate it with a function. - Each call must be paired with a call to disable_ranger to release - resources. If USE_IMM_USES is true, pre-calculate side effects like - non-null uses as required using the immediate use chains. */ -extern gimple_ranger *enable_ranger (struct function *m, - bool use_imm_uses = true); -extern void disable_ranger (struct function *); - -class assume_query : public range_query -{ -public: - assume_query (); - bool assume_range_p (vrange &r, tree name); - virtual bool range_of_expr (vrange &r, tree expr, gimple * = NULL); - void dump (FILE *f); -protected: - void calculate_stmt (gimple *s, vrange &lhs_range, fur_source &src); - void calculate_op (tree op, gimple *s, vrange &lhs, fur_source &src); - void calculate_phi (gphi *phi, vrange &lhs_range, fur_source &src); - void check_taken_edge (edge e, fur_source &src); - - ssa_global_cache global; - gori_compute m_gori; -}; - - -#endif // GCC_GIMPLE_RANGE_H diff --git a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/gimple-ssa-warn-access.h b/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/gimple-ssa-warn-access.h deleted file mode 100644 index a8a2918f..00000000 --- a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/gimple-ssa-warn-access.h +++ /dev/null @@ -1,48 +0,0 @@ -/* Pass to detect and issue warnings for invalid accesses, including - invalid or mismatched allocation/deallocation calls. - - Copyright (C) 2020-2023 Free Software Foundation, Inc. - Contributed by Martin Sebor . - - This file is part of GCC. - - GCC is free software; you can redistribute it and/or modify it under - the terms of the GNU General Public License as published by the Free - Software Foundation; either version 3, or (at your option) any later - version. - - GCC is distributed in the hope that it will be useful, but WITHOUT ANY - WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - for more details. - - You should have received a copy of the GNU General Public License - along with GCC; see the file COPYING3. If not see - . */ - -#ifndef GCC_GIMPLE_SSA_WARN_ACCESS_H -#define GCC_GIMPLE_SSA_WARN_ACCESS_H - -extern bool check_nul_terminated_array (tree, tree, tree = NULL_TREE); -extern void warn_string_no_nul (location_t, gimple *, const char *, tree, - tree, tree = NULL_TREE, bool = false, - const wide_int[2] = NULL); -extern void warn_string_no_nul (location_t, tree, const char *, tree, - tree, tree = NULL_TREE, bool = false, - const wide_int[2] = NULL); -extern tree unterminated_array (tree, tree * = NULL, bool * = NULL); - -extern bool maybe_warn_nonstring_arg (tree, gimple *); -extern bool maybe_warn_nonstring_arg (tree, tree); - -class access_data; -extern bool maybe_warn_for_bound (opt_code, location_t, gimple *, tree, - tree[2], tree, const access_data * = NULL); -extern bool maybe_warn_for_bound (opt_code, location_t, tree, tree, - tree[2], tree, const access_data * = NULL); - -class access_data; -extern bool check_access (tree, tree, tree, tree, tree, access_mode, - const access_data * = NULL); - -#endif // GCC_GIMPLE_SSA_WARN_ACCESS_H diff --git a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/gimple-ssa-warn-restrict.h b/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/gimple-ssa-warn-restrict.h deleted file mode 100644 index 722a8955..00000000 --- a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/gimple-ssa-warn-restrict.h +++ /dev/null @@ -1,29 +0,0 @@ -/* Warn on violations of the restrict qualifier. - Copyright (C) 2017-2023 Free Software Foundation, Inc. - Contributed by Martin Sebor . - - This file is part of GCC. - - GCC is free software; you can redistribute it and/or modify it under - the terms of the GNU General Public License as published by the Free - Software Foundation; either version 3, or (at your option) any later - version. - - GCC is distributed in the hope that it will be useful, but WITHOUT ANY - WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - for more details. - - You should have received a copy of the GNU General Public License - along with GCC; see the file COPYING3. If not see - . */ - -#ifndef GIMPLE_SSA_WARN_RESTRICT_H - -extern opt_code check_bounds_or_overlap (gimple *, tree, tree, tree, tree, - bool = false, bool = true); -extern opt_code check_bounds_or_overlap (class pointer_query &, gimple *, - tree, tree, tree, tree, - bool = false, bool = true); - -#endif /* GIMPLE_SSA_WARN_RESTRICT_H */ diff --git a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/gimple-ssa.h b/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/gimple-ssa.h deleted file mode 100644 index 604af8b9..00000000 --- a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/gimple-ssa.h +++ /dev/null @@ -1,201 +0,0 @@ -/* Header file for routines that straddle the border between GIMPLE and - SSA in gimple. - Copyright (C) 2009-2023 Free Software Foundation, Inc. - -This file is part of GCC. - -GCC is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 3, or (at your option) -any later version. - -GCC is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GCC; see the file COPYING3. If not see -. */ - -#ifndef GCC_GIMPLE_SSA_H -#define GCC_GIMPLE_SSA_H - -#include "tree-ssa-operands.h" - -/* This structure is used to map a gimple statement to a label, - or list of labels to represent transaction restart. */ - -struct GTY((for_user)) tm_restart_node { - gimple *stmt; - tree label_or_list; -}; - -/* Hasher for tm_restart_node. */ - -struct tm_restart_hasher : ggc_ptr_hash -{ - static hashval_t hash (tm_restart_node *n) { return htab_hash_pointer (n); } - - static bool - equal (tm_restart_node *a, tm_restart_node *b) - { - return a == b; - } -}; - -extern void gt_ggc_mx (gimple *&); -extern void gt_pch_nx (gimple *&); - -struct ssa_name_hasher : ggc_ptr_hash -{ - /* Hash a tree in a uid_decl_map. */ - - static hashval_t - hash (tree item) - { - return item->ssa_name.var->decl_minimal.uid; - } - - /* Return true if the DECL_UID in both trees are equal. */ - - static bool - equal (tree a, tree b) -{ - return (a->ssa_name.var->decl_minimal.uid == b->ssa_name.var->decl_minimal.uid); -} -}; - -/* Gimple dataflow datastructure. All publicly available fields shall have - gimple_ accessor defined, all publicly modifiable fields should have - gimple_set accessor. */ -struct GTY(()) gimple_df { - /* Array of all SSA_NAMEs used in the function. */ - vec *ssa_names; - - /* Artificial variable used for the virtual operand FUD chain. */ - tree vop; - - /* The PTA solution for the ESCAPED artificial variable. */ - struct pt_solution escaped; - - /* A map of decls to artificial ssa-names that point to the partition - of the decl. */ - hash_map * GTY((skip(""))) decls_to_pointers; - - /* Free list of SSA_NAMEs. */ - vec *free_ssanames; - - /* Queue of SSA_NAMEs to be freed at the next opportunity. */ - vec *free_ssanames_queue; - - /* Hashtable holding definition for symbol. If this field is not NULL, it - means that the first reference to this variable in the function is a - USE or a VUSE. In those cases, the SSA renamer creates an SSA name - for this variable with an empty defining statement. */ - hash_table *default_defs; - - /* True if there are any symbols that need to be renamed. */ - unsigned int ssa_renaming_needed : 1; - - /* True if all virtual operands need to be renamed. */ - unsigned int rename_vops : 1; - - /* True if the code is in ssa form. */ - unsigned int in_ssa_p : 1; - - /* True if IPA points-to information was computed for this function. */ - unsigned int ipa_pta : 1; - - struct ssa_operands ssa_operands; - - /* Map gimple stmt to tree label (or list of labels) for transaction - restart and abort. */ - hash_table *tm_restart; -}; - - -/* Return true when gimple SSA form was built. - gimple_in_ssa_p is queried by gimplifier in various early stages before SSA - infrastructure is initialized. Check for presence of the datastructures - at first place. */ -inline bool -gimple_in_ssa_p (const struct function *fun) -{ - return fun && fun->gimple_df && fun->gimple_df->in_ssa_p; -} - -/* Artificial variable used for the virtual operand FUD chain. */ -inline tree -gimple_vop (const struct function *fun) -{ - gcc_checking_assert (fun && fun->gimple_df); - return fun->gimple_df->vop; -} - -/* Return the set of VUSE operand for statement G. */ - -inline use_operand_p -gimple_vuse_op (const gimple *g) -{ - struct use_optype_d *ops; - const gimple_statement_with_memory_ops *mem_ops_stmt = - dyn_cast (g); - if (!mem_ops_stmt) - return NULL_USE_OPERAND_P; - ops = mem_ops_stmt->use_ops; - if (ops - && USE_OP_PTR (ops)->use == &mem_ops_stmt->vuse) - return USE_OP_PTR (ops); - return NULL_USE_OPERAND_P; -} - -/* Return the set of VDEF operand for statement G. */ - -inline def_operand_p -gimple_vdef_op (gimple *g) -{ - gimple_statement_with_memory_ops *mem_ops_stmt = - dyn_cast (g); - if (!mem_ops_stmt) - return NULL_DEF_OPERAND_P; - if (mem_ops_stmt->vdef) - return &mem_ops_stmt->vdef; - return NULL_DEF_OPERAND_P; -} - -/* Mark statement S as modified, and update it. */ - -inline void -update_stmt (gimple *s) -{ - if (gimple_has_ops (s)) - { - gimple_set_modified (s, true); - update_stmt_operands (cfun, s); - } -} - -/* Update statement S if it has been optimized. */ - -inline void -update_stmt_if_modified (gimple *s) -{ - if (gimple_modified_p (s)) - update_stmt_operands (cfun, s); -} - -/* Mark statement S as modified, and update it. */ - -inline void -update_stmt_fn (struct function *fn, gimple *s) -{ - if (gimple_has_ops (s)) - { - gimple_set_modified (s, true); - update_stmt_operands (fn, s); - } -} - - -#endif /* GCC_GIMPLE_SSA_H */ diff --git a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/gimple-streamer.h b/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/gimple-streamer.h deleted file mode 100644 index 83d62ae0..00000000 --- a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/gimple-streamer.h +++ /dev/null @@ -1,34 +0,0 @@ -/* Data structures and functions for streaming GIMPLE. - - Copyright (C) 2011-2023 Free Software Foundation, Inc. - Contributed by Diego Novillo - -This file is part of GCC. - -GCC is free software; you can redistribute it and/or modify it under -the terms of the GNU General Public License as published by the Free -Software Foundation; either version 3, or (at your option) any later -version. - -GCC is distributed in the hope that it will be useful, but WITHOUT ANY -WARRANTY; without even the implied warranty of MERCHANTABILITY or -FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -for more details. - -You should have received a copy of the GNU General Public License -along with GCC; see the file COPYING3. If not see -. */ - -#ifndef GCC_GIMPLE_STREAMER_H -#define GCC_GIMPLE_STREAMER_H - -#include "tree-streamer.h" - -/* In gimple-streamer-in.cc */ -void input_bb (class lto_input_block *, enum LTO_tags, class data_in *, - struct function *, int); - -/* In gimple-streamer-out.cc */ -void output_bb (struct output_block *, basic_block, struct function *); - -#endif /* GCC_GIMPLE_STREAMER_H */ diff --git a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/gimple-walk.h b/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/gimple-walk.h deleted file mode 100644 index c0222e02..00000000 --- a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/gimple-walk.h +++ /dev/null @@ -1,101 +0,0 @@ -/* Header file for gimple statement walk support. - Copyright (C) 2013-2023 Free Software Foundation, Inc. - -This file is part of GCC. - -GCC is free software; you can redistribute it and/or modify it under -the terms of the GNU General Public License as published by the Free -Software Foundation; either version 3, or (at your option) any later -version. - -GCC is distributed in the hope that it will be useful, but WITHOUT ANY -WARRANTY; without even the implied warranty of MERCHANTABILITY or -FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - for more details. - -You should have received a copy of the GNU General Public License -along with GCC; see the file COPYING3. If not see -. */ - -#ifndef GCC_GIMPLE_WALK_H -#define GCC_GIMPLE_WALK_H - -/* Convenience routines to walk all statements of a gimple function. - Note that this is useful exclusively before the code is converted - into SSA form. Once the program is in SSA form, the standard - operand interface should be used to analyze/modify statements. */ -struct walk_stmt_info -{ - /* Points to the current statement being walked. */ - gimple_stmt_iterator gsi; - gimple *stmt; - - /* Additional data that the callback functions may want to carry - through the recursion. */ - void *info; - - /* Pointer map used to mark visited tree nodes when calling - walk_tree on each operand. If set to NULL, duplicate tree nodes - will be visited more than once. */ - hash_set *pset; - - /* Operand returned by the callbacks. This is set when calling - walk_gimple_seq. If the walk_stmt_fn or walk_tree_fn callback - returns non-NULL, this field will contain the tree returned by - the last callback. */ - tree callback_result; - - /* Indicates whether the operand being examined may be replaced - with something that matches is_gimple_val (if true) or something - slightly more complicated (if false). "Something" technically - means the common subset of is_gimple_lvalue and is_gimple_rhs, - but we never try to form anything more complicated than that, so - we don't bother checking. - - Also note that CALLBACK should update this flag while walking the - sub-expressions of a statement. For instance, when walking the - statement 'foo (&var)', the flag VAL_ONLY will initially be set - to true, however, when walking &var, the operand of that - ADDR_EXPR does not need to be a GIMPLE value. */ - BOOL_BITFIELD val_only : 1; - - /* True if we are currently walking the LHS of an assignment. */ - BOOL_BITFIELD is_lhs : 1; - - /* Optional. Set to true by the callback functions if they made any - changes. */ - BOOL_BITFIELD changed : 1; - - /* True if we're interested in location information. */ - BOOL_BITFIELD want_locations : 1; - - /* True if we've removed the statement that was processed. */ - BOOL_BITFIELD removed_stmt : 1; -}; - -/* Callback for walk_gimple_stmt. Called for every statement found - during traversal. The first argument points to the statement to - walk. The second argument is a flag that the callback sets to - 'true' if it the callback handled all the operands and - sub-statements of the statement (the default value of this flag is - 'false'). The third argument is an anonymous pointer to data - to be used by the callback. */ -typedef tree (*walk_stmt_fn) (gimple_stmt_iterator *, bool *, - struct walk_stmt_info *); - -extern gimple *walk_gimple_seq_mod (gimple_seq *, walk_stmt_fn, walk_tree_fn, - struct walk_stmt_info *); -extern gimple *walk_gimple_seq (gimple_seq, walk_stmt_fn, walk_tree_fn, - struct walk_stmt_info *); -extern tree walk_gimple_op (gimple *, walk_tree_fn, struct walk_stmt_info *); -extern tree walk_gimple_stmt (gimple_stmt_iterator *, walk_stmt_fn, - walk_tree_fn, struct walk_stmt_info *); -typedef bool (*walk_stmt_load_store_addr_fn) (gimple *, tree, tree, void *); -extern bool walk_stmt_load_store_addr_ops (gimple *, void *, - walk_stmt_load_store_addr_fn, - walk_stmt_load_store_addr_fn, - walk_stmt_load_store_addr_fn); -extern bool walk_stmt_load_store_ops (gimple *, void *, - walk_stmt_load_store_addr_fn, - walk_stmt_load_store_addr_fn); -#endif /* GCC_GIMPLE_WALK_H */ diff --git a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/gimple.def b/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/gimple.def deleted file mode 100644 index 274350d9..00000000 --- a/bin/darwin/opt/lib/gcc/m68k-amiga-elf/13.1.0/plugin/include/gimple.def +++ /dev/null @@ -1,413 +0,0 @@ -/* This file contains the definitions of the GIMPLE IR tuples used in GCC. - - Copyright (C) 2007-2023 Free Software Foundation, Inc. - Contributed by Aldy Hernandez - -This file is part of GCC. - -GCC is free software; you can redistribute it and/or modify it under -the terms of the GNU General Public License as published by the Free -Software Foundation; either version 3, or (at your option) any later -version. - -GCC is distributed in the hope that it will be useful, but WITHOUT ANY -WARRANTY; without even the implied warranty of MERCHANTABILITY or -FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -for more details. - -You should have received a copy of the GNU General Public License -along with GCC; see the file COPYING3. If not see -. */ - -/* The format of this file is - DEFGSCODE(GIMPLE_symbol, printable name, GSS_symbol). */ - - -/* Error marker. This is used in similar ways as ERROR_MARK in tree.def. */ -DEFGSCODE(GIMPLE_ERROR_MARK, "gimple_error_mark", GSS_BASE) - -/* IMPORTANT. Do not rearrange the codes between GIMPLE_COND and - GIMPLE_RETURN. The ordering is exposed by gimple_has_ops calls. - These are all the GIMPLE statements with register operands. */ - -/* GIMPLE_COND - represents the conditional jump: - - if (OP1 COND_CODE OP2) goto TRUE_LABEL else goto FALSE_LABEL - - COND_CODE is the tree code used as the comparison predicate. It - must be of class tcc_comparison. - - OP1 and OP2 are the operands used in the comparison. They must be - accepted by is_gimple_operand. - - TRUE_LABEL and FALSE_LABEL are the LABEL_DECL nodes used as the - jump target for the comparison. */ -DEFGSCODE(GIMPLE_COND, "gimple_cond", GSS_WITH_OPS) - -/* GIMPLE_DEBUG represents a debug statement. */ -DEFGSCODE(GIMPLE_DEBUG, "gimple_debug", GSS_WITH_OPS) - -/* GIMPLE_GOTO represents unconditional jumps. - TARGET is a LABEL_DECL or an expression node for computed GOTOs. */ -DEFGSCODE(GIMPLE_GOTO, "gimple_goto", GSS_WITH_OPS) - -/* GIMPLE_LABEL